[Slapt-get-devel] A few ideas on source package handling.

Luke Yelavich luke at audioslack.com
Mon Nov 10 16:14:03 EST 2003

At 12:52 AM 11/11/2003, Jason Woodward wrote:
>I haven't thought much about it yet, other than it would be interesting 
>and handy to have.  I
>looked at the source directories for pkgs on the mirrors.  I notice that 
>Pat has .build files,
>.SlackBuild, source tarballs, bzip'd sources, slack-desc, layout files, 
>sometimes extra
>corresponding source tarballs (such as mm with apache).

The source directories IMO are inconsistent. Some scripts to build packages 
are differently named, and some packages don't even have a build script, 
for example the kernel source.

>I'll have to get with someone (you?) who knows Pat's method, if there is 
>one.  There isn't a
>file listing inside each pkg's source directory, so maybe the contents of 
>the directory will
>have to be parsed out of the html unless libcurl has some functionality 
>here to address it.

We will have to make our Own. I don't think Patt's method will be 
full-proof to ensure packages are built and installed properly.

>You can tell that I haven't put much time into it. =]

Fair enough, but I am actually starting to think that a source package as 
such may not be the best answer either.

>Sure, let me know what you have in mind.

Ok, this is what I think may be a workable sollution.

* The source package should contain at least the build script, slack-desc 
file, slack-required file, and any patches that may need to be applied 
against the source before compilation.
* The source package's slack-required file would have to contain the 
necessary dependancies used to build the package in the first place, eg 
gcc, make, autoconf/automake etc, as well as the packages needed for the 
running of the app in the first place. Document generation dependancies 
should also be included, such as sgml-tools, doxygen, etc.
* The source package installs itself into /usr/src/slackbuild which in tern 
would have 2 subdirectories, build and packages. The build directory would 
have subdirectories of every source package, and packages would contain the 
final built packages.
* There should be a WAY OF REMOVING THE SOURCE package but leaving the 
built package behind.
* Each package's build process has to have a script that is named exactly 
the same for each package, even though the process of building the package 
may be totally different to others.
* There needs to be an option to allow the user to build the package to run 
on their specific architecture, eg i686, pentium4, athlonXP etc, and if 
not, to build for the standard Slackware architecture, i386, i486 etc.
* The build script would most probably have to test the md5sums of all 
files in the package.
* The build script should also allow the user to supply a local copy of the 
tarball, or download the tarball from the package author's website.

Feel free to comment and make suggestions on this. I have written them as I 
thought of them, but that is as far as I have got so far.

Luke Yelavich
AudioSlack Founder and head package maintainer
Audio software packaged for the Slackware Linux Distribution
luke at audioslack.com

More information about the Slapt-get-devel mailing list