Hello every one

Ahmed Masud masud at googgun.com
Sat Dec 3 21:39:45 PST 2005

Hash: SHA1

Hi Guys:

Just saw ALFS and noticed its similarity to our XML centric system for
building our distribution that we put together a while ago--it's been
in production for over a year--to fully automate LFS and similar build

I am certain that parts or all of this work would be useful in making
ALFS production so I am just going to describe it:

Our system is called SnapLinux(tm) Intuitive Builder (SIB). Don't get
thrown by the name, while it may sound like a distro builder because
of the name, it is not a distro builder. SIB is very generic and
environment agnostic.

First of SIB is like jhalfs in that it is a complete bourne shell
script and happens to have similar internal structure. However, there
are a number of ways in which we do things that may bring more power
and intuition to the build process.

    Package source management:

     SIB has,

       1) Ability to manage packages that are source, binary or
mixture for deployment
       2) Ability to describe related patches and the ability apply
patches in specific order
       3) Ability to verify checksums, digital signatures of packages
       4) Ability to maintain several versions of packages

    Heirarchical grouping of packages based on context
        1) SIB lets you describe a generic Bundle which is made of
several Sets and each Set is made of several Packages.
        2) In the SIB world the interdependencies are loose and are
maintained within a Set - this is because depending on the
            options chosen sometimes the dependencies are there other
times they are not (e.g. vim with X support vs. without)
        3) Each Bundle, Set or Package can, at the builder's or
configurator's option, use a separate build toolset
        4) For any bundle or set you can build any package on the fly.

    Complete capture of dependencies, build and deployment logic
       1) By allowing optional arbitrary shell steps within the XML
decriptor before, after and between configuration, make, install, SIB
           can completely contain all the logic to build the bundle.
       2) The default values for build and deployment are intuitvely
correct - if you don't specify stuff, it tends to work 95% of the
time. Larger
           systems glibc, X etc require specific parameters, however
most things work as is.
       3) SIB understands configure and has the ability to manage
configure variants (think  configure.gnu  or Configure in perl builds)
very easily
       4) Allows staged builds - e.g. LFS stage0 stage1 and main LFS
build can all be encoded - where stage1 will use stage0 binaries, and
LFS can
           use stage1 and stage0 to build itself
       5) Allows specification of destination directory for the entire

We have encoded builds of LFS, Xorg, CPAN and our own internal stuff
using this build system.

At the moment SIB is missing download capability, however the hooks
exist to plug into any database (text, xml, sql whatever) to grab
information on a package and download source on-demand.

If you think that any of this will be useful in the ALFS efforts,
please let me know, I'll be more than happy to work with you guys to
integrate SIB into the ALFS system and help the LFS community.


Ahmed Masud
CEO, Googgun Technologies Inc.

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


More information about the alfs-discuss mailing list