Commit Graph

9068 Commits

Author SHA1 Message Date
Xi Ruoyao
64be5a4bfa
dependencies: Gettext may use system libunistring
When system libunistring is not installed (for eg building LFS), a
shipped copy of libunistring is used.
2024-02-25 00:53:31 +08:00
Xi Ruoyao
4aa6831f14
glibc: Don't "overwrite" libcrypt.so.1* when updating
As we've already concluded, overwriting a shared object can crash
running processes using code or data from this shared object.  For
example if gdm is crashed, we may leave the system unusable :(.
2024-02-24 13:26:06 +08:00
Xi Ruoyao
bd003a8a8c
glibc: Correctly mark revision='systemd' for a paragraph in update note 2024-02-24 13:15:49 +08:00
Xi Ruoyao
3827fcf6e2
vim: Set TERM=xterm-256color for test
I spent some time investigating the difference of vim test results from
different editors.  It turns out the value of TERM can affect the test
results in a deterministic way: when TERM=xterm-256color all tests pass,
when TERM=linux one test fails, and when TERM=vt100 20+ tests fail.

As we are redirecting the output to a file, the actual type of the
terminal does not matter and we can just specify a value known to work.
2024-02-23 23:47:06 +08:00
Xi Ruoyao
109afb297c
dependencies: Kbd can use Linux-PAM
The book already mentions the vlock program needs PAM to be built, but
in dependencies page we say Kbd has no external optional dependencies.
This is obviously incorrect...
2024-02-23 03:33:14 +08:00
Xi Ruoyao
5f2ba8ce99
gcc: Decorate test failures, remove outdated comments, ...
move comments for upstream PR links to correct location.

BTW data-model-4.c is also in analyzer directory, so we can just say 7
analyzer tests.
2024-02-18 22:09:54 +08:00
Xi Ruoyao
0800455fb6
Glibc: Re-organize test failures and mention how to rule out timed out tests
Glibc tests occansionally fail due to a timeout because:

1. The hardware is slower than the developers expected.
2. Some tests use multiple or even all CPU cores internally, for e.g.
   with 8 active CPU cores we may end up running 8 tests (due to -j8)
   each of them uses 8 cores in the worst case, resulting a severe
   congestion.

I'm almost sure nptl/tst-thread-affinity* are cases of 2.

Let's document how to rule out the timed out tests instead of making the
list of known failures longer and longer.
2024-02-18 15:40:50 +08:00
Douglas R. Reno
6b25d62962 Stats only: update the installed files size for systemd 2024-02-15 09:49:22 -06:00
Bruce Dubbs
28614cdda5 Update descriptions for some test failures. 2024-02-14 15:41:22 -06:00
Bruce Dubbs
d93d11b5ba Package updates and stats updates.
Update to meson-1.3.2.
Update to shadow-4.14.5.
2024-02-14 09:37:42 -06:00
Bruce Dubbs
96026a103a Package updates.
Update to shadow-4.14.4.
Update to setuptools-69.1.0 (Python module).
Update to python-3.12.2.
Update to pkgconf-2.1.1.
Update to MarkupSafe-2.1.5 (Python module).
Update to man-pages-6.06.
Update to expat-2.6.0.
Update to linux-6.7.4.
2024-02-12 11:05:36 -06:00
Pierre Labastie
b1998a2375 Use http://cdn.docbook.org to run on other distros
Upstream documentation has been changed a few years ago to point to
https rather than http, but for example ubuntu-2023.10 still has only
http in its catalog file. So use http here, and change the catalog file
in blfs to have both http and https...
2024-02-10 12:31:04 +01:00
Xi Ruoyao
fe99d50d94
systemd: Fix a bug breaking systemd-verify an instantiated unit
It's breaking Git test suite (and maybe other things).
2024-02-10 18:49:55 +08:00
Pierre Labastie
e67d996022 Typo in expect
Thanks to rhubarbpieguy for the report

Fix #5436
2024-02-08 13:56:10 +01:00
Xi Ruoyao
4816dc69f5
bash: Really pass through the return code
We want expect to return the return code of "make test" (stored in
$value), but $value is expanded too early to nothing by Bash.  Quote EOF
so Bash won't expand $xxx.
2024-02-06 03:44:38 +08:00
Xi Ruoyao
1fde756b12
expect: Add (back) a simple test for PTY
We used to run "expect -c 'spawn ls'" for this in Binutils, but then we
thought expect test suite was enough as such a simple PTY test.  However
expect test can fail due to some different reason, so add back a simple
test using Python pty module before building expect.  Now we no longer
need to consider expect test critical (IIRC there was a report saying
one expect test failed for unknown reason but all other things OK).
2024-02-06 03:07:35 +08:00
Xi Ruoyao
ce11e97f01
kernfs: Use a separate devpts filesystem for chroot environment
IIRC we switched from separate devpts to bind mount, and matched the UID
of tester with the host UID owning the TTY, to satisify the Bash test
suite.  But now we are always using UID 101 for tester and expect to
spawn a PTY for Bash test suite (so when building LFS in a TTY owned by
the root user of the host tester won't be UID 0).  Thus we can switch
back to a separate devpts mount which is cleaner and safer.

And we are already using a separate devpts mount in Chapter 11.
2024-02-06 01:08:42 +08:00
Bruce Dubbs
1541b7c29f Minor wording update 2024-02-04 12:13:17 -06:00
Xi Ruoyao
7436c28ae4
If we need to create the link target of /dev/shm, make its mode 1777
To match the behavior of a tmpfs mount.  Otherwise non-root user (for
e.g. the tester user) will get errors using Glibc shm functions.
2024-02-04 22:56:04 +08:00
Xi Ruoyao
8cf42d4c72
Fix and unify the commands creating the link target of /dev/shm
$(realpath /dev/shm) will return the absolute path of the target of
/dev/shm, thus the command will work for both absolute symlink and
relative symlink.
2024-02-04 03:42:36 +08:00
Xi Ruoyao
677f795cf8
glibc: When update, also regenerate the locales
A Glibc update may contain locale updates, so keep
/usr/lib/locale/locale-archive synced.

Other distros are also doing this when Glibc is updated with the package
manager.
2024-02-03 18:58:14 +08:00
Bruce Dubbs
7b54528e96 Fix currency for xz 2024-02-02 10:10:53 -06:00
Xi Ruoyao
e14adea673
Update to tzdata-2024a (#5428) 2024-02-02 16:22:11 +08:00
Xi Ruoyao
9c73d91186
Remove -v from "chown -R tester" commands
It does no good: normally we have -v for chown so once it no longer has
an effect we can know, but in this case these chown commands will never
have no effect.  And a huge amount of output with -v wastes the server
storage and bandwidth (for both the server and the people reading the
build logs).
2024-02-02 15:19:41 +08:00
Xi Ruoyao
343ab1388a
Add info about how to upgrade Glibc on a running system
Let's change our policy to match other "rolling release" distros and
ease the procedure to fix Glibc security vulnerabilities.

Squashed the commits in xry111/update-glibc branch to keep the history
clean.

Co-Authored-By: Pierre Labastie <pierre.labastie@neuf.fr>
Co-Authored-By: Douglas R. Reno <renodr@linuxfromscratch.org>
2024-02-02 09:03:51 +08:00
Xi Ruoyao
092b86ad6d
Package updates:
- Update to glibc-2.39 (#5426)
- Update to linux-6.7.3 (#5427)
2024-02-02 09:03:51 +08:00
Xi Ruoyao
1e180412f9
hostreq: Raise min-kernel to 4.19
4.14 is no longer supported by the upstream since Jan 2024.
2024-02-02 09:03:51 +08:00
Xi Ruoyao
d386e51ec4
changelog: OpenSSL 3.2.1 is a security fix
I'll write the SA for it...
2024-02-02 05:18:35 +08:00
Xi Ruoyao
d3b0a0842e
pkgmgt: Upgrading Linux API headers cannot be dangerous
Per a discussion in the team, we only consider an upgradation dangerous
if it may render the system unusable.  "Causing something not able to
build" is never considered dangerous.  Thus upgrading some headers
cannot be dangerous.

The Glibc portion will need an update too (it can be upgraded safely
with some caution) to ease security updates.  But let's do the easy
change first...
2024-02-01 03:31:25 +08:00
Bruce Dubbs
cdf280e337 Package updates.
Update to openssl-3.2.1.
Update to zlib-1.3.1.
Update to xz-5.4.6.
Update to linux-6.7.2.
Update to iana-etc-20240125.
Update to binutils-2.42.
Update to acl-2.3.2.
Update upstream fixes for readline-8.2.
Apply upstream fix for bash-5.2.21.
2024-01-31 08:42:20 -06:00
Xi Ruoyao
bed3894b89
glibc: Add more rationale about --enable-stack-protector, and remove the stale explanation of --with-headers 2024-01-31 17:43:03 +08:00
Xi Ruoyao
bbcac389a3
glibc: Update upstream fixes patch
To include fixes for CVE-2023-6246, CVE-2023-6779, and CVE-2023-6780.
2024-01-31 16:16:14 +08:00
Xi Ruoyao
39b5bb6989
console font: Add more "working for C.UTF-8" console fonts 2024-01-30 12:10:13 +08:00
Xi Ruoyao
40cd8a1801
glibc: Drop --with-headers=/usr/include
The Glibc INSTALL file says:

‘--with-headers=DIRECTORY’
     Look for kernel header files in DIRECTORY, not ‘/usr/include’. ...

So --with-headers=/usr/include seems just doing nothing.
2024-01-29 23:45:33 +08:00
Xi Ruoyao
4ecfc55ddb
Use C.UTF-8 instead of C in console, and set the consolefont for it 2024-01-29 01:47:41 +08:00
Xi Ruoyao
7c630340c2
locale: Dedup in /etc/profile 2024-01-28 21:06:19 +08:00
Xi Ruoyao
5dd707361f
locale: Dedup 2024-01-28 21:04:30 +08:00
Xi Ruoyao
ee950a5e0d
More <quote> clean up
Use <quote> instead of '"' if possible.  Use <literal>,
<computeroutput>, etc. instead of <quote> if possible.  Replace
<quote>alpha</quote> with a UTF-8 Greek alpha character.

BTW decorate ".link" with <filename class='extension'>.
2024-01-28 20:53:47 +08:00
Xi Ruoyao
6ebb3b9ca9
Unify locale settings in sysv and systemd
Do not duplicate large paragraphs of texts.

Always use C locale if running in a Linux console.  Create /etc/profile
for systemd too, but reading the locale setting from /etc/locale.conf.
2024-01-28 20:43:40 +08:00
Xi Ruoyao
84974486d9
locale: Replace <quote> with <literal> for locale specifiers
Prevent ambigious quoted punctuations.
2024-01-28 18:37:06 +08:00
Xi Ruoyao
81f727aca6
chapter07/python: Work around a puzzling punctuation in quote
Here no file name starts with "python." (including the dot).  Slightly
reword to prevent the punctuation from following the quote or being
quoted.
2024-01-28 17:44:24 +08:00
Pierre Labastie
a4eaba6d55 Tidy doctype and xml declarations in .html output
Part of a patch by Boian Berberov
2024-01-27 22:42:07 +01:00
Pierre Labastie
5d064fb3c3 Align attributes in xsl:stylesheet elements
Part of a patch by Boian Berberov
2024-01-27 22:42:07 +01:00
Pierre Labastie
b8d33a557b rendering: some utf-8 fixes
Reinstate some character entities
Have some stylesheets output UTF-8

Part of a patch by Boian Berberov
2024-01-27 22:42:07 +01:00
Pierre Labastie
b6dd23c76b Makefile: improvements in xsltproc commands
- remove some useless --xinclude
- write only one option per line
- use --encode UTF-8 instead of --noent (which is useless after
  profiling anyway
- try to be consistent in option order
- use --output instead of -o
2024-01-27 22:42:07 +01:00
Pierre Labastie
16d01822df Makefile: remove "true" after tidy
If in a series of commands, and not the last, true has no effect
If in the last command, it is better to exit if there is a real
error in tidy, so use "|| test $$? -le 1", but only when tidy is
the last in a series of commands

Part of a patch by Boian Berberov
2024-01-27 22:42:07 +01:00
Pierre Labastie
4ac089b5b2 Unify the writing of sed's in Makefile
also remove a commented out line

Part of a patch by Boian Berberov
2024-01-27 22:41:48 +01:00
Pierre Labastie
0d80918aec Makefile: change ~ to $(HOME)
This is more readable.
Also remove obsolete variables at start.

Part of a patch by Boian Berberov
2024-01-27 16:47:45 +01:00
Pierre Labastie
360fdfca9c Fix punctuation in quotes, and quote signs
- period and comma inside quotes
- " to <quote>
- some " to <literal> when it is a var value
2024-01-26 18:28:53 +01:00
Pierre Labastie
44850bb9f2 Fix some defects of lfs book formatting
- have title of section stay visible when scrolling
- when clicking on an internal link, make it fully visible instead of
  hidden behind the header
2024-01-26 14:55:51 +01:00