Compare commits

...

806 Commits
r11.3 ... trunk

Author SHA1 Message Date
Bruce Dubbs
8395c1c69b Update to vim-9.1.1552 (Security update). 2025-07-15 22:22:44 -05:00
Bruce Dubbs
261aa60060 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-07-14 13:41:22 -05:00
Bruce Dubbs
0937f177be Package updates.
Update to readline-8.3.
Update to perl-5.42.0.
Update to openssl-3.5.1.
Update to ninja-1.13.1.
Update to linux-6.15.6.
Update to gettext-0.25.1.
Update to e2fsprogs-1.47.3.
Update to bash-5.3.
2025-07-14 13:40:03 -05:00
Xi Ruoyao
5074d1d19f
util-linux: The test not only fails in chroot 2025-07-01 11:04:30 +08:00
Xi Ruoyao
153d3ccbca
ch6: ncurses: Use <command> for program name 2025-07-01 10:57:35 +08:00
Bruce Dubbs
d4171ab2ff Package updates.
Update to iana-etc-20250618.
Update to vim-9.1.1497.
Update to util-linux-2.41.1.
Update to shadow-4.18.0.
Update to pkgconf-2.5.1.
Update to ninja-1.13.0.
Update to linux-6.15.4.
Update to less-679.
Update to automake-1.18.1.
2025-06-30 14:56:30 -05:00
Thomas Trepl
ec7e850bd0 Fix typo in date 2025-06-16 10:34:42 +02:00
Bruce Dubbs
8d7dc4ebea Package updates.
Update to meson-1.8.2.
Update to linux-6.15.2.
Update to libffi-3.5.1.
Update to iproute2-6.15.0.
Update to Python-3.13.5.
2025-06-14 12:26:22 -05:00
Pierre Labastie
5e4ff8cb2e Fix "Too many levels of symbolic links" in chapter 8 ncurses
The problem is that TIC_PATH is nor honored anymore in chapter
6, so that tic from the host is used to create the terminfo
database in chapter 6. The problem is that old versions of
tic create symlinks in the database, while newer versions
create hardlinks. Since we use a DESTDIR install in chapter 8
(with a recent version of ncurses, so with hardlinks), and copy
it in place with cp -a, then it seems that copying hardlinks to
symlinks. If an old version of tic has been used in chapter 6,
this copies hardlinks to symlinks, which creates symlinks
pointing to themselves (cp bug?).

Anyway, the solution is to copy the auxilliary tic built
in chapter 6 to $LFS/tools/bin (suggestion by Xi Ruoyao).
Now, there is no need to set TIC_PATH or whatever because this
tic is in the PATH.

Bug first reported by Marcin Dulak. Analysis with the help of
Bruce Dubbs and Thomas Trepl.

Fixes https://wiki.linuxfromscratch.org/lfs/ticket/5744
2025-06-13 15:52:08 +02:00
Bruce Dubbs
5544caf28e Typos 2025-06-05 11:27:40 -05:00
Xi Ruoyao
7eb51d8123
libpipeline: Remove make check
Those tests need libcheck, thus make check is now a no-op.
2025-06-05 12:29:26 +08:00
Zeckmathederg
0eaba084ff Changelog: Fix wrong link. 2025-06-04 15:00:56 -06:00
Bruce Dubbs
61d0fb219d Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-06-04 13:57:23 -05:00
Bruce Dubbs
e481799cdf Package updates.
Update to ncurses-6.5-20250531.
Update to readline-8.3-rc2.
Update to bash-5.3-rc2.
Update to Python-3.13.4.
2025-06-04 13:56:37 -05:00
Xi Ruoyao
c24d5641af
ncurses: Fix the shared lib file name referenced in text 2025-06-03 17:03:08 +08:00
Xi Ruoyao
1b223fbe43
python: Also add --without-static-libpython to the temporary installation
Without it, in the final system
/usr/lib/python3.13/config-3.13-$triple/libpython3.13.a is a remnant
from chapter 7 instead of being absent, defeating our will to save
space.
2025-06-01 21:49:48 +08:00
Xi Ruoyao
455724dc34
patches: Fix a typo 2025-06-01 12:54:01 +08:00
Xi Ruoyao
208415b81b
reboot: Remove references to files we no longer create
And note /etc/resolv.conf is optional for the systemd revision.
2025-06-01 12:26:06 +08:00
Xi Ruoyao
30ec5ae0ea
gcc-pass2: Remove empty line 2025-05-31 19:27:05 +08:00
Xi Ruoyao
6c311ec76f
changingowner: Exclude symlinks from chown
Make this consistent with addinguser.

Applying chown to a symlink actually affects its target, and here the
targets are in $LFS/usr and already covered.
2025-05-31 19:26:40 +08:00
Bruce Dubbs
3975ea8c7e Current thanges to trunk:
Update to iana-etc-20250519.
Update to vim-9.1.1418.
Update to kbd-2.8.0.
Update to systemd-257.6.
Update to setuptools-80.9.0.
Update to meson-1.8.1.
Update to automake-1.18.
Update to gcc-15.1.0.
Update build instructions to accomodate gcc-15.
Update to less-678.
Update to readline-8.3-rc1.
Update to bash-5.3-rc1.
2025-05-31 04:28:18 -05:00
Bruce Dubbs
eb4213206a Merge branch 'gcc15' into trunk 2025-05-31 04:25:06 -05:00
Bruce Dubbs
a6bc44cc0f Package updates.
Update to iana-etc-20250519.
Update to vim-9.1.1418.
Update to kbd-2.8.0.
2025-05-31 04:23:53 -05:00
Bruce Dubbs
14b85031e4 Package updates.
Update to systemd-257.6.
Update to setuptools-80.9.0.
Update to meson-1.8.1.
Update to automake-1.18.

Add Python-3.13.3-security_fixes-1.patch
Add coreutils-9.7-upstream_fix-1.patch
Add perl-5.40.2-upstream_fix-1.patch
2025-05-30 11:00:14 -05:00
Bruce Dubbs
6a04e2420d Add some spaces 2025-05-24 07:28:03 -05:00
Xi Ruoyao
722ec5bf97
glibc: Reuse DIR in upgrade instruction and unset it afterwards 2025-05-23 15:58:57 +08:00
Xi Ruoyao
a45bbbc391
Drop the min-kernel alignment hack
Someone is really insistant on "you cannot have any extra whitespace" so
the hack will just not work.  Let's drop it and simply move the
--enable-kernel= switches to the last line.
2025-05-23 12:23:43 +08:00
Bruce Dubbs
37c303637d Adjust spacing for gcc-pass2. 2025-05-22 13:09:21 -05:00
Bruce Dubbs
68528292e6 Changes for gcc15. 2025-05-21 16:46:52 -05:00
Bruce Dubbs
fd69440977 Package updates.
Update to setuptools-80.7.1.
Update to man-pages-6.14.
Update to man-db-2.13.1.
Update to m4-1.4.20.
Update to linux-6.14.6.
Update to gettext-0.25.
2025-05-15 09:42:51 -05:00
Bruce Dubbs
de932d6de5 Fix alignment. 2025-05-15 08:20:18 -05:00
Bruce Dubbs
ac5a955c84 Restore openssl currency. 2025-05-12 10:50:04 -05:00
Bruce Dubbs
3dc11a77cf Fix currency fo ropenssl. 2025-05-11 23:38:57 -05:00
Xi Ruoyao
cbdfdd32fd
stripping: Decorate with XML labels 2025-05-02 12:41:33 +08:00
Xi Ruoyao
7a6cafbe95
stripping: Switch to zstd to compress debug info
Now BLFS has valgrind-3.25.0 which supports zstd-compressed debug
section.
2025-05-01 21:35:25 +08:00
Bruce Dubbs
9056a5ccae Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-30 16:00:18 -05:00
Bruce Dubbs
86d976a38c Package updates.
Update to vim-9.1.1353.
Update to setuptools-80.0.1.
Update to packaging-25.0.
Update to meson-1.8.0.
Update to linux-6.14.4.
Update to iana-etc-20250407.
Update to gperf-3.3.
Update to elfutils-0.193.
2025-04-30 15:59:08 -05:00
Bruce Dubbs
f6dbeeb1d3 White space reduction in instruction blocks. 2025-04-30 12:51:03 -05:00
Xi Ruoyao
a9138980ac
dependencies: Packaging needs Flit-core to be built
Quote from pyproject.toml:

    [build-system]
    requires = ["flit_core >=3.3"]
    build-backend = "flit_core.buildapi"
2025-04-21 16:49:39 +08:00
Zeckmathederg
88ee06773d packaging: Fix Contents listings. 2025-04-20 13:18:55 -06:00
Zeckmathederg
679cc02c59 dependences: Update test suite deps.
This updates dependencies for Less, Groff, and Psmisc.
2025-04-20 13:08:27 -06:00
Bruce Dubbs
cc36837f7e Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-15 23:07:23 -05:00
Bruce Dubbs
3d1e81b5a8 Change stripping to use --strip-debug
When we use -strip-unneeded it removes some symbols that are needed in static
libraries that may be needed in addition to debugging symbols.  Changing the
stripping to the more conservative --strip-debug retains thise symbols.

In the case of libc.a the unstripped file size is 22.4 MB.  Using
--strip-debug reduces the file size by 74 percent to 5.9 MB.

Using --strip-unneeded only reduces the file further by 89 KB,
so any gain is relatively trivial.
2025-04-15 22:53:28 -05:00
Bruce Dubbs
134786bcb7 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-15 10:11:42 -05:00
Bruce Dubbs
97aaa219af Update currency adding 'packaging.' 2025-04-15 10:11:29 -05:00
Xi Ruoyao
c63e26b296
packaging: Captialize the title 2025-04-15 20:44:14 +08:00
Xi Ruoyao
1a2d3f5588
whatsnew: Don't hard code version of packaging 2025-04-15 20:42:11 +08:00
Xi Ruoyao
fb602744bb
Revert "Note that gperf tests only work with -j1."
This reverts commit eb43115dec.

Per https://savannah.gnu.org/bugs/?53208 the issue is fixed.  I tried
-j18 multiple times and observed no issues.
2025-04-15 19:47:48 +08:00
Xi Ruoyao
abd4750c89
diffutils: Use an easier work around for the strcasecmp check and improve the explanation 2025-04-15 18:17:33 +08:00
Xi Ruoyao
cb6741b0fa
general: Use "x.y-systemd" instead of "stable-systemd" in BLFS URL for release
"stable-systemd" is the latest release, but we want to use the same
version as the LFS book here.
2025-04-15 18:17:23 +08:00
Zeckmathederg
9103be9005 chapter06/Diffutils: Elaborate what the sed does. 2025-04-14 18:02:27 -06:00
Bruce Dubbs
d470cdb21c Package updates.
Update to libcap-2.76.
Update to perl-5.40.2 (Security update).
Add packaging-24.2 (Python module). Needed for wheel.
Update to xz-5.8.1.
Update to wheel-0.46.1 (Python Module).
Update to sysklogd-2.7.2.
Update to Python3-3.13.3.
Update to openssl-3.5.0.
Update to meson-1.7.2.
Update to linux-6.14.2.
Update to libffi-3.4.8.
Update to iproute2-6.14.0.
Update to gzip-1.14.
Update to grep-3.12.
Update to gperf-3.2.1.
Update to gawk-5.3.2.
Update to diffutils-3.12.
Update to coreutils-9.7.
2025-04-14 13:10:11 -05:00
Xi Ruoyao
f3e6b8964f
make: Remove --without-guile from chapter 6
This seems just a remnant from the pre-cross-chap5 era.  Now with the cross-
toolchain the build system cannot find guile headers and libraries, thus
guile should be disabled by default.

I've also tried this on a host distro with guile installed.
2025-04-13 12:45:23 +08:00
Xi Ruoyao
32a9d4b35b
Remove check (#5650) 2025-04-13 12:45:19 +08:00
Bruce Dubbs
780e368072 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-08 12:50:38 -05:00
Bruce Dubbs
7ea7a3b3d3 Change expat url and fix a grammar issue. 2025-04-08 12:50:25 -05:00
Zeckmathederg
c53c0efa0a whatsnew: Comment out None as other entries are uncommented. 2025-04-07 14:44:40 -06:00
Xi Ruoyao
9bad19ff57
kmod: Drop --sbindir=/usr/sbin
The autoconf-based build system of kmod needs this, but we've switched
to meson where this is the default.

Also it's to be decided if we should put "lsmod" back to bin.
2025-04-02 20:51:17 +08:00
Xi Ruoyao
d116c1bdb0
whatsnew: Align flit-core entry with the package page title 2025-04-02 17:55:34 +08:00
Bruce Dubbs
a05804f155 Package updates.
Update to vim-9.1.1263.
Update to iana-etc-20250328.
Update to xz-5.8.0.
Update to util-linux-2.41.
Update to tzdata-2025b.
Update to shadow-4.17.4.
Update to setuptools-78.1.0.
Update to patch-2.8.
Update to mpfr-4.2.2.
Update to kmod-34.2.
Update to gdbm-1.25.
Update to flit_core-3.12.0.
Update to expat-3.7.1.
2025-03-31 11:13:38 -05:00
Bruce Dubbs
73733138d7 Typo 2025-03-28 12:25:49 -05:00
Xi Ruoyao
8cd3ab533d
toolchaintechnotes: Typos
Just found the typos translating my own words :(.
2025-03-28 00:11:16 +08:00
Xi Ruoyao
576a368232
glibc: Fix a full stop vs. quote issue in pass 1 2025-03-27 23:13:58 +08:00
Xi Ruoyao
e55a481032
gcc: Use the same style for the sanity check compile command as glibc pass1
There seems no valid reason to use a different style here.
2025-03-27 23:11:52 +08:00
Xi Ruoyao
87e90fb633
glibc: Make the sanity check more complete for pass 1
Fixes #5651.
2025-03-27 23:11:52 +08:00
Xi Ruoyao
7e4fd2e198
glibc: Drop --with-headers in pass 1
I cannot see why this is ever needed.  The default is "the compiler
default" which should be correct as the compiler has been configured
--with-sysroot.  And the explanation for this switch is just repeating a
common misunderstanding.  In fact glibc **never** attempts to figure out
what features the kernel has from the headers.  Instead it depends on
the kernel-features.h files in the source tree and the --with-kernel
value to determine the kernel features that it can rely on.
2025-03-27 21:04:46 +08:00
Xi Ruoyao
5e3bef69d1
toolchaintechnotes: Large overhaul
- Document the autoconf behavior about "the cross-compilation mode," to
  explain the necessity of --build=$(path/to/config.guess) added for
  #5304.
- Mention the libtool fallout regrading cross-compilation.
- Remove the explanation for CC_FOR_TARGET, which is already removed
  much earlier.
- Note the cross-toolchain cannot be used anymore after installing gcc
  pass 2.
- "Stage 3" (i.e. the final LFS system) is NOT optional.
2025-03-27 16:07:16 +08:00
Pierre Labastie
7cd3a3fec1 Fix displaying note numbers also in pdf 2025-03-17 13:26:58 +01:00
Xi Ruoyao
a4b4001f03
changelog: Add revision attributes for sysklogd and dbus 2025-03-15 21:50:05 +08:00
Bruce Dubbs
d85559a14e Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-03-14 15:55:05 -05:00
Bruce Dubbs
461741b243 Update packages for mid-March 2025.
Update to vim-9.1.1202.
Update to iana-etc-20250304.
Update to sysklogd-2.7.1.
Update to setuptools-76.0.0.
Update to pkgconf-2.4.3.
Update to man-pages-6.13.
Update to linux-6.13.7.
Update to libcap-2.75.
Update to kmod-34.1.
Update to jinja2-3.1.6.
Update to expat-2.7.0.
Update to dbus-1.16.2.
2025-03-14 15:53:55 -05:00
Xi Ruoyao
42eaacedbc
pkgmgmt: Add the definition of "library name" as a footnote 2025-03-12 21:00:55 +08:00
Pierre Labastie
e2789b4c66 stylesheets: fix generation of footnotes
There was two problems:
- the sect1 template did not process the footnote
- footnote processing needed to use a template matching
  footnote/para[1], but we had a template matching para
  at a higher precendence level.
So:
- call process.footnotes at the end of the sect1 template
- Add a templates matching footnote/para[1] at the same import
  level as the template matching para (this just call the original
  template)
We also add a priority 1 to the sect1 template in chunk-code.xsl,
although it is not strictly necessary. This is what upstream
recommends...
2025-03-11 15:45:14 +01:00
Xi Ruoyao
a2bf74a9b5
More info about "deploying LFS" 2025-03-09 13:08:32 +08:00
Xi Ruoyao
ed2611fa6f
glibc: Remove ja_JP.SJIS (#5669) 2025-03-09 11:38:29 +08:00
Bruce Dubbs
8145eff136 Cleanup after 12.3 release. 2025-03-07 14:52:09 -06:00
Bruce Dubbs
4200e09617 Remove old change entries and update whatsnew. 2025-03-04 13:55:09 -06:00
Bruce Dubbs
cbe6deea00 Revert "Update for LFS-12.3."
This reverts commit aa990ecf0a.
2025-03-04 13:18:12 -06:00
Bruce Dubbs
aa990ecf0a Update for LFS-12.3. 2025-03-04 12:01:48 -06:00
Pierre Labastie
00d6cce3cd hangelog: fix ticket # for recent vim update 2025-03-04 14:29:02 +01:00
Bruce Dubbs
e9c3828c53 Update to vim-9.1.1166 (Security Update). 2025-03-02 20:18:14 -06:00
Bruce Dubbs
d35857c7bb Package updates and mic fixes.
Update to zstd-1.5.7.
Update to systemd-257.3.
Update to shadow-4.17.3.
Update to setuptools-75.8.1.
Update to linux-6.13.4.
Update to kmod-34.
Update to inetutils-2.6.
Update to gettext-0.24.
Update to flit_core-3.11.0.

Remove $LFS/{bin,lib,sbin} from the chown commands
  This applies to 'Section 4.3. Adding the LFS User'

Remove static library in sysklogd
  Accomplished with adding --disable-static to the configure options.
2025-02-27 11:07:22 -06:00
Zeckmathederg
49b6a5ff00 inetutils: Remove extra :. 2025-02-24 18:07:05 -07:00
Bruce Dubbs
2b2e9cddbc Update to man-pages-6.12. 2025-02-24 11:53:00 -06:00
Xi Ruoyao
514c9e71b0
chapter08: Remove outdated test suite SBU values
They were measured when we used -j1 and/or had not running the test
suite with parallel jobs yet.  Now the values are even larger than the
total SBU including the test time, so they are just ridiculous.
2025-02-23 15:49:45 +08:00
Xi Ruoyao
378b51e18e
dependencies: Drop kbd's dependency on check
The dependency has been dropped since the 2.1.0 release.  It seems
nothing uses check in LFS as at now, maybe we should consider moving it
to BLFS or even just removing it.

Link: https://github.com/legionus/kbd/commit/6ff5f4e64c50
2025-02-20 02:43:11 +08:00
Xi Ruoyao
65f0a28feb
e2fsprogs: Document test failure with non-ext fs
Someone building LFS on btrfs reported this, and I can reproduce.
2025-02-19 23:31:55 +08:00
Xi Ruoyao
28a01fdcab
systemd: Document test-copy failure (I/O congestion) 2025-02-19 23:30:18 +08:00
Xi Ruoyao
6f76f192b9
gcc: Document tsan failures with some host distros 2025-02-19 23:19:32 +08:00
Xi Ruoyao
5616cb8ee9
Package update
- Update to man-pages-6.11 (#5646)
- Update to vim-9.1.1122 (#4500)
2025-02-19 19:30:43 +08:00
Xi Ruoyao
79fccff18f
gen-changelog: Fix HTTP 403 accessing trac
Use the new anonymous ticket list URL.
2025-02-19 19:18:52 +08:00
Xi Ruoyao
613790d1fa
vim: Update curl/wget test removal
They've renamed the test file at some time point between 9.1.1071 and
9.1.1106.
2025-02-16 17:55:54 +08:00
Xi Ruoyao
5ba41a882b
glibc: Fix another flaw in update process regarding "fixed" includes 2025-02-14 21:52:51 +08:00
Xi Ruoyao
34202ef44a
vim: The tests requiring wget/curl have been removed with sed 2025-02-14 04:13:13 +08:00
Xi Ruoyao
36f2a2dd53
kernel: Regenerate configuration with Linux 6.13.1 2025-02-14 04:11:11 +08:00
Bruce Dubbs
dfd69d56e7 Speling 2025-02-13 11:11:01 -06:00
Bruce Dubbs
4bc4b26d5a Restrict tcl currency to version 8 for now. 2025-02-12 19:05:22 -06:00
Bruce Dubbs
df98180f35 Remove binutils patch on whatsnew. 2025-02-12 16:36:17 -06:00
Bruce Dubbs
d3abecc973 Package updates.
Update to vim-9.1.1106.
Update to diffutils-3.11.
Update to libffi-3.4.7.
Update to linux-6.13.2.
Update to Python3-3.13.2.
Update to sysvinit-3.14.
2025-02-12 13:54:18 -06:00
Xi Ruoyao
fd0a944d6d
procps: Add --enable-watch8bit 2025-02-12 17:43:45 +08:00
Xi Ruoyao
581ee1a9e8
ninja: Add --verbose
Some user using a slow system complained (off-list) to me that the long
no-output period seemed like a hang (esp. combined with the warning
about missing re2c).

Also explain the "basic functionality test" is already done, so no need
to run "./ninja" again for testing.
2025-02-10 21:31:44 +08:00
Xi Ruoyao
611c87328f
glibc: Update total test number for 2.41 release 2025-02-10 18:32:32 +08:00
Xi Ruoyao
cb1b56efce
coreutils: Remove outdated known failures
They seem fixed with 9.6.
2025-02-08 09:50:39 +08:00
Xi Ruoyao
3f2235c907
coreutils: Better explain the autoreconf and automake commands 2025-02-08 09:17:21 +08:00
Xi Ruoyao
94dc9c26d2
Revert "Fix cmds installing python docs (permissions)"
This reverts commit dc8572f241.

The permission issue seems fixed upstream: after I untar the tarball
with --no-same-owner --no-same-permissions as root, all files are 644
and all directories are 755 (proven via find -type f -not -perm 644 and
find -type d -not -perm 755).
2025-02-08 08:42:47 +08:00
Xi Ruoyao
40ca48d44f
binutils: Drop stale references to gold
I'm surprised --enable-gold doesn't cause an error when the tarball does
not contain gold.
2025-02-06 10:45:41 +08:00
Xi Ruoyao
5112b5ee91
glibc: upgrade: Note that "fixed" headers may need to be removed 2025-02-04 13:36:03 +08:00
Bruce Dubbs
4f401fb372 Package updates.
Update to vim-9.1.1071.
Update to iana-etc-20250123.
Update to binutils-2.44.0.
Update to coreutils-9.6.
Update to e2fsprogs-1.47.2.
Update to glibc-2.41.
Update to iproute2-6.13.0.
Update to libxcrypt-4.4.38.
Update to linux-6.13.1.
Update to man-pages-6.10.
Update to meson-1.7.0.
Update to perl-5.40.1.
Update to tcl8.6.16.
Update to tzdata2025a.
Update to xz-5.6.4.
2025-02-02 20:02:39 -06:00
Xi Ruoyao
aef7c6efd6
acl: Run the test suite
There's only one test failure due to the temporary coreutils, thus I
don't think it's a reason strong enough to skip the entire test suite.
2025-02-01 23:48:59 +08:00
Xi Ruoyao
ce20367007
stages: "Changing Ownership" shouldn't be executed resuming an interrupted build
Before we added "--from lfs", it'll break a half-baken LFS system.

After we added "--from lfs", it has no effect.
2025-02-01 20:12:49 +08:00
Xi Ruoyao
50a0916dea
vim: Remove tests requiring curl or vim
Since vim-9.1.0859, some tests need curl or wget or they fail.
2025-01-26 17:31:00 +08:00
Xi Ruoyao
b05b2270d3
libtool: Remove outdated known failures
The test results seem clean in the LFS chroot now.
2025-01-26 12:14:32 +08:00
Xi Ruoyao
9eccb6170d
glibc: Unset tz as well as ZONEINFO after installing tzdata 2025-01-26 00:55:43 +08:00
Xi Ruoyao
ff4a32ec01
aboutlfs: Fix umask expect output
On a latest LFS system the output is 0022.  It seems depending on host
shell version.
2025-01-25 22:15:31 +08:00
Bruce Dubbs
2aaea1389b Make pip3 commands consistent. 2025-01-18 21:09:08 -06:00
Zeckmathederg
59cc122efa changelog: Change ticket link to point to the right ticket. 2025-01-15 23:56:42 -07:00
Bruce Dubbs
ea9df10321 Package updates.
Update to vim-9.1.1016.
Update to iana-etc-20250108.
Update to util-linux-2.40.4.
Update to sysvinit-3.13.
Update to sysklogd-2.7.0.
Update to shadow-4.17.2.
Update to setuptools-75.8.0.
Update to linux-6.12.9.
Update to gettext-0.23.1.
2025-01-14 15:23:27 -06:00
Xi Ruoyao
7622257836
Move fixup for $LFS owner/permssion to mounting the new partition 2025-01-13 11:25:01 +08:00
Douglas R. Reno
bb5bf3b9d8 Minor typo fixes 2025-01-12 12:13:06 -06:00
Xi Ruoyao
016ba17be9
procps: Remove the systemd revision specific workaround
The issue is fixed in procps-ng-4.0.5.
2025-01-12 13:20:45 +08:00
Xi Ruoyao
39679232f7
Move the explanation of umask 022 from settingenviron to aboutlfs
Explain it once we use it.  Also fix an error in the text (we don't make
files executable, we only make directories searchable).
2025-01-12 11:56:30 +08:00
Xi Ruoyao
625969c2de
aboutlfs: Also mention umask in addition to export LFS= for bash profiles 2025-01-12 11:53:48 +08:00
Xi Ruoyao
68b56a3c33
creatingminlayout: Set the owner and permission of $LFS
The host distro may have an insane default for root_owner and/or
root_perms in /etc/mke2fs.conf, so let's make it sane on our own.  Note
that MKE2FS_CONFIG=/dev/null makes mke2fs refuse to run so we cannot
suppress the host mke2fs.conf.
2025-01-11 23:34:23 +08:00
Xi Ruoyao
cacb470c97
aboutlfs: Set umask to 022
I know some distros are using a different default and we are having
reports of some mysterious permission issue via lfs-support those I
highly suspect as some umask issue.  Let's just explicitly set it (like
setting $LFS) to protect us from such distros without changing every
"mkdir -pv" to "install -vdm755".
2025-01-11 23:34:14 +08:00
Douglas R. Reno
389d8f53db Changelog: mark Python 3.13.1 as a security update 2025-01-03 11:59:32 -06:00
Pierre Labastie
d11e5762bc pip3 wheel should be remap="make" 2025-01-03 12:21:11 +01:00
Pierre Labastie
6528f75720 Use <userinput> as elements for lfs user and group
The preceding commit uses <systemitem> elements to mark the lfs
user and group in commands. Unfortunately, this change the
rendering in html, because now lfs appears in an italic font.
Using <userinput remap='group'> or <userinput remap='user'> allows
parsing the XML for jhalfs, but does not change the html rendering.
2025-01-02 09:12:52 +01:00
Xi Ruoyao
8e8be5f129 Use lfs-user entity in commands
I still think it's cleaner for jhalfs to just use a different user name
(for example "lfs1") if the user lfs already exists.  This will allow
jhalfs to easily use a different user name.
2025-01-02 09:12:52 +01:00
Bruce Dubbs
f1a5ce3860 Update to shadow-4.17.1. 2024-12-31 20:34:57 -06:00
Douglas R. Reno
7822686752 dbus: remove a duplicate ninja command 2024-12-31 14:56:53 -06:00
Douglas R. Reno
93d4efbcd6 Changelog: mark Jinja2 as a security update 2024-12-31 13:54:22 -06:00
Douglas R. Reno
c1a3c0292a Package updates:
Update to dbus-1.16.0 (systemd only)
Update to libxcrypt-4.4.37
2024-12-31 13:53:30 -06:00
Bruce Dubbs
7a01f6150f Package updates.
Update to iana-etc-20241220.
Update to texinfo-7.2.
Update to sysvinit-3.12.
Update to shadow-4.17.0.
Update to procps-ng-4.0.5.
Update to meson-1.6.1.
Update to linux-6.12.7.
Update to kbd-2.7.1.
Update to jinja2-3.1.5.
2024-12-31 11:12:12 -06:00
Xi Ruoyao
bfb0cbae18
os-release: Automatically update RELEASE_TYPE 2024-12-21 11:56:57 +08:00
Douglas R. Reno
6913a42bff Update the systemd man pages to 257. 2024-12-20 15:17:54 -06:00
Douglas R. Reno
86a50f243a /etc/os-release: Add in the RELEASE_TYPE field.
This field was introduced with systemd-257. For development books, we'll
use "development" here, but when we do the next release we should change
this to say "stable".
2024-12-20 15:15:07 -06:00
Douglas R. Reno
33b3a04e4e Revert "systemd: Update the test suite failures list for 257."
This reverts commit 8f493a6377.

When I was building LFS, I somehow forgot to mount /dev/sdb7 to
/mnt/lfs on my system. I ended up chrooting into /mnt/lfs, and it was a
directory, not a filesystem.

This happens from time to time, not sure why I did it this time!

The tests that I had marked as failed no longer fail, but at the same
time, now test-namespace does. Let's undo this commit...
2024-12-19 15:05:20 -06:00
Douglas R. Reno
8f493a6377 systemd: Update the test suite failures list for 257. 2024-12-19 14:43:05 -06:00
Xi Ruoyao
e5955cd62a
gettext: Fix build issue with system libxml2
The upstream fix is explicitly checking libxml2 version so it's not
practical to be turned into a sed.  But I don't want to upload another
patch just for such a "temporary" issue (as it'll be fixed for 0.23.1
anyway).  This alternative fix relies on:

1. The fact that the return type of xmlCtxtGetLastError and the arg type
   of xmlStructuredErrorFunc are changed in the same commit
   61034116d0a3 ("error: Make more xmlError structs constant").
2. GCC supports typeof(expr) to get the type of expr w/o really
   evaluating it.

So it should have the same effect as the upstream fix.

Tested with both --with-included-libxml2 and --without-included-libxml2
on BLFS.
2024-12-18 10:52:00 +08:00
Xi Ruoyao
f8bdaa6ff3
systemd: Sync a sed with udev in sysv revision
Let's make the two revisions more consistent.
2024-12-18 10:42:01 +08:00
Xi Ruoyao
8f5b4a7910
gettext: Remove useless sed
The second expression

    's/xmlError *err/const &/'

does nothing, because " *" actually matches zero, one, or several white
spaces, not a white space and an asterisk.

And the first expression

    '/libxml\/xmlerror.h/i #include <libxml/xmlversion.h>'

includes a header, but we are not using anything in the header.

The intention of the sed command is fix a compatibility issue with
system libxml, but LFS does not have a system libxml so the fix is not
needed for LFS.  And, if we just fix up the second expression to

    's/xmlError \*err/const &/'

making it actually work, it'll cause a FTBFS with shipped libxml (used
in LFS because system does not have libxml), so we cannot easily fix it
either.

For now just remove the sed.  If gettext-0.23.1 isn't released before
LFS 12.3 freeze, we can either apply the upstream patch to make it work
for both shipped libxml and system libxml, or add the corrected sed with
"nodump" and some alarming texts.
2024-12-17 21:26:26 +08:00
Bruce Dubbs
72fae0d02c Fix vim size 2024-12-16 11:54:48 -06:00
Thomas Trepl
fba6f0643d Add missing backslash 2024-12-16 16:50:42 +01:00
Thomas Trepl
1b69877bc4 Fix chksum of vim tarball 2024-12-16 11:56:30 +01:00
Bruce Dubbs
4fd0680ccf Package updates.
Update to vim-9.1.0927.
Update to iana-etc-20241206.
Update to systemd-257.
Update to Python-3.13.1.
Update to libcap-2.73.
Update to linux-6.12.5.
Update to kbd-2.7.
Update to gettext-0.23.
2024-12-15 16:57:03 -06:00
Xi Ruoyao
d095cba8b6
kernel: Remove outdated note not to update kernel API headers
We now consider upgrading kernel API headers safe.
2024-12-13 12:48:43 +08:00
Xi Ruoyao
71df0cfa0f
kernel: Note that make mrproper shouldn't be run for rebuild 2024-12-13 12:47:17 +08:00
Xi Ruoyao
6d36d72175
hostreq: Bump min-kernel to 5.4
4.19 LTS is EOL now.
2024-12-12 14:37:56 +08:00
Xi Ruoyao
eb35057724
packages: Reword release tarball vs repo snapshot difference
Besides Rainer's suggestion, also use a vague "not stored in the
repository" instead of the over-precise "generated": there are also
vendored external source copies (as Git submodules or manually embedded
during Release Engineering, for example the gnulib copies in many
GNU packages); and maybe other cases.

Suggested-by: Rainer Fiebig <jrf@mailbox.org>
2024-12-11 20:31:08 +08:00
Xi Ruoyao
6fa6a4f3ce
Use "install ... -t $dir" instead of "mkdir $dir; cp ... $dir" if possible
So we don't need to type the long path twice.
2024-12-09 18:21:26 +08:00
Bruce Dubbs
cefff0ec14 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-12-08 11:40:33 -06:00
Bruce Dubbs
a44b23f7a4 Update currency for python modules. 2024-12-08 11:40:14 -06:00
Xi Ruoyao
c87106896c
English grammar fixes
Suggested-by: †KJM† <biz@k-1.me>
2024-12-06 17:05:02 +08:00
Xi Ruoyao
79648bf770
kernel: Fix a typo (#5606) 2024-12-05 21:47:05 +08:00
Xi Ruoyao
5ee35073fb
drm-panic: kernel: Explain DRM panic settings 2024-12-01 18:54:14 +08:00
Xi Ruoyao
2349341e3e
drm-panic: kernel: Enable DRM_PANIC
Since the previous commit, we've ensured the kernel displaying via DRM
even in the early stage.  Now enable DRM_PANIC so the kernel will
correctly show the last lines of the kernel messages in case a panic
happens.

Tested with an incorrect root= line in 3 configurations:

- A QEMU VM booted via BIOS
- A real machine booted via BIOS
- A real machine booted via UEFI

And in all configurations the panic message is correctly dumped.
In 1024x768 we can get 48 lines (twice of 24 lines in VGA console).
2024-12-01 18:36:45 +08:00
Xi Ruoyao
33c17d128b
drm-panic: grub: Set up the VESA framebuffer for the kernel
In the previous commit we've enabled the kernel to use the SimpleDRM
driver on the VESA framebuffer.  Now provide the VESA framebuffer to the
kernel.
2024-12-01 18:35:55 +08:00
Xi Ruoyao
fdf21dccba
drm-panic: kernel: Enable SimpleDRM
Currently on a LFS system booted via legacy BIOS (intead of UEFI), the
users can make two different configurations:

1. The DRM driver for the GPU is built as a module.  Then before the
   module is loaded (i.e. the root fs is properly mounted) the kernel
   messages are displayed via the VGA console.
2. The DRM driver for the GPU is built into the kernel image.  Then the
   kernel messages are displayed via the DRM-emulated framebuffer
   console since a very early stage (before the root fs is properly
   mounted).

When the system is booted via UEFI, we use SimpleDRM on the EFI
framebuffer for displaying kernel messages, thus it's always the case 2.

Both are not good for diagnostic in case the root fs cannot be mounted
properly (it's very frequent on lfs-support):

- With 1 the VGA console can only fit 80x24 characters, so the relevent
  information is often flushed away.
- With 2 the panic message is often displayed improperly when a DRM
  driver is running.

The "DRM panic" feature introduced since Linux 6.11 (but it'll only
become usable for LFS since Linux 6.12) can fix the case 2, while case
1 just cannot be fixed.  So start to make LFS booted via legacy BIOS
to use method 2 now, then we can enable DRM panic and fix this
long-standing issue.
2024-12-01 18:35:55 +08:00
Bruce Dubbs
ea48456403 Update to iana-etc-20241122.
Update to file-5.46.
Update to iproute2-6.12.0.
Update to libtool-2.5.4.
Update to linux-6.12.1.
Update to setuptools-75.6.0 (Python Module).
Update to wheel-0.45.1 (Python Module).
2024-11-30 09:49:34 -06:00
Bruce Dubbs
e5cc8213aa Typo 2024-11-28 12:50:41 -06:00
Bruce Dubbs
e5338216f0 Remove unneeded PATH entries. 2024-11-19 22:28:24 -06:00
Xi Ruoyao
410e400a79
shadow: Having /bin or /sbin in $PATH is not a good idea
Turned out in a recent blfs-support discuss.
2024-11-20 10:01:25 +08:00
Xi Ruoyao
d5d6ec44ea
readline: Remove SHLIB_LIBS from make install
It's not needed now and I don't know why it was added in the first place
(at r10573-g2e8cbe04cdac).  I'd say it likely just covered up some user
error (for e.g. simply forgetting "make" before "make install").

Removing it anyway and if it turns out something bad is happening we can
always revert.
2024-11-17 11:45:03 +08:00
Bruce Dubbs
4660ec224b Fix vim stats. 2024-11-15 21:03:01 -06:00
Xi Ruoyao
eca8b13b59
readline: Decorate new info about SHLIB_LIBS 2024-11-16 08:57:29 +08:00
Bruce Dubbs
78914d4af6 Package updates.
Update to vim-9.1.0866.
Update to iana-etc-20241024.
Update to wheel-0.45.0 (Python Module).
Update to setuptools-75.5.0 (Python Module).
Update to linux-6.11.8.
Update to libcap-2.72.
2024-11-15 11:43:29 -06:00
Xi Ruoyao
505b6b1581
shadow: Remove reference to cracklib
The cracklib integration has been removed by upstream since
shadow-4.15.0.
2024-11-09 18:32:44 +08:00
Bruce Dubbs
ac024e87c3 Package updates.
Added binutils-2.43.1-upstream_fix-1.patch.
Update to flit_core-3.10.1.
Update to expat-2.6.4.
2024-11-08 13:24:58 -06:00
Xi Ruoyao
39c800d18c
bash: Remove bash_cv_strtold_broken=no workaround
It's no longer needed for bash-5.2.37, the upstream has fixed the bug at
https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-033.
2024-11-08 21:04:37 +08:00
Bruce Dubbs
a9517d383c Package updates.
Update to linux-6.11.6.
Update to libcap-2.71.
Update to setuptools-75.3.0.
Update to flit_core-3.10.0.
2024-11-01 11:39:57 -05:00
Bruce Dubbs
08620feaa1 Fix currency for markupsafe. 2024-10-25 12:45:27 -05:00
Bruce Dubbs
8a0ae36a91 Fix extra spacing around some xml tags. 2024-10-25 11:37:55 -05:00
Bruce Dubbs
52104e05f0 Package updates.
Update to iana-etc-20241015.
Update to vim-9.1.0813.
Update to xz-5.6.3.
Update to sysvinit-3.11.
Update to setuptools-75.2.0.
Update to Python3-3.13.0.
Update to openssl-3.4.0.
Update to meson-1.6.0.
Update to markupsafe-3.0.2.
Update to linux-6.11.5.
Update to less-668.
Update to elfutils-0.192.
2024-10-24 21:15:30 -05:00
Xi Ruoyao
33ec8810ee
grub: Use "file system" instead of "filesystem"
We've had the consensus on this since David's cleanup.
2024-10-14 22:06:46 +08:00
Bruce Dubbs
d26d12f45c Fix currency for MarkupSafe 2024-10-10 13:11:31 -05:00
Xi Ruoyao
8d5a2a12e9
standards: Add extension names to libg{d,t}k-x11-2.0 to be consistent 2024-10-06 03:32:51 +08:00
Xi Ruoyao
ae191ad78e
tcl: Remove trailing space in command
It causes unnecessary trouble to translations because translating
softwares do not ignore trailing space in <userinput>s.
2024-10-06 03:13:36 +08:00
Thomas Trepl
fc3eddd130 Fix chksum of expect-5.45.4-gcc14-1.patch 2024-10-04 09:52:39 +02:00
Bruce Dubbs
ebeebc26b2 Restore expect patch to previous version. 2024-10-03 15:39:25 -05:00
Bruce Dubbs
5607053b5a Revert back to tcl8.6.15. 2024-10-03 12:25:29 -05:00
Bruce Dubbs
8a9d779178 Package updates.
Update to Python3-3.12.7.
Update to tcl9.0.0.
Update to linux-6.11.1.
Update to libtool-2.5.3.
Update to iproute2-6.11.0.
Update to bash-5.2.37.
Update to bc-7.0.3.
2024-10-01 22:59:34 -05:00
Xi Ruoyao
d77b09e5d0
standards: Fix it up to date
The info has been severly outdated.  And some info is even incorrect
from day one, for example even Glibc and GCC are not listed for LSB core
(they provide libc.so.6, libstdc++.so.6, etc.).
2024-09-26 03:10:31 +08:00
Xi Ruoyao
2a2b22823c
network: Fix the /etc/hosts line for local machine
Since r10520-gcba2d4e6 the IP address of the local machine is assumed
192.168.1.2 (instead of 192.168.1.1) but the hosts line isn't updated.
2024-09-26 01:12:54 +08:00
Xi Ruoyao
2fe2d58620
changelog: Fix a typo 2024-09-22 20:56:47 +08:00
Bruce Dubbs
984e1f1068 Package updates.
Update to vim-9.1.0738.
Update to texinfo-7,1,1.
Update to tcl8.6.15.
Update to sysklogd-2.6.2.
Update to setuptools-75.1.0.
Update to meson-1.5.2.
Update to iana-etc-20240912.
Update to gawk-5.3.1.
Update to bc-7.0.2.
2024-09-21 23:13:41 -05:00
Xi Ruoyao
c080648959
grub: Explain moving bash completion file 2024-09-17 03:22:48 +08:00
Bruce Dubbs
92bb02a329 Update openssl URL. 2024-09-14 09:33:38 -05:00
Bruce Dubbs
75c9760329 Package updates.
Update to tzdata-2024b. Fixes
Update to systemd-256.5. Fixes
Update to setuptools-74.1.2. Fixes
Update to python3-3.12.6. Fixes
Update to openssl-3.3.2. Fixes
Update to man-db-2.13.0. Fixes
Update to linux-6.10.8. Fixes
Update to libpipeline-1.5.8. Fixes
Update to expat-2.6.3. Fixes
Update to bc-7.0.1. Fixes
+
2024-09-07 18:00:09 -05:00
Bruce Dubbs
c5fbd9da12 Minor grammar fix. 2024-09-04 09:59:12 -05:00
Xi Ruoyao
e4b4449d11
ncurses: Simplify evading from mawk
Since it's overridable with the command line, just override it instead
of using a sed.
2024-09-04 20:21:58 +08:00
Xi Ruoyao
39dca771d7
openssl: Update the home page
It seems openssl.org is now the home page of OpenSSL Software Foundation
Inc, and the home page of the OpenSSL project is separated.
2024-09-04 20:20:30 +08:00
Xi Ruoyao
f2c8c6e025
dependencies: Remove inconsistent punctuation 2024-09-03 11:05:44 +08:00
Bruce Dubbs
4b8c6b4f61 Set up after lfs-12.2 2024-08-31 11:13:01 -05:00
Bruce Dubbs
2e3aaf8b43 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-08-29 10:02:46 -05:00
Bruce Dubbs
67056c18a5 Typo 2024-08-29 10:02:14 -05:00
Xi Ruoyao
73f24adb27
changelog: Hide sysklogd and bootscript change for systemd revision 2024-08-29 14:53:37 +08:00
Bruce Dubbs
2b76c898f5 Minor wording change. 2024-08-27 10:44:59 -05:00
Xi Ruoyao
2ca7fca799
gcc: Don't decrease the stack limit
I've had doubts on this "ulimit -s 32768" command for years.  After
reading GCC code (libiberty/stack-limit.c) I'm pretty sure this command
is not doing what we expected.

In a typical Linux distro, the default "soft" stack limit is 8 MiB and
the default "hard" stack limit is infinite.  And GCC will automatically
increase the soft limit to 64 MiB if the original soft limit is smaller
than 64 MiB, and the hard limit is at least 64 MiB.  So with a typical
default configuration, the real stack limit of GCC is 64 MiB.

But our "ulimit -s 32768" command sets both the soft limit and the hard
limit to 32 MiB.  Thus we are actually *decreasing* the real stack
limit.  Fortunately this has not caused any test failures, but it's just
wrong (contradicting with the explanation of the command).

Thus just raise the hard limit to infinite in case the host distro uses
a not so typical configuration where the hard limit is tight, and let
GCC to set up the soft limit to the expected value on its own.  It's
more future-proof than "ulimit -s 65536" in case GCC changes the
expected stack limit in the future.

It should be safe to make the change in freeze because in jhalfs it only
affects the test suite, and even in a manual build the user can skip
this command if not running the GCC test suite.
2024-08-27 16:58:46 +08:00
Xi Ruoyao
68c63ae3af
Some About SBUs page reword 2024-08-27 12:32:31 +08:00
Bruce Dubbs
eae9237225 Add more detail to the About SBUs page. 2024-08-26 17:59:31 -05:00
Xi Ruoyao
04befc5e3c
aboutsbus: Add power profile info 2024-08-26 02:49:01 +08:00
Xi Ruoyao
948cd148be
Update to lfs-bootscripts-20240825
Co-authored-by:	Andrew Kreimer <algonell@gmail.com>
2024-08-25 15:37:38 +08:00
Andrew Kreimer
6e99fa99c7
Fix typos
Signed-off-by: Andrew Kreimer <algonell@gmail.com>
2024-08-25 15:37:34 +08:00
Bruce Dubbs
7779960772 Turn off network logging by default. 2024-08-24 15:45:30 -05:00
Bruce Dubbs
872a378f5e Typos on comments.
These changes are all in comments that do not affect the books in any way.
2024-08-23 14:01:06 -05:00
Xi Ruoyao
54c0a86cd0
bootscripts: console: Fix fb console detection
If CONFIG_FB is not set but CONFIG_DRM_FBDEV_EMULATION is set to y, on a
DRM-drived graphic card (anything from AMD/ATI, Intel, or NVIDIA in
recent 20 years) we'd be using a fb console but without
/sys/class/graphics/fb0.  Then the script won't run setfont for VT 2-6.

Check /sys/class/graphics/fbcon instead of /sys/class/graphics/fb0 to
fix the issue.

Closes: https://lists.linuxfromscratch.org/sympa/arc/lfs-support/2024-08/msg00001.html
Reported-by: Alan Ianson <agianson@gmail.com>
2024-08-23 19:36:09 +08:00
Douglas R. Reno
db7bf1f8e9 systemd configuration: adjust some wording 2024-08-19 09:55:19 -05:00
Xi Ruoyao
d1ccec207f
whatsnew: Remove glibc-2.39-upstream_fixes-1.patch entry
It's added after 12.1 release and removed before 12.2 release, so when
we compare 12.1 and 12.2 it's neither added nor removed and it just
seems never existed.
2024-08-19 13:56:23 +08:00
Xi Ruoyao
217802b9c0
gcc-pass2: Fix description of LDFLAGS_FOR_TARGET=
Pass 2 libstdc++ still links to libgcc.a even with LDFLAGS_FOR_TARGET=,
despite this libgcc.a is from pass 2 instead of pass 1.

The difference between pass 2 libgcc and pass 1 libgcc is Glibc wasn't
installed when the pass 1 libgcc was built.  This difference causes both
consequences (1) pass 1 libgcc lacks shared library and (2) pass 1
libgcc cannot support C++ EH, but it's not (1) causing (2).
2024-08-19 13:56:08 +08:00
Bruce Dubbs
837731717d Minor grammar change. 2024-08-18 20:02:08 -05:00
Bruce Dubbs
10aa6482f7 Move glibc-2.39-upstream_fix patch in what's new from Added: to Removed: 2024-08-18 14:47:14 -05:00
Douglas R. Reno
fcbbf46ced Update systemd and dbus stats for 12.2 2024-08-17 18:29:37 -05:00
Bruce Dubbs
4c522f3775 Package updates.
Update to setuptools-72.2.0.
Update to kmod-33.
Update to binutils-2.43.1.
Update to linux-6.10.5.
2024-08-17 16:08:56 -05:00
Bruce Dubbs
a1a1f9f4de Package updates.
Update to iana-etc-20240806.
Update to pkgconf-2.3.0.
Update to python3-3.12.5.
Update to linux-6.10.4.
2024-08-14 10:36:40 -05:00
Xi Ruoyao
1e2c41871f
kernel: Really fix missing revision attribute 2024-08-13 16:52:16 +08:00
Thomas Trepl
82711db81d Fix missing attribute 'revision' 2024-08-13 09:16:25 +02:00
Xi Ruoyao
aa00b47601
build: Use -r for git ls-tree in make dist
Without this we may pack things like *.swp into the tarball.
2024-08-12 19:20:16 +08:00
Andrew Kreimer
a18957940c
docs: fix a typo
In section "5.3. GCC-13.2.0 - Pass 1",
the string "The are not strictly needed"
should have "They".

Fix that.
2024-08-09 22:24:18 +08:00
Xi Ruoyao
93bffa3abf
Regenerate kernel configuration with Linux 6.10.2 source
Now all DRM drivers are entries in the DRM submenu.
2024-08-09 15:49:05 +08:00
Xi Ruoyao
079ced733c
pkgconf: Switch home page to GitHub
The upstream maintainer told me (s)he is not controlling pkgconf.org as
at now.
2024-08-06 11:12:09 +08:00
Bruce Dubbs
dd151db302 Package updates.
Update to bash-5.2.32.
Update to iana-etc-20240801.
Update to vim-9.1.0660.
Update to binutils-2.43.
Update to linux-6.10.3.
Update to readline-8.2.13.
Update to wheel-0.44.0.
2024-08-05 13:07:12 -05:00
Xi Ruoyao
653ead1781
toolchaintechnotes: Refer to Glibc wiki instead of shlib-versions
The list of dynamic linkers is removed in shlib-versions since 2014.

Link: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=ba90e05052ce
2024-08-05 12:08:18 +08:00
Xi Ruoyao
678acc1775
toolchaintechnotes: Update the paragraph describing ch05 glibc
We no longer pass CC="$LFS_TGT-gcc -nostdinc -isysroot" since
cross-chap5.
2024-08-05 12:02:35 +08:00
Bruce Dubbs
7119cf2a83 Fix a minor issue with liblz4.pc. 2024-08-04 16:28:24 -05:00
Bruce Dubbs
175b2b6ab6 Typo 2024-08-04 16:21:55 -05:00
Bruce Dubbs
5ff15e6275 Package updates.
Update to setuptools-71.1.0.
Update to gcc-14.2.0.
2024-08-01 14:46:50 -05:00
Bruce Dubbs
8aa80e434d Make capitalization os SysVinit consistent. 2024-07-31 16:59:30 -05:00
Douglas R. Reno
5717a3d267 Update the stats for the systemd man pages 2024-07-31 16:32:37 -05:00
Xi Ruoyao
39bdcbafb2
whatsnew: Make Sysvinit entry same as the section title
Make them consistent and reduce one string for the translators.
2024-08-01 00:29:32 +08:00
Xi Ruoyao
f6eb3399d5
automake: Remove outdated test failure notice
These failures are fixed in automake-1.17 release.
2024-08-01 00:17:10 +08:00
Bruce Dubbs
44c33588fd Package updates
Update to iana-etc-20240723.
Update to glibc-2.40.
Update to iproute2-6.10.0.
Update to linux-6.10.2.
Update to lz4-1.10.0.
Update to meson-1.5.1.
Update to setuptools-71.1.0.
Update to sysklogd-2.6.1.
Update to systemd-256.4.
Update to sysvinit-3.10.
2024-07-31 10:37:57 -05:00
Bruce Dubbs
d2ac702634 Update currency for openssl. 2024-07-25 11:17:54 -05:00
Bruce Dubbs
0d6c94f1bf Fix name and currency for lz4. 2024-07-24 23:05:08 -05:00
Bruce Dubbs
e148af0796 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-07-24 09:42:10 -05:00
Bruce Dubbs
b56430b691 Update currency for lz. 2024-07-24 09:41:55 -05:00
Bruce Dubbs
eeee074942 Update bootscripts version. 2024-07-17 22:43:43 -05:00
Xi Ruoyao
5b7b80511c
cleanup: Remove hidden files in /tmp
Some test suite may create files of which the name starts with a dot.
These files are "hidden" and they won't be matched with the /tmp/*
wildcard.
2024-07-18 11:13:24 +08:00
Xi Ruoyao
86e276279a
systemd: Update known failures
I can only reproduce test-namespace failure now with 256.1.
2024-07-18 11:13:24 +08:00
Xi Ruoyao
a7596d8cc0
packages: Add a space between "Systemd Man Pages" and the version
To be consistent with other packages.
2024-07-18 11:13:23 +08:00
Xi Ruoyao
0808f28619
bootscripts: Add -n to the ln command, for recreating /dev/fd correctly if the initramfs has already created one 2024-07-18 11:13:23 +08:00
Xi Ruoyao
6e6641f9b7
binutils: Add --enable-new-dtags
This option makes ld use DT_RUNPATH instead of DT_RPATH.  DT_RPATH is
generally considered bad because it takes precedence over
LD_LIBRARY_PATH.  For example, eog is linked with -rpath /usr/lib/eog,
and with DT_RPATH if an old eog is already installed we are basically
impossible to debug a new eog build w/o overwriting the system
installation first or explicitly using "ld.so --inhibit-rpath" to
invoke it.

This "new" actually means "new in 2000," it's 24 years ago and all other
distros has enabled it.  Thus I guess some unexplainable "test suite
uses installed library instead of the just built one" issues in BLFS are
actually caused by this difference: the package author just assumes
everyone is using DT_RUNPATH thus they just set LD_LIBRARY_PATH and
consider it enough to test with the just built libraries, but DT_RPATH
breaks this expectation.

Let's eliminate the difference as it seems not doing anything good and
doing so just takes one switch.
2024-07-18 11:13:20 +08:00
Bruce Dubbs
f105449724 Package updates.
Update to iana-etc-20240701.
Update to vim-9.1.0580.
Update to automake-1.17.
Update to gdbm-1.24.
Update to linux-6.9.9.
Update to less-661.
Update to meson-1.5.0.
Update to setuptools-70.3.0.
Update to util-linux-2.40.2.
2024-07-15 11:00:12 -05:00
Bruce Dubbs
e7b6af1037 Update lfs-bootscripts to only output escape sequences to a terminal. 2024-07-06 17:12:29 -05:00
Xi Ruoyao
e872712e9a
dependencies: List rust-bindgen as Linux external dependency
It's needed to enable Rust-based features in the kernel.

Rustc is also needed but it's required by rust-bindgen so I'm skipping
it (like BLFS).

LLVM (Clang) is also a required dependency of rust-bindgen but it's
listed here for different purposes (LTO and CFI).
2024-07-03 18:16:47 +08:00
Bruce Dubbs
6ee537a893 Update systemd man pages. 2024-07-02 16:00:44 -05:00
Bruce Dubbs
f01d1e3597 Fix sysklogd currency 2024-07-01 08:01:10 -05:00
Bruce Dubbs
ba0723a402 Tweak sysklogd bootscript for latest version. 2024-06-30 14:51:53 -05:00
Bruce Dubbs
e91edadd00 Package and format updates.
Update to iana-etc-20240612.
Update to bc-6.7.6.
Update to man-pages-6.9.1.
Update to linux-6.9.7.
Update to sysklogd-2.5.2.
Update to shadow-4.16.0.
Update to systemd-256.1.
Update to setuptools-70.1.1.

Also change the formatting of options '-Dsomething' to '-D something'.
2024-06-30 10:40:41 -05:00
Xi Ruoyao
201aa93863
Move punctuation/comma into quotes for <xref>s
We are using American rule for punctuation/comma vs. quotes.  We've
fixed most cases but not <xref>s.
2024-06-22 11:43:31 +08:00
Xi Ruoyao
c04d98d038
systemd: Reword test failure notice 2024-06-15 01:22:02 +08:00
Xi Ruoyao
9c7437f2fd
glibc: Remove redundant mkdir -pv /usr/lib/locale command
It's created in chapter 7.
2024-06-15 00:06:41 +08:00
Bruce Dubbs
cadbe55e4d Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-06-14 10:43:13 -05:00
Bruce Dubbs
58180415dd Package updates.
Update to vim-9.1.0478.
Update to iana-etc-20240607.
Update to systemd-256.
Update to python3-3.12.4.
Update to perl-5.40.0.
Update to openssl-3.3.1 (Security fix).
Update to linux-6.9.4.
Update to findutils-4.10.0.
2024-06-14 10:37:53 -05:00
Xi Ruoyao
2ef9beaf92
readline: Get rid of rpath 2024-06-09 20:03:35 +08:00
Xi Ruoyao
4ef406e2fa
expect: Get rid of rpath 2024-06-09 19:51:57 +08:00
Xi Ruoyao
e3f47a2f7a
tcl: Get rid of rpath 2024-06-09 19:47:30 +08:00
Xi Ruoyao
b3c50e06f6
systemd: Fix the sed adding PID_FS_MAGIC into src/basic/missing_magic.h
Without this trailing backslash only one line (the comment) is added.

Note that udev.xml contains the correct sed.
2024-06-02 19:45:41 +08:00
Xi Ruoyao
464fd24324
udev & systemd: Emphasis "API headers" for linux compatibility
Or people will ask "why no-break-userspace rule does not apply?"
2024-06-02 19:38:25 +08:00
Bruce Dubbs
6acfe2e81f Package Updates.
Update to meson-1.4.1.
Update to xz-5.6.2.
Add linux-6.9.x compatibility instructions to systemd and udev.
Update to setuptools-70.0.0 (python module).
Update to ninja-1.12.1.
Update to man-pages-6.8.
Update to linux-6.9.3.
Update to libcap-2.70.
Update to iproute2-6.9.0.
Update to e2fsprogs-1.47.1.
2024-05-31 12:06:49 -05:00
Xi Ruoyao
8630ec385a
[systemd] Disable RT_GROUP_SCHED
Link: https://github.com/systemd/systemd/issues/13781#issuecomment-549164383
2024-05-30 19:35:35 +08:00
Xi Ruoyao
32c050cb58
gcc-pass2: Don't ambigiously use "previously" 2024-05-22 16:22:14 +08:00
Bruce Dubbs
91c72232ac Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-05-19 15:54:31 -05:00
Bruce Dubbs
da1a07bdc1 Remove erroneous -i when creating custom udev rules 2024-05-19 15:53:53 -05:00
Xi Ruoyao
87e5e08d34
gcc pass2: --disable-libsanitizer is no longer strictly needed
GCC 14 libsanitizer no longer depends on crypt.h.  But let's keep this
option for reducing build time, just update the explanation.

Also remove libxcrypt from GCC depedency list.
2024-05-15 19:48:50 +08:00
Xi Ruoyao
923fb48548
coreutils: Revise i18n patch 2024-05-14 03:42:22 +08:00
Xi Ruoyao
5ff2f2e472
creatingfilesystem: Remove reference to ReiserFS
It's deprecated by the kernel developers and we've archived the tools
for it in BLFS as well.
2024-05-13 20:17:46 +08:00
Xi Ruoyao
31c839da2d
packages: Document why not to use anduin for vim 2024-05-13 13:45:56 +08:00
Xi Ruoyao
6a97bf00d7
Revert "Make vim md5sum consistent with the version on anduin."
This reverts commit 46e985d8af.
2024-05-13 13:44:47 +08:00
Xi Ruoyao
74dfcff374
Revert "e anduin for vim."
This reverts commit 760d28c809.

As we've discussed in #5490:

LFS 9.0 (released 2019) downloads vim-8.1.1846 from GitHub directly, and
the URL still works today and results a tarball with the same md5 as LFS
9.0 documents.  Thus GitHub download seems stable enough from vim.

Also note that "vim-9.1.0405.tar.gz" on anduin is actually a
vim-9.1.0330 release tarball.
2024-05-13 13:42:51 +08:00
Xi Ruoyao
99056a6d69
glibc: Revise glibc-2.39 upstream fix patch
The glibc-2.39-upstream_fix-1.patch file contains a broken
tst-iconv-iso-2022-cn-ext.c file.  It causes:

    FAIL: iconvdata/tst-iconv-iso-2022-cn-ext

Revise the patch to fix it.

(cherry picked from commit 9b39be4268)

Reapply this change which is mistakenly reverted in
340e17adc6.
2024-05-13 00:30:13 +08:00
Bruce Dubbs
f70694dce2
PAckage updates and a security fix.
Add security fix to glibc.
Update to linux-6.8.8.
Update to ncurses-6.5.

(cherry picked from commit d0ca5ead46)

Reapply this change which is mistakenly reverted in
340e17adc6.
2024-05-13 00:29:12 +08:00
Bruce Dubbs
760d28c809 e anduin for vim.
The github version of the vim tarball is not always available.
Keep it on anduin.
2024-05-12 10:16:12 -05:00
Bruce Dubbs
46e985d8af Make vim md5sum consistent with the version on anduin. 2024-05-12 10:05:27 -05:00
Bruce Dubbs
5d867ecc19 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-05-12 09:55:34 -05:00
Bruce Dubbs
043e9bdb46 Fix currency for jinja2 2024-05-12 09:55:19 -05:00
Xi Ruoyao
ddbe15d513
changelog: Fix a typo 2024-05-12 21:38:34 +08:00
Thomas Trepl
c7ed0b0fb8 Fix chksum of vim-9.1.0405 2024-05-12 12:14:25 +02:00
Bruce Dubbs
340e17adc6 Package updates.
Update to vim-9.1.0405.
Update to util-linux-2.40.1.
Update to linux-6.8.9.
Update to jinja2-3.1.4 (Python mpdule).
Update to iana-etc-20240502.
Update to gcc-14.1.0.
2024-05-11 15:17:56 -05:00
Xi Ruoyao
1a7ac41bcc
grub: Update the note about UEFI for recent BLFS change 2024-05-11 08:15:09 +08:00
Xi Ruoyao
6dfdf03699
coreutils: Add -k for make check
Two tests are known to fail, so without -k a part of the test suite is
not executed.
2024-05-09 14:52:44 +08:00
Xi Ruoyao
c5a1240233
dependencies: Bison building system needs diffutils
A recent lfs-support discussion revealed if diffutils is forgotten,
bison building system can fail in a way very difficult to diagnose.
2024-05-05 17:04:56 +08:00
Xi Ruoyao
f65f3b993c
[systemd] clock: Captitalize the title
All other titles in the book are capitalized by David.
2024-05-03 14:07:54 +08:00
Xi Ruoyao
1e7341fd35
systemd: Enable test suite (again)
With systemd-255, I get only 1 failure out of 1206.  Thus it seems a
good idea to run the test suite.

We can always revert if something bad happens.
2024-05-03 13:39:48 +08:00
Xi Ruoyao
a9cbf6ff0c
Revert "python: Document test failures with recent expat"
This reverts commit 6a75210c6d.

In Python >= 3.12.3, these tests are disabled with expat >= 2.6.0.

Link: https://github.com/python/cpython/commit/c4fa79b924a1
2024-05-03 11:59:53 +08:00
Xi Ruoyao
9b39be4268
glibc: Revise glibc-2.39 upstream fix patch
The glibc-2.39-upstream_fix-1.patch file contains a broken
tst-iconv-iso-2022-cn-ext.c file.  It causes:

    FAIL: iconvdata/tst-iconv-iso-2022-cn-ext

Revise the patch to fix it.
2024-05-02 18:38:35 +08:00
Xi Ruoyao
e1f27cd97b
changelog: The ifup change is sysv-only 2024-05-01 15:50:45 +08:00
Xi Ruoyao
3abde5946b
ncurses: Remove explicit --enable-widec in chapter 6 like chapter 8 2024-05-01 15:49:51 +08:00
Thomas Trepl
5a661c39b0 Fix changing entity name 2024-05-01 08:16:22 +02:00
Bruce Dubbs
72108540d2 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-04-30 12:43:09 -05:00
Bruce Dubbs
d0ca5ead46 PAckage updates and a security fix.
Add security fix to glibc.
Update to linux-6.8.8.
Update to ncurses-6.5.
2024-04-30 12:42:03 -05:00
Xi Ruoyao
6e179a9025
changingowner: Add --from lfs for chown root:root commands
So if the user has not set $LFS properly, chown will do nothing instead
of wreak havoc in the host distro.

--from <user> has been available for Coreutils chown since 2000 so we
don't need to raise the host system requirement.
2024-04-27 12:30:10 +08:00
Xi Ruoyao
7db37658c2
chapter06/ncurses: Use ncurses-release instead of ncurses-version for library file names
Reported-by: Stefano Moretti <stemoretti@gmx.com>
Closes: https://lists.linuxfromscratch.org/sympa/arc/lfs-dev/2024-04/msg00051.html
2024-04-26 20:02:16 +08:00
Bruce Dubbs
ba1a9cf303 Typo 2024-04-18 10:19:03 -05:00
Bruce Dubbs
340891bca1 Make minor change to ifup script output text.
Remove blank output line generated in ifup script when bringing
up wireless interface.
2024-04-16 10:59:48 -05:00
Bruce Dubbs
491de3316a Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-04-15 11:17:58 -05:00
Bruce Dubbs
185b763812 Package updates.
Update to setuptools-69.5.1.
Update to python3-3.12.3.
Update to openssl-3.3.0.
Update to ninja-1.12.0.
Update to man-db-2.12.1.
Update to linux-6.8.6.
Update to iana-etc-20240412.
Update to vim-9.1.0330.
2024-04-15 11:16:44 -05:00
Xi Ruoyao
9317498c03
packages: SSL-ize two URLs 2024-04-11 16:38:50 +08:00
Xi Ruoyao
9bfd203fad
util-linux: Create a dummy /etc/fstab to satisfy two tests 2024-04-08 16:10:03 +08:00
Xi Ruoyao
6a75210c6d
python: Document test failures with recent expat
I didn't see them because I misconfigured Python to use internal expat.
With system expat they just fail as we've documented in BLFS.
2024-04-08 15:09:51 +08:00
Xi Ruoyao
2f115238af
kernel: Regenerate kernel config with 6.8.2
No real change.
2024-04-07 21:04:05 +08:00
Xi Ruoyao
9977b8f05b
generalinstructions: Remove a false statement about "cp -R destroys symlink"
It's just wrong (at least with all recent Coreutils releases).

Note that hard links are really destroyed, but AFAIK tar does not keep
hard links correctly anyway and destroying hard links won't cause
packages fail to build at all.
2024-04-06 17:39:05 +08:00
Xi Ruoyao
91cf49535a
python: Make it clear that the test indefinitely hanging issue is occasional
Or people will report things like "hey I didn't see any test had timed
out."
2024-04-06 11:25:01 +08:00
Xi Ruoyao
a093e70903
python: Run test suite with a time limit
The test hang issue is not related to partial environment.  It's just a
known issue (for eg https://github.com/python/cpython/issues/91155) and
happens when we are unlucky.

So just run the test suite with a timeout.  1 SBU should be enough: it's
approximately 4 times of the time used by the slowest test case, on both
an old Athlon 64 3000+ and a Core i5-11300H.

I've not seen any test failure on a complete system (the expat-related
failure seems fixed by expat-2.6.2 or 2.6.1).  TODO: really test this
with LFS chroot and document failures if any.
2024-04-05 22:05:45 +08:00
Bruce Dubbs
658401054a Typo 2024-04-04 09:24:08 -05:00
Xi Ruoyao
0dde2f570e
changelog: Fix date of sysvinit-3.09 update
Well, we've had a time travaling! :)
2024-04-02 18:51:47 +08:00
Xi Ruoyao
ba64c50ecc
coreutils: Test names are filenames 2024-04-02 18:13:33 +08:00
Xi Ruoyao
7a8f589df1
changelog: Add revision='sysv' for sysvinit-3.09 entry 2024-04-02 18:11:14 +08:00
Bruce Dubbs
9b01d1b4ba Package updates.
Update to iana-etc-20240318.
Update to zstd-1.5.6.
Update to util-linux-2.40.
Update to shadow-4.15.1.
Update to pkgconf-2.2.0.
Update to linux-6.8.2.
Update to coreutils-9.5.
2024-03-31 17:10:23 -05:00
Xi Ruoyao
31336718bc
xz: Host on anduin for now
The GitHub repo is suspended due to malicious code injection.
2024-03-30 09:09:26 +08:00
Bruce Dubbs
1af9cd121d Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-03-29 15:08:02 -05:00
Bruce Dubbs
cbf19601bc Revert to xz-5.4.6 due to uptream compromise. 2024-03-29 15:04:03 -05:00
Tim Tassonis
ae4e8da2c3 Update to sysvinit-3.09. 2024-03-25 21:50:26 +01:00
Bruce Dubbs
23db3ee550 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-03-20 09:48:36 -05:00
Bruce Dubbs
c3a956946d Fix currency and cleanup
Fix currency for upstream changes for
Python
psmisc

Add currency for
lz

Remove a lot of old commented code.
2024-03-20 09:46:44 -05:00
Xi Ruoyao
acaeb102ae
packages: Fix and simplify <ulink> for vim tags page
Vladimir has reported that the link target of this <ulink> is wrong.
Note that the link target and the displayed text should be the same,
thus use <ulink ... /> instead of <ulink ...> ... </ulink> to simplify
it.
2024-03-20 18:30:45 +08:00
Xi Ruoyao
3d50ab19d0
changelog: Fix typos 2024-03-20 15:21:19 +08:00
Douglas R. Reno
9694f4b6be Add stats for LZ4. 2024-03-19 18:08:24 -05:00
Douglas R. Reno
4aa6ea3d1c Add forgotten changelog entry for iproute2 2024-03-19 18:07:24 -05:00
Douglas R. Reno
ac593e8270 Update to man-pages-6.7 2024-03-19 18:06:48 -05:00
Douglas R. Reno
c5ae777ac2 Package updates and a new addition:
Update to Linux-6.8.1
Update to iproute2-6.8.0
Add LZ4 to the book
2024-03-19 17:56:41 -05:00
Bruce Dubbs
e31b6c53cb Fix Python currency 2024-03-19 10:14:02 -05:00
Xi Ruoyao
e2d3b4b0bc
kmod: Use a more natural expression for symlink location issue 2024-03-14 23:04:38 +08:00
Xi Ruoyao
68215a4ed7
kmod: Emphasis that we don't want 2024-03-14 23:01:43 +08:00
Xi Ruoyao
98bdf39b6c
shadow: Capitalization adjustment 2024-03-14 22:59:27 +08:00
Xi Ruoyao
e7231421fd
kmod: Remove an unnecessary command and adjust the description
/usr/bin/lsmod is already created by the building system.
2024-03-14 22:53:21 +08:00
Bruce Dubbs
9ac55efa5e Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-03-14 09:38:18 -05:00
Bruce Dubbs
dcf5543233 Package updates.
Update to wheel-0.43.0.
Update to setuptools-69.2.0 (Python module).
Update to meson-1.4.0.
Update to expat-2.6.2 (Security fix).
Update to iana-etc-20240305.
Update to vim-9.1.0161.
Update to xz-5.6.1.
Update to shadow-4.15.0.
Update to psmisc-23.7.
Update to kmod-32.
Update to elfutils-0.191.
2024-03-14 09:36:53 -05:00
Xi Ruoyao
eb7223e804
shadow: Add an <important> for using BLFS instruction if PAM installed 2024-03-12 18:53:13 +08:00
Pierre Labastie
37823511a6 Fix rendering of non-chunked output
Thanks to Vladimir Pertsev for the patch
2024-03-04 17:31:33 +01:00
Douglas R. Reno
c301941b9a vim: typo fix from rhubarbpieguy 2024-03-02 15:02:00 -06:00
Bruce Dubbs
e4bdd54756 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2024-03-02 09:16:55 -06:00
Bruce Dubbs
0566a056ba Package updates.
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.
2024-03-02 09:15:52 -06:00
Xi Ruoyao
0fd7f40bc7
kernel: No longer disable CONFIG_AUDIT for systemd
The incompatibilty between systemd and CONFIG_AUDIT has been fixed since
Linux kernel 3.14, thus there is no reason to disable it on LFS.  And we
are referring to pam_loginuid.so from /etc/pam.d in BLFS, which is
completely useless if CONFIG_AUDIT is disabled.

Link: https://github.com/systemd/systemd/commit/db999e0f923c
2024-03-02 17:38:57 +08:00
Xi Ruoyao
a56a4fcd9c
procps: Run chown -R tester . before running the test as tester
I completely forgot this yesterday :(.
2024-03-02 15:50:21 +08:00
Xi Ruoyao
2001f5cd7e
coreutils: Redirect stdin for test suite to prevent two failures
The tests affected are test-getlogin and test/tty/tty.sh.  We need an
errata for 12.1.
2024-03-02 00:03:28 +08:00
Xi Ruoyao
c2d820a770
procps: Run test as tester 2024-03-01 23:50:06 +08:00
Xi Ruoyao
887bf34f49
glibc: Make the command enumerating timed out tests remap="test"
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".
2024-03-01 23:44:17 +08:00
Bruce Dubbs
b570133fec Update changelog and whatsnew fo r12.1 2024-02-29 09:27:04 -06:00
Xi Ruoyao
d91a836a78
packages: Fix a typo
Reported-by: Vladimir Pertsev <info@linuxfromscratch.ru>
2024-02-28 19:05:35 +08:00
Bruce Dubbs
9575382489 Minor text changes 2024-02-27 12:29:43 -06:00
Bruce Dubbs
cf6fe33cee Fix some external URLs 2024-02-27 12:05:21 -06:00
Xi Ruoyao
23f436750e
procps: Add "-k" for make check and document two additional failures 2024-02-27 20:54:42 +08:00
Bruce Dubbs
283f7119a0
Typos
(cherry picked from commit a2808be815)
2024-02-27 20:48:45 +08:00
Bruce Dubbs
4e486a2efc
Typo
(cherry picked from commit 0c06e1e048)
2024-02-27 20:48:40 +08:00
Xi Ruoyao
74f9697fdd
changelog: Mark procps-4.0.4 as a security fix
It contains a fix for CVE-2023-4016, rated low and only affecting 32-bit
systems.
2024-02-27 17:47:50 +08:00
Xi Ruoyao
ed38e9d2cf
procps: Be more specific about the known ps test failure 2024-02-27 01:29:23 +08:00
Xi Ruoyao
64ef2e93db
coreutils: Comment out test-getlogin failure
It seems fixed by the upstream.  (Well, they'd claimed this "fixed" in
2014 but we were still seeing this failure in ten years.  However let me
trust the upstream once again...)

Link: https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00079.html
2024-02-27 00:42:31 +08:00
Xi Ruoyao
141a1fa181
vim: Minor decoration 2024-02-26 14:52:49 +08:00
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
Xi Ruoyao
ea93c117f2
treewide: Use <ulink> instead of <filename> for man pages
"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.
2024-01-26 01:59:06 +08:00
Xi Ruoyao
9ac6ff55fc
libtool: Add "or newer" after "grep-3.8"
We have grep-3.11 now.
2024-01-25 05:13:47 +08:00
Xi Ruoyao
0cca1d3831
dependencies: gettext may use system libxml2 2024-01-25 04:54:02 +08:00
Xi Ruoyao
0d76fa268d
chapter07/python: Update the note about optional modules
"Fatal error" is no longer outputted, but "Python requires OpenSSL
1.1.1 or newer" is bad as well because it's not really "required" (at
least in BLFS definition).
2024-01-24 23:40:27 +08:00
Pierre Labastie
c88ec71538 Put back punctuation inside quotes
Reverts part of 811d59db8b.
Looks like "American English prefers that periods and commas be
placed inside closing quotation marks," according to
https://en.wikipedia.org/wiki/American_English
2024-01-24 14:39:09 +01:00
Douglas R. Reno
214ea81811 Jinja2: update the home page in the All Packages section 2024-01-23 13:59:46 -06:00
Xi Ruoyao
5bef8f221a
ncurses: Remove libcursesw.so from short description
We no longer create this.
2024-01-23 05:29:05 +08:00
Xi Ruoyao
47bc996103
Makefile: Ensure wget-list and md5sums regenerated when patches.xml or packages.xml has changed 2024-01-22 03:21:08 +08:00
Xi Ruoyao
46b5c6b63b
gcc: Fix libcc1 description
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.
2024-01-22 03:21:08 +08:00
Xi Ruoyao
24d03240bf
kernel: Regenerate kernel config with 6.7.1
No content change!
2024-01-22 03:21:08 +08:00
Xi Ruoyao
75d26160ce
pkgconf: Update the fix for modversion regression (#5414) 2024-01-22 03:21:08 +08:00
Xi Ruoyao
3baf03a954
Package updates:
- 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)
2024-01-22 03:21:05 +08:00
Xi Ruoyao
0253841d0f
coreutils: Fix CVE-2024-0684 (#5417) 2024-01-22 00:47:22 +08:00
Xi Ruoyao
943f22504e
ncurses: Use symlinks instead of linker scripts
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.
2024-01-22 00:27:45 +08:00
Xi Ruoyao
d282f88dea
ncurses: Modify the header to always use the ABI of ncursesw
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.
2024-01-22 00:27:45 +08:00
Xi Ruoyao
619e4d956f
dependencies: Perl does not need groff for build
Some scripts in Perl mentions groff but they are not used building Perl.
And in the book groff is built after Perl anyway.
2024-01-20 03:05:14 +08:00
Xi Ruoyao
d11a0816d4
Some missed ISO-8859-1 -> UTF-8 changes 2024-01-20 02:07:45 +08:00
Xi Ruoyao
fd02389a51
git-version: Use "-wip" as the version suffix instead of "+" for changes not committed yet
It's not allowed to use "+" in id attributes etc.
2024-01-19 12:23:30 +08:00
Pierre Labastie
8f7d945a66 git-version.sh: revert inadvertent commit 2024-01-18 21:38:50 +01:00
Pierre Labastie
5e423c8031 Change all input encodings to UTF-8 2024-01-18 21:09:26 +01:00
Pierre Labastie
7152faa5fa Change all xml files to utf-8 encoding 2024-01-18 20:53:23 +01:00
Pierre Labastie
2a26a4f5df Remove all &#xxx; occurences
- replace some characters by their utf-8 encoded equivalent (and change
  encoding in the <?xml?> line
- replace &#xa; with a true newline char. This is somewhat more readable
  anyway.
2024-01-18 20:42:26 +01:00
Xi Ruoyao
9512d6c7ba
dejagnu: Move test before install
There seems no reason to test after install...  So just do it like other
packages.
2024-01-19 01:58:28 +08:00
Pierre Labastie
d6cbb12c4c stylesheets: rm code for xlink:href attr in xref elemts
We don't use it and it uses &#40; for opening parenthesis.
I am not sure whether this has some reason or not, but
we want to get reed of &#xx; chars in our change to utf-8,
so easier to remove than to find out why...
2024-01-18 13:11:58 +01:00
Xi Ruoyao
0cbc2c0a04
dependencies: Patch (optionally) uses attr
In chapter 6, patch configure outputs:

    libattr development library was not found or not usable.
    GNU patch will be built without xattr support.

While this is normal in chapter 6 (building a temporary patch), we
should mention this dependency in the dependencies page.
2024-01-18 18:28:27 +08:00
Pierre Labastie
9bbd87ae00 Add a doctype decl to lfs-l10n.xml, for validation
This allows using xmllint --valid on it.
2024-01-18 10:32:31 +01:00
Xi Ruoyao
3626aa3048
Use UTF-8 characters instead of &#...;
This is done via:

    find -name \*.xml -or -name \*.xsl | xargs python3 utf8ize.py

with https://linuxfromscratch.org/~xry111/utf8ize.py.
2024-01-18 15:03:54 +08:00
Pierre Labastie
270b1732aa Reference the docbook-xsl bug at the place we fix it 2024-01-17 14:52:54 +01:00
Pierre Labastie
91f4b2df57 SImplify Makefile now that we have fixed DB-xsl bug 2024-01-17 14:49:48 +01:00
Pierre Labastie
d5fda0bce5 Style sheets: fix docbook-xsl bug in autoidx
The template named generate-basic-index in
{docbook-xsl}/xhtml/autoidx.xsl has a bug that generates a div element
with a wrong xmlns:xlink attribute. See
https://github.com/docbook/xslt10-stylesheets/issues/239.
Rather than fixing docbook-xsl, which would work only in LFS (but we
want to be able to render on other distros), copy the faulty template
to our customization files (lfs-index.xsl), so that this one is used.
We can also simplify it a lot since we don't need all the cases
covered in general docbook-xsl.
2024-01-17 14:41:09 +01:00
Xi Ruoyao
8ba840f34a
Makefile: Unify two sed for removing bogus xmlns:xlink, and link to upstream bug report
Nasty bug :(.
2024-01-15 21:47:38 +08:00
Xi Ruoyao
56eed6c5da
systemd: Update the explanation to match the actual command 2024-01-15 12:36:47 +08:00
Xi Ruoyao
7f6519aad7
udev: Realign the export udev_helpers=... command 2024-01-15 12:30:03 +08:00
Pierre Labastie
b8194e059c make default BASEDIR in public_html
that is:
- ~/public_html/lfs-book for sysv
- ~/public_html/lfs-systemd for systemd
2024-01-14 22:44:14 +01:00
Pierre Labastie
0432a3a1a8 Generate utf-8 for lfs-nochunks too
This involves:
- removing the <xsl:output ...> element from nochunks.xsl
- adding a sed for rmoving the invalid xmlns:xlink attribute
- removing the sed for "&copy;"
2024-01-14 22:36:12 +01:00
Pierre Labastie
855d0c9574 Remove an invalid attribute in longindex.html
For some reason, the stylesheets generate a
<div xmlns:xlink="http://www.w3.org/1999/xlink" ...> element in
longindex.html, but this is not valid in xhtml (the attribute
xmlns=xlink is not defined in the DTD). The problem is that tidy then
thinks it is not a true xhtml and removes the doctype declaration.
But when a browser receives a file without doctype declaration, it
thinks it uses an old standard, and switches to "quirks mode"
(for firefox, this can be seen by typing ctrl-I on the page).
2024-01-14 22:27:37 +01:00
Pierre Labastie
ec18a3872a Makefile: Set tabs to 3 spaces when editing with vi
This allows all editors to have the same settings...
2024-01-14 22:25:07 +01:00
Xi Ruoyao
ce07f91d5e
udev: Drop duplicated udevadm in the ninja command 2024-01-14 17:39:22 +08:00
Pierre Labastie
811d59db8b Nitpick on format
- 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
2024-01-11 13:52:28 +01:00
Pierre Labastie
f1370e2fb9 Change C.UTF-8 localedef everywhere 2024-01-11 13:51:15 +01:00
Douglas R. Reno
fecc287280 Fix the definition of the C.UTF-8 locale.
This fixes a test failure in Epiphany.
2024-01-09 11:16:26 -06:00
Thomas Trepl
06e65e8e59 remap=make moves unset command to wrong pos 2024-01-07 11:15:05 +01:00
Xi Ruoyao
33c9cb06d7
systemd: Fix another deprecation warning
Not sure why I didn't catch it...
2024-01-06 11:26:22 +08:00
Xi Ruoyao
164e0ddbce
udev: Unset udev_helpers after installation
Now this variable is exported, thus it might potentially cause unwanted
side effects building other packages.  So unset it after installation.
2024-01-05 03:05:01 +08:00
Pierre Labastie
53ed17c752 export the udev_helpers variable
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)
2024-01-04 19:22:44 +01:00
Bruce Dubbs
acde0a383a Typo 2024-01-04 09:44:21 -06:00
Xi Ruoyao
6fec3f51e7
binutils: Add --enable-default-hash-style=gnu for configure (#5401) 2023-12-31 02:37:07 +08:00
Xi Ruoyao
8b4fb1245d
systemd: Fix CVE-2023-7008 (#5405) 2023-12-31 02:35:25 +08:00
Xi Ruoyao
d4ce302c0e
Package updates
- 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)
2023-12-31 02:00:59 +08:00
Xi Ruoyao
462ef6dfa4
gen-changelog: Handles holding tickets 2023-12-31 01:09:57 +08:00
Xi Ruoyao
95fc77277a
Remove stray references to TESTSUITEFLAGS
Now TESTSUITEFLAGS is set globally in Chapter 7.4, so there is no need
to mention it again and again in individual packages.
2023-12-23 21:18:07 +08:00
Xi Ruoyao
eea548fb62
symlinks: Fix grammar 2023-12-22 18:22:56 +08:00
Xi Ruoyao
3608380f22
symlinks: Mention how to disable NIC alternative names assignment
Fixes #5394.
2023-12-19 19:50:34 +08:00
Xi Ruoyao
7380559028
systemd: Disable systemd-sysupdate with a better way 2023-12-18 16:38:21 +08:00
Xi Ruoyao
9afac649f2
Update to systemd-255 2023-12-18 16:31:18 +08:00
Bruce Dubbs
81d572d25f Remove invalid revision attribute 2023-12-14 18:49:05 -06:00
Bruce Dubbs
04a7336f88 Package updates.
Update to util-linux v2.39.3.
Update to python3-3.12.1.
Update to linux-6.6.7.
Update to kbd-2.6.4.
Update to bc-6.7.4.
2023-12-14 16:47:50 -06:00
Bruce Dubbs
03682b250c Reformat util-linux configure parameters. 2023-12-14 14:16:13 -06:00
Xi Ruoyao
7cce808a46
kernel-config: The hot key for choices is just the first character
Stupid inconsistency...
2023-12-06 17:26:10 +08:00
Xi Ruoyao
31a9142d10
kernel-config: Sync fixes from BLFS 2023-12-06 01:32:48 +08:00
Xi Ruoyao
981b9fa6a1
kernel-config: Drop FB
In Linux 6.6 DRM_FBDEV_EMULATION no longer depends on FB, so we no
longer need to select FB (tested in a QEMU VM).

But if DRM is selected, we must select both DRM_FBDEV_EMULATION and
FRAMEBUFFER_CONSOLE or we'll see only blank screen.  And now
FRAMEBUFFER_CONSOLE is not selected by default, be warned!!
2023-12-05 14:58:29 +08:00
Xi Ruoyao
34774f4986
kernel-config: Regenerate with Linux 6.6.3
Only a trivial change (renaming CONFIG_FB).
2023-12-05 14:34:30 +08:00
Xi Ruoyao
622f56d917
util-linux: Add asciidoctor and po4a as dependencies
Asciidoctor is needed for regenerating man pages, and po4a is needed for
generating translated man pages in addition to asciidoctor.
2023-12-05 12:11:47 +08:00
Thomas Trepl
dc8572f241 Fix cmds installing python docs (permissions) 2023-12-04 19:15:01 +01:00
Xi Ruoyao
7fb4eb8668
dependencies: Remove outdated sentence
This sentence has been untrue since LFS 10.0.
2023-12-04 21:47:24 +08:00
Xi Ruoyao
642f779f64
gcc-pass2: Fix the indent of the sed command in case 2023-12-03 12:42:28 +08:00
Bruce Dubbs
aef269a32d Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-12-02 14:41:23 -06:00
Bruce Dubbs
a851a78ded Formatting 2023-12-02 14:41:09 -06:00
Xi Ruoyao
823fbde93f
udev: Adjust the paths to search .link files and install 99-default.link
Tested in QEMU and the virtio NIC is now named "enp0s3".

Fixes #5386.
2023-12-01 18:29:03 +08:00
Xi Ruoyao
4ca831a42f
Use GitHub for vim download
I don't see a reason to upload vim tarball onto anduin.  And now anduin
does not have vim-9.0.2136.tar.gz.

I tried downloading vim-8.0.0586 (shipped by LFS 8.2) from GitHub and it
worked fine.  So it seems the GitHub storage is stable enough.
2023-12-01 16:39:58 +08:00
Bruce Dubbs
15f7b58b4c Package updates.
Update to vim-9.0.2136.
Update to iana-etc-20231117.
Update to bc-6.7.3.
Update to wheel-0.42.0 (Python Module).
Update to perl-5.38.2.
Update to pkgconf-2.1.0.
Update to readline patches 002 through 007.
Update to openssl-3.2.0.
Update to setuptools-69.0.2.
Update to linux-6.6.3.
Update to meson-1.3.0.
2023-11-30 13:00:51 -06:00
Xi Ruoyao
2f82ad1e16
dependencies: Replace the references to BLFS Berkeley DB page
Berkeley DB has been archived in BLFS, refer to the Oracle product page
for it instead.
2023-11-26 21:09:30 +08:00
Xi Ruoyao
1dbc435c82
iproute2: Remove the reference to BLFS Berkeley DB page
Berkeley DB has been archived in BLFS.
2023-11-26 21:02:59 +08:00
Douglas R. Reno
a19dadfd2f dbus: minor spacing adjustment 2023-11-24 18:39:41 -06:00
Xi Ruoyao
8e85548954
whatsnew: Use the <title> of the page for packages as package names
This is more consistent, and it reduces the number of different
translatable strings for translators.  Most of the package names in
whatsnew has already been aligned with <title>s, now make these two
"from ..." packages so.
2023-11-24 11:54:35 +08:00
Pierre Labastie
1fdbce2c4e Generate utf-8 encoded html
This removes several problems with wrong encodings...
The sed for &copy; is not needed anymore
tidy.conf has to be changed to remove specification of latin1 as
input and output encodings.
2023-11-23 20:59:52 +01:00
Douglas R. Reno
5e8bab73a1 Chapter 6 Ncurses: minor text tweaks 2023-11-22 19:18:51 -06:00
Douglas R. Reno
655450075c Setting Environment: minor tweak 2023-11-22 16:08:30 -06:00
Xi Ruoyao
01247ac90a
kernfs: Revise command creating the link target in case /dev/shm is a symlink
When /dev/shm is a symlink we need to create its target or some tests
will fail and Python 3 will be misconfigured.  We wrote it as:

    mkdir -pv $LFS/$(readlink $LFS/dev/shm)

But if $LFS/dev/shm is a relative symlink (say ../run/shm), we end up:

    mkdir -pv /mnt/lfs/../run/shm

This command will create /mnt/run/shm, not $LFS/mnt/shm as we expected.
Twist it a little to make it work for both absolute symlinks and
relative symlinks.
2023-11-20 07:23:36 +08:00
Douglas R. Reno
f16cc36c29 Typo fix 2023-11-15 15:25:51 -06:00
Xi Ruoyao
e3ae067502
whatsnew: Uncomment updated packages 2023-11-14 03:05:23 +08:00
Xi Ruoyao
4bc51b9067
udev: Fix install command for ../rules.d/*.rules
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.
2023-11-14 02:35:51 +08:00
Bruce Dubbs
798e18b09f
Minor grammar corrections.
Mistakenly removed the remote WIP branch while it's not fully merged
yet.  Cherry-pick the discarded commit.

(cherry picked from commit 2f3f0e9e813f60a88e9f557842a7b9a50cdec50b)
2023-11-14 00:31:08 +08:00
Xi Ruoyao
7a72a22f9b
Merge tag 'xry111/update-20231113' into trunk
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.
2023-11-14 00:27:17 +08:00
Thomas Trepl
1780e72d8d udev: Fix a small typo in command 2023-11-13 16:24:47 +01:00
Xi Ruoyao
e07c419469
Package updates
- Update to elfutils-0.190 (#5373)
- Update to vim-9.0.2103
- Update to linux-6.6.1 (#5369)
- Update to xz-5.4.5 (#5371)
- Update to iana-etc-20231107
- Update to gawk-5.3.0 (#5372)
- Update to bash-5.2.21 (#5375)
- Update to iproute2-6.6.0 (#5374)
2023-11-13 21:32:40 +08:00
Xi Ruoyao
d490056b64
perl: Use TEST_JOBS=$(nproc) make test_harness for test suite 2023-11-13 21:16:58 +08:00
Xi Ruoyao
3a8d1825cc
openssl: Add HARNESS_JOBS=$(nproc) 2023-11-13 21:16:58 +08:00
Xi Ruoyao
c17a77452a
automake: Do not use only 4 cores for testing if we have more 2023-11-13 21:16:48 +08:00
Xi Ruoyao
95ebbb42b7
chroot: Set MAKEFLAGS and TESTSUITEFLAGS for parallelism 2023-11-13 21:14:19 +08:00
Xi Ruoyao
a0a803c0b0
settingenviron: Set MAKEFLAGS for parallelism in ~lfs/.bashrc 2023-11-13 21:09:47 +08:00
Xi Ruoyao
e70bf8f4f4
hostreqs: Bump Coreutils minimal version to 8.1 and check for nproc
We'll use nproc for setting MAKEFLAGS and TESTSUITEFLAGS.  And if nproc
is not available, we'll end up with "MAKEFLAGS=-j" which is very
dangerous because it allows make to spawn infinite number of jobs.
Check it early.

The nproc program is added in Coreutils 8.1 so we need to bump the
minimal version.
2023-11-13 21:00:03 +08:00
Xi Ruoyao
5196daeb4e
udev: Adjust some command
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.
2023-11-13 19:35:01 +08:00
Xi Ruoyao
f6bf77de74
udev: Remove four udev rules belonging to logind
They are not really useful without logind.  BLFS elogind package will
provide them too, so we should remove them and avoid a package manager
conflict.
2023-11-11 18:07:05 +08:00
Xi Ruoyao
d11686c6f0
pkgmgt: Update the desc for "separate directories"
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.
2023-11-08 17:30:59 +08:00
Xi Ruoyao
93311f4abb
gawk: "rm -f ..." is a command, not an envar 2023-11-03 14:38:55 +08:00
Xi Ruoyao
5f8327e633
gawk: Fix "gawk-&gawk-version; is a remnant from Chapter 7" again
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
2023-11-03 14:35:09 +08:00
Bruce Dubbs
80321c6881 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-11-01 11:10:59 -05:00
Bruce Dubbs
6b1661a637 Update currency for setuptools 2023-11-01 11:10:45 -05:00
Xi Ruoyao
23d67d844b
python: Remove --with-system-ffi
This option is removed by upstream in 3.12.

Link: https://github.com/python/cpython/pull/100544
2023-11-01 21:34:44 +08:00
Xi Ruoyao
c62883bd83
dependencies: Remove useless <phrase> 2023-11-01 17:30:18 +08:00
Xi Ruoyao
fe2791d419
dependencies: Add Setuptools
By the way, complete the dependencies on Wheel too.
2023-11-01 16:33:36 +08:00
Xi Ruoyao
8223937f4c
setuptools: Fix installed directory list 2023-11-01 16:18:43 +08:00
Bruce Dubbs
72d1cda897 Update shadow home page 2023-10-31 18:49:43 -05:00
Bruce Dubbs
a5de784d14 PAckage updates.
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.
2023-10-31 14:10:03 -05:00
Xi Ruoyao
7f36b16e72
pkgmgt: Sync the naming of SpiderMonkey with BLFS 2023-10-24 21:10:18 +08:00
Pierre Labastie
6f090ad2b7 pdf book: fix page numbering in part III
By default page numbering in <preface> is in roman numeral. This
is ok for the book preface, but not for the part III preface.
So copy the page.number.format template from docbook stylesheets
to stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl, and modify it.

Reported by: Vladimir Pertsev on lfs-dev list
2023-10-18 23:54:57 +02:00
Bruce Dubbs
2c3487d37d PAckage updates.
Update to linux-6.5.7.
Update to shadow-4.14.1.
Update to gettext-0.22.3.
2023-10-15 13:54:19 -05:00
Xi Ruoyao
91c6e9b2fb
dependencies: MarkupSafe and Jinja2 dependencies should be rendered for sysv too 2023-10-11 19:15:07 +08:00
Xi Ruoyao
c39bfe9b33
currency: Do not run strip_tags on api.github.com output
The output of api.github.com is JSON, thus we should not remove every
<...> for it.  For example, strip_tags had trimmed the JSON for
shadow-4.14.1, leading to "Attempt to read property "tag_name" on null".
2023-10-08 16:04:48 +08:00
Xi Ruoyao
d42ea8f08d
packages: Remove empty sha256 fields 2023-10-07 18:48:41 +08:00
Xi Ruoyao
02837798da
man-db: Remove outdated test failure notice 2023-10-05 16:00:48 +08:00
Xi Ruoyao
4d634048a1
pkgmgt: Reinstall the same version of Glibc should be safe 2023-10-05 14:34:07 +08:00
Pierre Labastie
623081aa93 bootscripts: change "halt stop" to "halt start"
Commit 27d23b1d has changed the convention that scripts with Sxxx
symlinks should be run with "stop" parameter in runlevels 0 and 6.
They should now be called with the more intuitive "start" parameter.
But a few scripts still call "/etc/init.d/halt stop". Fortunately, this
occurs in code paths that are rarely run (unrecoverable errors). So it
was not noticed until now. Anyway, this is fixed in this commit.
2023-10-04 15:52:42 +02:00
Xi Ruoyao
363fece428
glibc: Fix CVE-2023-4911 2023-10-04 13:39:03 +08:00
Xi Ruoyao
0d8322dbe6
createfiles: Remove doubled punctuation 2023-10-02 11:44:21 +08:00
Xi Ruoyao
370b0f548d
whatsnew: Align OpenSSL package name with the <title> in its page 2023-10-02 11:36:12 +08:00
Xi Ruoyao
09d148dc28
glibc: Remove nscd from contents 2023-10-02 11:32:45 +08:00
Bruce Dubbs
25b3c0f720 Package updates and one fix.
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.
2023-10-01 13:37:57 -05:00
Xi Ruoyao
c7cd2c71e7
shadow: Remove lastlog from contents
It's deprecated because of Y2038 issue and no longer being built by
default.
2023-09-30 16:14:17 +08:00
Xi Ruoyao
6e11fe2728
createfiles: Add Y2038 info about the traditional {b,u,w}tmp and lastlog files
And utmp does not exist on systemd-based LFS.
2023-09-30 16:12:56 +08:00
Thomas Trepl
3cd2eae9eb Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-09-25 14:47:48 +02:00
Thomas Trepl
96f7f5ed58 Remove textual description of an arg no loger in instructions 2023-09-25 14:46:25 +02:00
Xi Ruoyao
c873f0a1b3
changelog: Fix a date 2023-09-25 14:12:54 +08:00
Xi Ruoyao
cb89eec135
glibc: Update upstream fixes patch to plug a memory leak
The CVE-2023-4806 fix unintentionally caused a memory leak, now update
the patch to include the fix for the leak.
2023-09-25 14:10:12 +08:00
Xi Ruoyao
d48812dca9
afterlfs: "Work remotely via SSH" does not strictly need wget 2023-09-24 20:07:32 +08:00
Xi Ruoyao
f510f26b2d
/etc/os-release: Add HOME_URL field
It's used by AppStream in BLFS for calculating the ID of the operating
system.
2023-09-19 03:56:33 +08:00
Bruce Dubbs
01332d3b2a Use GB for kernel build size 2023-09-18 10:58:00 -05:00
Xi Ruoyao
67ad464981
Update Linux kernel SBU and DU
The old values were measured with -j1, it's out of sync with our
conventions now.
2023-09-18 20:39:03 +08:00
Xi Ruoyao
490a50a520
Package updates
- Update to linux-6.5.3 (#5343)
- Update to iana-etc-20230912 (#5006)
- Update to iproute2-6.5.0 (#5342)
2023-09-17 23:45:09 +08:00
Xi Ruoyao
808bc9406b
hostreqs: Raise GCC minimal version to 5.2
Pass 1 GCC FTBFS with system GCC 5.1.

Link: https://gcc.gnu.org/PR65801
Link: https://lists.linuxfromscratch.org/sympa/arc/lfs-support/2023-09/msg00005.html
2023-09-17 19:54:22 +08:00
Xi Ruoyao
d269e20dcb
chapter05/libstdc++: Remove one more .la file 2023-09-15 19:27:41 +08:00
Xi Ruoyao
ba40e32566
systemd: Use NSS modules provided by systemd in nsswitch.conf
It allows a simplification to /etc/hosts.  Also correct some info about
FQDN in both sysv and systemd.
2023-09-14 16:50:37 +08:00
Xi Ruoyao
efd11134bb
Glibc: Fix CVE-2023-4806 2023-09-14 14:32:37 +08:00
Xi Ruoyao
b91b12adf3
git-version: Always skip creating version.ent if LFS-RELEASE exists 2023-09-13 16:08:06 +08:00
Xi Ruoyao
80da60f0c0
stripping: Compress the kept debug info with Zlib 2023-09-13 15:39:25 +08:00
Xi Ruoyao
48d8f5a51d
glibc: Fix CVE-2023-4527 2023-09-13 14:32:19 +08:00
Xi Ruoyao
c858ba4e17
build: Add "make dist"
For creating a tarball without .git directory easier.  The tarball will
include version.ent and LFS-RELEASE files so the book rendered from it
won't show "unknown" for all dates.
2023-09-13 14:10:38 +08:00
Xi Ruoyao
a9dc9724ae
git-version: Make shebang #!/bin/bash
There is some bash-ism in the script.
2023-09-13 14:02:32 +08:00
Pierre Labastie
e0a942748e Make /dev/shm mount and umount verbose
Almost all commands in lfs are verbose. Don't know why these ones
were not.
2023-09-12 19:02:18 +02:00
Thomas Trepl
c5fe6ee346 Do not retrieve yr from sysdate 2023-09-11 13:18:30 +02:00
Thomas Trepl
0627fc2281 Fix hardcoded copyright year 2023-09-11 11:26:10 +02:00
Xi Ruoyao
cb6fcea9bf
binutils-pass2: Minor reword 2023-09-10 15:25:04 +08:00
Xi Ruoyao
ab31b973c8
chapter08: Make Installed "program(s)/library(ies)/directory(ies)" consistently lowercase 2023-09-09 14:51:24 +08:00
Xi Ruoyao
6c51e5ce7b
perl: Move some explanations from Chapter 8 to Chapter 7
Explain switches once they show up first time.
2023-09-09 14:46:02 +08:00
Douglas R. Reno
1f20176cfb util-linux: minor grammar reword 2023-09-09 01:08:20 -05:00
Xi Ruoyao
c7df34cbc5
mpfr: 4.2.1 has 198 tests 2023-09-09 03:15:32 +08:00
Xi Ruoyao
9f9a9b4950
binutils-pass2: Reword the paragraph about libtool workaround
Well, I was blaming libtool too much.  If the entire Binutils tree uses
libtool this won't happen.  The problem is Binutils building system is
using libtool-style idiom on non-libtool components.

And this issue is not related to cross compiling, at all.  A native
build can exploit the issue as well (see the updated comment).

Maybe I'll submit a patch to GCC (yes, not a typo, GCC is the upstream
of Binutils building system) to fix the issue when I have the mood...
2023-09-08 21:49:06 +08:00
Xi Ruoyao
aa5fa04a5a
coreutils: Drop gl_cv_macro_MB_CUR_MAX_good override
It's not needed anymore with 9.4.
2023-09-08 17:10:14 +08:00
Xi Ruoyao
ae802cf97d
whatsnew: Align package names with <title>s in package pages
It makes the package names more consistent, and it reduces the number of
different msgid's for translators.

By the way, move Udev to keep alphabetic order.
2023-09-08 16:13:37 +08:00
Xi Ruoyao
93f077212e
packages: Add kmod home page 2023-09-08 15:52:08 +08:00
Xi Ruoyao
6ad40199fc
Add some missed whatsnew and changelog entries 2023-09-07 20:01:00 +08:00
Xi Ruoyao
7de7690181
pkgconf: Hotfix for a regression breaking BLFS packages
Link: https://github.com/pkgconf/pkgconf/issues/317
2023-09-07 19:57:19 +08:00
Xi Ruoyao
26d11785ec
changelog: Fix typo 2023-09-06 15:55:07 +08:00
Xi Ruoyao
313a035b10
dependencies: Zstd should be in binutils-rundeps too 2023-09-06 12:05:04 +08:00
Xi Ruoyao
e8f0a1b1da
util-linux: Use 2^128 instead of "340 trillion trillion trillion" 2023-09-05 18:52:14 +08:00
Xi Ruoyao
5f36bceaa9
Package updates
- Update to linux-6.5.1 (#5332)
- Update to pkgconf-2.0.3 (#5339)
- Update to dbus-1.14.10 (#5337)
2023-09-05 18:20:24 +08:00
Xi Ruoyao
b1b9182671
chapter08: Move pkgconf before binutils
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.
2023-09-05 18:19:55 +08:00
Bruce Dubbs
1ec60f1daf Move a caution to a better page.
Move caution regarding building by mixing
different versions of LFS to General Compilation Instructions.
2023-09-04 15:08:43 -05:00
Xi Ruoyao
26c031abf9
dependencies: Add patchutils as check optional dependency
The configure script says:

    configure: WARNING: filterdiff not installed; build will not be
    reproducible.

The filterdiff program is a part of patchutils.
2023-09-04 17:49:55 +08:00
Xi Ruoyao
ffecb9ef81
systemd: Slightly adjust the desc for -Dnobody-group 2023-09-03 03:40:13 +08:00
Xi Ruoyao
62a4fea4be
currency: Remove stale lfs-latest.php and symlink lfs-latest-git.php to it
It just does not make sense to keep a completely useless script here...
2023-09-03 03:30:43 +08:00
Xi Ruoyao
815b4a786d
zlib: Switch to https://zlib.net/fossils
See added comment for rationale.

I've "diff -Naur"ed extracted zlib-1.3.tar.xz and zlib-1.3.tar.gz and
there is no difference.
2023-09-03 03:25:07 +08:00
Pierre Labastie
1a77fa6edd Fix zlib download url
We may want to use either archive or github. But right now, use
directly zlib.net...
2023-09-02 19:33:50 +02:00
Xi Ruoyao
eae99efe05
changelog: Fix vim version string 2023-09-03 00:49:07 +08:00
Xi Ruoyao
1b807632f6
Add --no-cache-dir into pip3 wheel commands for Python modules 2023-09-03 00:48:20 +08:00
Bruce Dubbs
3864d235cf Package updates and misc upates/typos.
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.$
2023-09-02 08:54:55 -05:00
Xi Ruoyao
fd409751bf
Revert "openssl: Add a warning about minor version bump and OpenSSH"
This reverts commit ad09ba40a1.
This reverts commit bbaf00d415.

No longer needed with OpenSSH-9.4 or later.
2023-09-02 17:23:57 +08:00
Xi Ruoyao
1ebfa8e664
pdf: Allow breaking pages in version-check and kernel configuration
They are very long <screen> or <note>.  By default they are attributed
"keep-together.within-column = always", override it to allow line break.

Fixes #5336.

Link: http://www.sagehill.net/docbookxsl/PageBreaking.html
2023-09-02 14:17:17 +08:00
Xi Ruoyao
3182685f70
dependencies: Fix stupid typo in BLFS elogind page URL
:(
2023-09-02 04:04:35 +08:00
Bruce Dubbs
00d534c269 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-09-01 12:51:03 -05:00
Bruce Dubbs
c9167804f9 Cleanup after 12.0 release 2023-09-01 12:47:49 -05:00
Xi Ruoyao
5561764f6f
whatsnew: The coming release is 12.0, not 11.4 2023-09-01 18:33:42 +08:00
Xi Ruoyao
d2c6441ff6
dependencies: sync Systemd external dependency list from BLFS 2023-08-31 18:08:17 +08:00
Xi Ruoyao
4d22dd6063
dependencies: Coreutils needs Autoconf and Automake
The autoreconf command is from Autoconf, and "autoconf -fi" invokes
automake.
2023-08-31 13:57:00 +08:00
Xi Ruoyao
4b1b79442c
hostreqs: Raise texinfo minimal version to 5.0
Binutils-2.41 FTBFS with texinfo-4.x.  I've tested 5.0 and it works.

Link: https://sourceware.org/bugzilla/show_bug.cgi?id=30703
2023-08-30 00:32:30 +08:00
Xi Ruoyao
22c36bb8e4
tar: The problematic test can also be skipped if security labels disabled
For example, if CONFIG_EXT4_FS_SECURITY (Ext4 Security Labels) not set
and we are building on an ext4 file system, the test will be skipeed.
2023-08-28 17:01:02 +08:00
Xi Ruoyao
e5455293e3
tar: Mention TESTSUITEFLAGS for testing 2023-08-28 17:01:02 +08:00
Xi Ruoyao
d78b550655
gmp: On some CPUs more than 199 test can pass 2023-08-27 20:23:53 +08:00
Bruce Dubbs
3f56392254 Fix zlib currency 2023-08-27 02:17:17 -05:00
Xi Ruoyao
11cfb5bc71
changelog: Add ticket number for linux-6.4.12 update 2023-08-27 00:05:32 +08:00
Thomas Trepl
909f28430a Typo 2023-08-26 09:52:47 +02:00
Bruce Dubbs
c179964257 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-08-25 11:46:41 -05:00
Bruce Dubbs
1e9ad78f81 Update to linux-6.4.12. 2023-08-25 11:46:27 -05:00
Douglas R. Reno
0f5e0b42ae Move the zlib URL to anduin 2023-08-23 19:58:53 -05:00
Pierre Labastie
b55a1a2614 libxcrypt: typo and misplaced "nodump" 2023-08-21 15:13:37 +02:00
Xi Ruoyao
b59c9e9155
grub configuration: The instructions should be skipped for UEFI, but the text not 2023-08-21 11:12:09 +08:00
Bruce Dubbs
7641231777 Update to udev-lfs-20230818 2023-08-18 10:35:49 -05:00
Xi Ruoyao
cfcc2fe6cd
gcc: Fix a grammar error in text 2023-08-16 12:26:14 +08:00
Bruce Dubbs
58fc92b47e Typo 2023-08-15 22:06:36 -05:00
Bruce Dubbs
d280997ec6 Typo 2023-08-15 15:55:29 -05:00
Douglas R. Reno
b24fbe02b8 Update stats for systemd/dbus
Test results for dbus were clean
2023-08-14 19:45:49 -05:00
Douglas R. Reno
8694ae60e7 Various changes to whatsnew.xml and changelog.xml
Changelog.xml: Remove additional revision='sysv's for some of the udev
changes

Changelog.xml: Make the previous eudev update SysV only

Changelog.xml: Remove duplicate 'xz' entry and replace it with the glibc
memalign patch entry

Whatsnew.xml: Document changes to gawk, tzdata, and texinfo

Whatsnew.xml: Add the glibc patch to the new list
2023-08-14 14:34:24 -05:00
Douglas R. Reno
355efd11a8 glibc: minor typo fix 2023-08-14 14:12:26 -05:00
Bruce Dubbs
bd93ae129e Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-08-14 13:53:30 -05:00
Bruce Dubbs
f7d3b6ed21 Package updates.
Update to xz-5.4.4.
Update to less-643.
Update to meson-1.2.1.
Update to linux-6.4.10.
Update to iana-etc-20230810.
Update to pkgconf-2.0.1.

All build times and sizes were also checked and updated as needed.
2023-08-14 13:47:25 -05:00
Xi Ruoyao
93ec8b32bf
grub cfg: Add an explanation for the insmod commands 2023-08-14 09:16:49 +08:00
Xi Ruoyao
f0b518a01e
binutils: Remove libgprofng.a, add libgprofng.so into contents section 2023-08-10 13:45:01 +08:00
Xi Ruoyao
30e0a7b28f
gawk: Move the creation of awk.1 after the explanation of the previous command 2023-08-09 22:39:53 +08:00
Xi Ruoyao
7c306241b6
coreutils: Use groupadd/groupdel for creating/removing dummy group
They look better than "echo >>" and "sed -i".  And I think an example
showing how to use groupadd/groupdel is good anyway.  The format of
/etc/group is already shown in chapter 7.
2023-08-09 22:30:52 +08:00
Xi Ruoyao
91f9a174b5
ncurses: Simplify documentation install command 2023-08-09 12:37:52 +08:00
Bruce Dubbs
539f0110b0 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-08-08 16:07:30 -05:00
Bruce Dubbs
45f40e899b Fix sed in pkgconf 2023-08-08 16:07:19 -05:00
Xi Ruoyao
9cca53dcac
kernel: Fix move-if-changed logic and regenerate with 6.4.8 2023-08-08 11:12:36 +08:00
Xi Ruoyao
f4835ed6ad
pkgconf: Reword the reason of sed
Specifying --modversion with multiple packages just does not make sense.
The real problem here is it's erroring out even if the multiple
arguments are for the same package.
2023-08-08 08:35:21 +08:00
Xi Ruoyao
70b20e7c25
changelog: Use a dash before pkgconf version number
To be consistent will all other entries.
2023-08-08 08:31:33 +08:00
Xi Ruoyao
8002bc91b4
whatsnew: Change "pkgconf" to "Pkgconf" and comment it out for now from Updated
In 12.0, pkgconf is a new package so it should be considered "Added"
since 11.3, and it's already in the Added section.

Also make the first letter captialized to be consistent with other
entries.
2023-08-08 08:29:28 +08:00
Bruce Dubbs
fdf01d1943 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-08-07 15:47:37 -05:00
Bruce Dubbs
9b7d651a54 Package updates.
Update to xz-5.4.4.
Update to wheel-0.41.1 (Python Module).
Update to man-pages-6.05.01.
Update to linux-6.4.8.
Update to iana-etc-20230804.
Update to pkgconf 2.0.0.
2023-08-07 15:46:36 -05:00
Xi Ruoyao
4374af9071
dbus: Fix a typo (misusing plural) 2023-08-07 23:00:42 +08:00
Bruce Dubbs
67ca5ef3f7 Add insmod part_gpt to example grub.cfg 2023-08-03 13:13:16 -05:00
Anton Mosich
2d6ced8aec
Fix small typos 2023-08-03 22:55:17 +08:00
Thomas Trepl
9a963c5285 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-08-03 12:28:30 +02:00
Thomas Trepl
2ce66c4197 Remove shasum (automake is the only one pkg were a sha sum is presented). Remove it for consistency 2023-08-03 12:27:16 +02:00
Xi Ruoyao
308ec7a37f
dbus: Add --enable-user-session like BLFS
This will install dbus.service and dbus.socket into
/usr/lib/systemd/user.  In a base LFS installation the systemd per-user
daemon is not usable at all, so they may seem useless.  But if we
install them, we can start to use them once systemd is rebuilt with PAM
in BLFS (without rebuilding dbus).
2023-08-03 15:07:06 +08:00
Xi Ruoyao
264a80d60f
udev: Use --no-same-owner for man pages, like systemd
By the way, fix a minor formatting issue in udev-hwdb.8.
2023-08-03 10:10:11 +08:00
Xi Ruoyao
c7c6c1548a
kernel: systemd: FW_LOADER_USER_HELPER should be n, not y 2023-08-02 19:06:09 +08:00
Xi Ruoyao
e65bfc4f69
procps: The "free with commit" test failure is fixed now
Link: https://gitlab.com/procps-ng/procps/-/commit/414e33a8afb6
2023-08-02 18:54:42 +08:00
Xi Ruoyao
f40b2e7be5
gcc: Document new test failures with Glibc-2.38
Well, the analyzer failures are introduced by literally *my* Glibc
change [1] and I'll sort them out for GCC 14...

And the ASAN failures seem caused by the introduction of
__isoc23_strtol (the libsanitizer does not know to intercept it).  I'll
test with LLVM once I reach it in BLFS (LLVM is the upstream of
libsanitizer) and make a bug report.

limits-exprparen.c also fails to me, it needs "ulimit -s 65536" instead
of "ulimit -s 32768" in my build but maybe it's caused by my custom
*FLAGS.

[1]:https://sourceware.org/git/?p=glibc.git;a=commit;h=71d9e0fe766a
2023-08-02 14:05:51 +08:00
Xi Ruoyao
7a8fcc3918
glibc: Remove sed and option unneeded with 2.38
--disable-crypt is now the default, and the security fix for 2.37 is
included.
2023-08-02 10:54:44 +08:00
Xi Ruoyao
8ada78d73e
binutils: gprofng man pages are OK now 2023-08-02 10:38:14 +08:00
Bruce Dubbs
be5b2e03fc Package updates:
Update to vim-9.0.1677.
Update to openssl-3.1.2.
Update to man-pages-6.05.
Update to binutils-2.41.
Update to gmp-6.3.0.
Update to glibc-2.38.
2023-08-01 13:52:22 -05:00
Xi Ruoyao
3d99820133
kernel: Fix a typo 2023-08-01 09:20:08 +08:00
Xi Ruoyao
57499d5909
kernel: Separate toplevel menus in rendering 2023-08-01 09:17:05 +08:00
Xi Ruoyao
70bf5512d9
kernel: Use new kernel configuration rendering method
Import kernel-config infrastructure from BLFS and use it for kernel
configuration.  Note that kernel-config.py is slightly different from
BLFS: we need role="nodump" for <screen> here.
2023-08-01 00:08:56 +08:00
Bruce Dubbs
2cf01ab702 Add some color to kernel options 2023-07-31 01:09:24 -05:00
Bruce Dubbs
72636463a2 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-07-28 23:19:59 -05:00
Bruce Dubbs
83e616f79e Reformat kernel configuuration options.
A couple of the newer kernel options overflow past 80 columns on
the kernel page.  It's not optimal, but insert newlines for these
options.

Also reorder the options to to same ordeer as they appear in
menuconfig and add some blank lines between major setions for
clarity.
2023-07-28 23:14:10 -05:00
Xi Ruoyao
c2ccad14a5
systemd: Add two new symlinks into contents 2023-07-29 10:19:04 +08:00
Xi Ruoyao
bec5f879a3
changelog: Prefix new "systemd" entry with "udev from" for sysv 2023-07-29 09:59:44 +08:00
Xi Ruoyao
57f16783ed
systemd: Add --no-same-owner for man page extraction
Well, I forgot to create the man pages tarball as root, so if we don't
use --no-same-owner the man pages will be owned by UID 1000 :(.

Instead of regenerating the tarball again let's just fix this in the
book.
2023-07-29 09:56:55 +08:00
Xi Ruoyao
7dcd8c782b
systemd: Remove sed unneeded with 254 2023-07-29 09:51:28 +08:00
Bruce Dubbs
6de383a262 Package updates.
Update udev-lfs tarball to remove obsolete
       cdrom rules and references to ISDN devices.
Update to wheel-0.41.0 (Python Module).
Update to tar-1.35.
Update to systemd-254.
Update to meson-1.2.0.
Update to linux-6.4.7.
Update to gcc-13.2.0.
Update to file-5.45.
2023-07-28 19:23:11 -05:00
Xi Ruoyao
ac90ea8104
package choices: Fix a typo
Reported-by: rhubarbpieguy <rhubarbpieguy@vivaldi.net>
2023-07-28 20:01:29 +08:00
Xi Ruoyao
44674e4c92
sysv: Mount cgroup fs for memory pressure information early
Prepare for systemd-254 update.  See #5293 for details.
2023-07-28 19:59:01 +08:00
Xi Ruoyao
d0de26cbe0
gmp: (Optionally) use --host=none-linux-gnu for generic library
This is suggested by GCC maintainer Andrew Pinski in
https://gcc.gnu.org/PR110789.  It's easier than what we've suggested
in the book.
2023-07-27 13:12:50 +08:00
Xi Ruoyao
49d402ee78
askforhelp: Reword the note added in previous commit a little 2023-07-27 10:04:38 +08:00
Xi Ruoyao
b15bebf96f
askforhelp: Add a note to stop people from spamming upstream
I've seen two cases of invalid upstream "bug" reports this month because
the user has (mis)built LFS.  Let's stop this before irritating the
upstream maintainers.
2023-07-27 09:43:57 +08:00
Xi Ruoyao
fb3b88e8f2
binutils-pass2: Remove libsframe.{a,la} like other libs 2023-07-25 12:33:32 +08:00
Xi Ruoyao
91aeb6f36d
whatsnew: Add revision attribute for "Removed" entries 2023-07-23 09:52:50 +08:00
Xi Ruoyao
e5c08bfbf4
changelog: Fix rendering with REV=systemd
Empty <itemizedlist> is not allowed.
2023-07-23 00:20:13 +08:00
Xi Ruoyao
e641f736d7
Update to lfs-bootscripts-20230722 2023-07-22 23:52:57 +08:00
Xi Ruoyao
da0d47999c
bootscripts: Add missed Change Log entry and version bump for udev 2023-07-22 23:44:10 +08:00
Xi Ruoyao
8435a70be4
bootscripts: mountvirtfs: Create essential symlinks in /dev targeting /proc
These were handled by Eudev, but systemd-udevd stopped to creating them
since 2020.
2023-07-22 23:40:32 +08:00
Xi Ruoyao
0d824c5280
kernel: Simplify doc installation 2023-07-22 18:36:33 +08:00
Xi Ruoyao
e9619f650f
Partially revert "man-db: Update known test failures, again"
This partially reverts commit 1053282e5f.

There is actually only one test suite in LFS build even with -k, but on
my complete system there are many test failures with "-k".  I guess some
tests depend on non-LFS packages.

The text change is reverted, but the command change is preserved as
generally we should use -k for any make check command known to fail.
2023-07-21 21:10:47 +08:00
Xi Ruoyao
ca0bd6d56c
rationale: Move Udev entry for lexicographical sorting
Wrap long lines by the way.
2023-07-20 01:14:20 +08:00
Xi Ruoyao
66fbe7b805
meson and ninja: Kill false tips 2023-07-20 01:09:30 +08:00
Xi Ruoyao
b5acea48a7
man-pages: Remove pages conflicting with libxcrypt 2023-07-18 17:47:26 +08:00
Xi Ruoyao
772fb71015
currency: Remove eudev 2023-07-18 13:07:31 +08:00
Xi Ruoyao
b177415824
Remove references to eudev 2023-07-18 13:07:01 +08:00
Xi Ruoyao
5b3594b13e
changelog: Eudev -> systemd-udev change is sysv-only 2023-07-18 13:04:13 +08:00
Xi Ruoyao
2cbb6135ed
Merge branch 'xry111/systemd-udevd-for-sysv' into trunk 2023-07-17 11:55:43 +08:00
Xi Ruoyao
51c7e709c0
udev: Update SBU and DU 2023-07-17 11:53:12 +08:00
Xi Ruoyao
f24a041cd4
udev: Remove two udev rules requiring a full systemd installation
Or they'll produce some error messages saying "cannot execute
systemd-sysctl or systemd-vconsole-setup".
2023-07-17 10:14:18 +08:00
Xi Ruoyao
870d24c5cb
bootscripts: udev: Set SYSTEMD_LOG_TARGET=kmsg for udevd
This makes udevd send log entries to kmsg buffer and sysklogd will
pick them up.

Ideally we should use "syslog" here, but at the time udevd starts,
sysklogd has not started yet and /dev/log does not exist.  So udevd
cannot open /dev/log and it will still use stderr as a fallback.  We
cannot make udevd depending on sysklogd either, because it would cause a
circular dependency...
2023-07-17 09:40:59 +08:00
Xi Ruoyao
06610cefab
dependencies: Update for Udev
The Udev build dependencies are directly copied from systemd.  Though
they might be unneeded for a Udev-only build, meson will check them
anyway.  And I'm sure Jinja2 is really used.

In systemd dependencies Attr is dropped because Attr is not used
directly, it's just Acl needs Attr.  OpenSSL is added because udevadm
links to libcrypto.

As "S" and "U" are closer, create a "systemd-udev" entity to simplify
the <phrase> choices.

In Util-linux, lsblk and findmnt links to libudev so it depends on
&systemd-udev;.
2023-07-17 00:03:04 +08:00
Xi Ruoyao
4ca4e8b1ba
udev: Fix a typo 2023-07-16 23:29:18 +08:00
Xi Ruoyao
f7c36d049f
udev: Create /usr/{lib,share}/pkgconfig
They are not created in chapter 7.5, so we should create them before
installing files into them.
2023-07-16 13:46:20 +08:00
Xi Ruoyao
cce6c92463
udev: Install man pages from systemd man pages tarball 2023-07-16 12:06:37 +08:00
Xi Ruoyao
13288b9165
SysV: Add MarkupSafe and Jinja2
Jinja2 is needed for building udev from systemd.
2023-07-16 11:12:36 +08:00
Xi Ruoyao
a289860668
Replace eudev with udev from systemd 2023-07-16 11:11:12 +08:00
Xi Ruoyao
c7ee38fb5a
bootscripts: Use /bin/udevadm instead of /sbin/udevadm
We are switching from eudev to systemd-udev for SysV.  Systemd installs
udevadm into /usr/bin, and at least a part of its function can be used
as non-root user, so we'll no longer put it into /usr/sbin.
2023-07-16 10:04:12 +08:00
Xi Ruoyao
1053282e5f
man-db: Update known test failures, again
I was too naive: actually a lot of tests fail with groff-1.23.0 and
they'll show up with "-k".
2023-07-16 00:52:41 +08:00
Xi Ruoyao
fcf943d52e
man-db: Document a test failure (started with groff-1.23.0) 2023-07-16 00:40:49 +08:00
Pierre Labastie
31e62b94b6 Typo 2023-07-15 15:26:11 +02:00
Bruce Dubbs
f00e5f980d Package updates.
Update to iana-etc-20230629.
Update to linux-6.4.3.
Update to  libxcrypt-4.4.36.
Update to groff-1.23.0.
Update to perl-5.38.0.
2023-07-14 22:45:12 -05:00
Xi Ruoyao
f976691d53
kernel: Remove CONFIG_SYSFS_DEPRECATED
It's already removed from Linux 6.4.

Link: https://git.kernel.org/torvalds/linux/c/721da5cee9d4
2023-07-11 07:44:39 +08:00
Xi Ruoyao
b551c5d602
dependencies: Perl is a build dependency for Libxcrypt 2023-07-05 02:54:31 +08:00
Bruce Dubbs
337b9c85bc Fix libxcrypt url 2023-07-03 17:23:14 -05:00
Xi Ruoyao
c2325070af
shadow: Allow using bcrypt and yescrypt, and use yescrypt as the default
Yescrypt is the current default password hashing algorithm of Fedora
and Debian.  See [1] for its advantage.

Now we have libxcrypt providing the implementation of bcrypt and
yescrypt, we can switch to yescrypt as well.  We also don't need to
adjust the rounds for SHA512 anymore.

[1]:https://www.fedoraproject.org/wiki/Changes/yescrypt_as_default_hashing_method_for_shadow#Detailed_Description
2023-07-03 21:28:36 +08:00
Xi Ruoyao
f4313a75c8
libxcrypt: Fix a typo 2023-07-03 19:36:58 +08:00
Xi Ruoyao
c273fc81ec
currency: Remove two unneeded special cases 2023-07-03 18:19:51 +08:00
Xi Ruoyao
9c88d3e6cc
pkgconf: Switch back to upstream release tarball :)
Upstream says: "update release tarball location because dynadot is a
shitty registrar".

Link: https://github.com/pkgconf/pkgconf/commit/437c2a3218bf
2023-07-03 18:11:38 +08:00
Xi Ruoyao
8772b7b4be
current: Use GitHub API for applicable packages 2023-07-03 18:08:54 +08:00
Xi Ruoyao
e43b7e7eb8
currency: Add libxcrypt 2023-07-03 17:53:41 +08:00
Xi Ruoyao
bf7d32821e
currency: Use https for git remote, and only fetch history since r11.2
It can save some network download time.
2023-07-03 17:24:59 +08:00
Xi Ruoyao
19ff1dadd1
currency: Refactor http_get_file to avoid duplicating preg_match
Check special cases and return early.
2023-07-03 17:22:17 +08:00
Xi Ruoyao
48834cf197
Merge branch 'xry111/libxcrypt' into trunk 2023-07-03 06:17:06 +08:00
Xi Ruoyao
9ceb623400
Package update
- Update to iproute2-6.4.0 (#5277)
- Update to linux-6.4.1 (#5276)
2023-07-03 06:14:40 +08:00
Xi Ruoyao
ac5f78c4bf
Merge branch 'trunk' into xry111/libxcrypt 2023-07-02 22:11:05 +08:00
Xi Ruoyao
cc5eb637aa
pkgconf: Use the Gentoo mirror for now :(
BugLink: https://github.com/pkgconf/pkgconf/issues/302
2023-07-02 20:31:17 +08:00
Xi Ruoyao
d6e7cda825
kbd: Simplify the instruction for doc installation 2023-07-01 16:00:45 +08:00
Bruce Dubbs
4cd0193c96 Package Updates.
Update to iana-etc-20230615.
Update to vim-9.0.1671.
Update to util-linux-2.39.1.
Update to linux-6.3.10.
Update to kbd-2.6.1.
Update to gettext-0.22.
2023-06-30 12:58:10 -05:00
Xi Ruoyao
1adc941436
dependencies: Add Libxcrypt dependency info 2023-06-30 06:57:35 +08:00
Xi Ruoyao
f652d5bb26
gcc-pass2: Disable libsanitizer
Building libsanitizer needs libcrypt.  Disable it so we don't need to
add libxcrypt into Chapter 6.
2023-06-30 06:32:31 +08:00
Xi Ruoyao
c727d7e7f7
Add libxcrypt 2023-06-30 04:05:51 +08:00
Xi Ruoyao
bbfb090d2a
glibc: Disable obsolete libcrypt implementation
I've not bothered to write an explanation for --disable-crypt because it
will likely be the default of Glibc-2.38, then we may drop it from the
command lines.
2023-06-30 03:19:20 +08:00
Douglas R. Reno
ce9ec4f126 gettext: Use gettext-version instead of a hardcoded version (which is
now out of date) for /usr/share/gettext-0.21.1
2023-06-23 10:48:45 -05:00
Xi Ruoyao
0fe3bb04a7
Create man page symlinks for awk, cc, pkg-config, and lex 2023-06-21 14:35:58 +08:00
Xi Ruoyao
89375e276b
prologue/why: Tell why pkgconf is used instead of pkg-config 2023-06-19 19:48:17 +08:00
Xi Ruoyao
8b0e004346
dependencies: list GDC along with GNAT as a GCC external dependency
It does not make too much sense to list GNAT but not GDC.  They are for
same purpose (building optional languages with bootstrap from binary
requirement).
2023-06-19 19:08:51 +08:00
Xi Ruoyao
1a823d576a
dependencies: Add dependencies to pkgconf or systemd
There are many packages using pkg-config (pkgconf actually) or systemd
(systemd revision only) in the configure stage but we've not documented
them yet.

- D-Bus uses pkgconf to detect systemd.
- E2fsprogs uses pkgconf to detect libblkid (in util-linux).
  eudev (in sysv revision) and systemd (in systemd revision).
- IProute2 uses pkgconf to detect libcap and libelf.
- Man-DB uses pkgconf to detect libpipeline and systemd.
- Procps-ng uses pkgconf to detect ncurses and systemd (or elogind,
  but it's an external dependency).
- Python uses pkgconf to detect libuuid (in util-linux from Ch 07),
  zlib, bzip2, xz, and openssl (and some external dependencies).
- Systemd uses pkgconf to detect Zlib, Xz, etc.
- Util-linux uses ncurses and systemd (and some external dependencies)

Add all of them.

There are also several packages finding for pkg-config but only uses it
for external dependencies, for eg grep and vim.  I've not added them here.
2023-06-19 19:04:23 +08:00
Xi Ruoyao
138b87f8d8
changelog: Add ticket number for pkgconf change 2023-06-17 18:19:10 +08:00
Xi Ruoyao
7cb24f473c
Package updates
Update to linux-6.3.8 (#5272)
Update to kbd-2.6.0 (#5273)
2023-06-17 15:38:43 +08:00
Xi Ruoyao
654a2f9ede
whatsnew: Update for pkgconf change 2023-06-17 15:14:12 +08:00
Rahul Chandra
36c4569b9f
Replace pkg-config with pkgconf 2023-06-17 15:14:12 +08:00
Xi Ruoyao
a3bd468940
glibc: Reword the reason to skip test-installation.pl
It won't work even on a "complete LFS system".
2023-06-11 21:20:02 +08:00
Bruce Dubbs
7e7600de9e Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-06-09 12:42:36 -05:00
Bruce Dubbs
2ebf4143a8 Package updates.
Update to dbus-1.14.8.
Update to linux-6.3.6.
Update to Python-3.11.4.
2023-06-09 12:39:24 -05:00
Pierre Labastie
6256b16baf Kernel: IPV6 only appears if TCP/IP selected
Report by wen zhang.
Also fix formatting.
2023-06-07 08:25:45 +02:00
Xi Ruoyao
0f18f2b121
housekeeping after min-kernel bump
Update the rationale for min-kernel in hostreqs.  Add a note in
general.ent about the EOL of current min-kernel.  Realign the
backslashes in glibc instructions.
2023-06-05 23:20:48 +08:00
Xi Ruoyao
5e7593e6f0
pkgmgmt: Revert some of reword for "dependency hell" from Bruce
Use "library name" (instead of "library version") for SONAME (for now).
And "conflicting locations" may not be a problem if the symbol is at two
locations but they are exactly same (or ABI compatible).

For the details see lfs-dev discussion.

The current word is still not perfect (we've not defined "the name of a
shared library" at all), so I guess we'll need to make a major revision
for the entire "upgrading issue with shared libraries" thing in the
future.
2023-06-04 19:31:59 +08:00
Xi Ruoyao
d4a32f958f
changelog: Fix the entry for MarkupSafe 2023-06-04 19:23:22 +08:00
Bruce Dubbs
88c3e8b0f8 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-06-03 17:49:16 -05:00
Bruce Dubbs
87fbad76f1 Package updates.
Update to iana-etc-20230524.
Update to MarkupSafe-2.1.3 (Python Module)
Update to linux-6.3.5.
Update to openssl-3.1.1.
Update to meson-1.1.1.
Update to diffutils-3.10.
Update to bc-6.6.0.
2023-06-03 17:48:12 -05:00
Pierre Labastie
732ce30389 Remove a remap="configure" attribute in eudev
remap="configure" means it is for configuring the build before
running make (or ninja), not for configuring the system
after the package is installed. We don't have a special attribute
for that.
2023-06-01 17:41:32 +02:00
Bruce Dubbs
360371a30f Minor rewording 2023-05-28 19:57:28 -05:00
Bruce Dubbs
d0da969c43 Reword library conflict paragraph. 2023-05-27 17:07:58 -05:00
Xi Ruoyao
55a29ccad2
pkgmgt: Mention the "dependency hell" issue 2023-05-27 19:05:06 +08:00
Ken Moffat
0aba9cbb0c Fix to past changelog:
util-linux-2.39 is in both books.
2023-05-25 21:29:19 +01:00
Ken Moffat
507bf71541 sysv book: Remove unneeded group sgx from eudev. 2023-05-25 21:27:33 +01:00
Bruce Dubbs
bf1e3fa174 Tweak ninja currency 2023-05-19 12:18:39 -05:00
Bruce Dubbs
0a7df4c5db Skip a problem test in util-linux. 2023-05-18 19:33:31 -05:00
Bruce Dubbs
fb5f62be63 Speling 2023-05-18 15:33:34 -05:00
Bruce Dubbs
1fde5b2617 Package updates.
Update to util-linux-2.39.
Update to linux-6.3.3.
Update to libcap-2.69.
Update to grep-3.11.
Update to flit_core-3.9.0.
Update to eudev-3.2.12.
2023-05-18 13:36:37 -05:00
Xi Ruoyao
8287b51963
glibc: Revive test failure note about old kernel or CPU
But consolidate them into one informative entry as we cannot really test
the instructions on many old systems.
2023-05-16 11:11:01 +08:00
Xi Ruoyao
70927b9964
gawk: Run the test suite as tester
One test named pma fails if running it as root.
2023-05-15 22:56:49 +08:00
Bruce Dubbs
cd8339aa0b Minor grammar fix 2023-05-13 10:46:29 -05:00
Xi Ruoyao
384d643f3b
changelog: Fix XML grammar error
Interestingly, this was not detected by jhalfs.
2023-05-13 18:13:20 +08:00
Xi Ruoyao
b2ef0209a0
Package update and add changelog for systemd runtime issue fix
Update to less-633 (#5251)
Update to linux-6.3.2 (#5255)
Update to xz-5.4.3 (#5252)
Update to gawk-5.2.2 (#5253)
2023-05-13 17:38:48 +08:00
Xi Ruoyao
6d4ba5f08a
gcc: Note some additional test failures 2023-05-13 15:09:44 +08:00
Xi Ruoyao
740ee46aef
systemd: Fix runtime issues exploited by GCC 13 (#5254)
Switch to "meson setup" from the plain "meson" by the way.
2023-05-10 16:26:26 +08:00
Xi Ruoyao
9ae3d8ad31
whatsnew: Update for GCC 13.1
And let's discourage reusing scripts.
2023-05-08 19:13:27 +08:00
Pierre Labastie
2e215ea434 Merge branch 'bdubbs/gcc13' into trunk
I fixed libstdc++ soversion in the wrong branch
2023-05-07 13:15:46 +02:00
Pierre Labastie
45800cdf42 Fix libstdc++ soversion
It's needed in the "stripping" page.
2023-05-07 13:14:29 +02:00
Xi Ruoyao
0eb98bde5f
coreutils: Explain gl_cv_macro_MB_CUR_MAX_good=yes 2023-05-07 10:56:05 +08:00
Xi Ruoyao
8051256700
psmisc: Run the test suite
It seems the package has provided the test suite since some time point.
2023-05-03 11:21:54 +08:00
Xi Ruoyao
465ada75f3
gcc: Add libhwasan and libstdc++exp into contents and short desc
TODO: HWAsan needs Linux 6.4 (not released yet) and a recent Intel CPU.
So it the kernel and hardware support is available, we may see more
test failures.  I'll try it out on my new system...
2023-05-03 11:15:43 +08:00
Xi Ruoyao
9781ec5bae
gcc: Document the meaning of --disable-fixincludes 2023-05-02 22:49:48 +08:00
Xi Ruoyao
050335d4bd
gcc: Update known test failures for GCC 13 2023-05-02 21:25:09 +08:00
Bruce Dubbs
5336349498 Typo 2023-05-01 22:37:19 -05:00
Bruce Dubbs
04be2abd11 Package updates.
Update to vim-9.0.1503.
Update to iana-etc-20230418.
Update to sysvinit-3.07.
Update to iproute2-6.3.0.
Update to linux-6.3.1.
2023-05-01 12:48:53 -05:00
Bruce Dubbs
a6c73fe5b2 Merge branch 'bdubbs/gcc13' into trunk 2023-05-01 10:50:18 -05:00
Thomas Trepl
a4e48bc4ec Fix double dashes 2023-05-01 16:04:45 +02:00
Thomas Trepl
b0120361f3 Readd configure accidently commented completely. 2023-05-01 16:03:01 +02:00
Thomas Trepl
0bf058f512 Use x.y.z in pck.ent for kernel 2023-05-01 11:49:45 +02:00
Thomas Trepl
dacc477609 Fix typo 2023-05-01 11:46:01 +02:00
Thomas Trepl
f6bfa6a08b Upgrade to iproute2-6.3.0 2023-05-01 11:37:06 +02:00
Thomas Trepl
0c83920af3 Upgrade to linux-6.3.1 2023-05-01 11:34:45 +02:00
Thomas Trepl
b371ee7b8c Comment out TIME_T_32_BIT_OK 2023-05-01 11:29:12 +02:00
Bruce Dubbs
a28bb20e62 Alternate fix for Ch6 coreutils. 2023-04-27 10:19:31 -05:00
Bruce Dubbs
bd5b888ad3 Create new branch for gcc13 2023-04-27 10:01:17 -05:00
Xi Ruoyao
ed48f32609
openssl: Clarify the condition when 30-test_afalg.t fails 2023-04-16 20:21:50 +08:00
Xi Ruoyao
e310df86e5
util-linux: Clarify the condition of hardlink failure 2023-04-16 20:21:50 +08:00
Xi Ruoyao
d1cbe535c1
dbus: Enable tests
Though many tests are disabled w/o optional dependencies, we can at
least run a dozen of tests.
2023-04-16 20:21:50 +08:00
Bruce Dubbs
5a98711aa4 Be consistent with library contents. 2023-04-15 14:34:07 -05:00
Xi Ruoyao
fb58db34a7
Revert "libelf: Add libelf.so.1 symlink into contents"
This reverts commit 01a8a15a96.

We don't list the versioned SONAME symlink for any shared libraries.

TODO: should we remove libelf-0.189.so from the list as well?  It sounds
like "libz.so.1.2.13" which is not listed too.
2023-04-16 00:59:27 +08:00
Xi Ruoyao
eee6a98c70
dependencies: Extend iproute2 external dependencies
"make" outputs messages for lacking libtirpc, libbpf, and libmnl
support, so document them.
2023-04-15 20:48:00 +08:00
Xi Ruoyao
01a8a15a96
libelf: Add libelf.so.1 symlink into contents 2023-04-15 17:17:52 +08:00
Bruce Dubbs
efd83dba4f Package updates.
Update to vim-9.0.1452.
Update to iana-etc-20230405.
Update to zstd-1.5.5.
Update to Python-3.11.3.
Update to meson-1.1.0.
Update to man-pages-6.04.
Update to linux-6.2.11.
2023-04-14 15:00:26 -05:00
Xi Ruoyao
a4b0c6d60a
eudev: Set /dev/kvm mode to 0660 and tag it "uaccess"
See the parent commit for rationale.
2023-04-10 16:17:17 +08:00
Xi Ruoyao
dfde6640eb
systemd: Set /dev/kvm mode to 0660
The default /dev/kvm mode is 0666 and we consider it "not so safe".
Like Tim said: "I'm also authenticating to my system all the time and
don't do a chmod -R 777 / after every boot."

With this option, the /dev/kvm mode is set to 0660 and it's tagged
"uaccess" so systemd-logind will add an ACL entry for users logged-in
locally.
2023-04-10 16:17:04 +08:00
Xi Ruoyao
e9ab2b3af0
glibc: libanl is a dummy now 2023-04-08 22:16:06 +08:00
Xi Ruoyao
91d8e69d18
glibc: Clarify the reference to POSIX.1b and POSIX.1c
The thread functions are in POSIX.1c, not POSIX.1b.

Both POSIX.1b and POSIX.1c are named "extensions" (plural form).  And
POSIX.1b is titled "Real-time" instead of "Realtime".
2023-04-08 21:47:29 +08:00
Ken Moffat
49f74ce701 Typo reported by rhubarbpieguy. 2023-04-07 22:39:03 +01:00
Xi Ruoyao
99c2da0f22
acknowledgments: Add Jamenson as present Portuguese translator 2023-04-04 16:54:00 +08:00
Bruce Dubbs
fc9a319910 Update currency for flit-core 2023-04-01 17:07:06 -05:00
Xi Ruoyao
fd531b84c9
flit-core: Kill revision='systemd'
I copied from jinja2 and edited the file, but forgot to remove this.
2023-04-01 05:47:17 +08:00
Xi Ruoyao
4e3fe1da0f
whatsnew: Add Flit-core
Also use the Normal Case for Flit-Core in a section title.
2023-04-01 03:42:52 +08:00
Xi Ruoyao
b57a3babaa
Update to linux-6.2.9 (#5230) 2023-04-01 01:51:19 +08:00
Xi Ruoyao
d98496d20c
gen-changelog: Mark security fix correctly 2023-04-01 01:45:36 +08:00
Xi Ruoyao
38eab97b1e
dependencies: Add flit-core 2023-04-01 01:22:40 +08:00
Xi Ruoyao
13eb8a3ce1
packages: Add flit-core into download page 2023-04-01 00:55:06 +08:00
Xi Ruoyao
22f0edf6ba
coreutils: Fix a bug in checksum utilities for failure reporting 2023-03-31 22:46:00 +08:00
Xi Ruoyao
bdaf4239ef
patches: Bump coreutils i18n patch md5sum for 9.2 2023-03-31 22:45:34 +08:00
Xi Ruoyao
0e3eb0bee4
wheel: Remove magic PYTHONPATH=src (unneeded with flit-core) and ...
duplicated pip3 explanation (already in flit-core page).
2023-03-31 22:26:06 +08:00
Xi Ruoyao
af612e9a19
Package updates
Update to linux-6.2.8 (#5230)
Update to xz-5.4.2 (#5233)
Update to coreutils-9.2 (#5232)
Update to libcap-2.68 (#5236)
Update to bc-6.5.0 (#5228)
Update to openssl-3.1.0 (#5227)
Update to texinfo-7.0.3 (#5235)
Update to grep-3.10 (#5234)
Update to tzdata-2023c (#5237)
Update to wheel-0.40.0 (#5229)
Add flit-core-3.8.0
2023-03-31 22:25:35 +08:00
Xi Ruoyao
92dbe964f1
Add a script to generate ChangeLog from "git diff" 2023-03-31 22:05:15 +08:00
Pierre Labastie
04038ad828 Clarify a sentence in "stripping"
Also fix a typo
Report by Rainer Fiebig
2023-03-31 11:03:18 +02:00
Thomas Trepl
d765208190 Fix typo and copy&paste error 2023-03-30 22:52:50 +02:00
Pierre Labastie
2bd704b520 zstd depends on zlib 2023-03-29 17:59:49 +02:00
Douglas R. Reno
e2df6431e9 reboot.xml: Minor typo fix
Thanks goes to rhubabpieguy on lfs-dev
2023-03-23 15:02:26 -05:00
Douglas R. Reno
12a86f36b1 Typo fix for convenience partitions
Thanks goes to Rainer Fiebig on lfs-dev.
2023-03-21 14:20:13 -05:00
Xi Ruoyao
d186249a44
kernel: [revision="systemd"] Disable CONFIG_PSI_DEFAULT_DISABLED
systemd-oomd needs PSI so it does not make sense to disable it by
default.
2023-03-21 15:38:56 +08:00
Xi Ruoyao
ad09ba40a1
openssl: Fix a typo, and add a link to OpenSSH issue 2023-03-15 15:00:34 +08:00
Xi Ruoyao
bbaf00d415
openssl: Add a warning about minor version bump and OpenSSH
Let's prevent bad thing from happening when we update to 3.1.0...
2023-03-15 14:17:56 +08:00
Xi Ruoyao
23a6c4c492
reboot: Use &blfs-book; to simply the link to BLFS
By the way, use &root; for root user.
2023-03-15 14:01:24 +08:00
Xi Ruoyao
9a9655b33b
chapter01/how: Remove commented out text about LFS LiveCD
Fix duplicated 'a LiveCD from a commercial distribution.'
2023-03-15 13:41:04 +08:00
Bruce Dubbs
c97cd380ca Package updates.
Update to bc-6.4.0.
Update to grep-3.9.
Update to linux-6.2.6.
Update to iana-etc-20230306.
2023-03-14 20:47:46 -05:00
Bruce Dubbs
b4829e6717 Add a note on host system installation 2023-03-13 15:43:12 -05:00
Bruce Dubbs
5fa9f630cd Add a pointer to troubleshooting boot problems 2023-03-12 00:26:41 -06:00
Bruce Dubbs
c6fa6912e1 Update a link 2023-03-11 23:11:16 -06:00
Douglas R. Reno
681e11a0b6 Typos from rhubarbpieguy 2023-03-11 19:04:09 -06:00
Xi Ruoyao
57ccb5b97f
kernel: Fix a typo
"parition".
2023-03-11 22:05:26 +08:00
Bruce Dubbs
d94339982d Add kernel configureation introduction.
Add an <important> note as an introduction to configuring the kernel.
2023-03-10 18:46:52 -06:00
Xi Ruoyao
0bf56aadbd
kernel: Some adjustments
- Mention NVME.
- Mention PAE (CONFIG_HIGHMEM64G) for 32-bit.
- Don't repeat the link to BLFS kernel config index twice on SysV.
  And don't display the long URL for it.
- Emphasis that BLFS UEFI kernel config is needed even if you'll use the
  UEFI bootloader of the host distro.
2023-03-10 18:53:48 +08:00
Xi Ruoyao
1026270951
Revert "kernel: Use <caution> for make defconfig and..."
This reverts commit d0a9bda4e6.

"Don't change anything enabled by defconfig" seems too strong.
2023-03-10 18:53:48 +08:00
Xi Ruoyao
34f1344072
Revert "Suggest make localmodconfig for kernel"
This reverts commit de679165f9.

localmodconfig does not work very well.  It can only *un*select things
already enabled as modules if the module is not loaded by the host.  It
won't select anything new, nor unselect unneeded things already set to
"y" instead of "m".

Maybe you think we can copy .config from a "mainstream" distro
(producing a highly modular kernel) and use "make localmodconfig", but
when we tested it with a Debian host kernel config, the resulted kernel
refuses to boot.

"make allmodconfig && make localmodconfig" does not work well either:
"allmodconfig" selects many things as y (these thing are not available
as a module) but "localmodconfig" fails to unselect them.
2023-03-10 18:53:48 +08:00
Bruce Dubbs
25cd02b9db Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-03-09 19:51:42 -06:00
Bruce Dubbs
6e4dfa7528 Tweak kernel version in host requirements 2023-03-09 19:51:31 -06:00
Pierre Labastie
de679165f9 Suggest make localmodconfig for kernel
This is less generic than defconfig, and you can then tell
not to tweak options...
2023-03-08 22:27:34 +01:00
Xi Ruoyao
d0a9bda4e6
kernel: Use <caution> for make defconfig and...
tell people not to messing the options enabled by defconfig up.

Yes, I messed them up and shot my own foot.
2023-03-09 01:14:15 +08:00
Xi Ruoyao
835e40ce16
Adjustments for /dev/pts
1. Declare UNIX98 PTY requirement in host system requirements and check
   it in the script.  All desktop or server distros should have it now,
   but let's stop anyone from building on a embedded distro w/o UNIX98
   PTY early...
2. Use Expect test suite as a guard against mishandled $LFS/dev/pts.
3. No need to test the basic function of Expect in Binutils anymore
   because if ($LFS)/dev/pts is not good, the Expect test suite would
   have failed.
2023-03-08 11:25:48 +08:00
Xi Ruoyao
e0fb1098a4
kernel: Recommend to disable CONFIG_EXPERT
Let's not encourage users to try tricky things and shoot their own foot.

For systemd, if CONFIG_EXPERT is disable, CONFIG_FHANDLE will be enabled
automatically.  So there is no need to enable CONFIG_EXPERT and then set
CONFIG_FHANDLE manually.
2023-03-08 11:25:38 +08:00
Xi Ruoyao
271c856538
hostreqs: Use &min-kernel; for kernel version 2023-03-05 15:26:44 +08:00
Xi Ruoyao
e39d2aa9df
hostreqs: Remove commented out line 2023-03-05 15:22:24 +08:00
Xi Ruoyao
2efe1e8190
systemd: Document systemd-ac-power
It has been moved to /usr/bin for general use by upstream, so list it in
programs.
2023-03-05 15:20:24 +08:00
Xi Ruoyao
82d6a570b4
libelf: Remove run-native-test failure
It's fixed in 0.189.

(cherry picked from commit 4fd9716e15)
2023-03-05 13:39:23 +08:00
Xi Ruoyao
e2469c5a80
changelog: Mark linux-6.2.2 a security update 2023-03-05 13:01:04 +08:00
Xi Ruoyao
f54b8be70f
dependencies: List bzip2, xz, and zlib as libelf dependencies
libelf.so links to libbz2.so.1.0, liblzma.so.5, and libz.so.1.  libz is
really used, but to me liblzma and libbz2 are "unneeded dependencies":
the building system apparently thinks they are needed by zstd but
actually not.  I don't want to "fix the upstream" so just list them here
anyway.
2023-03-05 11:09:11 +08:00
Xi Ruoyao
07b44dd348
make: Run test suite as unprivileged user 2023-03-05 10:57:09 +08:00
Xi Ruoyao
770e789527
Package updates
- Update to systemd-253
- Update to bc-6.3.1
- Update to linux-6.2.2
- Update to procps-ng-4.0.3
- Update to iproute2-6.2.0
- Update to meson-1.0.1
- Update to make-4.4.1
- Update to elfutils-0.189
2023-03-05 10:57:09 +08:00
Xi Ruoyao
b789d88195
hostreq: Minor script adjustment
- Remove an extra whitespace breaking shebang (though our instruction
  does not use the shebang).
- Adjust the regex to allow several letters after the version number,
  and match grep version to the text.
- Raise Coreutils to 7.0 (for the host requirement script itself).  It
  was released in 2008 so I don't think it's a problem.
- Add a colon after the text "Compiler check" to match "Aliases:".
- Use grep -o instead of sed to make kernel version check simpler.
2023-03-05 10:01:40 +08:00
Bruce Dubbs
73e2b9c189 Add a changelog entry. 2023-03-04 16:29:00 -06:00
Bruce Dubbs
140e9a445d q 2023-03-04 16:26:31 -06:00
Xi Ruoyao
779b798e5f
whatsnew: Comment out all entries for a new release 2023-03-02 16:00:48 +08:00
Xi Ruoyao
55a40437f1
e2fsprogs: Update test failure info
Document the m_assume_storage_prezeroed failure.  The
u_direct_io failure is fixed by
https://github.com/tytso/e2fsprogs/commit/4cda25453f85.
2023-03-02 11:08:37 +08:00
284 changed files with 6720 additions and 4156 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
lfs-bootscripts-*.tar.xz
lfs-*.tar.xz
conditional.ent
version.ent
appendices/*.script

View File

@ -1,6 +1,4 @@
#BASEDIR = ~/lfs-book
#SYSDDIR = ~/lfs-systemd
#DUMPDIR = ~/lfs-commands
# vim:ts=3
RENDERTMP = $(HOME)/tmp
CHUNK_QUIET = 1
ROOT_ID =
@ -23,15 +21,15 @@ ifneq ($(REV), sysv)
endif
ifeq ($(REV), sysv)
BASEDIR ?= ~/lfs-book
BASEDIR ?= $(HOME)/public_html/lfs-book
PDF_OUTPUT ?= LFS-BOOK.pdf
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
DUMPDIR ?= ~/lfs-commands
DUMPDIR ?= $(HOME)/lfs-commands
else
BASEDIR ?= ~/lfs-systemd
BASEDIR ?= $(HOME)/public_html/lfs-systemd
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html
DUMPDIR ?= ~/lfs-sysd-commands
DUMPDIR ?= $(HOME)/lfs-sysd-commands
endif
book: validate profile-html
@ -46,7 +44,8 @@ book: validate profile-html
@echo "Copying CSS code and images..."
$(Q)mkdir -p $(BASEDIR)/stylesheets
$(Q)cp stylesheets/lfs-xsl/*.css $(BASEDIR)/stylesheets
$(Q)sed -i 's|../stylesheet|stylesheet|' $(BASEDIR)/index.html
$(Q)sed -e 's|../stylesheet|stylesheet|' \
-i $(BASEDIR)/index.html
$(Q)mkdir -p $(BASEDIR)/images
$(Q)cp images/*.png $(BASEDIR)/images
@ -54,12 +53,10 @@ book: validate profile-html
@echo "Running Tidy and obfuscate.sh..."
$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \
tidy -config tidy.conf $$filename; \
true; \
/bin/bash obfuscate.sh $$filename; \
sed -e "s@text/html@application/xhtml+xml@g" \
-e "s/\xa9/\&copy;/ " \
sed -e "s|text/html|application/xhtml+xml|g" \
-i $$filename; \
done;
done
$(Q)$(MAKE) --no-print-directory wget-list md5sums
@ -98,17 +95,16 @@ nochunks: validate profile-html
--output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \
stylesheets/lfs-nochunks.xsl \
$(RENDERTMP)/lfs-html.xml
# $(RENDERTMP)/lfs-html2.xml
@echo "Running Tidy..."
$(Q)tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || true
$(Q)tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || test $$? -le 1
@echo "Running obfuscate.sh..."
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -i -e "s@text/html@application/xhtml+xml@g" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -i -e "s@../wget-list@wget-list@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -i -e "s@../md5sums@md5sums@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -i -e "s@\xa9@\&copy;@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -e "s|text/html|application/xhtml+xml|g" \
-e "s|../wget-list|wget-list|" \
-e "s|../md5sums|md5sums|" \
-i $(BASEDIR)/$(NOCHUNKS_OUTPUT)
@echo "Output at $(BASEDIR)/$(NOCHUNKS_OUTPUT)"
@ -127,16 +123,16 @@ validate: tmpdir version
@echo "Adjusting for revision $(REV)..."
$(Q)xsltproc --nonet \
--xinclude \
--output $(RENDERTMP)/lfs-html2.xml \
--stringparam profile.revision $(REV) \
--output $(RENDERTMP)/lfs-html2.xml \
stylesheets/lfs-xsl/profile.xsl \
index.xml
@echo "Validating the book..."
$(Q)xmllint --nonet \
--noent \
--postvalid \
-o $(RENDERTMP)/lfs-full.xml \
$(Q)xmllint --nonet \
--encode UTF-8 \
--postvalid \
--output $(RENDERTMP)/lfs-full.xml \
$(RENDERTMP)/lfs-html2.xml
$(Q)rm -f appendices/*.script
@ -151,42 +147,45 @@ profile-html:
stylesheets/lfs-xsl/profile.xsl \
$(RENDERTMP)/lfs-full.xml
DOWNLOADS_DEP = chapter03/packages.xml chapter03/patches.xml \
packages.ent patches.ent general.ent
wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV)
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \
packages.ent patches.ent general.ent
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
@echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..."
$(Q)mkdir -p $(BASEDIR)
$(Q)xsltproc --xinclude --nonet \
$(Q)xsltproc --nonet \
--xinclude \
--output $(BASEDIR)/wget-list \
stylesheets/wget-list.xsl \
chapter03/chapter03.xml
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl \
chapter03/chapter03.xml \
packages.ent patches.ent general.ent
$(Q)xsltproc --nonet --xinclude \
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
$(Q)xsltproc --nonet \
--xinclude \
--stringparam profile.revision $(REV) \
--output $(RENDERTMP)/wget-list.xml \
stylesheets/lfs-xsl/profile.xsl \
chapter03/chapter03.xml
$(Q)xsltproc --xinclude --nonet \
$(Q)xsltproc --nonet \
--output $(BASEDIR)/wget-list-$(REV) \
stylesheets/wget-list.xsl \
$(RENDERTMP)/wget-list.xml
md5sums: $(BASEDIR)/md5sums
$(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \
packages.ent patches.ent
$(BASEDIR)/md5sums: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
@echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..."
$(Q)mkdir -p $(BASEDIR)
$(Q)xsltproc --nonet --xinclude \
$(Q)xsltproc --nonet \
--xinclude \
--stringparam profile.revision $(REV) \
--output $(RENDERTMP)/md5sum.xml \
stylesheets/lfs-xsl/profile.xsl \
chapter03/chapter03.xml
$(Q)xsltproc --xinclude --nonet \
$(Q)xsltproc --nonet \
--output $(BASEDIR)/md5sums \
stylesheets/md5sum.xsl \
$(RENDERTMP)/md5sum.xml
@ -209,5 +208,14 @@ dump-commands: validate
all: book nochunks pdf dump-commands
.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version
dist:
$(Q)DIST=/tmp/LFS-RELEASE ./git-version.sh $(REV)
$(Q)rm -f lfs-$$(</tmp/LFS-RELEASE).tar.xz
$(Q)tar cJf lfs-$$(</tmp/LFS-RELEASE).tar.xz \
$(shell git ls-tree HEAD . --name-only -r) version.ent \
-C /tmp LFS-RELEASE \
--transform "s,^,lfs-$$(</tmp/LFS-RELEASE)/,"
$(Q)echo "Generated XML tarball lfs-$$(</tmp/LFS-RELEASE).tar.xz"
.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version dist

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -89,7 +89,13 @@
<listitem>
<para><ulink url="mailto:lizardo@linuxfromscratch.org">Anderson
Lizardo</ulink> &lt;lizardo@linuxfromscratch.org&gt; &ndash;
Portuguese LFS translation project</para>
Portuguese LFS translation project historical</para>
</listitem>
<listitem>
<para><ulink url="mailto:jafesp@gmail.com">Jamenson
Espindula</ulink> &lt;jafesp@gmail.com&gt; &ndash;
Portuguese LFS translation project 2022-present</para>
</listitem>
<listitem>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -8,12 +8,12 @@
<appendix id="rules" xreflabel="Appendix E" revision="sysv">
<?dbhtml dir="scripts"?>
<?dbhtml filename="eudev-rules.html"?>
<?dbhtml filename="udev-rules.html"?>
<title>Udev configuration rules</title>
<para>The rules in this appendix are listed for convenience. Installation is
normally done via instructions in <xref linkend='ch-system-eudev'/>. </para>
normally done via instructions in <xref linkend='ch-system-udev' role='.'/> </para>
<sect1 id="lfsrules" role="wrap">
<title>55-lfs.rules</title>

View File

@ -15,7 +15,7 @@ base=$(basename $bootscripts .tar.xz)
bootsize=$(ls -l --block-size=1024 $bootscripts | cut -f5 -d" ")
bootmd5=$(md5sum $bootscripts | cut -f1 -d" ")
# Figure intalled size of bootscripts
# Figure installed size of bootscripts
TOPDIR=$(pwd)
TMP_DIR=$(mktemp -d /tmp/lfsbootfiles.XXXXXX)
pushd $TMP_DIR > /dev/null

View File

@ -1,3 +1,47 @@
2024-08-25 Xi Ruoyao <xry111@xry111.site>
* Remove an empty line and an outdated comment (not valid anymore after
/usr merge) from init-functions.
2024-08-24 Andrew Kreimer <algonell@gmail.com>
* Fix typos.
2024-08-23 Xi Ruoyao <xry111@xry111.site>
* In console, detect FB console by checking /sys/class/graphics/fbcon
instead of fb0. The latter does not exist if CONFIG_FB=n, but
CONFIG_DRM_FBDEV_EMULATION=y can support a FB console without
CONFIG_FB.
2024-07-12 Xi Ruoyao <xry111@xry111.site>
* In mountvirtfs, recreate /dev/fd correctly if it's already created
by the initramfs.
2024-07-06 Bruce Dubbs <bdubbs@linuxfromscratch.org>
* Add logic to init-functions to only print escape sequences
if stdin and stdout are connected to a terminal.
2024-04-16 Bruce Dubbs <bdubbs@linuxfromscratch.org>
* Remove blank output line generated in ifup script when bringing
up wireless interface.
2023-10-04 Pierre Labastie <pierre.labastie@neuf.fr>
* After the changes done on 2022-03-24, several "halt stop" should
have been changed to "halt start". Done now. Fortunately, those
occur only when something wrong happens with disks or devices.
2023-07-28 Xi Ruoyao <xry111@xry111.site>
* In mountvirtfs, mount /sys/fs/cgroup for udev from systemd-254.
2023-07-22 Xi Ruoyao <xry111@xry111.site>
* In mountvirtfs, create symlinks /dev/{fd,std{in,out,err}} and
/dev/core (optional).
2023-07-16 Xi Ruoyao <xry111@xry111.site>
* In udev, set SYSTEMD_LOG_TARGET=kmsg so systemd-udevd will correctly
log messages.
2023-07-15 Xi Ruoyao <xry111@xry111.site>
* Use /bin/udevadm instead of /sbin/udevadm.
2022-09-30 Bruce Dubbs <bdubbs@linuxfromscratch.org>
* Mount /dev/shm as a tmpfs.
@ -10,7 +54,7 @@
* New semantics for K and S scripts:
- S scripts only started if not already marked S in the previous runlevel
- K scripts only started if not already marked K in the previous runlevel
- remove the convention of running S scripts ith "stop" in rl 0/6
- remove the convention of running S scripts with "stop" in rl 0/6
2021-06-08 Bruce Dubbs <bdubbs@linuxfromscratch.org>
* When shutting down the network, ignore invalid interfaces
or interfaces that are not UP.

View File

@ -63,7 +63,7 @@ case "${1}" in
log_info_msg "Press Enter to continue..."
wait_for_user
/etc/rc.d/init.d/halt stop
/etc/rc.d/init.d/halt start
else
log_success_msg2
fi
@ -101,7 +101,7 @@ case "${1}" in
if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; then
msg="\nWARNING:\n\nFile system errors "
msg="${msg}were found and have been been "
msg="${msg}were found and have been "
msg="${msg}corrected, but the nature of the "
msg="${msg}errors require this system to be rebooted.\n\n"
msg="${msg}After you press enter, "
@ -127,7 +127,7 @@ case "${1}" in
log_info_msg "Press Enter to continue..."
wait_for_user
/etc/rc.d/init.d/halt stop
/etc/rc.d/init.d/halt start
fi
if [ "${error_value}" -ge 16 ]; then

View File

@ -47,7 +47,7 @@ case "${1}" in
log_info_msg "Setting up Linux console..."
# Figure out if a framebuffer console is used
[ -d /sys/class/graphics/fb0 ] && use_fb=1 || use_fb=0
[ -d /sys/class/graphics/fbcon ] && use_fb=1 || use_fb=0
# Figure out the command to set the console into the
# desired mode

View File

@ -7,8 +7,9 @@
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org
# DJ Lucas - dj@linuxfromscratch.org
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
# Xi Ruoyao - xry111@xry111.site
#
# Version : LFS 7.0
# Version : LFS 12.0
#
########################################################################
@ -62,6 +63,33 @@ case "${1}" in
log_info_msg2 " ${INFO}/dev/shm"
mount -o nosuid,nodev /dev/shm || failed=1
mkdir -p /sys/fs/cgroup
log_info_msg2 " ${INFO}/sys/fs/cgroup"
mount -o nosuid,noexec,nodev /sys/fs/cgroup || failed=1
(exit ${failed})
evaluate_retval
if [ "${failed}" = 1 ]; then
exit 1
fi
log_info_msg "Create symlinks in /dev targeting /proc: ${INFO}/dev/stdin"
ln -sf /proc/self/fd/0 /dev/stdin || failed=1
log_info_msg2 " ${INFO}/dev/stdout"
ln -sf /proc/self/fd/1 /dev/stdout || failed=1
log_info_msg2 " ${INFO}/dev/stderr"
ln -sf /proc/self/fd/2 /dev/stderr || failed=1
log_info_msg2 " ${INFO}/dev/fd"
ln -sfn /proc/self/fd /dev/fd || failed=1
if [ -e /proc/kcore ]; then
log_info_msg2 " ${INFO}/dev/core"
ln -sf /proc/kcore /dev/core || failed=1
fi
(exit ${failed})
evaluate_retval
exit $failed

View File

@ -7,6 +7,9 @@
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org
# DJ Lucas - dj@linuxfromscratch.org
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org LFS12.1
# Remove kernel log daemon. The functionality has been
# merged with syslogd.
#
# Version : LFS 7.0
#
@ -20,8 +23,8 @@
# Should-Stop: sendsignals
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts kernel and system log daemons.
# Description: Starts kernel and system log daemons.
# Short-Description: Starts system log daemon.
# Description: Starts system log daemon.
# /etc/fstab.
# X-LFS-Provided-By: LFS
### END INIT INFO
@ -34,17 +37,9 @@ case "${1}" in
parms=${SYSKLOGD_PARMS-'-m 0'}
start_daemon /sbin/syslogd $parms
evaluate_retval
log_info_msg "Starting kernel log daemon..."
start_daemon /sbin/klogd
evaluate_retval
;;
stop)
log_info_msg "Stopping kernel log daemon..."
killproc /sbin/klogd
evaluate_retval
log_info_msg "Stopping system log daemon..."
killproc /sbin/syslogd
evaluate_retval
@ -65,7 +60,6 @@ case "${1}" in
status)
statusproc /sbin/syslogd
statusproc klogd
;;
*)

View File

@ -7,8 +7,9 @@
# Authors : Zack Winkles, Alexander E. Patrakov
# DJ Lucas - dj@linuxfromscratch.org
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
# Xi Ruoyao - xry111@xry111.site
#
# Version : LFS 7.0
# Version : LFS 12.0
#
########################################################################
@ -40,22 +41,22 @@ case "${1}" in
log_info_msg "$msg"
log_info_msg "Press Enter to continue..."
wait_for_user
/etc/rc.d/init.d/halt stop
/etc/rc.d/init.d/halt start
fi
# Start the udev daemon to continually watch for, and act on,
# uevents
/sbin/udevd --daemon
SYSTEMD_LOG_TARGET=kmsg /sbin/udevd --daemon
# Now traverse /sys in order to "coldplug" devices that have
# already been discovered
/sbin/udevadm trigger --action=add --type=subsystems
/sbin/udevadm trigger --action=add --type=devices
/sbin/udevadm trigger --action=change --type=devices
/bin/udevadm trigger --action=add --type=subsystems
/bin/udevadm trigger --action=add --type=devices
/bin/udevadm trigger --action=change --type=devices
# Now wait for udevd to process the uevents we triggered
if ! is_true "$OMIT_UDEV_SETTLE"; then
/sbin/udevadm settle
/bin/udevadm settle
fi
# If any LVM based partitions are on the system, ensure they

View File

@ -34,8 +34,6 @@ case "${1}" in
start)
log_info_msg "Retrying failed uevents, if any..."
# As of udev-186, the --run option is no longer valid
#rundir=$(/sbin/udevadm info --run)
rundir=/run/udev
# From Debian: "copy the rules generated before / was mounted
# read-write":
@ -52,13 +50,13 @@ case "${1}" in
/bin/sed -e 's/#.*$//' /etc/sysconfig/udev_retry | /bin/grep -v '^$' | \
while read line ; do
for subsystem in $line ; do
/sbin/udevadm trigger --subsystem-match=$subsystem --action=add
/bin/udevadm trigger --subsystem-match=$subsystem --action=add
done
done
# Now wait for udevd to process the uevents we triggered
if ! is_true "$OMIT_UDEV_RETRY_SETTLE"; then
/sbin/udevadm settle
/bin/udevadm settle
fi
evaluate_retval

View File

@ -58,11 +58,21 @@ SCRIPT_STAT="0"
# Set any user specified environment variables e.g. HEADLESS
[ -r /etc/sysconfig/rc.site ] && . /etc/sysconfig/rc.site
## Screen Dimensions
# Find current screen size
if [ -z "${COLUMNS}" ]; then
COLUMNS=$(stty size)
COLUMNS=${COLUMNS##* }
# If HEADLESS is set, use that.
# If file descriptor 1 or 2 (stdout and stderr) is not open or
# does not refer to a terminal, consider the script headless.
[ ! -t 1 -o ! -t 2 ] && HEADLESS=${HEADLESS:-yes}
if [ "x$HEADLESS" != "xyes" ]
then
## Screen Dimensions
# Find current screen size
if [ -z "${COLUMNS}" ]; then
COLUMNS=$(stty size)
COLUMNS=${COLUMNS##* }
fi
else
COLUMNS=80
fi
# When using remote connections, such as a serial port, stty size returns 0
@ -447,11 +457,8 @@ pidofproc()
# If a PID file is set and exists, use it.
if [ -n "${pidfile}" -a -e "${pidfile}" ]; then
# Use the value in the first line of the pidfile
pidlist=`/bin/head -n1 "${pidfile}"`
# This can optionally be written as 'sed 1q' to repalce 'head -n1'
# should LFS move /bin/head to /usr/bin/head
else
# Use pidof
pidlist=`pidof "${program}"`
@ -575,9 +582,14 @@ timespec()
################################################################################
log_success_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}"
else
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -e "${logmessage} OK"
fi
# Strip non-printable characters from log file
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
@ -589,8 +601,13 @@ log_success_msg()
log_success_msg2()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}"
else
echo " OK"
fi
echo " OK" >> ${BOOTLOG}
@ -610,8 +627,14 @@ log_success_msg2()
################################################################################
log_failure_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}"
else
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -e "${logmessage} FAIL"
fi
# Strip non-printable characters from log file
@ -624,8 +647,13 @@ log_failure_msg()
log_failure_msg2()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}"
else
echo "FAIL"
fi
echo "FAIL" >> ${BOOTLOG}
@ -643,8 +671,14 @@ log_failure_msg2()
################################################################################
log_warning_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${WARNING_PREFIX}${SET_COL}${WARNING_SUFFIX}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${WARNING_PREFIX}${SET_COL}${WARNING_SUFFIX}"
else
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -e "${logmessage} WARN"
fi
# Strip non-printable characters from log file
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
@ -656,8 +690,14 @@ log_warning_msg()
log_skip_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SKIP_PREFIX}${SET_COL}${SKIP_SUFFIX}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SKIP_PREFIX}${SET_COL}${SKIP_SUFFIX}"
else
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo "SKIP"
fi
# Strip non-printable characters from log file
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
@ -677,7 +717,13 @@ log_skip_msg()
################################################################################
log_info_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${BMPREFIX}${@}"
else
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -n -e "${logmessage}"
fi
# Strip non-printable characters from log file
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
@ -689,7 +735,13 @@ log_info_msg()
log_info_msg2()
{
/bin/echo -n -e "${@}"
if [ "x$HEADLESS" != "xyes" ]
then
/bin/echo -n -e "${@}"
else
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -n -e "${logmessage}"
fi
# Strip non-printable characters from log file
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`

View File

@ -110,7 +110,7 @@ for S in ${SERVICE}; do
fi
done
if [ "${SERVICE}" = "wpa" ]; then log_success_msg; fi
#if [ "${SERVICE}" = "wpa" ]; then log_success_msg; fi
# Create/configure the interface
for S in ${SERVICE}; do

View File

@ -94,7 +94,7 @@ NOTES
compound device such as a bridge.
ONBOOT - If set to 'yes', the specified interface is
configured by the netowrk boot script.
configured by the network boot script.
GATEWAY - The default IP address to use for routing if
the destination IP address is not in a static
@ -112,7 +112,7 @@ NOTES
This list is normally a single value, e.g. eth0,
for use with a virtual host such as kvm.
Other paramters that are service specific include:
Other parameters that are service specific include:
ipv4-static
@ -128,7 +128,7 @@ NOTES
additional IP addresses to a network
device. Example: eth0:2 (optional)
BROADCAST - The brodcast address for this interface,
BROADCAST - The broadcast address for this interface,
e.g 192.168.1.255. If not specified,
the broadcast address will be calculated
from the IP and PREFIX.
@ -154,7 +154,7 @@ NOTES
DHCP_START - Optional parameters to pass to the dhcp client
at startup.
DHCP_STOP - Optional paremeters to pass to the dhcp client
DHCP_STOP - Optional parameters to pass to the dhcp client
at shutdown.
PRINTIP - Flag to print the dhcp address to stdout

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -10,6 +10,28 @@
<title>Help</title>
<note>
<para>
In case you've hit an issue building one package with the LFS
instruction, we strongly discourage posting the issue directly onto
the upstream support channel before discussing via a LFS support
channel listed in <xref linkend="ch-intro-resources" role='.'/>
Doing so is often quite inefficient because the upstream
maintainers are rarely familiar with LFS building procedure. Even if
you've really hit an upstream issue, the LFS community can still help
to isolate the information wanted by the upstream maintainers and make
a proper report.
</para>
<para>
If you must ask a question directly via an upstream support channel,
you shall at least note that many upstream projects have the support
channels separated from the bug tracker. The <quote>bug</quote>
reports for asking questions are considered invalid and may annoy
upstream developers for these projects.
</para>
</note>
<para>If an issue or a question is encountered while working through
this book, please check the FAQ page at <ulink url="&faq-root;#generalfaq"/>.
Questions are often already answered there. If your question is not
@ -88,10 +110,10 @@
type of information to include from the <command>make</command> screen
output.</para>
<screen><computeroutput>gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
-DLOCALEDIR=\"/mnt/lfs/usr/share/locale\"
-DLIBDIR=\"/mnt/lfs/usr/lib\"
-DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I.
<screen><computeroutput>gcc -D ALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
-D LOCALEDIR=\"/mnt/lfs/usr/share/locale\"
-D LIBDIR=\"/mnt/lfs/usr/lib\"
-D INCLUDEDIR=\"/mnt/lfs/usr/include\" -D HAVE_CONFIG_H -I. -I.
-g -O2 -c getopt1.c
gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o
expand.o file.o function.o getopt.o implicit.o job.o main.o

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -39,11 +39,456 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem>
<para>2023-03-01</para>
<para>2025-07-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - LFS-11.3 released.</para>
<para>[bdubbs] - Update to vim-9.1.1552 (Security update). Fixes
<ulink url='&lfs-ticket-root;5760'>#5760</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to readline-8.3. Fixes
<ulink url='&lfs-ticket-root;5755'>#5755</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to perl-5.42.0. Fixes
<ulink url='&lfs-ticket-root;5756'>#5756</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to openssl-3.5.1. Fixes
<ulink url='&lfs-ticket-root;5723'>#5723</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to ninja-1.13.1. Fixes
<ulink url='&lfs-ticket-root;5759'>#5759</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.15.6. Fixes
<ulink url='&lfs-ticket-root;5757'>#5757</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gettext-0.25.1. Fixes
<ulink url='&lfs-ticket-root;5753'>#5753</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to e2fsprogs-1.47.3. Fixes
<ulink url='&lfs-ticket-root;5758'>#5758</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bash-5.3. Fixes
<ulink url='&lfs-ticket-root;5754'>#5754</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-07-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250618. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1497. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to util-linux-2.41.1. Fixes
<ulink url='&lfs-ticket-root;5749'>#5749</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to shadow-4.18.0. Fixes
<ulink url='&lfs-ticket-root;5750'>#5750</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to pkgconf-2.5.1. Fixes
<ulink url='&lfs-ticket-root;5746'>#5746</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to ninja-1.13.0. Fixes
<ulink url='&lfs-ticket-root;5745'>#5745</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.15.4. Fixes
<ulink url='&lfs-ticket-root;5748'>#5748</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to less-679. Fixes
<ulink url='&lfs-ticket-root;5747'>#5747</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to automake-1.18.1. Fixes
<ulink url='&lfs-ticket-root;5752'>#5752</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-06-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to meson-1.8.2. Fixes
<ulink url='&lfs-ticket-root;5743'>#5743</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.15.2. Fixes
<ulink url='&lfs-ticket-root;5725'>#5725</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libffi-3.5.1. Fixes
<ulink url='&lfs-ticket-root;5741'>#5741</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-6.15.0. Fixes
<ulink url='&lfs-ticket-root;5732'>#5732</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python-3.13.5. Fixes
<ulink url='&lfs-ticket-root;5743'>#6743</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-06-04</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to ncurses-6.5-20250531. Fixes
<ulink url='&lfs-ticket-root;5737'>#5737</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to readline-8.3-rc2. Fixes
<ulink url='&lfs-ticket-root;5738'>#5738</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bash-5.3-rc2. Fixes
<ulink url='&lfs-ticket-root;5738'>#5738</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python-3.13.4. Fixes
<ulink url='&lfs-ticket-root;5739'>#6739</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-06-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250519. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1418. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to kbd-2.8.0. Fixes
<ulink url='&lfs-ticket-root;5736'>#5736</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to systemd-257.6. Fixes
<ulink url='&lfs-ticket-root;5674'>#5674</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-80.9.0. Fixes
<ulink url='&lfs-ticket-root;5728'>#5728</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.8.1. Fixes
<ulink url='&lfs-ticket-root;5731'>#5731</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to automake-1.18. Fixes
<ulink url='&lfs-ticket-root;5734'>#5734</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update build instructions to accommodate
gcc-15 for bc, expect, ncurses, and gmp.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gcc-15.1.0. Fixes
<ulink url='&lfs-ticket-root;5707'>#5707</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to less-678. Fixes
<ulink url='&lfs-ticket-root;5724'>#5724</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to readline-8.3-rc1. Fixes
<ulink url='&lfs-ticket-root;5726'>#5726</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bash-5.3-rc1. Fixes
<ulink url='&lfs-ticket-root;5714'>#5714</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-05-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to setuptools-80.7.1. Fixes
<ulink url='&lfs-ticket-root;5715'>#5715</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-pages-6.14. Fixes
<ulink url='&lfs-ticket-root;5720'>#5720</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-db-2.13.1. Fixes
<ulink url='&lfs-ticket-root;5719'>#5719</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to m4-1.4.20. Fixes
<ulink url='&lfs-ticket-root;5722'>#5722</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.14.6. Fixes
<ulink url='&lfs-ticket-root;5717'>#5717</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gettext-0.25. Fixes
<ulink url='&lfs-ticket-root;5718'>#5718</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-05-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1353. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-80.0.1. Fixes
<ulink url='&lfs-ticket-root;5710'>#5710</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to packaging-25.0. Fixes
<ulink url='&lfs-ticket-root;5706'>#5706</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.8.0. Fixes
<ulink url='&lfs-ticket-root;5713'>#5713</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.14.4. Fixes
<ulink url='&lfs-ticket-root;5709'>#5709</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250407. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gperf-3.3. Fixes
<ulink url='&lfs-ticket-root;5708'>#5708</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to elfutils-0.193. Fixes
<ulink url='&lfs-ticket-root;5711'>#5711</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-04-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to libcap-2.76. Fixes
<ulink url='&lfs-ticket-root;5704'>#5704</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to perl-5.40.2 (Security update). Fixes
<ulink url='&lfs-ticket-root;5703'>#5703</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Add packaging-24.2 (Python module). Needed for wheel.
</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to xz-5.8.1. Fixes
<ulink url='&lfs-ticket-root;5694'>#5694</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to wheel-0.46.1 (Python Module). Fixes
<ulink url='&lfs-ticket-root;5693'>#5693</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to sysklogd-2.7.2. Fixes
<ulink url='&lfs-ticket-root;5690'>#5690</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python3-3.13.3. Fixes
<ulink url='&lfs-ticket-root;5697'>#5697</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to openssl-3.5.0. Fixes
<ulink url='&lfs-ticket-root;5701'>#5701</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.7.2. Fixes
<ulink url='&lfs-ticket-root;5691'>#5691</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.14.2. Fixes
<ulink url='&lfs-ticket-root;5680'>#5680</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to libffi-3.4.8. Fixes
<ulink url='&lfs-ticket-root;5700'>#5700</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-6.14.0. Fixes
<ulink url='&lfs-ticket-root;5682'>#5682</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gzip-1.14. Fixes
<ulink url='&lfs-ticket-root;5699'>#5699</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to grep-3.12. Fixes
<ulink url='&lfs-ticket-root;5702'>#5702</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gperf-3.2.1. Fixes
<ulink url='&lfs-ticket-root;5695'>#5695</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gawk-5.3.2. Fixes
<ulink url='&lfs-ticket-root;5692'>#5692</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to diffutils-3.12. Fixes
<ulink url='&lfs-ticket-root;5696'>#5696</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to coreutils-9.7. Fixes
<ulink url='&lfs-ticket-root;5698'>#5698</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-04-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1263. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250328. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to xz-5.8.0. Fixes
<ulink url='&lfs-ticket-root;5684'>#5684</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to util-linux-2.41. Fixes
<ulink url='&lfs-ticket-root;5648'>#5648</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to tzdata-2025b. Fixes
<ulink url='&lfs-ticket-root;5681'>#5681</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to shadow-4.17.4. Fixes
<ulink url='&lfs-ticket-root;5678'>#5678</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-78.1.0. Fixes
<ulink url='&lfs-ticket-root;5676'>#5676</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to patch-2.8. Fixes
<ulink url='&lfs-ticket-root;5689'>#5689</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to mpfr-4.2.2. Fixes
<ulink url='&lfs-ticket-root;5677'>#5677</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to kmod-34.2. Fixes
<ulink url='&lfs-ticket-root;5688'>#5688</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gdbm-1.25. Fixes
<ulink url='&lfs-ticket-root;5679'>#5679</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to flit_core-3.12.0. Fixes
<ulink url='&lfs-ticket-root;5683'>#5683</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to expat-2.7.1. Fixes
<ulink url='&lfs-ticket-root;5685'>#5685</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-03-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1202. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250304. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to sysklogd-2.7.1. Fixes
<ulink url='&lfs-ticket-root;5668'>#5668</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-76.0.0. Fixes
<ulink url='&lfs-ticket-root;5665'>#5665</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to pkgconf-2.4.3. Fixes
<ulink url='&lfs-ticket-root;5672'>#5672</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-pages-6.13. Fixes
<ulink url='&lfs-ticket-root;5673'>#5673</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.13.7. Fixes
<ulink url='&lfs-ticket-root;5664'>#5664</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libcap-2.75. Fixes
<ulink url='&lfs-ticket-root;5667'>#5667</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to kmod-34.1. Fixes
<ulink url='&lfs-ticket-root;5671'>#5671</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to jinja2-3.1.6. Fixes
<ulink url='&lfs-ticket-root;5670'>#5670</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to expat-2.7.0. Fixes
<ulink url='&lfs-ticket-root;5675'>#5675</ulink>.</para>
</listitem>
<listitem revision='systemd'>
<para>[bdubbs] - Update to dbus-1.16.2. Fixes
<ulink url='&lfs-ticket-root;5663'>#5663</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-03-05</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - LFS-12.3 released.</para>
</listitem>
</itemizedlist>
</listitem>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -18,15 +18,13 @@
during the distribution installation to include these
tools.</para>
<note><para>There are many ways to install a Linux distribution and
the defaults are usually not optimal for building an LFS system.
For suggestions on setting up a commercial distribution see:
<ulink url="&lfs-root;hints/downloads/files/partitioning-for-lfs.txt"/>.</para></note>
<para>As an alternative to installing a separate distribution on your
machine, you may wish to use <!-- the Linux From Scratch LiveCD or --> a LiveCD from a
commercial distribution. <!-- The LFS LiveCD works well as a host system,
providing all the tools you need to successfully follow the instructions in
this book. The LiveCD version is behind the current book, but is still useful
as a host for building the current book. The <quote>-nosrc</quote> or
<quote>-min</quote> editions of the LiveCD are the most appropriate for
building a current LFS system. For more information about the LFS LiveCD or
to download a copy, visit <ulink url="&livecd-root;"/>. --></para>
machine, you may wish to use a LiveCD from a commercial distribution.</para>
<!--
<note>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
@ -11,14 +11,6 @@
<title>What's new since the last release</title>
<para>In the 11.3 release, <parameter>--enable-default-pie</parameter>
and <parameter>--enable-default-ssp</parameter> are enabled for GCC.
These techniques can mitigate some malicious attacks, but they do not provide
perfect security. Note that some textbooks assume these options are
disabled, so that if you run examples from such a textbook on an LFS system,
you may need to disable PIE and SSP with the GCC options
<parameter>-fno-pie -no-pie -fno-stack-protection</parameter>.</para>
<para>Here is a list of the packages updated since the previous
release of LFS.</para>
@ -43,30 +35,27 @@
<!--<listitem>
<para>Autoconf-&autoconf-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Automake-&automake-version;</para>
</listitem>
<listitem>
<para>Bash-&bash-version;</para>
</listitem>
<!--<listitem>
<para>Bc-&bc-version;</para>
</listitem>-->
<listitem>
<para>Bash &bash-version;</para>
</listitem>
<listitem>
<para>Bc &bc-version;</para>
</listitem>
<listitem>
<!--<listitem>
<para>Binutils-&binutils-version;</para>
</listitem>
</listitem>-->
<!--<listitem>
<para>Bison-&bison-version;</para>
</listitem>-->
<!--<listitem>
<para>Bzip2-&bzip2-version;</para>
</listitem>-->
<!--<listitem>
<para>Check-&check-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Coreutils-&coreutils-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>DejaGNU-&dejagnu-version;</para>
</listitem>-->
@ -79,45 +68,45 @@
<listitem>
<para>E2fsprogs-&e2fsprogs-version;</para>
</listitem>
<!--<listitem revision="sysv">
<para>Eudev-&eudev-version;</para>
</listitem>-->
<listitem>
<para>Expat-&expat-version;</para>
</listitem>
<!--<listitem>
<para>Expect-&expect-version;</para>
</listitem>-->
<listitem>
<!--<listitem>
<para>File-&file-version;</para>
</listitem>
</listitem>-->
<!--<listitem>
<para>Findutils-&findutils-version;</para>
</listitem>-->
<!--<listitem>
<para>Flex-&flex-version;</para>
</listitem>-->
<listitem>
<para>Flit-Core-&flit-core-version;</para>
</listitem>
<listitem>
<para>Gawk-&gawk-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>GCC-&gcc-version;</para>
</listitem>-->
<!--<listitem>
</listitem>
<listitem>
<para>GDBM-&gdbm-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Gettext-&gettext-version;</para>
</listitem>
<listitem>
<!--<listitem>
<para>Glibc-&glibc-version;</para>
</listitem>
</listitem>-->
<!--<listitem>
<para>GMP-&gmp-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Gperf-&gperf-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Grep-&grep-version;</para>
</listitem>
@ -127,30 +116,30 @@
<!--<listitem>
<para>GRUB-&grub-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Gzip-&gzip-version;</para>
</listitem>-->
<listitem>
<para>IANA-Etc-&iana-etc-version;</para>
</listitem>
<listitem>
<para>Iana-Etc-&iana-etc-version;</para>
</listitem>
<!--<listitem>
<para>Inetutils-&inetutils-version;</para>
</listitem>
</listitem>-->
<!--<listitem>
<para>Intltool-&intltool-version;</para>
</listitem>-->
<listitem>
<para>IPRoute2-&iproute2-version;</para>
</listitem>
<!--<listitem revision="systemd">
<listitem>
<para>Jinja2-&jinja2-version;</para>
</listitem>-->
<!--<listitem>
</listitem>
<listitem>
<para>Kbd-&kbd-version;</para>
</listitem>-->
<!--<listitem>
</listitem>
<listitem>
<para>Kmod-&kmod-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Less-&less-version;</para>
</listitem>
@ -161,7 +150,7 @@
<para>Libcap-&libcap-version;</para>
</listitem>
<listitem>
<para>Libelf-&elfutils-version; (from elfutils)</para>
<para>Libelf from Elfutils-&elfutils-version;</para>
</listitem>
<listitem>
<para>Libffi-&libffi-version;</para>
@ -172,111 +161,123 @@
<!--<listitem>
<para>Libtool-&libtool-version;</para>
</listitem>-->
<!--<listitem>
<para>Libxcrypt-&libxcrypt-version;</para>
</listitem>-->
<listitem>
<para>Linux-&linux-version;</para>
</listitem>
<!--<listitem>
<para>M4-&m4-version;</para>
<para>Lz4-&lz4-version;</para>
</listitem>-->
<listitem>
<para>Make-&make-version;</para>
<para>M4-&m4-version;</para>
</listitem>
<!--<listitem>
<para>Make-&make-version;</para>
</listitem>-->
<listitem>
<para>Man-DB-&man-db-version;</para>
</listitem>
<listitem>
<para>Man-pages-&man-pages-version;</para>
</listitem>
<listitem revision="systemd">
<!--<listitem>
<para>MarkupSafe-&markupsafe-version;</para>
</listitem>
</listitem>-->
<listitem>
<para>Meson-&meson-version;</para>
</listitem>
<listitem>
<!--<listitem>
<para>MPC-&mpc-version;</para>
</listitem>
</listitem>-->
<listitem>
<para>MPFR-&mpfr-version;</para>
</listitem>
<listitem>
<!--<listitem>
<para>Ncurses-&ncurses-version;</para>
</listitem>
</listitem>-->
<listitem>
<para>Ninja-&ninja-version;</para>
</listitem>
<listitem>
<para>Openssl-&openssl-version;</para>
<para>OpenSSL-&openssl-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Patch-&patch-version;</para>
</listitem>-->
<!--<listitem>
</listitem>
<listitem>
<para>Perl-&perl-version;</para>
</listitem>
<listitem>
<para>Pkgconf-&pkgconf-version;</para>
</listitem>
<!--<listitem>
<para>Procps-ng-&procps-ng-version;</para>
</listitem>-->
<!--<listitem>
<para>Pkg-config-&pkgconfig-version;</para>
</listitem>-->
<listitem>
<para>Procps-ng-&procps-ng-version;</para>
</listitem>
<listitem>
<para>Psmisc-&psmisc-version;</para>
</listitem>
</listitem>-->
<listitem>
<para>Python-&python-version;</para>
</listitem>
<listitem>
<para>Readline-&readline-version;</para>
</listitem>
<listitem>
<!--<listitem>
<para>Sed-&sed-version;</para>
</listitem>-->
<listitem>
<para>Setuptools-&setuptools-version;</para>
</listitem>
<listitem>
<para>Shadow-&shadow-version;</para>
</listitem>
<!--<listitem revision="sysv">
<listitem revision="sysv">
<para>Sysklogd-&sysklogd-version;</para>
</listitem>-->
<listitem revision="systemd">
</listitem>
<listitem>
<para>Systemd-&systemd-version;</para>
</listitem>
<listitem revision="sysv">
<!--<listitem revision="sysv">
<para>SysVinit-&sysvinit-version;</para>
</listitem>
</listitem>-->
<!--<listitem>
<para>Tar-&tar-version;</para>
</listitem>-->
<listitem>
<!--<listitem>
<para>Tcl-&tcl-version;</para>
</listitem>
<listitem>
</listitem>-->
<!--<listitem>
<para>Texinfo-&texinfo-version;</para>
</listitem>
</listitem>-->
<listitem>
<para>Tzdata-&tzdata-version;</para>
</listitem>
<!--<listitem>
<para>Util-Linux-&util-linux-version;</para>
<!--<listitem revision="sysv">
<para>Udev from Systemd-&systemd-version;</para>
</listitem>-->
<listitem>
<para>Util-linux-&util-linux-version;</para>
</listitem>
<listitem>
<para>Vim-&vim-version;</para>
</listitem>
<listitem>
<para>wheel-&wheel-version;</para>
<para>Wheel-&wheel-version;</para>
</listitem>
<!--<listitem>
<para>XML-Parser-&xml-parser-version;</para>
<para>XML::Parser-&xml-parser-version;</para>
</listitem>-->
<listitem>
<para>XZ-Utils-&xz-version;</para>
<para>Xz-&xz-version;</para>
</listitem>
<listitem>
<!--<listitem>
<para>Zlib-&zlib-version;</para>
</listitem>
<listitem>
</listitem>-->
<!--<listitem>
<para>Zstd-&zstd-version;</para>
</listitem>
</listitem>-->
</itemizedlist>
<!--<itemizedlist>
@ -293,24 +294,22 @@
<listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>&grub-upstream-fixes-patch;</para>
<para>Packaging-&packaging-version;</para>
</listitem>
<listitem>
<para>&readline-fixes-patch;</para>
<para>coreutils-9.7-upstream_fix-1.patch</para>
</listitem>
<listitem>
<para>perl-5.40.2-upstream_fix-1.patch</para>
</listitem>
<listitem revision="systemd">
<para>&systemd-upstream-patch;</para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>Removed:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>zstd-1.5.2-upstream_fixes-1.patch</para>
<para>Check-0.15.2</para>
</listitem>
</itemizedlist>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -8,7 +8,7 @@
<sect1 id="ch-partitioning-aboutlfs">
<?dbhtml filename="aboutlfs.html"?>
<title>Setting The $LFS Variable</title>
<title>Setting the $LFS Variable and the Umask</title>
<para>Throughout this book, the environment variable <envar>LFS</envar> will
be used several times. You should ensure that this variable is always defined
@ -28,8 +28,24 @@
<quote>/mnt/lfs</quote> (or whatever value the variable was set to) when it
processes the command line.</para>
<para>Now set the file mode creation mask (umask) to
<literal>022</literal> in case the host distro uses a different
default:</para>
<screen role="nodump"><userinput>umask 022</userinput></screen>
<para>Setting the umask to 022 ensures that newly created files and
directories are only writable by their owner, but are readable and
searchable (only for directories) by anyone (assuming default modes are
used by the <ulink role='man' url='&man;open.2'>open(2)</ulink> system
call, new files will end up with permission mode 644 and directories with
mode 755). An overly-permissive default can leave security holes in the
LFS system, and an overly-restrictive default can cause strange issues
building or using the LFS system.</para>
<caution>
<para>Do not forget to check that <envar>LFS</envar> is set whenever
<para>Do not forget to check that <envar>LFS</envar> is set and the
umask is set to <literal>022</literal> whenever
you leave and reenter the current working environment (such as when doing a
<command>su</command> to <systemitem class="username">root</systemitem> or
another user). Check that the <envar>LFS</envar> variable is set up
@ -39,29 +55,40 @@
<para>Make sure the output shows the path to your LFS system's build
location, which is <filename class="directory">/mnt/lfs</filename> if the
provided example was followed. If the output is incorrect, use the command
given earlier on this page to set <envar>$LFS</envar> to the correct
directory name.</para>
</caution>
provided example was followed.</para>
<note><para>One way to ensure that the <envar>LFS</envar> variable is always
set is to edit the <filename>.bash_profile</filename> file in both your
personal home directory and in <filename>/root/.bash_profile</filename> and
enter the export command above. In addition, the shell specified in the
<para>Check that the umask is set up properly with:</para>
<screen role="nodump"><userinput>umask</userinput></screen>
<para>The output may be <computeroutput>0022</computeroutput> or
<computeroutput>022</computeroutput> (the number of leading zeros depends
on the host distro).</para>
<para>If any output of these two commands is incorrect, use the command
given earlier on this page to set <envar>$LFS</envar> to the correct
directory name and set umask to <literal>022</literal>.</para></caution>
<note><para>One way to ensure that the <envar>LFS</envar> variable and the
umask are always set properly is to edit the
<filename>.bash_profile</filename> file in both your personal home
directory and in <filename>/root/.bash_profile</filename> and
enter the <command>export</command> and <command>umask</command> commands
above. In addition, the shell specified in the
<filename>/etc/passwd</filename> file for all users that need the
<envar>LFS</envar> variable must be bash to ensure that the
<filename>/root/.bash_profile</filename> file is incorporated as a part of
<filename>.bash_profile</filename> file is incorporated as a part of
the login process.</para>
<para>Another consideration is the method that is used to log into the
host system. If logging in through a graphical display manager, the
user's <filename>.bash_profile</filename> is not normally used when
a virtual terminal is started. In this case, add the export command to
a virtual terminal is started. In this case, add the commands to
the <filename>.bashrc</filename> file for the user and
<systemitem class="username">root</systemitem>. In addition,
some distributions use an "if" test, and do not run the remaining <filename>.bashrc</filename>
instructions for a non-interactive bash invocation. Be sure to place the
export command ahead of the test for non-interactive use.</para>
commands ahead of the test for non-interactive use.</para>
</note>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -50,7 +50,7 @@
</varlistentry>
</variablelist>
<para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are
<para>Other file systems, including FAT32, NTFS, JFS, and XFS are
useful for specialized purposes. More information about these file systems,
and many others, can be found at <ulink
url="https://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -40,7 +40,8 @@
<filename class="devicefile">/dev/sda</filename> for the primary
disk drive. Create a Linux native partition and a
<systemitem class="filesystem">swap</systemitem> partition, if needed. Please
refer to <filename>cfdisk(8)</filename> or <filename>fdisk(8)</filename> if
refer to <ulink role='man' url='&man;cfdisk.8'>cfdisk(8)</ulink> or
<ulink role='man' url='&man;fdisk.8'>fdisk(8)</ulink> if
you do not yet know how to use the programs.</para>
<note><para>For experienced users, other partitioning schemes are possible.
@ -169,7 +170,7 @@
used, 5 to 10 gigabytes is generally adequate.</para>
</listitem>
<listitem revision='sysv'><para>/tmp &ndash; A separate /tmp directory
<listitem revision='sysv'><para>/tmp &ndash; A separate /tmp partition
is rare, but useful if configuring a thin client. This partition, if
used, will usually not need to exceed a couple of
gigabytes. If you have enough RAM, you can mount a

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -29,9 +29,10 @@
minimum versions indicated. This should not be an issue for most
modern Linux distributions. Also note that many distributions will
place software headers into separate packages, often in the form of
<quote>&lt;package-name&gt;-devel</quote> or
<quote>&lt;package-name&gt;-dev</quote>. Be sure to install those if
your distribution provides them.</para>
<literal><replaceable>&lt;package-name&gt;</replaceable>-devel</literal>
or
<literal><replaceable>&lt;package-name&gt;</replaceable>-dev</literal>.
Be sure to install those if your distribution provides them.</para>
<para>Earlier versions of the listed software packages may work, but have
not been tested.</para>
@ -54,8 +55,9 @@
should be a link to bison or a small script that executes bison)</para>
</listitem>
<!-- In Coreutils-8.1 the nproc program is added. -->
<listitem>
<para><emphasis role="strong">Coreutils-6.9</emphasis></para>
<para><emphasis role="strong">Coreutils-8.1</emphasis></para>
</listitem>
<listitem>
@ -72,7 +74,9 @@
</listitem>
<listitem>
<para><emphasis role="strong">GCC-5.1</emphasis> including the C++
<!-- Pass 1 GCC FTBFS with GCC-5.1 because of
https://gcc.gnu.org/PR65801. -->
<para><emphasis role="strong">GCC-5.2</emphasis> including the C++
compiler, <command>g++</command> (Versions greater than &gcc-version; are
not recommended as they have not been tested). C and C++ standard
libraries (with headers) must also be present so the C++ compiler can
@ -93,8 +97,15 @@
<para>The reason for the kernel version requirement is that we specify
that version when building <application>glibc</application> in
<xref linkend="chapter-cross-tools"/> and
<xref linkend="chapter-building-system"/>,
at the recommendation of the developers.</para>
<xref linkend="chapter-building-system"/>, so the workarounds for
older kernels are not enabled and the compiled
<application>glibc</application> is slightly faster and smaller.
As at Dec 2024, &min-kernel; is the oldest kernel release still
supported by the kernel developers. Some kernel releases older than
&min-kernel; may be still supported by third-party teams, but they
are not considered official upstream kernel releases; read
<ulink url='https://kernel.org/category/releases.html'/> for the
details.</para>
<para>If the host kernel is earlier than &min-kernel; you will need to replace
the kernel with a more up-to-date version. There are two ways
@ -105,6 +116,12 @@
compiling the kernel and configuring the boot loader (assuming the host
uses GRUB) are located in <xref linkend="chapter-bootable"/>.</para>
<para>We require the host kernel to support UNIX 98 pseudo terminal
(PTY). It should be enabled on all desktop or server distros shipping
Linux &min-kernel; or a newer kernel. If you are building a custom
host kernel, ensure <option>CONFIG_UNIX98_PTYS</option> is set to
<literal>y</literal> in the kernel configuration.</para>
</listitem>
<listitem>
@ -136,7 +153,7 @@
</listitem>
<listitem>
<para><emphasis role="strong">Texinfo-4.7</emphasis></para>
<para><emphasis role="strong">Texinfo-5.0</emphasis></para>
</listitem>
<listitem>
@ -164,79 +181,100 @@
<para >To see whether your host system has all the appropriate versions, and
the ability to compile programs, run the following commands:</para>
<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
<screen role="nodump"><?dbfo keep-together="auto"?><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4
MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -&gt; $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash"
unset MYSH
# A script to list version numbers of critical development tools
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
# If you have tools installed in other directories, adjust PATH here AND
# in ~lfs/.bashrc (section 4.4) as well.
if [ -h /usr/bin/yacc ]; then
echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
elif [ -x /usr/bin/yacc ]; then
echo yacc is `/usr/bin/yacc --version | head -n1`
LC_ALL=C
PATH=/usr/bin:/bin
bail() { echo "FATAL: $1"; exit 1; }
grep --version > /dev/null 2> /dev/null || bail "grep does not work"
sed '' /dev/null || bail "sed does not work"
sort /dev/null || bail "sort does not work"
ver_check()
{
if ! type -p $2 &amp;>/dev/null
then
echo "ERROR: Cannot find $2 ($1)"; return 1;
fi
v=$($2 --version 2>&amp;1 | grep -E -o '[0-9]+\.[0-9\.]+[a-z]*' | head -n1)
if printf '%s\n' $3 $v | sort --version-sort --check &amp;>/dev/null
then
printf "OK: %-9s %-6s >= $3\n" "$1" "$v"; return 0;
else
printf "ERROR: %-9s is TOO OLD ($3 or later required)\n" "$1";
return 1;
fi
}
ver_kernel()
{
kver=$(uname -r | grep -E -o '^[0-9\.]+')
if printf '%s\n' $1 $kver | sort --version-sort --check &amp;>/dev/null
then
printf "OK: Linux Kernel $kver >= $1\n"; return 0;
else
printf "ERROR: Linux Kernel ($kver) is TOO OLD ($1 or later required)\n" "$kver";
return 1;
fi
}
# Coreutils first because --version-sort needs Coreutils >= 7.0
ver_check Coreutils sort 8.1 || bail "Coreutils too old, stop"
ver_check Bash bash 3.2
ver_check Binutils ld 2.13.1
ver_check Bison bison 2.7
ver_check Diffutils diff 2.8.1
ver_check Findutils find 4.2.31
ver_check Gawk gawk 4.0.1
ver_check GCC gcc 5.2
ver_check "GCC (C++)" g++ 5.2
ver_check Grep grep 2.5.1a
ver_check Gzip gzip 1.3.12
ver_check M4 m4 1.4.10
ver_check Make make 4.0
ver_check Patch patch 2.5.4
ver_check Perl perl 5.8.8
ver_check Python python3 3.4
ver_check Sed sed 4.1.5
ver_check Tar tar 1.22
ver_check Texinfo texi2any 5.0
ver_check Xz xz 5.0.0
ver_kernel &min-kernel;
if mount | grep -q 'devpts on /dev/pts' &amp;&amp; [ -e /dev/ptmx ]
then echo "OK: Linux Kernel supports UNIX 98 PTY";
else echo "ERROR: Linux Kernel does NOT support UNIX 98 PTY"; fi
alias_check() {
if $1 --version 2>&amp;1 | grep -qi $2
then printf "OK: %-4s is $2\n" "$1";
else printf "ERROR: %-4s is NOT $2\n" "$1"; fi
}
echo "Aliases:"
alias_check awk GNU
alias_check yacc Bison
alias_check sh Bash
echo "Compiler check:"
if printf "int main(){}" | g++ -x c++ -
then echo "OK: g++ works";
else echo "ERROR: g++ does NOT work"; fi
rm -f a.out
if [ "$(nproc)" = "" ]; then
echo "ERROR: nproc is not available or it produces empty output"
else
echo "yacc not found"
fi
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -h /usr/bin/awk ]; then
echo "/usr/bin/awk -&gt; `readlink -f /usr/bin/awk`";
elif [ -x /usr/bin/awk ]; then
echo awk is `/usr/bin/awk --version | head -n1`
else
echo "awk not found"
fi
gcc --version | head -n1
g++ --version | head -n1
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
python3 --version
sed --version | head -n1
tar --version | head -n1
makeinfo --version | head -n1 # texinfo version
xz --version | head -n1
echo 'int main(){}' &gt; dummy.c &amp;&amp; g++ -o dummy dummy.c
if [ -x dummy ]
then echo "g++ compilation OK";
else echo "g++ compilation failed"; fi
rm -f dummy.c dummy</literal>
echo "OK: nproc reports $(nproc) logical cores are available"
fi</literal>
EOF
bash version-check.sh</userinput></screen>
<!--
<para>Also check for some library consistency:</para>
<screen role="nodump"><userinput>cat &gt; library-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
for lib in lib{gmp,mpfr,mpc}.la; do
echo $lib: $(if find /usr/lib* -name $lib|
grep -q $lib;then :;else echo not;fi) found
done
unset lib</literal>
EOF
bash library-check.sh</userinput></screen>
<para>The files identified by this script should be all present
or all absent, but not only one or two present.</para>
-->
</sect2>
</sect1>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -16,7 +16,7 @@
<envar>LFS</envar> environment variable described in the previous section.
</para>
<para>Strictly speaking, one cannot "mount a partition". One mounts the <emphasis>file
<para>Strictly speaking, one cannot <quote>mount a partition.</quote> One mounts the <emphasis>file
system</emphasis> embedded in that partition. But since a single partition can't contain
more than one file system, people often speak of the partition and the
associated file system as if they were one and the same.</para>
@ -42,6 +42,15 @@ mount -v -t ext4 /dev/<replaceable>&lt;yyy&gt;</replaceable> $LFS/home</userinpu
<replaceable>&lt;yyy&gt;</replaceable> with the appropriate partition
names.</para>
<para>Set the owner and permission mode of the
<filename class='directory'>$LFS</filename> directory (i.e. the root
directory in the newly created file system for the LFS system) to
&root; and <literal>755</literal> in case the host distro has been
configured to use a different default for <command>mkfs</command>:</para>
<screen role='nodump'><userinput>chown root:root $LFS
chmod 755 $LFS</userinput></screen>
<para>Ensure that this new partition is not mounted with permissions that are
too restrictive (such as the <option>nosuid</option> or
<option>nodev</option> options). Run the <command>mount</command> command

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -68,8 +68,9 @@
</listitem>
<listitem>
<para>A few operations, from <quote>Changing Ownership</quote> to
<quote>Entering the Chroot Environment</quote>, must be done as the
<para>A few operations, from <quote>Preparing Virtual Kernel File
Systems</quote> to
<quote>Entering the Chroot Environment,</quote> must be done as the
<systemitem class="username">root</systemitem> user, with the LFS
environment variable set for the &root; user.</para>
</listitem>
@ -86,7 +87,7 @@
and, as <systemitem class="username">root</systemitem>, running the
commands in
<xref linkend='ch-tools-bindmount'/> and
<xref linkend='ch-tools-kernfsmount'/>.</para>
<xref linkend='ch-tools-kernfsmount' role='.'/></para>
</listitem>
</itemizedlist>
</sect2>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -22,8 +22,9 @@
<para>For some packages, the release tarball and the (Git or SVN)
repository snapshot tarball for that release may be published with
similar file names. A release tarball contains generated files (for
example, a <command>configure</command> script generated by
similar or even identical file names. But the release tarball may contain
some files which are essential despite not stored in the repository
(for example, a <command>configure</command> script generated by
<command>autoconf</command>), in addition to the contents of the
corresponding repository snapshot. The book uses release tarballs
whenever possible. Using a repository snapshot instead of a release

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -62,7 +62,6 @@
<para>Home page: <ulink url="&automake-home;"/></para>
<para>Download: <ulink url="&automake-url;"/></para>
<para>MD5 sum: <literal>&automake-md5;</literal></para>
<para>SHA256 sum: <literal>&automake-sha256;</literal></para>
</listitem>
</varlistentry>
@ -111,15 +110,6 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Check (&check-version;) - <token>&check-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&check-home;"/></para>
<para>Download: <ulink url="&check-url;"/></para>
<para>MD5 sum: <literal>&check-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term>
<listitem>
@ -174,14 +164,6 @@
</listitem>
</varlistentry>
<varlistentry revision="sysv">
<term>Eudev (&eudev-version;) - <token>&eudev-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&eudev-url;"/></para>
<para>MD5 sum: <literal>&eudev-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Expat (&expat-version;) - <token>&expat-size;</token>:</term>
<listitem>
@ -227,6 +209,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Flit-core (&flit-core-version;) - <token>&flit-core-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&flit-core-home;"/></para>
<para>Download: <ulink url="&flit-core-url;"/></para>
<para>MD5 sum: <literal>&flit-core-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Gawk (&gawk-version;) - <token>&gawk-size;</token>:</term>
<listitem>
@ -242,7 +233,6 @@
<para>Home page: <ulink url="&gcc-home;"/></para>
<para>Download: <ulink url="&gcc-url;"/></para>
<para>MD5 sum: <literal>&gcc-md5;</literal></para>
<para>SHA256 sum: <literal>&gcc-sha256;</literal></para>
</listitem>
</varlistentry>
@ -356,7 +346,6 @@
<para>Home page: <ulink url="&inetutils-home;"/></para>
<para>Download: <ulink url="&inetutils-url;"/></para>
<para>MD5 sum: <literal>&inetutils-md5;</literal></para>
<para>SHA256 sum: <literal>&inetutils-sha256;</literal></para>
</listitem>
</varlistentry>
@ -378,7 +367,7 @@
</listitem>
</varlistentry>
<varlistentry revision="systemd">
<varlistentry>
<term>Jinja2 (&jinja2-version;) - <token>&jinja2-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&jinja2-home;"/></para>
@ -459,6 +448,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Libxcrypt (&libxcrypt-version;) - <token>&libxcrypt-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&libxcrypt-home;"/></para>
<para>Download: <ulink url="&libxcrypt-url;"/></para>
<para>MD5 sum: <literal>&libxcrypt-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Linux (&linux-version;) - <token>&linux-size;</token>:</term>
<listitem>
@ -482,6 +480,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Lz4 (&lz4-version;) - <token>&lz4-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&lz4-home;"/></para>
<para>Download: <ulink url="&lz4-url;"/></para>
<para>MD5 sum: <literal>&lz4-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>M4 (&m4-version;) - <token>&m4-size;</token>:</term>
<listitem>
@ -518,7 +525,7 @@
</listitem>
</varlistentry>
<varlistentry revision="systemd">
<varlistentry>
<term>MarkupSafe (&markupsafe-version;) - <token>&markupsafe-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&markupsafe-home;"/></para>
@ -581,6 +588,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Packaging (&packaging-version;) - <token>&packaging-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&packaging-home;"/></para>
<para>Download: <ulink url="&packaging-url;"/></para>
<para>MD5 sum: <literal>&packaging-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Patch (&patch-version;) - <token>&patch-size;</token>:</term>
<listitem>
@ -600,11 +616,11 @@
</varlistentry>
<varlistentry>
<term>Pkg-config (&pkgconfig-version;) - <token>&pkgconfig-size;</token>:</term>
<term>Pkgconf (&pkgconf-version;) - <token>&pkgconf-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&pkgconfig-home;"/></para>
<para>Download: <ulink url="&pkgconfig-url;"/></para>
<para>MD5 sum: <literal>&pkgconfig-md5;</literal></para>
<para>Home page: <ulink url="&pkgconf-home;"/></para>
<para>Download: <ulink url="&pkgconf-url;"/></para>
<para>MD5 sum: <literal>&pkgconf-md5;</literal></para>
</listitem>
</varlistentry>
@ -661,6 +677,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Setuptools (&setuptools-version;) - <token>&setuptools-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&setuptools-home;"/></para>
<para>Download: <ulink url="&setuptools-url;"/></para>
<para>MD5 sum: <literal>&setuptools-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Shadow (&shadow-version;) - <token>&shadow-size;</token>:</term>
<listitem>
@ -679,7 +704,7 @@
</listitem>
</varlistentry>
<varlistentry revision="systemd">
<varlistentry>
<term>Systemd (&systemd-version;) - <token>&systemd-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&systemd-home;"/></para>
@ -688,8 +713,8 @@
</listitem>
</varlistentry>
<varlistentry revision="systemd">
<term>Systemd Man Pages(&systemd-version;) - <token>&systemd-man-size;</token>:</term>
<varlistentry>
<term>Systemd Man Pages (&systemd-version;) - <token>&systemd-man-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&systemd-home;"/></para>
<para>Download: <ulink url="&systemd-man-url;"/></para>
@ -705,7 +730,7 @@
<varlistentry revision="sysv">
<term>Sysvinit (&sysvinit-version;) - <token>&sysvinit-size;</token>:</term>
<term>SysVinit (&sysvinit-version;) - <token>&sysvinit-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&sysvinit-home;"/></para>
<para>Download: <ulink url="&sysvinit-url;"/></para>
@ -797,8 +822,7 @@
<note>
<para>
The version of vim changes daily. To get the latest version, go to
<ulink url="https://github.com/vim/vim/releases">
https://github.com/vim/vim/tags</ulink>.
<ulink url="https://github.com/vim/vim/tags"/>.
</para>
</note>
</listitem>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -25,22 +25,21 @@
<para>MD5 sum: <literal>&autoconf-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!-- <varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
<varlistentry>
<term>Bash Cross Compile Fix Patch - <token>&bash-crosscompile-fix-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&bash-crosscompile-fix-patch;"/></para>
<para>MD5 sum: <literal>&bash-crosscompile-fix-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>
<term>Binutils Upstream Fixes Patch - <token>&binutils-upstream-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&binutils-lto-patch;"/></para>
<para>MD5 sum: <literal>&binutils-lto-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&binutils-upstream-patch;"/></para>
<para>MD5 sum: <literal>&binutils-upstream-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
@ -52,6 +51,14 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Coreutils Upstream Fix Patch - <token>&coreutils-upstream-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&coreutils-upstream-patch;"/></para>
<para>MD5 sum: <literal>&coreutils-upstream-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term>
<listitem>
@ -59,15 +66,15 @@
<para>MD5 sum: <literal>&coreutils-i18n-patch-md5;</literal></para>
</listitem>
</varlistentry>
<!--
<varlistentry>
<term>Coreutils Chmod Fix Patch - <token>&coreutils-chmod-patch-size;</token>:</term>
<term>Expect GCC15 Patch - <token>&expect-gcc15-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&coreutils-chmod-patch;"/></para>
<para>MD5 sum: <literal>&coreutils-chmod-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&expect-gcc15-patch;"/></para>
<para>MD5 sum: <literal>&expect-gcc15-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Gcc glibc-2.36 Fixes Patch - <token>&gcc-upstream-fixes-patch-size;</token>:</term>
@ -76,6 +83,15 @@
<para>MD5 sum: <literal>&gcc-upstream-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Glibc Upstream Fix Patch - <token>&glibc-upstream-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&glibc-upstream-patch;"/></para>
<para>MD5 sum: <literal>&glibc-upstream-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<varlistentry>
<term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term>
@ -85,14 +101,6 @@
</listitem>
</varlistentry>
<varlistentry>
<term>GRUB Upstream Fixes Patch - <token>&grub-upstream-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&grub-upstream-fixes-patch;"/></para>
<para>MD5 sum: <literal>&grub-upstream-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Kbd Backspace/Delete Fix Patch - <token>&kbd-backspace-patch-size;</token>:</term>
<listitem>
@ -116,42 +124,40 @@
<para>MD5 sum: <literal>&libpipeline-checks-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Perl Upstream Fix Patch - <token>&perl-fix-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&perl-fix-patch;"/></para>
<para>MD5 sum: <literal>&perl-fix-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<varlistentry>
<term>Readline Upstream Fix Patch - <token>&readline-fixes-patch-size;</token>:</term>
<term>Perl Upstream Fix Patch - <token>&perl-upstream-fix-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&readline-fixes-patch;"/></para>
<para>MD5 sum: <literal>&readline-fixes-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&perl-upstream-fix-patch;"/></para>
<para>MD5 sum: <literal>&perl-upstream-fix-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Python Security Fix Patch - <token>&python-security-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&python-security-fixes-patch;"/></para>
<para>MD5 sum: <literal>&python-security-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<varlistentry revision="sysv">
<term>Sysvinit Consolidated Patch - <token>&sysvinit-consolidated-patch-size;</token>:</term>
<term>SysVinit Consolidated Patch - <token>&sysvinit-consolidated-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&sysvinit-consolidated-patch;"/></para>
<para>MD5 sum: <literal>&sysvinit-consolidated-patch-md5;</literal></para>
</listitem>
</varlistentry>
<!--
<varlistentry revision="systemd">
<term>Systemd Upstream Patch - <token>&systemd-upstream-patch-size;</token>:</term>
<term>Systemd Upstream Fixes Patch - <token>&systemd-upstream-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&systemd-upstream-patch;"/></para>
<para>MD5 sum: <literal>&systemd-upstream-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Xz Upstream Fix Patch - <token>&xz-upstream-fix-patch-size;</token>:</term>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -26,9 +26,9 @@
unit of time.</para>
<para>For example, consider a package whose compilation time is 4.5
SBUs. This means that if your system took 10 minutes to compile and
SBUs. This means that if your system took 4 minutes to compile and
install the first pass of binutils, it will take
<emphasis>approximately</emphasis> 45 minutes to build the example package.
<emphasis>approximately</emphasis> 18 minutes to build the example package.
Fortunately, most build times are shorter than one SBU.</para>
<para>SBUs are not entirely accurate because they depend on many
@ -36,19 +36,37 @@
to give an estimate of how long it might take to install a package, but the
numbers can vary by as much as dozens of minutes in some cases.</para>
<para>On some newer systems, the motherboard is capable of controlling
the system clock speed. This can be controlled with a command such as
<command>powerprofilesctl</command>. This is not available in LFS, but
may be available on the host distro. After LFS is complete, it can be
added to a system with the procedures at the
<ulink url='&blfs-book;sysutils/power-profiles-daemon.html'>
BLFS power-profiles-daemon</ulink> page.
Before measuring the build time of any package it is advisable to use a
system power profile set for maximum performance (and maximum power
consumption).
Otherwise the measured SBU value may be inaccurate because the
system may react differently when building <xref linkend='ch-tools-binutils-pass1'/>
or other packages.
Be aware that a significant inaccuracy can still show up even if the same
profile is used for both packages because the system may respond slower if
the system is idle when starting the build procedure. Setting the power
profile to <quote>performance</quote> will minimize this problem. And
obviously doing so will also make the system build LFS faster.</para>
<para>If <command>powerprofilesctl</command> is available, issue the
<command>powerprofilesctl set performance</command> command to select
the <literal>performance</literal> profile. Some distros provides the
<command>tuned-adm</command> command for managing the profiles instead of
<command>powerprofilesctl</command>, on these distros issue the
<command>tuned-adm profile throughput-performance</command> command to
select the <literal>throughput-performance</literal> profile.</para>
<note>
<para>For many modern systems with multiple processors (or cores) the
compilation time for a package can be reduced by performing a "parallel
make" by either setting an environment variable or telling the
<command>make</command> program how many processors are available. For
instance, an Intel i5-6500 CPU can support four simultaneous processes with:</para>
<screen role="nodump"><userinput>export MAKEFLAGS='-j4'</userinput></screen>
<para>or by building with:</para>
<screen role="nodump"><userinput>make -j4</userinput></screen>
<para>When multiple processors are used in this way, the SBU units in the
book will vary even more than they normally would. In some cases, the make
step will simply fail. Analyzing the output of the build process will also
@ -56,10 +74,11 @@
interleaved. If you run into a problem with a build step, revert to a
single processor build to properly analyze the error messages.</para>
<para>The times presented here are based upon using four cores (-j4). The
<para>The times presented here for all packages
(except <xref linkend='ch-tools-binutils-pass1'/> which is based on one core)
are based upon using four cores (-j4). The
times in Chapter 8 also include the time to run the regression tests for
the package unless specified otherwise.</para>
</note>
</sect1>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -20,8 +20,8 @@
the installation process. As <systemitem class="username">root</systemitem>,
issue the following commands to add the new user:</para>
<screen><userinput>groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
<screen><userinput>groupadd &lfs-groupname;
useradd -s /bin/bash -g &lfs-groupname; -m -k /dev/null &lfs-username;</userinput></screen>
<variablelist>
<title>This is what the command line options mean:</title>
@ -74,15 +74,15 @@ useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
have a password), you need to set a password for &lfs-user;. Issue the
following command as the &root; user to set the password:</para>
<screen role="nodump"><userinput>passwd lfs</userinput></screen>
<screen role="nodump"><userinput>passwd &lfs-username;</userinput></screen>
<para>Grant <systemitem class="username">lfs</systemitem> full access to
all the directories under <filename class="directory">$LFS</filename> by making
<systemitem class="username">lfs</systemitem> the owner:</para>
<screen><userinput>chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools}
<screen><userinput>chown -v &lfs-username; $LFS/{usr{,/*},var,etc,tools}
case $(uname -m) in
x86_64) chown -v lfs $LFS/lib64 ;;
x86_64) chown -v &lfs-username; $LFS/lib64 ;;
esac</userinput></screen>
<note><para>In some host systems, the following <command>su</command> command does not complete
@ -94,11 +94,12 @@ esac</userinput></screen>
logging in as &lfs-user; on a virtual console, or with the following
substitute/switch user command:</para>
<screen role="nodump"><userinput>su - lfs</userinput></screen>
<screen role="nodump"><userinput>su - &lfs-username;</userinput></screen>
<para>The <quote><parameter>-</parameter></quote> instructs
<command>su</command> to start a login shell as opposed to a non-login shell.
The difference between these two types of shells is described in detail in
<filename>bash(1)</filename> and <command>info bash</command>.</para>
<ulink role='man' url='&man;bash.1'>bash(1)</ulink> and <command>info
bash</command>.</para>
</sect1>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -76,11 +76,8 @@ EOF</userinput></screen>
<varlistentry>
<term><parameter>umask 022</parameter></term>
<listitem>
<para>Setting the user file-creation mask (umask) to 022 ensures that newly
created files and directories are only writable by their owner, but are
readable and executable by anyone (assuming default modes are used by the
<function>open(2)</function> system call, new files will end up with permission
mode 644 and directories with mode 755).</para>
<para>Setting the umask as we've already explained in
<xref linkend='ch-partitioning-aboutlfs' role='.'/></para>
</listitem>
</varlistentry>
@ -104,7 +101,7 @@ EOF</userinput></screen>
</varlistentry>
<varlistentry>
<term><parameter>LFS_TGT=(uname -m)-lfs-linux-gnu</parameter></term>
<term><parameter>LFS_TGT=$(uname -m)-lfs-linux-gnu</parameter></term>
<listitem>
<para>The <envar>LFS_TGT</envar> variable sets a non-default, but compatible machine
description for use when building our cross-compiler and linker and when
@ -195,6 +192,55 @@ EOF</userinput></screen>
completed LFS system.</para>
</important>
<para>
For many modern systems with multiple processors (or cores) the
compilation time for a package can be reduced by performing a "parallel
make" by telling the make program how many processors are available via
a command line option or an environment variable. For instance, an Intel
Core i9-13900K processor has 8 P (performance) cores and
16 E (efficiency) cores, and a P core can simultaneously run two threads
so each P core are modeled as two logical cores by the Linux kernel.
As the result there are 32 logical cores in total. One obvious way to
use all these logical cores is allowing <command>make</command> to spawn
up to 32 build jobs. This can be done by passing the
<parameter>-j32</parameter> option to <command>make</command>:
</para>
<screen role='nodump'><userinput>make -j32</userinput></screen>
<para>
Or set the <envar>MAKEFLAGS</envar> environment variable and its
content will be automatically used by <command>make</command> as
command line options:
</para>
<screen role='nodump'><userinput>export MAKEFLAGS=-j32</userinput></screen>
<important>
<para>
Never pass a <parameter>-j</parameter> option without a number to
<command>make</command> or set such an option in
<envar>MAKEFLAGS</envar>. Doing so will allow <command>make</command>
to spawn infinite build jobs and cause system stability problems.
</para>
</important>
<para>
To use all logical cores available for building packages in
<xref linkend='chapter-cross-tools'/> and
<xref linkend='chapter-temporary-tools'/>, set <envar>MAKEFLAGS</envar>
now in <filename>.bashrc</filename>:
</para>
<screen><userinput>cat &gt;&gt; ~/.bashrc &lt;&lt; "EOF"
<literal>export MAKEFLAGS=-j<replaceable>$(nproc)</replaceable></literal>
EOF</userinput></screen>
<para>
Replace <replaceable>$(nproc)</replaceable> with the number of logical
cores you want to use if you don't want to use all the logical cores.
</para>
<para>Finally, to ensure the environment is fully prepared for building the
temporary tools, force the <command>bash</command> shell to read
the new user profile:</para>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-binutils-pass1" role="wrap">
<sect1 id="ch-tools-binutils-pass1" role="wrap" xreflabel="binutils-pass1">
<?dbhtml filename="binutils-pass1.html"?>
<sect1info condition="script">
@ -75,7 +75,9 @@ cd build</userinput></screen>
--target=$LFS_TGT \
--disable-nls \
--enable-gprofng=no \
--disable-werror</userinput></screen>
--disable-werror \
--enable-new-dtags \
--enable-default-hash-style=gnu</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -132,6 +134,33 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-new-dtags</parameter></term>
<listitem>
<para>This makes the linker use the <quote>runpath</quote> tag for
embedding library search paths into executables and shared libraries,
instead of the traditional <quote>rpath</quote> tag. It makes
debugging dynamically linked executables easier and works around
potential issues in the test suite of some packages.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-default-hash-style=gnu</parameter></term>
<listitem>
<para>By default, the linker would generate both the GNU-style
hash table and the classic ELF hash table for shared libraries and
dynamically linked executables. The hash tables are only intended
for a dynamic linker to perform symbol lookup. On LFS the dynamic
linker (provided by the Glibc package) will always use the
GNU-style hash table which is faster to query. So the classic
ELF hash table is completely useless. This makes the linker
only generate the GNU-style hash table by default, so we can avoid
wasting time to generate the classic ELF hash table when we build
the packages, or wasting disk space to store it.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Continue with compiling the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -139,7 +139,7 @@ cd build</userinput></screen>
<listitem>
<para>Those switches allow GCC to compile programs with
some hardening security features (more information on those in
the <xref linkend="pie-ssp-info"/> in chapter 8) by default. The
the <xref linkend="pie-ssp-info"/> in chapter 8) by default. They
are not strictly needed at this stage, since the compiler will
only produce temporary executables. But it is cleaner to have the
temporary packages be as close as possible to the final ones.
@ -218,7 +218,7 @@ cd build</userinput></screen>
<screen><userinput remap="install">cd ..
cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/install-tools/include/limits.h</userinput></screen>
`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include/limits.h</userinput></screen>
</sect2>
<sect2 role="content">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -59,8 +59,9 @@ esac</userinput></screen>
<para>
The above command is correct. The <command>ln</command> command has
several syntactic versions, so be sure to check
<command>info coreutils ln</command> and <filename>ln(1)</filename>
before reporting what may appear to be an error.
<command>info coreutils ln</command> and <ulink role='man'
url='&man;ln.1'>ln(1)</ulink> before reporting what may appear to be
an error.
</para>
</note>
@ -89,9 +90,9 @@ cd build</userinput></screen>
--prefix=/usr \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
libc_cv_slibdir=/usr/lib</userinput></screen>
--disable-nscd \
libc_cv_slibdir=/usr/lib \
--enable-kernel=&min-kernel;</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -114,16 +115,6 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-headers=$LFS/usr/include</parameter></term>
<listitem>
<para>This tells Glibc to compile itself against the headers
recently installed to the $LFS/usr/include directory, so that
it knows exactly what features the kernel has and can optimize
itself accordingly.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>libc_cv_slibdir=/usr/lib</parameter></term>
<listitem>
@ -132,6 +123,14 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-nscd</parameter></term>
<listitem>
<para>Do not build the name service cache daemon which is no
longer used.</para>
</listitem>
</varlistentry>
</variablelist>
<para>During this stage the following warning might appear:</para>
@ -149,8 +148,8 @@ cd build</userinput></screen>
Gettext package, which the host distribution should provide.</para>
<note><para>There have been reports that this package may fail when
building as a "parallel make". If that occurs, rerun the make command
with the "-j1" option.</para></note>
building as a <quote>parallel make.</quote> If that occurs, rerun the make command
with the <option>-j1</option> option.</para></note>
<para>Compile the package:</para>
@ -177,9 +176,9 @@ cd build</userinput></screen>
packages to define the location where the package should be
installed. If it is not set, it defaults to the root (<filename
class="directory">/</filename>) directory. Here we specify that
the package is installed in <filename class="directory">$LFS
</filename>, which will become the root directory in <xref linkend=
"ch-tools-chroot"/>.</para>
the package is installed in <filename class="directory">
$LFS</filename>, which will become the root directory in <xref linkend=
"ch-tools-chroot" role='.'/></para>
</listitem>
</varlistentry>
@ -190,45 +189,111 @@ cd build</userinput></screen>
<screen><userinput remap="install">sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd</userinput></screen>
<caution>
<para>At this point, it is imperative to stop and ensure that the basic
functions (compiling and linking) of the new toolchain are working as
expected. To perform a sanity check, run the following commands:</para>
<para>Now that our cross toolchain is in place, it is important to ensure
that compiling and linking will work as expected. We do this by performing
some sanity checks:</para>
<screen><userinput>echo 'int main(){}' | $LFS_TGT-gcc -xc -
readelf -l a.out | grep ld-linux</userinput></screen>
<screen><userinput>echo 'int main(){}' | $LFS_TGT-gcc -x c - -v -Wl,--verbose &amp;&gt; dummy.log
readelf -l a.out | grep ': /lib'</userinput></screen>
<para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para>
<para>There should be no errors,
and the output of the last command will be (allowing for
platform-specific differences in the dynamic linker name):</para>
<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
<para>Note that for 32-bit machines, the interpreter name will be
<filename>/lib/ld-linux.so.2</filename>.</para>
<para>Note that this path should not contain
<filename class='directory'>/mnt/lfs</filename> (or the value of
the <envar>LFS</envar> variable if you used a different one). The path is
resolved when the compiled program is executed, and that should only happen
after we enter the chroot environment where the kernel would consider
<filename class='directory'>$LFS</filename> as the root directory
(<filename class='directory'>/</filename>).</para>
<para>If the output is not as shown above, or there is no output at all,
then something is wrong. Investigate and retrace the steps to find out
where the problem is and correct it. This issue must be resolved before
continuing.</para>
<para>Now make sure that we're set up to use the correct start files:</para>
<para>Once all is well, clean up the test file:</para>
<screen><userinput>grep -E -o "$LFS/lib.*/S?crt[1in].*succeeded" dummy.log</userinput></screen>
<screen><userinput>rm -v a.out</userinput></screen>
<para>The output of the last command should be:</para>
</caution>
<screen><computeroutput>/mnt/lfs/lib/../lib/Scrt1.o succeeded
/mnt/lfs/lib/../lib/crti.o succeeded
/mnt/lfs/lib/../lib/crtn.o succeeded</computeroutput></screen>
<para>Verify that the compiler is searching for the correct header
files:</para>
<screen><userinput>grep -B3 "^ $LFS/usr/include" dummy.log</userinput></screen>
<para>This command should return the following output:</para>
<screen><computeroutput>#include &lt;...&gt; search starts here:
/mnt/lfs/tools/lib/gcc/x86_64-lfs-linux-gnu/&gcc-version;/include
/mnt/lfs/tools/lib/gcc/x86_64-lfs-linux-gnu/&gcc-version;/include-fixed
/mnt/lfs/usr/include</computeroutput></screen>
<para>Again, the directory named after your target triplet may be
different than the above, depending on your system architecture.</para>
<para>Next, verify that the new linker is being used with the correct search paths:</para>
<screen><userinput>grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'</userinput></screen>
<para>References to paths that have components with '-linux-gnu' should
be ignored, but otherwise the output of the last command should be:</para>
<screen><computeroutput>SEARCH_DIR("=/mnt/lfs/tools/x86_64-lfs-linux-gnu/lib64")
SEARCH_DIR("=/usr/local/lib64")
SEARCH_DIR("=/lib64")
SEARCH_DIR("=/usr/lib64")
SEARCH_DIR("=/mnt/lfs/tools/x86_64-lfs-linux-gnu/lib")
SEARCH_DIR("=/usr/local/lib")
SEARCH_DIR("=/lib")
SEARCH_DIR("=/usr/lib");</computeroutput></screen>
<para>A 32-bit system may use a few other directories, but anyway
the important facet here is all the paths should begin with an equal sign
(<literal>=</literal>), which would be replaced with the sysroot
directory that we've configured for the linker.</para>
<para>Next make sure that we're using the correct libc:</para>
<screen><userinput>grep "/lib.*/libc.so.6 " dummy.log</userinput></screen>
<para>The output of the last command should be:</para>
<screen><computeroutput>attempt to open /mnt/lfs/usr/lib/libc.so.6 succeeded</computeroutput></screen>
<para>Make sure GCC is using the correct dynamic linker:</para>
<screen><userinput>grep found dummy.log</userinput></screen>
<para>The output of the last command should be (allowing for
platform-specific differences in dynamic linker name):</para>
<screen><computeroutput>found ld-linux-x86-64.so.2 at /mnt/lfs/usr/lib/ld-linux-x86-64.so.2</computeroutput></screen>
<para>If the output does not appear as shown above or is not received
at all, then something is seriously wrong. Investigate and retrace the
steps to find out where the problem is and correct it. Any
issues should be resolved before continuing with the process.</para>
<para>Once everything is working correctly, clean up the test files:</para>
<screen><userinput>rm -v a.out dummy.log</userinput></screen>
<note><para>Building the packages in the next chapter will serve as an
additional check that the toolchain has been built properly. If some
package, especially Binutils-pass2 or GCC-pass2, fails to build, it is
an indication that something has gone wrong with the
preceding Binutils, GCC, or Glibc installations.</para></note>
<!--
<para>Now that our cross-toolchain is complete, finalize the installation
of the limits.h header. To do this, run a utility provided by the GCC
developers:</para>
<screen><userinput>$LFS/tools/libexec/gcc/$LFS_TGT/&gcc-version;/install-tools/mkheaders</userinput></screen>
-->
</sect2>
<sect2 role="content">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -60,13 +60,13 @@ cd build</userinput></screen>
<para>Prepare Libstdc++ for compilation:</para>
<screen><userinput remap="configure">../libstdc++-v3/configure \
--host=$LFS_TGT \
--build=$(../config.guess) \
--prefix=/usr \
--disable-multilib \
--disable-nls \
--disable-libstdcxx-pch \
<screen><userinput remap="configure">../libstdc++-v3/configure \
--host=$LFS_TGT \
--build=$(../config.guess) \
--prefix=/usr \
--disable-multilib \
--disable-nls \
--disable-libstdcxx-pch \
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
<variablelist>
@ -124,7 +124,7 @@ cd build</userinput></screen>
<para>Remove the libtool archive files because they are harmful for
cross-compilation:</para>
<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{stdc++,stdc++fs,supc++}.la</userinput></screen>
<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la</userinput></screen>
</sect2>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -42,7 +42,11 @@
<sect2 role="installation">
<title>Installation of Bash</title>
<!--
<para>First, fix a problem related to cross compilation and gcc-15:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&bash-crosscompile-fix-patch;</userinput></screen>
-->
<para>Prepare Bash for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -43,13 +43,19 @@
<sect2 role="installation">
<title>Installation of Binutils</title>
<!-- Don't remove this until Binutils upstream updates the libtool
copy. On some host distros the issue doesn't show up. -->
<para>Binutils ships an outdated copy of libtool in the tarball. It lacks
sysroot support, so the produced binaries will be mistakenly linked to
libraries from the host distro. Work around this issue:</para>
<!-- Don't remove this until Binutils upstream resolves this issue.
We can test by building Binutils on a complete system with
zlib (libz.so) installed, passing enable-shared and
without-system-zlib. If the resulted libctf.so still links against
libz.so (check with readelf -d) despite we are saying
without-system-zlib, then the issue is still unresolved. -->
<para>Binutils building system relies on an shipped libtool copy to link against
internal static libraries, but the libiberty and zlib copies shipped
in the package do not use libtool. This inconsistency may cause
produced binaries mistakenly linked against libraries from the host
distro. Work around this issue:</para>
<screen><userinput remap="pre">sed '6009s/$add_dir//' -i ltmain.sh</userinput></screen>
<screen><userinput remap="pre">sed '6031s/$add_dir//' -i ltmain.sh</userinput></screen>
<para>Create a separate build directory again:</para>
@ -66,7 +72,9 @@ cd build</userinput></screen>
--enable-shared \
--enable-gprofng=no \
--disable-werror \
--enable-64-bit-bfd</userinput></screen>
--enable-64-bit-bfd \
--enable-new-dtags \
--enable-default-hash-style=gnu</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>
@ -101,7 +109,7 @@ cd build</userinput></screen>
<para>Remove the libtool archive files because they are harmful for
cross compilation, and remove unnecessary static libraries:</para>
<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.{a,la}</userinput></screen>
<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}</userinput></screen>
</sect2>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -62,6 +62,7 @@
Perl test suite.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -45,7 +45,37 @@
<para>Prepare Diffutils for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
gl_cv_func_strcasecmp_works=y \
--build=$(./build-aux/config.guess)</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
<varlistentry>
<!-- https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=d9083a4cc638cf9c7dfc3cc534a7c6b4debf50ab -->
<term><parameter>gl_cv_func_strcasecmp_works=y</parameter></term>
<listitem>
<para>This option specify the result of a check for the
<function>strcasecmp</function>. The check requires running a
compiled C program, and this is impossible during
cross-compilation because in general a cross-compiled program
cannot run on the host distro. Normally for such a check the
<command>configure</command> script would use a fall-back value
for cross-compilation, but the fall-back value for this check is
absent and the <command>configure</command> script would have no
value to use and error out. The upstream has already fixed the
issue, but to apply the fix we'd need to run
<command>autoconf</command> that the host distro may lack. So
we just specify the check result (<literal>y</literal> as we know
the <function>strcasecmp</function> function in
Glibc-&glibc-version; works fine) instead, then
<command>configure</command> will just use the specified value and
skip the check.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -78,11 +78,6 @@ popd</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen>
<!-- devs: if using - -build here, the build system wants to compile
the signature file with "file" on the build system, but stops if it is not
the same version. One possibility would be to build "file" on the build
system first, but it is simpler to have the system think it is not
cross-compiling, and use the just built "file". -->
<para>Compile the package:</para>
<screen><userinput remap="make">make FILE_COMPILE=$(pwd)/build/src/file</userinput></screen>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -62,7 +62,8 @@ mv -v mpc-&mpc-version; mpc</userinput></screen>
<screen><userinput remap="pre">case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64
;;
esac</userinput></screen>
@ -82,23 +83,24 @@ cd build</userinput></screen>
<para>Now prepare GCC for compilation:</para>
<screen><userinput remap="configure">../configure \
--build=$(../config.guess) \
--host=$LFS_TGT \
--target=$LFS_TGT \
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
--prefix=/usr \
--with-build-sysroot=$LFS \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--disable-multilib \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++</userinput></screen>
<screen><userinput remap="configure">../configure \
--build=$(../config.guess) \
--host=$LFS_TGT \
--target=$LFS_TGT \
--prefix=/usr \
--with-build-sysroot=$LFS \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--disable-multilib \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libsanitizer \
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++ \
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title><!-- WIP -->
@ -122,8 +124,8 @@ cd build</userinput></screen>
<para>We are cross-compiling GCC, so it's impossible to build
target libraries (<filename class="libraryfile">libgcc</filename>
and <filename class="libraryfile">libstdc++</filename>) with the
previously compiled GCC binaries&mdash;those binaries won't run on the
host. The GCC build system will attempt to use the host's
GCC binaries compiled in this pass&mdash;those binaries won't run
on the host. The GCC build system will attempt to use the host's
C and C++ compilers as a workaround by default.
Building the GCC target libraries with a different
version of GCC is not supported, so using the host's compilers may cause
@ -136,10 +138,22 @@ cd build</userinput></screen>
<term><parameter>LDFLAGS_FOR_TARGET=...</parameter></term>
<listitem>
<para>Allow <filename class="libraryfile">libstdc++</filename> to
use the shared <filename class="libraryfile">libgcc</filename> being
built in this pass, instead of the static version that was built in GCC
pass 1. This is necessary to support C++ exception
handling.</para>
use the <filename class="libraryfile">libgcc</filename> being
built in this pass, instead of the previous version built in
<xref linkend='ch-tools-gcc-pass1'/>. The previous version cannot
properly support C++ exception handling because it was built
without libc support.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-libsanitizer</parameter></term>
<listitem>
<para>Disable GCC sanitizer runtime libraries. They are not
needed for the temporary installation. In
<xref linkend='ch-tools-gcc-pass1'/> it was implied by
<parameter>--disable-libstdcxx</parameter>, and now we can
explicitly pass it.</para>
</listitem>
</varlistentry>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -45,8 +45,9 @@
<para>Prepare Grep for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
--build=$(./build-aux/config.guess)</userinput></screen>
<para>Compile the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -26,6 +26,6 @@
may render your computer unusable.
This whole chapter must be done as user <systemitem
class="username">lfs</systemitem>, with the environment as described in
<xref linkend="ch-preps-settingenviron"/>.</para>
<xref linkend="ch-preps-settingenviron" role='.'/></para>
</sect1>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -42,32 +42,12 @@
<sect2 role="installation">
<title>Installation of Make</title>
<para>First, fix an issue identified upstream:</para>
<screen><userinput remap="pre">sed -e '/ifdef SIGPIPE/,+2 d' \
-e '/undef FATAL_SIG/i FATAL_SIG (SIGPIPE);' \
-i src/main.c</userinput></screen>
<para>Prepare Make for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--without-guile \
--host=$LFS_TGT \
--build=$(build-aux/config.guess)</userinput></screen>
<variablelist>
<title>The meaning of the new configure option:</title>
<varlistentry>
<term><parameter>--without-guile</parameter></term>
<listitem>
<para>Although we are cross-compiling, configure tries to use
guile from the build host if it finds it. This makes compilation
fail, so this switch prevents using it.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -43,18 +43,17 @@
<sect2 role="installation">
<title>Installation of Ncurses</title>
<para>First, ensure that <command>gawk</command> is found first during configuration:</para>
<screen><userinput remap="pre">sed -i s/mawk// configure</userinput></screen>
<para>Then, run the following commands to build the <quote>tic</quote>
program on the build host:</para>
<para>First, run the following commands to build the <command>tic</command>
program on the build host. We install it in
<filename class="directory">$LFS/tools</filename>, so that it is found
in the <envar>PATH</envar> when needed:</para>
<screen><userinput remap="pre">mkdir build
pushd build
../configure
../configure --prefix=$LFS/tools AWK=gawk
make -C include
make -C progs tic
install progs/tic $LFS/tools/bin
popd</userinput></screen>
<para>Prepare Ncurses for compilation:</para>
@ -70,7 +69,7 @@ popd</userinput></screen>
--without-debug \
--without-ada \
--disable-stripping \
--enable-widec</userinput></screen>
AWK=gawk</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>
@ -78,7 +77,7 @@ popd</userinput></screen>
<varlistentry>
<term><parameter>--with-manpage-format=normal</parameter></term>
<listitem>
<para>This prevents Ncurses installing compressed manual
<para>This prevents Ncurses from installing compressed manual
pages, which may happen if the host distribution itself
has compressed manual pages.</para>
</listitem>
@ -94,7 +93,7 @@ popd</userinput></screen>
<varlistentry>
<term><parameter>--without-normal</parameter></term>
<listitem>
<para>This prevents Ncurses building and installing static C
<para>This prevents Ncurses from building and installing static C
libraries.</para>
</listitem>
</varlistentry>
@ -102,7 +101,7 @@ popd</userinput></screen>
<varlistentry>
<term><parameter>--without-debug</parameter></term>
<listitem>
<para>This prevents Ncurses building and installing debug
<para>This prevents Ncurses from building and installing debug
libraries.</para>
</listitem>
</varlistentry>
@ -134,19 +133,15 @@ popd</userinput></screen>
</varlistentry>
<varlistentry>
<term><parameter>--enable-widec</parameter></term>
<term><parameter>AWK=gawk</parameter></term>
<listitem>
<para>This switch causes wide-character libraries (e.g., <filename
class="libraryfile">libncursesw.so.&ncurses-version;</filename>)
to be built instead of normal ones (e.g., <filename
class="libraryfile">libncurses.so.&ncurses-version;</filename>).
These wide-character libraries are usable in both multibyte and
traditional 8-bit locales, while normal libraries work properly
only in 8-bit locales. Wide-character and normal libraries are
source-compatible, but not binary-compatible.</para>
<para>This switch prevents the building system from using the
<command>mawk</command> program from the host.
Some<!-- FIXME vauge --> versions of <command>mawk</command> can
cause this package to fail to build. <!-- It seems happened in 2015,
is there any updated into? --></para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
@ -155,33 +150,37 @@ popd</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</userinput></screen>
<!--
<para>Remove an unneeded static library not handled by
<command>configure</command>:</para>
<screen><userinput remap="install">make DESTDIR=$LFS install
ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
-i $LFS/usr/include/curses.h</userinput></screen>
<screen><userinput remap="install">rm -v $LFS/usr/lib/libncurses++w.a</userinput></screen>
-->
<variablelist>
<title>The meaning of the install options:</title>
<varlistentry>
<term><parameter>TIC_PATH=$(pwd)/build/progs/tic</parameter></term>
<term><command>ln -sv libncursesw.so $LFS/usr/lib/libncurses.so</command></term>
<listitem>
<para>We need to pass the path of the newly built
<command>tic</command> program that runs on the building machine, so
the terminal database can be created without errors.</para>
<para>The <filename>libncurses.so</filename> library is needed by
a few packages we will build soon. We create this symlink to use
<filename>libncursesw.so</filename> as a replacement.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</command></term>
<term><command>sed -e 's/^#if.*XOPEN.*$/#if 1/' ...</command></term>
<listitem>
<para>The <filename>libncurses.so</filename> library is needed by
a few packages we will build soon. We create this small linker
script, as this is what is done in <xref
linkend="chapter-building-system"/>.</para>
<para>The header file <filename>curses.h</filename> contains
the definition of various Ncurses data structures. With different
preprocessor macro definitions two different sets of the data
structure definition may be used: the 8-bit definition is
compatible with <filename>libncurses.so</filename> and the
wide-character definition is compatible with
<filename>libncursesw.so</filename>. Since we are using
<filename>libncursesw.so</filename> as a replacement of
<filename>libncurses.so</filename>, edit the header file so it
will always use the wide-character data structure definition
compatible with <filename>libncursesw.so</filename>.</para>
</listitem>
</varlistentry>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -45,8 +45,9 @@
<para>Prepare Sed for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
--build=$(./build-aux/config.guess)</userinput></screen>
<para>Compile the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -45,8 +45,8 @@
<para>Prepare Tar for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
--build=$(build-aux/config.guess)</userinput></screen>
<para>Compile the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -33,9 +33,9 @@
user <systemitem class="username">root</systemitem> by running the following
command:</para>
<screen><userinput>chown -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools}
<screen><userinput>chown --from &lfs-username; -R root:root $LFS/{usr,var,etc,tools}
case $(uname -m) in
x86_64) chown -R root:root $LFS/lib64 ;;
x86_64) chown --from &lfs-username; -R root:root $LFS/lib64 ;;
esac</userinput></screen>
</sect1>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -23,8 +23,20 @@
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/usr/bin:/usr/sbin \
MAKEFLAGS="-j<replaceable>$(nproc)</replaceable>" \
TESTSUITEFLAGS="-j<replaceable>$(nproc)</replaceable>" \
/bin/bash --login</userinput></screen>
<para>
If you don't want to use all available logical cores, replace
<replaceable>$(nproc)</replaceable> with the number of logical cores you
want to use for building packages in this chapter and the following
chapters. The test suites of some packages (notably Autoconf, Libtool,
and Tar) in &ch-final; are not affected by <envar>MAKEFLAGS</envar>, they
use a <envar>TESTSUITEFLAGS</envar> environment variable instead. We
set that here as well for running these test suites with multiple cores.
</para>
<para>The <parameter>-i</parameter> option given to the <command>env</command>
command will clear all the variables in the chroot environment. After that, only
the <envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar>, and
@ -47,7 +59,7 @@
in the <envar>PATH</envar>. This means that the cross toolchain will no longer be
used.</para>
<para>Note that the <command>bash</command> prompt will say
<para>Also note that the <command>bash</command> prompt will say
<computeroutput>I have no name!</computeroutput> This is normal because the
<filename>/etc/passwd</filename> file has not been created yet.</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -88,7 +88,8 @@
make sure you have set <envar>LFS</envar>.
</para>
<para>
This has been discussed in <xref linkend='ch-partitioning-aboutlfs'/>.
This has been discussed in
<xref linkend='ch-partitioning-aboutlfs' role='.'/>
</para>
</important>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -107,7 +107,6 @@ dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
usb:x:14:
cdrom:x:15:
adm:x:16:
messagebus:x:18:
@ -135,7 +134,6 @@ dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
usb:x:14:
cdrom:x:15:
adm:x:16:
messagebus:x:18:
@ -182,7 +180,11 @@ EOF</userinput></screen>
<systemitem class="groupname">nogroup</systemitem> to avoid an
unnamed ID. But other distros may treat this ID differently, so any
portable program should not depend on this assignment.</para>
<!--
<para>Some packages need a locale.</para>
<screen><userinput>localedef -i C -f UTF-8 C.UTF-8</userinput></screen>
-->
<para>Some tests in <xref linkend="chapter-building-system"/> need a regular
user. We add this user here and delete this account at the end of that
chapter.</para>
@ -217,8 +219,23 @@ chmod -v 600 /var/log/btmp</userinput></screen>
failed login attempts. The <filename>/var/log/btmp</filename> file records
the bad login attempts.</para>
<note><para>The <filename>/run/utmp</filename> file records the users that
are currently logged in. This file is created dynamically in the boot
scripts.</para></note>
<!-- systemd no longer creates this -->
<note revision='sysv'><para>The <filename>/run/utmp</filename> file
records the users that are currently logged in. This file is created
dynamically in the boot scripts.</para></note>
<!-- AFAIK they are not vital for system function, users requiring such
info should rely on systemd-logind or elogind or some custom PAM
module. Maybe we can stop to create them at all. -->
<note>
<para>
The <phrase revision='sysv'><filename>utmp</filename>,
</phrase><filename>wtmp</filename>, <filename>btmp</filename>, and
<filename>lastlog</filename> files use 32-bit integers for timestamps
and they'll be fundamentally broken after year 2038. Many packages
have stopped using them and other packages are going to stop using
them. It is probably best to consider them deprecated.
</para>
</note>
</sect1>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -28,6 +28,7 @@
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{include,src}
mkdir -pv /usr/lib/locale
mkdir -pv /usr/local/{bin,lib,sbin}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -63,11 +63,14 @@
<para>Now mount the remaining virtual kernel file systems:</para>
<screen><userinput>mount -v --bind /dev/pts $LFS/dev/pts
<!-- Do not put any option after $LFS/${mountpoint} or jhalfs cannot
handle it! -->
<screen><userinput>mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
<!--
<variablelist>
<title>The meaning of the mount options for devpts:</title>
@ -95,11 +98,12 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
</varlistentry>
</variablelist>
-->
<para>In some host systems, <filename>/dev/shm</filename> is a
symbolic link to <filename class="directory">/run/shm</filename>.
symbolic link to a directory, typically
<filename class="directory">/run/shm</filename>.
The /run tmpfs was mounted above so in this case only a
directory needs to be created.</para>
directory needs to be created with the correct permissions.</para>
<para>In other host systems <filename>/dev/shm</filename> is a mount point
for a tmpfs. In that case the mount of /dev above will only create
@ -107,9 +111,9 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
we must explicitly mount a tmpfs:</para>
<screen><userinput>if [ -h $LFS/dev/shm ]; then
mkdir -pv $LFS/$(readlink $LFS/dev/shm)
install -v -d -m 1777 $LFS$(realpath /dev/shm)
else
mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
fi</userinput></screen>
</sect2>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -45,18 +45,20 @@
<para>Prepare Perl for compilation:</para>
<screen><userinput remap="configure">sh Configure -des \
-Dprefix=/usr \
-Dvendorprefix=/usr \
-Dprivlib=/usr/lib/perl5/&perl-version-min;/core_perl \
-Darchlib=/usr/lib/perl5/&perl-version-min;/core_perl \
-Dsitelib=/usr/lib/perl5/&perl-version-min;/site_perl \
-Dsitearch=/usr/lib/perl5/&perl-version-min;/site_perl \
-Dvendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \
-Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl</userinput></screen>
<screen><userinput remap="configure">sh Configure -des \
-D prefix=/usr \
-D vendorprefix=/usr \
-D useshrplib \
-D privlib=/usr/lib/perl5/&perl-version-min;/core_perl \
-D archlib=/usr/lib/perl5/&perl-version-min;/core_perl \
-D sitelib=/usr/lib/perl5/&perl-version-min;/site_perl \
-D sitearch=/usr/lib/perl5/&perl-version-min;/site_perl \
-D vendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \
-D vendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl</userinput></screen>
<variablelist>
<title>The meaning of the new Configure options:</title>
<title>The meaning of the Configure options:</title>
<varlistentry>
<term><parameter>-des</parameter></term>
<listitem>
@ -66,6 +68,35 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D vendorprefix=/usr</parameter></term>
<listitem>
<para>This ensures <command>perl</command> knows how to
tell packages where they should install their Perl modules.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D useshrplib</parameter></term>
<listitem>
<para>Build <systemitem class='library'>libperl</systemitem>
needed by some Perl modules as a shared library, instead of
a static library.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D privlib,-D archlib,-D sitelib,...</parameter></term>
<listitem>
<para>These settings define where Perl looks for installed
modules. The LFS editors chose to put them in a directory structure
based on the MAJOR.MINOR version of Perl (&perl-version-min;) which
allows upgrading Perl to newer patch levels (the patch level is
the last dot separated part in the full version string like
&perl-version;) without reinstalling all of the modules.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -44,17 +44,18 @@
<title>Installation of Python</title>
<note>
<para>There are two package files whose name starts with
<quote>python</quote>. The one to extract from is
<para>There are two package files whose name starts with the
<quote>python</quote> prefix. The one to extract from is
<filename>Python-&python-version;.tar.xz</filename> (notice the
uppercase first letter).</para>
</note>
<para>Prepare Python for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \
--without-ensurepip</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \
--without-ensurepip \
--without-static-libpython</userinput></screen>
<variablelist>
<title>The meaning of the configure option:</title>
@ -74,6 +75,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--without-static-libpython</parameter></term>
<listitem>
<para>This switch prevents building a large, but unneeded, static
library.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
@ -83,9 +91,9 @@
<note>
<para>
Some Python 3 modules can't be built now because the dependencies
are not installed yet. The building system still attempts to build
them however, so the compilation of some files will fail and the
compiler message may seem to indicate <quote>fatal error</quote>.
are not installed yet. For the <filename>ssl</filename> module,
a message <computeroutput>Python requires a OpenSSL 1.1.1 or
newer</computeroutput> is outputted.
The message should be ignored. Just make sure the toplevel
<command>make</command> command has not failed. The optional
modules are not needed now and they will be built in

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -51,19 +51,20 @@
<para>Prepare Util-linux for compilation:</para>
<screen><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--libdir=/usr/lib \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python \
runstatedir=/run</userinput></screen>
<screen><userinput remap="configure">./configure --libdir=/usr/lib \
--runstatedir=/run \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--disable-liblastlog2 \
--without-python \
ADJTIME_PATH=/var/lib/hwclock/adjtime \
--docdir=/usr/share/doc/util-linux-&util-linux-version;</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -44,8 +44,8 @@
<para>Prepare Acl for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/acl-&acl-version;</userinput></screen>
<para>Compile the package:</para>
@ -53,10 +53,13 @@
<screen><userinput remap="make">make</userinput></screen>
<para>The Acl tests must be run on a filesystem that supports access
controls, but not until the <application>Coreutils</application> package has been built,
using the <application>Acl</application> libraries. If desired, return to this package
and run <command>make check</command> after the <application>Coreutils</application>
package has been built.</para>
controls. To test the results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>
<para>One test named <filename>test/cp.test</filename> is known to
fail because <application>Coreutils</application> is not built with
the <application>Acl</application> support yet.</para>
<para>Install the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -41,12 +41,6 @@
<sect2 role="installation">
<title>Installation of Autoconf</title>
<para>First, fix several problems with the tests caused by bash-5.2 and later:</para>
<screen><userinput remap="pre">sed -e 's/SECONDS|/&amp;SHLVL|/' \
-e '/BASH_ARGV=/a\ /^SHLVL=/ d' \
-i.orig tests/local.at</userinput></screen>
<para>Prepare Autoconf for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
@ -61,17 +55,6 @@
To run the tests anyway, issue:</para>
-->
<screen><userinput remap="test">make check</userinput></screen>
<!--
<para>This takes a long time, about &autoconf-fin-sbu-tests; SBUs. In addition,
several tests are skipped that use Automake. For full test coverage,
Autoconf can be re-tested after Automake has been installed. In addition,
two tests fail due to changes in libtool-2.4.3 and later.</para>
-->
<note><para>The test time for autoconf can be reduced significantly on a
system with multiple cores. To do this, append
<command>TESTSUITEFLAGS=-j&lt;N&gt;</command> to the line above. For
instance, using -j4 can reduce the test time by over 60
percent.</para></note>
<para>Install the package:</para>
@ -153,7 +136,7 @@
<para>Helps to create a <filename>configure.in</filename> file for a
software package; it examines the source files in a directory tree,
searching them for common portability issues, and creates a
<filename>configure.scan</filename> file that serves as as a
<filename>configure.scan</filename> file that serves as a
preliminary <filename>configure.in</filename> file for the
package</para>
<indexterm zone="ch-system-autoconf autoscan">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -53,13 +53,14 @@
<screen><userinput remap="make">make</userinput></screen>
<para> Using the -j4 make option speeds up the tests, even on systems with
only one processor, due to internal delays in individual tests. To test
<para>Using four parallel jobs speeds up the tests, even on systems with
less logical cores, due to internal delays in individual tests. To test
the results, issue:</para>
<screen><userinput remap="test">make -j4 check</userinput></screen>
<screen><userinput remap="test">make <replaceable>-j$(($(nproc)&gt;4?$(nproc):4))</replaceable> check</userinput></screen>
<para>The test t/subobj.sh is known to fail.</para>
<para>Replace <replaceable>$((...))</replaceable> with the number of
logical cores you want to use if you don't want to use all.</para>
<para>Install the package:</para>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -71,7 +71,7 @@
<para>To prepare the tests, ensure that the <systemitem class="username">tester</systemitem> user can write to the sources tree:</para>
<screen><userinput remap="test">chown -Rv tester .</userinput></screen>
<screen><userinput remap="test">chown -R tester .</userinput></screen>
<para>The test suite of this package is designed to be run as a non-&root;
user who owns the terminal connected to standard input. To satisfy the
@ -79,7 +79,7 @@
<application>Expect</application> and run the tests as the <systemitem
class="username">tester</systemitem> user:</para>
<screen><userinput remap="test">su -s /usr/bin/expect tester &lt;&lt; EOF
<screen><userinput remap="test">su -s /usr/bin/expect tester &lt;&lt; "EOF"
set timeout -1
spawn make tests
expect eof

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -43,15 +43,15 @@
<para>Prepare Bc for compilation:</para>
<screen><userinput remap="configure">CC=gcc ./configure --prefix=/usr -G -O3 -r</userinput></screen>
<screen><userinput remap="configure">CC='gcc -std=c99' ./configure --prefix=/usr -G -O3 -r</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
<varlistentry>
<term><parameter>CC=gcc</parameter></term>
<term><parameter>CC=gcc -std=c99</parameter></term>
<listitem>
<para>This parameter specifies the compiler to use.</para>
<para>This parameter specifies the compiler and C standard to use.</para>
</listitem>
</varlistentry>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -41,29 +41,6 @@
<sect2 role="installation">
<title>Installation of Binutils</title>
<para>Verify that the PTYs are working properly inside the chroot
environment by performing a simple test:</para>
<screen><userinput remap="test">expect -c "spawn ls"</userinput></screen>
<para>This command should output the following:</para>
<screen><computeroutput>spawn ls</computeroutput></screen>
<para>If, instead, the output includes the message below, then the environment
is not set up for proper PTY operation. This issue needs to be resolved before
running the test suites for Binutils and GCC:</para>
<screen><computeroutput>The system has no more ptys.
Ask your system administrator to create more.</computeroutput></screen>
<!-- Fixed in binutils-2.39
<para>
Now make a fix identified upstream that affects building some packages:
</para>
<screen><userinput remap="pre">sed -e '/R_386_TLS_LE /i \ || (TYPE) == R_386_TLS_IE \\' \
-i ./bfd/elfxx-x86.h</userinput></screen>
-->
<para>The Binutils documentation recommends building Binutils
in a dedicated build directory:</para>
@ -74,23 +51,17 @@ cd build</userinput></screen>
<screen><userinput remap="configure">../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-gold \
--enable-ld=default \
--enable-plugins \
--enable-shared \
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib</userinput></screen>
<variablelist>
<title>The meaning of the configure parameters:</title>
--enable-new-dtags \
--with-system-zlib \
--enable-default-hash-style=gnu</userinput></screen>
<varlistentry>
<term><parameter>--enable-gold</parameter></term>
<listitem>
<para>Build the gold linker and install it as ld.gold (alongside the
default linker).</para>
</listitem>
</varlistentry>
<variablelist>
<title>The meaning of the new configure parameters:</title>
<varlistentry>
<term><parameter>--enable-ld=default</parameter></term>
@ -107,14 +78,6 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-64-bit-bfd</parameter></term>
<listitem>
<para>Enables 64-bit support (on hosts with narrower word sizes).
May not be needed on 64-bit systems, but does no harm.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-system-zlib</parameter></term>
<listitem>
@ -164,18 +127,14 @@ cd build</userinput></screen>
<screen><userinput remap="test">grep '^FAIL:' $(find -name '*.log')</userinput></screen>
<para>Twelve tests fail in the gold test suite when the
<option>--enable-default-pie</option> and
<option>--enable-default-ssp</option> options are passed to GCC.</para>
<para>Install the package:</para>
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
<para>Remove useless static libraries and an empty man page:</para>
<para>Remove useless static libraries and other files:</para>
<screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,sframe,opcodes}.a
rm -fv /usr/share/man/man1/{gprofng,gp-*}.1</userinput></screen>
<screen><userinput remap="install">rm -rfv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a \
/usr/share/doc/gprofng/</userinput></screen>
</sect2>
@ -188,9 +147,10 @@ rm -fv /usr/share/man/man1/{gprofng,gp-*}.1</userinput></screen>
<segtitle>Installed directory</segtitle>
<seglistitem>
<seg>addr2line, ar, as, c++filt, dwp, elfedit, gprof, gprofng, ld, ld.bfd, ld.gold, nm,
<seg>addr2line, ar, as, c++filt, dwp, elfedit, gprof, gprofng, ld, ld.bfd, nm,
objcopy, objdump, ranlib, readelf, size, strings, and strip</seg>
<seg>libbfd.so, libctf.so, libctf-nobfd.so, libopcodes.so, and libsframe.so</seg>
<seg>libbfd.so, libctf.so, libctf-nobfd.so, libgprofng.so,
libopcodes.so, and libsframe.so</seg>
<seg>/usr/lib/ldscripts</seg>
</seglistitem>
</segmentedlist>
@ -297,17 +257,6 @@ rm -fv /usr/share/man/man1/{gprofng,gp-*}.1</userinput></screen>
</listitem>
</varlistentry>
<varlistentry id="ld.gold">
<term><command>ld.gold</command></term>
<listitem>
<para>A cut down version of ld that only supports the
elf object file format</para>
<indexterm zone="ch-system-binutils ld.gold">
<primary sortas="b-ld.gold">ld.gold</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ld.bfd">
<term><command>ld.bfd</command></term>
<listitem>
@ -438,6 +387,17 @@ rm -fv /usr/share/man/man1/{gprofng,gp-*}.1</userinput></screen>
</listitem>
</varlistentry>
<varlistentry id="libgprofng">
<term><filename class="libraryfile">libgprofng</filename></term>
<listitem>
<para>A library containing most routines used by
<command>gprofng</command></para>
<indexterm zone="ch-system-binutils libgprofng">
<primary sortas="c-libgprofng">libgprofng</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libopcodes">
<term><filename class="libraryfile">libopcodes</filename></term>
<listitem>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -48,7 +48,7 @@
<screen><userinput remap="make">make</userinput></screen>
<para>To test the results (about 5.5 SBU), issue:</para>
<para>To test the results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -19,6 +19,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lz4.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zstd.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="readline.xml"/>
@ -29,7 +30,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconf.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gmp.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>
@ -37,9 +38,9 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libcap.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libxcrypt.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconfig.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="psmisc.xml"/>
@ -59,15 +60,17 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="autoconf.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="automake.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="openssl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kmod.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libelf.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libffi.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flit-core.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="packaging.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wheel.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="setuptools.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ninja.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="meson.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kmod.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="check.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>
@ -90,7 +93,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dbus.xml"/>
<!-- sysv only -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="eudev.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="udev.xml"/>
<!-- Both sysv on systemd builds -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="man-db.xml"/>

View File

@ -1,109 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-check" role="wrap">
<?dbhtml filename="check.html"?>
<sect1info condition="script">
<productname>check</productname>
<productnumber>&check-version;</productnumber>
<address>&check-url;</address>
</sect1info>
<title>Check-&check-version;</title>
<indexterm zone="ch-system-check">
<primary sortas="a-Check">Check</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>Check is a unit testing framework for C.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&check-fin-sbu;</seg>
<seg>&check-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Check</title>
<para>Prepare Check for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
<para>Build the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Compilation is now complete. To run the Check test suite, issue the
following command:</para>
<screen><userinput remap="test">make check</userinput></screen>
<!-- <para>Note that the Check test suite may take a relatively long
(up to 4 SBU) time.</para>
-->
<para>Install the package:</para>
<screen><userinput remap="install">make docdir=/usr/share/doc/check-&check-version; install</userinput></screen>
</sect2>
<sect2 id="contents-check" role="content">
<title>Contents of Check</title>
<segmentedlist>
<segtitle>Installed program</segtitle>
<segtitle>Installed library</segtitle>
<seglistitem>
<seg>checkmk</seg>
<seg>libcheck.so</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="checkmk">
<term><command>checkmk</command></term>
<listitem>
<para>Awk script for generating C unit tests for use with the Check
unit testing framework</para>
<indexterm zone="ch-system-check checkmk">
<primary sortas="b-checmk">checkmk</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcheck">
<term><filename class="libraryfile">libcheck.so</filename></term>
<listitem>
<para>Contains functions that allow Check to be called from a test
program</para>
<indexterm zone="ch-system-check libcheck">
<primary sortas="c-libcheck">libcheck</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -12,7 +12,7 @@
<para>Finally, clean up some extra files left over from running tests:</para>
<screen><userinput>rm -rf /tmp/*</userinput></screen>
<screen><userinput>rm -rf /tmp/{*,.*}</userinput></screen>
<para>There are also several files in the /usr/lib and /usr/libexec
directories with a file name extension of .la. These are "libtool archive"

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
@ -41,6 +41,10 @@
<sect2 role="installation">
<title>Installation of Coreutils</title>
<para>First, apply a patch for a security problem identified upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&coreutils-upstream-patch;</userinput></screen>
<para>POSIX requires that programs from Coreutils recognize character
boundaries correctly even in multibyte locales. The following patch fixes
this non-compliance and other internationalization-related bugs.</para>
@ -53,30 +57,37 @@
those bugs are reproducible without this patch.</para>
</note>
<!-- this has been fixed in upstream gnulib, when a new version of
coreutils is released, please check #4055 to see if the change has been
picked up in this package -->
<!--
<para>Now, fix a problem with chmod return values:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&coreutils-chmod-patch;</userinput></screen>
-->
<para>Now prepare Coreutils for compilation:</para>
<screen><userinput remap="configure">autoreconf -fiv
<screen><userinput remap="configure">autoreconf -fv
automake -af
FORCE_UNSAFE_CONFIGURE=1 ./configure \
--prefix=/usr \
--enable-no-install-program=kill,uptime</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
<title>The meaning of the commands and configure options:</title>
<varlistentry>
<term><command>autoreconf</command></term>
<term><command>autoreconf -fv</command></term>
<listitem>
<para>The patch for internationalization has modified the
build system, so the configuration files must
be regenerated.</para>
be regenerated. Normally we would use the
<parameter>-i</parameter> option to update the standard
auxiliary files, but for this package it does not work because
<filename>configure.ac</filename> specified an old gettext
version.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>automake -af</command></term>
<listitem>
<para>The automake auxiliary files were not updated by
<command>autoreconf</command> due to the missing
<parameter>-i</parameter> option. This command updates them
to prevent a build failure.</para>
</listitem>
</varlistentry>
@ -117,25 +128,31 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
these tests are not skipped, add a temporary group and make the
user <systemitem class="username">tester</systemitem> a part of it:</para>
<screen><userinput remap="test">echo "dummy:x:102:tester" &gt;&gt; /etc/group</userinput></screen>
<screen><userinput remap="test">groupadd -g 102 dummy -U tester</userinput></screen>
<para>Fix some of the permissions so that the non-&root; user can
compile and run the tests:</para>
<screen><userinput remap="test">chown -Rv tester . </userinput></screen>
<screen><userinput remap="test">chown -R tester . </userinput></screen>
<para>Now run the tests:</para>
<!-- To editors: in jhalfs the standard input is always piped to "make"
so the test failures are not reproducible in jhalfs even if
running the build in a PTY. Don't use jhalfs to test if we can
remove < /dev/null. -->
<para>Now run the tests (using <filename>/dev/null</filename> for the
standard input, or two tests may be broken if building LFS in a
graphical terminal or a session in SSH or GNU Screen because the
standard input is connected to a PTY from host distro, and the device
node for such a PTY cannot be accessed from the LFS chroot
environment):</para>
<screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
<!-- Sometimes skipped, but if not it may fail.
Please DO NOT remove or comment out this unless we can fully
understand it! -->
<para>The test-getlogin test may fail in the LFS chroot environment.</para>
<screen><userinput remap="test">su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \
&lt; /dev/null</userinput></screen>
<para>Remove the temporary group:</para>
<screen><userinput remap="test">sed -i '/dummy/d' /etc/group</userinput></screen>
<screen><userinput remap="test">groupdel dummy</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen>
@ -1261,8 +1278,8 @@ sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen>
<varlistentry id="yes">
<term><command>yes</command></term>
<listitem>
<para>Repeatedly outputs <quote>y</quote>, or a given string, until
killed</para>
<para>Repeatedly outputs <literal>y</literal> or a given string,
until killed</para>
<indexterm zone="ch-system-coreutils yes">
<primary sortas="b-yes">yes</primary>
</indexterm>

Some files were not shown because too many files have changed in this diff Show More