Note that if you build something relying on $SHELL, it may still fail to
build in chroot.
In the chroot we first use "env -i" to clean the environment variables.
When bash starts with no $SHELL set, it *sets* SHELL=(the login shell
of current user specified in /etc/passwd), but it *does not export this
variable*.
For example:
$ cat > t.c << EOF
#include <stdio.h>
#include <stdlib.h>
int main() { puts (getenv ("SHELL") ?: "(nullptr)"); }
$ ./a.out
/bin/zsh/
$ cc t.c
$ env -i bash -c "echo $SHELL"
/bin/zsh
$ env -i bash -c "./a.out"
(nullptr)
We can remove this now only because Mozilla has added a workaround into
their building system at
https://hg.mozilla.org/mozilla-central/rev/5afe7b911f61 for some Mac
builder, inadvertently fixing our issue.
Link: https://lists.linuxfromscratch.org/sympa/arc/blfs-support/2014-11/msg00050.html
Link: https://lists.linuxfromscratch.org/sympa/arc/blfs-dev/2023-11/msg00136.html
Berkeley DB is some deathware (unless we switch to the Oracle
implementation which may have legal issues) and slated for removal in
the next BLFS release.
Fix up libadwaita to build with it. Update the command explanation to
allow building it with Qt-5. Also fix the errors detected in
org.linuxfromscratch.lfs.xml reported by "appstreamcli validate".
This package actually does not overwrite 50-udev-default.rules, but
70-uaccess.rules needs this option or it'll be inconsistent with LFS
50-udev-default.rules.
This package overwrites some udev rules of udevd from systemd installed
in LFS. Without this option, the udev rule makes /dev/kvm accessible by
every user. While I don't know how to handle the overwriting issue
properly, let's make the permission of /dev/kvm consistent first.
Arch and Gentoo do this for Firefox, Thunderbird, and SpiderMonkey.
I've tested SpiderMonkey with this for a while. I'll enable this
for Firefox and Thunderbird too after testing them.
Sort all the switches (but --prefix) and explanations in alphabetic
order by the way.
In version 23.10, poppler has changed NSS, GPGME, and LIBTIFF from
"macro_optional_find_package" tp "find_soft_mandatory_package". This
means that -DENABLE_NSS3=OFF (or GPGME or LIBTIFF) needs to be passed
to prevent an error if the package is not present. Since those
libraries may be of some use anyway, make them recommended and
document how to disable them.
INFO: pip is looking at multiple versions of
sphinxcontrib-serializinghtml to determine which version is
compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement
Sphinx>=5 (from sphinxcontrib-serializinghtml) (from versions: none)
ERROR: No matching distribution found for Sphinx>=5
INFO: pip is looking at multiple versions of sphinxcontrib-jquery to
determine which version is compatible with other requirements.
This could take a while.
ERROR: Could not find a version that satisfies the requirement
Sphinx>=1.8 (from sphinxcontrib-jquery) (from versions: none)
ERROR: No matching distribution found for Sphinx>=1.8
libxkbcommon-1.6.0 removes some definitions that are unused.
These definitions are referenced in qtbase so we remove them
with a sed for both the full qt5 package and gt5-alternate.