[Slackbuilds-users] Testing + some useful shell scripts

David Woodfall dave at dawoodfall.net
Thu Nov 14 08:17:40 UTC 2013


I found that with so many items in CHECKLIST it would be useful to put
together some kind of system, with the help of shell scripts where
possible. Doing it this way will require a certain amount of disk space
available. I tend to work in a chroot on a partition with ~ 100G free
and can keep all the libraries and other deps installed for a while.

I hope the following is useful. This is how I've been testing. I tend to
set MAKEFLAGS=-j10 since I have four cores to play with.

The scripts depend on directory structure to work out the category
being tested.

I make a top level dir, 'slackbuilds.org', and place the scripts in it.
They will be called from subdirectories named after the category being
tested - audio, desktop etc.

I wget the CHECKLIST file to the top dir.

I then create the subdirectory for the category being tested - I'll use
audio for this example.

I cd into audio and copy/paste the audio section from the
CHECKLIST file into a file named after the category with the
extension .lst - ie: audio.lst

The first script mksqf.sh converts that into a sbopkg queue by stripping
out the slashes and category name, so I call the script from within the
audio subdir: ../mksqf.sh

That will create the sbopkg queue to be copied to /var/lib/sbopkg/queues


Sbopkg is fired up, given a sync, the queue loaded and run. 
Now comes the boring part ;-)

I note down all the ones that fail and the reason, if known. If it's a
problem with deps it can usually be found from the output. After noted,
I press y and move on to the next.

At the end there will hopefully have a list of fails. I go through each 
one in sbopkg and note down the deps (copy/pasting to/from dialog is done
with shist + mouse).

At the end of this I have a list of deps, in reverse order.

This can be reversed using 'tac' into an sqf: 'tac deps > audio-deps.sqf'

It may need adjusting manually somewhat. I copy to sbopkg's queue dir and
load up in sbopkg. Then it's a case of running through it the same as I
did with the first list and making notes.

It may need fixing up a bit and run through a few times to get all deps
built.

After all the deps are built that possibly will build, it's time to fire up
the original audio.sqf queue again and see if the packages that failed the
first time will now install.


Next, I unset MAKEFLAGS and see if any of the remaining ones will build.


When it looks like nothing else will compile I can get a list of built
and failed using builds.sh: ../builds.sh. This checks the audio.sqf
against the installed packages, and will create built-audio and failed-audio. 

I run the last file ../deps.sh and it will check the original 'dep' file
against the installed list in /var/log/packages and create a deps-audio file.


I use these three files + the notes to send to the mailing list

I hope this is of use and I hope that it helps speed the process up a bit.
I'm sure other people have their own methods so feel free to share in the
thread.


mksqf.sh
http://www.r0t.co.uk/paste/p/qb9klg41.html

builds.sh
http://www.r0t.co.uk/paste/p/ZNPRaN87.html

deps.sh
http://www.r0t.co.uk/paste/p/3ILxIQ77.html


Dave





More information about the SlackBuilds-users mailing list