In the generated scriptlets, we need to know if we are on host
or chrooted. Presently, we
rely on /tools being a symlink or not. But we may want to remove this
ugly symlink in future versions of LFS, so anticipate and use the
chapter ancestor.
This is a major change for LFS. We won't be using the makefile for
the final preparations, but we'll extract the book instructions and
use them (the "use part not in this commit).
Since getting figures for those scriptlets is not important, and we
cannot use start and end scripts, which need already set up user and
dirs, do not use them
If we stop a build before the "do-housekeeping" target is executed, there
may be symlinks of the type /tools->/mnt/lfs/tools. If we want to restart,
for example after fixing something else, and we run the "creatingtoolsdir"
target (or similar one in CLFS) again, it will fail. It's better to clean
those symlinks when cleaning the build directory.
Most books have something like "exec /bin/bash" in .bash_profile for the
building user. This results in stopping and waiting for commands when
running a a login shell. The current jhalfs way of removing .bash_profile is
suboptimal, since a user may want to login as $(LUSER) and expect that the
environment is set (without having to source .bashrc). So remove the
"-i" flag in "sudo -u $(LUSER) ..."
This is to allow root to execute ": > envars". On a non empty envars
owned by lfs, in a directory world writable with sticky bit and not owned
by lfs, this may be forbiden by the fs/protected_regular sysctl.
See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
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)
The "create-sbu_du.sh" script expects all the logs containing
"Totalseconds" also contains two lines starting with "KB:" with disk usage
stats. Generates those lines for all the logs. Hopefully, the stats are
fairly accurate now...
In create-sbu_du.sh, we use "du -s" for getting the size of the installed
files at the end of the build, and we compare to the "KB" from the previous
package to get the Installed size of the last package. But the du command
excludes an absolute dir, while it should be relative. This lead to bogus
stats.
This is another bug exposed by the new menu system. The TEST variable was set
inside the menu "test settings". But this menu depends on CONFIG_TESTS, and
is not executed if CONFIG_TESTS is not set. So that, the TEST variable was
not set if CONFIG_TESTS was not set (while with the former menu suystem,
it was set to 0). Due to the logic in lfs.xsl, this resulted in all the
tests being run, instead of none...
Move the setting of the TEST variable outside the "test settings" menu.
- 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
Date: Tue Apr 16 13:31:09 2019 -0700
Improve testing of configuration file timestamp
* Provide a default value for each so that the comparisons of the time
of each file doesn't fail.
* Two commands in the Makefile could acceptably fail, but would
produce some ugly warnings.
Signed-off-by: Pierre Labastie <pierre.labastie@neuf.fr>
- 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)
* Various improvements from shellcheck around quoting, the use of
read, `` vs $() and other logical comparisons
* Provide a function for sourcing/loading files so we can remove a lot
of duplication. Move loading of some functions from
common/common-functions to ./jhalfs for consistency
* Provide some functions for standardized messaging
* Remove other duplication in the code, especially checking VERBOSITY
* Standardize indentation. Two spaces seemed the most prevalent so I
went with that.
Patch by Jeremy Huntwork, with slight modifications.
- add sect1info sections to packagemanager.xml.xxx + various fixes
- add templates in LFS/lfs.xsl for script start and script end:
- script start: define variables containing package information
print disk usage
unpack and change dir
- script end: print disk usage
remove build dir
- remove the corresponding operations from master.sh