SIB / nALFS

Ahmed Masud masud at googgun.com
Sun Dec 4 05:03:59 PST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Joachim Beckers wrote:

> Ali Servet Donmez wrote:
>
>> I'm not a LFS expert nor a developer of it, but those profiles
>> *seems* much more complicated then nALFS's to me.
>
>
> I am ;-), and to me they seem quite similar. Same tags with
> different names mostly. Actually, our profiles are more complicated
> in some ways. We use xincludes for example, and lots of entities.
>

Hey there:

The SIB XML may seem complicated to begin with because of the sheer
number of entries, however, don't be thrown off by that. Each entry is
actually very simple to follow.I basically presented the most
complicated examples just to show that it can be done.

Each bundle is simple and recursive:
[[bundle]]
    [[set]]
        [[package]]

        [[/package]]
    [[/set]]
[[/bundle]]

(one xml file can only contain one bundle)

A [[package]] [[/package]] contains

[[source/]] -- where things come from
[[configure/]] -- autoconf configure or something similar
[[make-steps/]] -- make including make install if needed

Each section can have an optional [[prepare]] and a [[finalize]] which
are generic shell commands.
 
For something simple like rdate it would be a simple thing like:

                [[package name="rdate"]]
                        [[source file-name="rdate-990821.tar.gz"]]
                        [[make-steps]]
                                [[make /]]
                                [[make target="install" /]]
                        [[/make-steps]]
                [[/package]]

Thats all.

For something somewhat complicated (i give you perl):

                [[package name="perl" build-in-source="yes"]]
                        [[source file-name="perl-5.8.3.tar.gz"
                              
md5-hash="6d2b389f8c6424b7af303f417947714f" /]]
                        [[configure command="./configure.gnu"
omit-configure-defaults="yes"]]
                                [[option name="--prefix"
value="/opt/perl-5" /]]
                        [[/configure]]
                        [[make-steps]]
                                [[make serialize="yes" /]]
                                [[make target="install" /]]
                        [[/make-steps]]
                [[/package]]

For something quite complicated like an older package which requires
"manual steps" for example,

                [[package name="zoo" build-in-source="yes"]]
                        [[source file-name="zoo-2.10.tar.gz"
                               
md5-hash="f5d3ffdd65cc8a511c83e3c3f108c27e"]]
                                [[patch
file-name="zoo-2.10.snaplinux.diff.gz"
                                       
md5-hash="0f5728539b4dc2c79ad177762fe97065" /]]
                        [[/source]]
                        [[make-steps]]
                                [[make target="linux" /]]
                        [[/make-steps]]
                        [[finalize]]
                                [[step]]cp -a zoo $prefix/bin[[/step]]
                                [[step]]cp -a fiz $prefix/bin[[/step]]
                        [[/finalize]]
                [[/package]]

Note that even for a package like this, there isn't a lot of work that
needs to be done.

SIB has a "configure-package" program that looks at a source tarball
and give you a canned package entry which works quite nicely to begin
with,
especially if it consists of ./configure && make && make install type
content.

I understand that you want to ensure that you don't overly complicate
life by putting in features that don't do anything except require
undue maintenance; I would submit however, that you shouldn't be
afraid of a bit of complixity in favour of flexibility that caters for
future permutations without the need to redesign the system at every
release.  What do you think?

Cheers,

Ahmed Masud

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDkuk/CfVC95K1mUYRAu4wAJ4u7rw3RnQ8D/rEzUqjtvPIJ2w0OwCfcVIY
CWdACLe+cW7HeCqWx0gVDKM=
=NS00
-----END PGP SIGNATURE-----




More information about the alfs-discuss mailing list