With the new way of treating dependencies, we need to properly
manage -pass1 packages: For that we need the installed version of
-pass1 packages. But it is recorded nowhere. packages.xml shouldn't
be used for that, because it is directly built from the book
dependencies: adding -pass1 packages would just duplicate the
dependency information. So the version has to be recorded in
the tracking file. This involves changing bump.xsl (this commit),
and passing the tracking file to gen_pkg_book (next commit).
This .xsl, applied to packages.ent, takes the package name as
a string param, then returns:
"version"<nl>"installed version" if both versions are known
"version"<nl>0 if the package is known but not installed
nothing if the package does not exist (case of the groupxx ones)
In Xorg pages where there are several packages, the .xsl for
separating packages assumed that the package names ended in
tar.bz2 and selected the substring before ".tar.bz2" to extract
the packagedir. This has changed recently for libX11, which is a
.tar.xz package: the fix is to just select the substring before
".tar." for the packagedir.
Some packages use those variables to determine whether they are
talking to a terminal, and issue color codes that mess our
logs if the top level make has been launched from a terminal.
Get them in gen_pkg_book, and pass them to sripts.xsl
use them in scripts.xsl. We set them at the beginning of
of the scriptlet, so that it is easy to modify them.
Hopefully the present commit fixes those problems:
- use sh -e instead of sh
- set PATH to $PATH (which will expand to the PATH before entering
sudo) before the install commands.
Displaying the size of /, but excluding other filesystems is not
good if BUILD_DIR is on another filesystem. Furthermore, when
doing stats, the DESTDIR is inside $BUILD_DIR, so the full size is
recorded. The only thing that is not recorded is if the
build system downloads files to the user's home (cargo, maven, ...).
- change "6" to "final system"
- change "7" to "configuration"
- change "8" to "Bootable"
- change "9" to "The End"
- also fix a id that has changed in January in the lfs book
Normally only chapters containing versioned pacakges are in the package list.
But with the removal of lsb-release there are no versioned package anymore
in the "After LFS config..." chapter. But we need this chapter. So add
a test explicitly for it.
- refactor again process-install. Allows for better generation of test
instructions
- only output the instructions of the first sect2 with role="installation".
this will miss the vaapi intel driver, the installation of help files in
GIMP, and the second method for which
- always run porg logging in "append" mode
- allows pass1 in sect2 (libva again)
- remove the old setting of LANG in BLFS/Makefile
- explicitly use python3, because now menuconfig.py has #!/usr/bin/python,
we may have only python3 available
- add quotes in Config.in for BLFS
- the case for "pax" in packInstall.sh.prog
- an error in packageManager.xml.porg (comment before <?xml?> tag)
- a non-working $Id in Makefile
- some fixes for using the sect1info in lfs (in BLFS tools)
- a big rewrite for generating scripts with more consistent line spacing,
opening the way to manage remap="test" and remap="doc" attributes
- Replace the menu system with the Kconfiglib, which has an ISC license
- Remove farce and any reference to it
- Rewrite the copyright notice, add the LICENSE files
- Adapt Config.in and a few other programs to the new menu system
- add a gen-install.xsl stylesheet for grouping all cases
- add a mode="installation" attribute for templates
- rewrite sect2 template so that the right templates are applied
- adapt other templates so that they are compatible
- rewording of some comments (no direct relation with the ticket)
- Even if only required or recommended deps only are requested and built,
account for optional deps to build the pacakge order
- build "runtime" deps after the pacakge dependening on them, but before
any other package
- using the "first" role in the book, implement pass1 pacakges when there
are circular dependencies
- Documentation has still to be written
- There must be bugs, thank you for testing...