In func_wrt_makefile, the two functions LUSER_wrt_unpack and
CHROOT_Unpack use the version variable without setting it.
This leads to the global version variable being used, which
writes garbage into the Makefile. Fix: just define version locally.
This bug does not occur often because those functions are only
used when using custom scripts for versioned packages (if building LFS).
It has been found by William Harrington.
The command for unmounting the kernel vfs is now
umount -Rv $LFS
So we have first to use that command in teardown (change in
kernfs.xsl). Second, since the command tries to umount
$LFS, but the Makefile is on $LFS, it fails. Ignore the
error in the Makefile (change in master.sh)
- major number can be on 4 digits, so use it in packInstall
- minor number (for package manager) can be greater than 10
- code on 2 digits
- change various files accordingly
- Prefer SysV over Sys V in Config.in
- do not generate the package list for lfs, it is not needed anymore
- prevent an (ignored) error in LFS/master.sh
- log new files under the scriptlet name (allows to log files for the same
package from different builds)
- keep the full name in log_new_file functions (fix a undetected bug in
CLFS/HLFS)
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) ..."
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.
- 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
* 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
- add variables LOCAL (y is hw clock set to local time) and LOG_LEVEL (sysv)
- generate /etc/sysconfig/console (sysv) or /etc/vconsole.conf (systemd)
- generate /etc/adjtime (only systemd)
- remove UNICODE and FONTMAP variables (jhalfs makes unicode default)
with LFS pacakges. But packages installed only in tools should not be in
this database. As a side note, it would be cleaner to use an xsl stylesheet
for that.