[svlug] about building packages
Ivan Sergio Borgonovo
mail at webthatworks.it
Fri Nov 27 03:43:49 PST 2015
I forgot the simplest advice to give when building packages especially
for a distribution: look how others have packaged the same package in a
distribution of your choice.
BTW I just discovered that qtparted is not in Debian (if it ever has
been) and it hasn't been updated in 10 years.
Debian and I guess many other distro gives you other tools to simplify
to build packages from source (eg. apt-get build-dep).
But even if you were planning to build LFS you could still take
advantage of those tools to help you to explore dependencies, get all
the changelog and README you may need to discover little
incompatibilities, bugs etc...
There is a reason for example why even sid doesn't get magically updated
at the newest and greatest version of every package and you can't just
take the latest version of application and build it with the latest
version of all its dependencies.
Looking how other mixed and matched versions may help you to get a
successful and working build.
The process of building a debian package is described here:
You can follow it to collect clues and learn things you may need to
build your own package(s) without package management and install them
Building (and maintaining) a distribution is a huge work and require
knowledge in far to many topics and a lot of coordination, looking at
how a package was made is the best condensed version of that knowledge.
You can't see all the problems in you'll have to face to build a Linux
system as just nuisances you've nothing to learn from, just pretending
you're working at a higher abstraction level. If you were working at a
higher abstraction level you'd use Debian.
If you're not working at a higher abstraction layer get humble, get your
hands dirty, learn how to compile stuff, how C and C++ works and all the
things you've to learn to successfully build a distribution (and they
are MANY). That's pretty different than following a recipe to build bash.
I wouldn't say I'm ready to be the maintainer of gawk if I successfully
built it once following LFS recipe. And maintaining a whole distribution
is not just maintaining gawk.
No one is really using LFS because there is no way to share the load and
automate the process. It is a book and it is just scratching the surface
of the knowledge you've to have to build up a system you can use for
anything else than educational purpose.
LFS should just give you an idea about how hard things are.
Building a toolchain is a terribly boring thing to do, the educational
value of really doing it package by package is:
a) you'll know the list of the packages you need
b) you'll try to automate it or look for someone else that did it ;)
LFS is actually hiding many decisions you'll have to make when eg.
building a toolchain offering you a "recipe".
Ivan Sergio Borgonovo
More information about the svlug