Update to iana-etc-20240222.
Update to vim-9.1.0145.
Update to xz-5.6.0.
Update to tcl-8.6.14.
Update to shadow-4.14.6.
Update to setuptools-69.1.1.
Update to linux-6.7.7.
Update to libffi-3.4.6.
Update to gettext-0.22.5.
Update to expat-2.6.1.
So if a test times out, it will be noted in jhalfs log.
Also remove "-l" so the output will be something like
./nptl/tst-thread-affinity-pthread: Timed out ...
instead of just a puzzling "./nptl/tst-thread-affinity-pthread".
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 :(.
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.
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.
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.
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.
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).
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.
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).
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>
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...
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.
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.
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'>.
"gcc(1)" is really not a file name.
Use <ulink> and link to the online man page on
https://man.archlinux.org/ so the user can refer to the man pages more
easily.
The change is done via a sed command and long lines are wrapped
manually.
libcpp is the preprocessor library, but it's a static library which is
only used by GCC itself and not installed.
libcc1 is actually a library for GDB to "compile" expressions, so we can
use fancy expressions in commands, like "print sin(x + 2.0)": the
expression sin(x + 2.0) needs to be "compiled" for evaluation.
- Update to jinja2-3.1.3 (#5411)
- Update to bc-6.7.5 (#5408)
- Update to attr-2.5.2 (#5412)
- Update to ncurses-6.4-20230520 (#5416)
- Update to markupsafe-2.1.4 (#5418)
- Update to linux-6.7.1 (#5406)
- Update to iproute2-6.7.0 (#5410)
- Update to vim-9.1.0041 (#4500)
- Update to iana-etc-20240117 (#5006)
- Update to shadow-4.14.3 (#5413)
The effect will not change, but with symlinks ld can save some time
invoking open(), read(), etc. syscalls and parsing the linker scripts.
Note that I've also removed "libcursesw" symlink because this library
has never existed. Instead libcurses.so is created as a symlink
direct to libncursesw.so.
instead of the 8-bit ncurses.
We don't provide the 8-bit ncurses library and we are "faking" it using
ncursesw. Thus innocent package may be compiled with the 8-bit ABI
(because it does not know what we are doing and so it does not use
the "expected" preprocessor definitions to enable the wide ABI) but
linked against ncursesw, causing a potential ABI mismatch.
- according to our typography, referring to a manual page should be
<filename>page(x)</filename>
- don't enclose punctuation into quotes
- use <option> for option
Since it is needed for both building and installing, exporting it
allows to have it defined even if building as a regular user (so that
sudo is run for installing) or using a package manager (which usually
runs in a new shell and forgets unexported variables)
- Update to meson-1.3.1 (#5402)
- Update to vim-9.0.2189 (#4500)
- Update to inetutils-2.5 (#5404)
- Update to xml-parser-2.47 (#5403)
- Update to linux-6.6.8 (#5397)
- Update to tzdata-2023d (#5399)
- Update to setuptools-69.0.3 (#5400)
- Update to iana-etc-20231205 (#5006)
- Update to autoconf-2.72 (#5398)
- Update to grub-2.12 (#5396)
The sed command has changed ../rules.d/70-power-switch.rules to
"../rules.d", causing the install command to fail.
Change the command enumerating ../rules.d/*.rules but
70-power-switch.rules to a "find" command. Edit another "find" command
so the styles of them are the same.
There are some suspicious "nptl/tst-robust" test failures in Glibc, but
all other test results are clean. To be diagnosed...
And note that jhalfs needs an update to work with the merged parallelism
changes.
Set -Dlogind=false -Dvconsole=false to disable out-of-scope udev rules.
Use "ninja -n" to list the targets, so the disabled udev rules won't
show up then we can remove some "rm" commands. Do not remove
70-power-switch.rules from the source directory so we won't break
multilib.
There seems some guy overusing this method so we should add more
caveats.
- Use /opt/foo-x.y instead of /usr/pkg/foo-x.y. /opt/foo-x.y is used in
BLFS for Rustc, Qt5, etc. and /usr/pkg is not FHS-compliant.
- Use /etc/ld.so.conf and LDFLAGS instead of LD_LIBRARY_PATH. Relying
on LD_LIBRARY_PATH is generally a bad idea, and we also don't use it
in BLFS for /opt packages.
- Discourage this method for general use, mention it may not work for
vital packages like Glibc.
We'd fixed#5180 by forcing LN='ln -f'. But this has stopped to work
with gawk-5.2.2 (and 5.3.0) because now the building system explicitly
checks the existence of gawk-&gawk-version; and refuses to update it if
it exists.
Now removing the file before "make install" seems the easiest solution.
Link: https://git.savannah.gnu.org/cgit/gawk.git/commit/?id=11762f4c0685
Update to iana-etc-20231019.
Update to wheel-0.41.3.
Update to shadow-4.14.2.
Update to openssl-3.1.4.
Update to texinfo-7.1.
Update to meson-1.2.3.
Update to bc-6.7.2.
Update to linux-6.5.9.
Update to Python-3.12.0.
Add setuptools-68.2.2.
Disable building nscd in glibc.
Update to iana-etc-20230929.
Update to vim-9.0.1968.
Update to openssl-3.1.3.
Update to meson-1.2.2.
Update to man-db-2.12.0.
Update to linux-6.5.5.
Update to kmod-31.
Update to kbd-2.6.3.
Update to gettext-0.22.2.
Update to bc-6.7.0.
It allows binutils to link to zstd, so binutils will have
zstd-compressed debug section support (the compression is not enabled
by default but can be enabled via LDFLAGS etc. if wanted).
We also need to add libzstd.so.&zstd-version; into online_usrlib to
prevent a crash in stripping.
Update to vim-1837.$
Update to zlib-1.3.$
Update to wheel-0.41.2 (Python Module).$
Update to util-linux-2.39.2.$
Update to sysvinit-3.08.$
Update to shadow-4.14.0.$
Update to Python-3.11.5.$
Update to procps-ng-4.0.4.$
Update to pkgconf-2.0.2.$
Update to mpfr-4.2.1.$
Update to kbd-2.6.2.$
Update to gzip-1.13.$
Update to coreutils-9.4.$
Specify the 'nobody-group' for systemd.$
Remove unused usb group.$