mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Compare commits
204 Commits
r12.2-rc1-
...
trunk
Author | SHA1 | Date | |
---|---|---|---|
|
ec7e850bd0 | ||
|
8d7dc4ebea | ||
|
5e4ff8cb2e | ||
|
5544caf28e | ||
|
7eb51d8123 | ||
|
0eaba084ff | ||
|
61d0fb219d | ||
|
e481799cdf | ||
|
c24d5641af | ||
|
1b223fbe43 | ||
|
455724dc34 | ||
|
208415b81b | ||
|
30ec5ae0ea | ||
|
6c311ec76f | ||
|
3975ea8c7e | ||
|
eb4213206a | ||
|
a6bc44cc0f | ||
|
14b85031e4 | ||
|
6a04e2420d | ||
|
722ec5bf97 | ||
|
a45bbbc391 | ||
|
37c303637d | ||
|
68528292e6 | ||
|
fd69440977 | ||
|
de932d6de5 | ||
|
ac5a955c84 | ||
|
3dc11a77cf | ||
|
cbdfdd32fd | ||
|
7a6cafbe95 | ||
|
9056a5ccae | ||
|
86d976a38c | ||
|
f6dbeeb1d3 | ||
|
a9138980ac | ||
|
88ee06773d | ||
|
679cc02c59 | ||
|
cc36837f7e | ||
|
3d1e81b5a8 | ||
|
134786bcb7 | ||
|
97aaa219af | ||
|
c63e26b296 | ||
|
1a2d3f5588 | ||
|
fb602744bb | ||
|
abd4750c89 | ||
|
cb6741b0fa | ||
|
9103be9005 | ||
|
d470cdb21c | ||
|
f3e6b8964f | ||
|
32a9d4b35b | ||
|
780e368072 | ||
|
7ea7a3b3d3 | ||
|
c53c0efa0a | ||
|
9bad19ff57 | ||
|
d116c1bdb0 | ||
|
a05804f155 | ||
|
73733138d7 | ||
|
8cd3ab533d | ||
|
576a368232 | ||
|
e55a481032 | ||
|
87e90fb633 | ||
|
7e4fd2e198 | ||
|
5e3bef69d1 | ||
|
7cd3a3fec1 | ||
|
a4b4001f03 | ||
|
d85559a14e | ||
|
461741b243 | ||
|
42eaacedbc | ||
|
e2789b4c66 | ||
|
a2bf74a9b5 | ||
|
ed2611fa6f | ||
|
8145eff136 | ||
|
4200e09617 | ||
|
cbe6deea00 | ||
|
aa990ecf0a | ||
|
00d6cce3cd | ||
|
e9c3828c53 | ||
|
d35857c7bb | ||
|
49b6a5ff00 | ||
|
2b2e9cddbc | ||
|
514c9e71b0 | ||
|
378b51e18e | ||
|
65f0a28feb | ||
|
28a01fdcab | ||
|
6f76f192b9 | ||
|
5616cb8ee9 | ||
|
79fccff18f | ||
|
613790d1fa | ||
|
5ba41a882b | ||
|
34202ef44a | ||
|
36f2a2dd53 | ||
|
dfd69d56e7 | ||
|
4bc4b26d5a | ||
|
df98180f35 | ||
|
d3abecc973 | ||
|
fd0a944d6d | ||
|
581ee1a9e8 | ||
|
611c87328f | ||
|
cb1b56efce | ||
|
3f2235c907 | ||
|
94dc9c26d2 | ||
|
40ca48d44f | ||
|
5112b5ee91 | ||
|
4f401fb372 | ||
|
aef7c6efd6 | ||
|
ce20367007 | ||
|
50a0916dea | ||
|
b05b2270d3 | ||
|
9eccb6170d | ||
|
ff4a32ec01 | ||
|
2aaea1389b | ||
|
59cc122efa | ||
|
ea9df10321 | ||
|
7622257836 | ||
|
bb5bf3b9d8 | ||
|
016ba17be9 | ||
|
39679232f7 | ||
|
625969c2de | ||
|
68b56a3c33 | ||
|
cacb470c97 | ||
|
389d8f53db | ||
|
d11e5762bc | ||
|
6528f75720 | ||
|
8e8be5f129 | ||
|
f1a5ce3860 | ||
|
7822686752 | ||
|
93d4efbcd6 | ||
|
c1a3c0292a | ||
|
7a01f6150f | ||
|
bfb0cbae18 | ||
|
6913a42bff | ||
|
86a50f243a | ||
|
33b3a04e4e | ||
|
8f493a6377 | ||
|
e5955cd62a | ||
|
f8bdaa6ff3 | ||
|
8f5b4a7910 | ||
|
72fae0d02c | ||
|
fba6f0643d | ||
|
1b69877bc4 | ||
|
4fd0680ccf | ||
|
d095cba8b6 | ||
|
71df0cfa0f | ||
|
6d36d72175 | ||
|
eb35057724 | ||
|
6fa6a4f3ce | ||
|
cefff0ec14 | ||
|
a44b23f7a4 | ||
|
c87106896c | ||
|
79648bf770 | ||
|
5ee35073fb | ||
|
2349341e3e | ||
|
33c17d128b | ||
|
fdf21dccba | ||
|
ea48456403 | ||
|
e5cc8213aa | ||
|
e5338216f0 | ||
|
410e400a79 | ||
|
d5d6ec44ea | ||
|
4660ec224b | ||
|
eca8b13b59 | ||
|
78914d4af6 | ||
|
505b6b1581 | ||
|
ac024e87c3 | ||
|
39c800d18c | ||
|
a9517d383c | ||
|
08620feaa1 | ||
|
8a0ae36a91 | ||
|
52104e05f0 | ||
|
33ec8810ee | ||
|
d26d12f45c | ||
|
8d5a2a12e9 | ||
|
ae191ad78e | ||
|
fc3eddd130 | ||
|
ebeebc26b2 | ||
|
5607053b5a | ||
|
8a9d779178 | ||
|
d77b09e5d0 | ||
|
2a2b22823c | ||
|
2fe2d58620 | ||
|
984e1f1068 | ||
|
c080648959 | ||
|
92bb02a329 | ||
|
75c9760329 | ||
|
c5fbd9da12 | ||
|
e4b4449d11 | ||
|
39dca771d7 | ||
|
f2c8c6e025 | ||
|
4b8c6b4f61 | ||
|
2e3aaf8b43 | ||
|
67056c18a5 | ||
|
73f24adb27 | ||
|
2b76c898f5 | ||
|
2ca7fca799 | ||
|
68c63ae3af | ||
|
eae9237225 | ||
|
04befc5e3c | ||
|
948cd148be | ||
|
6e99fa99c7 | ||
|
7779960772 | ||
|
872a378f5e | ||
|
54c0a86cd0 | ||
|
db7bf1f8e9 | ||
|
d1ccec207f | ||
|
217802b9c0 | ||
|
837731717d |
15
Makefile
15
Makefile
@ -32,19 +32,6 @@ else
|
||||
DUMPDIR ?= $(HOME)/lfs-sysd-commands
|
||||
endif
|
||||
|
||||
ifndef ARCH
|
||||
ARCH = default
|
||||
endif
|
||||
ifneq ($(ARCH), default)
|
||||
ifneq ($(ARCH), ml_32)
|
||||
ifneq ($(ARCH), ml_x32)
|
||||
ifneq ($(ARCH), ml_all)
|
||||
$(error ARCH must be either 'default' (default if unset), 'ml_32', 'ml_x32' or 'ml_all'.)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
book: validate profile-html
|
||||
@echo "Generating chunked XHTML files at $(BASEDIR)/ ..."
|
||||
$(Q)xsltproc --nonet \
|
||||
@ -137,7 +124,6 @@ validate: tmpdir version
|
||||
$(Q)xsltproc --nonet \
|
||||
--xinclude \
|
||||
--stringparam profile.revision $(REV) \
|
||||
--stringparam profile.arch $(ARCH) \
|
||||
--output $(RENDERTMP)/lfs-html2.xml \
|
||||
stylesheets/lfs-xsl/profile.xsl \
|
||||
index.xml
|
||||
@ -195,7 +181,6 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
|
||||
$(Q)xsltproc --nonet \
|
||||
--xinclude \
|
||||
--stringparam profile.revision $(REV) \
|
||||
--stringparam profile.arch $(ARCH) \
|
||||
--output $(RENDERTMP)/md5sum.xml \
|
||||
stylesheets/lfs-xsl/profile.xsl \
|
||||
chapter03/chapter03.xml
|
||||
|
@ -4,8 +4,7 @@
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
<!-- Convenient entity for "Systemd" or "Udev" -->
|
||||
<!ENTITY systemd-udev "<phrase revision='systemd'>Systemd</phrase>
|
||||
<phrase revision='sysv'>Udev</phrase>">
|
||||
<!ENTITY systemd-udev "<phrase revision='systemd'>Systemd</phrase><phrase revision='sysv'>Udev</phrase>">
|
||||
<!ENTITY bdb "<ulink url='https://www.oracle.com/database/technologies/related/berkeleydb.html'>Berkeley DB</ulink>">
|
||||
]>
|
||||
|
||||
@ -45,7 +44,7 @@
|
||||
<segmentedlist id="acl-depends">
|
||||
<segtitle>&dependencies;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make,
|
||||
<seg>Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make,
|
||||
Perl, Sed, and Texinfo</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
@ -400,49 +399,6 @@
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<!-- Begin Check dependency info -->
|
||||
<bridgehead renderas="sect2" id="check-dep">Check</bridgehead>
|
||||
|
||||
<segmentedlist id="check-depends">
|
||||
<segtitle>&dependencies;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Gawk, GCC, Grep, Make, Sed, and Texinfo</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="check-rundeps">
|
||||
<segtitle>&runtime;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Bash and Gawk</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="check-testdeps">
|
||||
<segtitle>&testsuites;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>None</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="check-before">
|
||||
<segtitle>&before;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>None</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="check-optdeps">
|
||||
<segtitle>&external;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>
|
||||
<ulink url='&github;/testing-cabal/subunit'>libsubunit</ulink>
|
||||
and
|
||||
<ulink url='http://cyberelk.net/tim/software/patchutils/'>
|
||||
patchutils</ulink>
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<!-- Begin Coreutils dependency info -->
|
||||
<bridgehead renderas="sect2" id="coreutils-dep">Coreutils</bridgehead>
|
||||
|
||||
@ -872,7 +828,7 @@
|
||||
<segmentedlist id="flit-core-before">
|
||||
<segtitle>&before;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Wheel</seg>
|
||||
<seg>Packaging and Wheel</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
@ -1240,7 +1196,7 @@
|
||||
<segmentedlist id="groff-testdeps">
|
||||
<segtitle>&testsuites;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>No test suite available</seg>
|
||||
<seg>None</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
@ -1276,7 +1232,7 @@
|
||||
<segmentedlist id="grub-rundeps">
|
||||
<segtitle>&runtime;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Bash, GCC, Gettext, Glibc, Xz, and Sed.</seg>
|
||||
<seg>Bash, GCC, Gettext, Glibc, Xz, and Sed</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
@ -1545,7 +1501,7 @@
|
||||
<segmentedlist id="kbd-depends">
|
||||
<segtitle>&dependencies;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Bash, Binutils, Bison, Check, Coreutils, Flex, GCC, Gettext,
|
||||
<seg>Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext,
|
||||
Glibc, Gzip, Make, Patch, and Sed</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
@ -1642,7 +1598,7 @@
|
||||
<segmentedlist id="less-testdeps">
|
||||
<segtitle>&testsuites;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>No test suite available</seg>
|
||||
<seg>None</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
@ -2460,6 +2416,46 @@
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<!-- Begin Packaging dependency info -->
|
||||
<bridgehead renderas="sect2" id="Packaging-dep">Packaging</bridgehead>
|
||||
|
||||
<segmentedlist id="packaging-depends">
|
||||
<segtitle>&dependencies;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Flit-core and Python</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="packaging-rundeps">
|
||||
<segtitle>&runtime;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Python</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="packaging-testdeps">
|
||||
<segtitle>&testsuites;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>No test suite available</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="packaging-before">
|
||||
<segtitle>&before;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Wheel</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist id="packaging-optdeps">
|
||||
<segtitle>&external;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>
|
||||
<ulink url='&blfs-book;general/python-modules.html#pytest'>pytest</ulink>
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<!-- Begin Patch dependency info -->
|
||||
<bridgehead renderas="sect2" id="patch-dep">Patch</bridgehead>
|
||||
|
||||
@ -2571,9 +2567,10 @@
|
||||
<segtitle>&before;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Binutils,
|
||||
<phrase revision='systemd'>D-Bus, </phrase>E2fsprogs,
|
||||
IProute2, Kmod, Man-DB, Procps-ng, Python,
|
||||
&systemd-udev;, and Util-linux</seg>
|
||||
<phrase revision='systemd'>D-Bus, </phrase>
|
||||
E2fsprogs, IProute2, Kmod, Man-DB, Procps-ng, Python,
|
||||
&systemd-udev;,
|
||||
and Util-linux</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
@ -2650,7 +2647,7 @@
|
||||
<segmentedlist id="psmisc-testdeps">
|
||||
<segtitle>&testsuites;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>No test suite available</seg>
|
||||
<seg>Expect</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
@ -3312,7 +3309,7 @@
|
||||
<segmentedlist id="wheel-depends">
|
||||
<segtitle>&dependencies;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Python and Flit-core</seg>
|
||||
<seg>Python, Flit-core, and packaging</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,16 @@
|
||||
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.
|
||||
|
@ -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
|
||||
|
@ -457,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}"`
|
||||
|
@ -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
|
||||
|
@ -60,7 +60,7 @@
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>The version of the book being used (in this case &version;<phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase>)</para>
|
||||
<para>The version of the book being used (in this case &version;)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The host distribution and version being used to create LFS</para>
|
||||
@ -75,7 +75,7 @@
|
||||
<para>The exact error message, or a clear description of the problem</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Note whether you have deviated from the book at all</para>
|
||||
<para>Note whether you have deviated from the book at all </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
<title>Changelog</title>
|
||||
|
||||
<para>This is version &version;<phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase> of the Linux From Scratch book, dated
|
||||
<para>This is version &version; of the Linux From Scratch book, dated
|
||||
&releasedate;. If this book is more than six months old, a newer and better
|
||||
version is probably already available. To find out, please check one of the
|
||||
mirrors via <ulink url="&lfs-root;mirrors.html"/>.</para>
|
||||
@ -39,595 +39,371 @@
|
||||
<listitem revision="sysv"> or <listitem revision="systemd"> as
|
||||
appropriate for the entry or if needed the entire day's listitem.
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>2024-08-17</para>
|
||||
<para>2025-06-15</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-72.2.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5542'>#5542</ulink>.</para>
|
||||
<para>[bdubbs] - Update to meson-1.8.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5743'>#5743</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to kmod-33. Fixes
|
||||
<ulink url='&lfs-ticket-root;5540'>#5540</ulink>.</para>
|
||||
<para>[bdubbs] - Update to linux-6.15.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5725'>#5725</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to binutils-2.43.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5543'>#5543</ulink>.</para>
|
||||
<para>[bdubbs] - Update to libffi-3.5.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5741'>#5741</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.10.5. Fixes
|
||||
<ulink url='&lfs-ticket-root;5541'>#5541</ulink>.</para>
|
||||
<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>2024-08-15</para>
|
||||
<para>2025-06-04</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240806. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
<para>[bdubbs] - Update to ncurses-6.5-20250531. Fixes
|
||||
<ulink url='&lfs-ticket-root;5737'>#5737</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to pkgconf-2.3.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5537'>#5537</ulink>.</para>
|
||||
<para>[bdubbs] - Update to readline-8.3-rc2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5738'>#5738</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to python3-3.12.5. Fixes
|
||||
<ulink url='&lfs-ticket-root;5538'>#5538</ulink>.</para>
|
||||
<para>[bdubbs] - Update to bash-5.3-rc2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5738'>#5738</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.10.4. Fixes
|
||||
<ulink url='&lfs-ticket-root;5539'>#5539</ulink>.</para>
|
||||
<para>[bdubbs] - Update to Python-3.13.4. Fixes
|
||||
<ulink url='&lfs-ticket-root;5739'>#6739</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-08-05</para>
|
||||
<para>2025-06-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to bash-5.2.32. Fixes
|
||||
<ulink url='&lfs-ticket-root;5532'>#5532</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240801. Addresses
|
||||
<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.0660. Addresses
|
||||
<para>[bdubbs] - Update to vim-9.1.1418. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to binutils-2.43. Fixes
|
||||
<ulink url='&lfs-ticket-root;5535'>#5535</ulink>.</para>
|
||||
<para>[bdubbs] - Update to kbd-2.8.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5736'>#5736</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.10.3. Fixes
|
||||
<ulink url='&lfs-ticket-root;5534'>#5534</ulink>.</para>
|
||||
<para>[bdubbs] - Update to systemd-257.6. Fixes
|
||||
<ulink url='&lfs-ticket-root;5674'>#5674</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to readline-8.2.13. Fixes
|
||||
<ulink url='&lfs-ticket-root;5533'>#5533</ulink>.</para>
|
||||
<para>[bdubbs] - Update to setuptools-80.9.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5728'>#5728</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to wheel-0.44.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5536'>#5536</ulink>.</para>
|
||||
<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>2024-08-01</para>
|
||||
<para>2025-05-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gcc-14.2.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5530'>#5530</ulink>.</para>
|
||||
<para>[bdubbs] - Update to vim-9.1.1353. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240723. Addresses
|
||||
<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 glibc-2.40. Fixes
|
||||
<ulink url='&lfs-ticket-root;5529'>#5529</ulink>.</para>
|
||||
<para>[bdubbs] - Update to gperf-3.3. Fixes
|
||||
<ulink url='&lfs-ticket-root;5708'>#5708</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iproute2-6.10.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5523'>#5523</ulink>.</para>
|
||||
<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 linux-6.10.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5521'>#5521</ulink>.</para>
|
||||
<para>[bdubbs] - Update to perl-5.40.2 (Security update). Fixes
|
||||
<ulink url='&lfs-ticket-root;5703'>#5703</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to lz4-1.10.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5528'>#5526</ulink>.</para>
|
||||
<para>[bdubbs] - Add packaging-24.2 (Python module). Needed for wheel.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to meson-1.5.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5527'>#5527</ulink>.</para>
|
||||
<para>[bdubbs] - Update to xz-5.8.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5694'>#5694</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-72.1.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5531'>#5531</ulink>.</para>
|
||||
<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.6.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5522'>#5522</ulink>.</para>
|
||||
<para>[bdubbs] - Update to sysklogd-2.7.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5690'>#5690</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to systemd-256.4. Fixes
|
||||
<ulink url='&lfs-ticket-root;5518'>#5518</ulink>.</para>
|
||||
<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 sysvinit-3.10. Fixes
|
||||
<ulink url='&lfs-ticket-root;5528'>#5528</ulink>.</para>
|
||||
<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>2024-07-15</para>
|
||||
<para>2025-04-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240701. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to vim-9.1.0580. Addresses
|
||||
<para>[bdubbs] - Update to vim-9.1.1263. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to automake-1.17. Fixes
|
||||
<ulink url='&lfs-ticket-root;5520'>#5520</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gdbm-1.24. Fixes
|
||||
<ulink url='&lfs-ticket-root;5515'>#5515</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.9.9. Fixes
|
||||
<ulink url='&lfs-ticket-root;5517'>#5517</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to less-661. Fixes
|
||||
<ulink url='&lfs-ticket-root;5513'>#5513</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to meson-1.5.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5519'>#5519</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-70.3.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5514'>#5514</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to util-linux-2.40.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5516'>#5516</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-07-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update lfs-bootscripts to only output
|
||||
escape sequences to a terminal. </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-07-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240612. Addresses
|
||||
<para>[bdubbs] - Update to iana-etc-20250328. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to bc-6.7.6. Fixes
|
||||
<ulink url='&lfs-ticket-root;5506'>#5506</ulink>.</para>
|
||||
<para>[bdubbs] - Update to xz-5.8.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5684'>#5684</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to man-pages-6.9.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5507'>#5507</ulink>.</para>
|
||||
<para>[bdubbs] - Update to util-linux-2.41. Fixes
|
||||
<ulink url='&lfs-ticket-root;5648'>#5648</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.9.7. Fixes
|
||||
<ulink url='&lfs-ticket-root;5508'>#5508</ulink>.</para>
|
||||
<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 sysklogd-2.5.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5509'>#5509</ulink>.</para>
|
||||
<para>[bdubbs] - Update to setuptools-78.1.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5676'>#5676</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to shadow-4.16.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5510'>#5510</ulink>.</para>
|
||||
<para>[bdubbs] - Update to patch-2.8. Fixes
|
||||
<ulink url='&lfs-ticket-root;5689'>#5689</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to systemd-256.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5511'>#5511</ulink>.</para>
|
||||
<para>[bdubbs] - Update to mpfr-4.2.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5677'>#5677</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-70.1.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5512'>#5512</ulink>.</para>
|
||||
<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>2024-06-15</para>
|
||||
<para>2025-03-15</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to vim-9.1.0478. Addresses
|
||||
<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-20240607. Addresses
|
||||
<para>[bdubbs] - Update to iana-etc-20250304. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to systemd-256. Fixes
|
||||
<ulink url='&lfs-ticket-root;5504'>#5504</ulink>.</para>
|
||||
<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 python3-3.12.4. Fixes
|
||||
<ulink url='&lfs-ticket-root;5502'>#5502</ulink>.</para>
|
||||
<para>[bdubbs] - Update to setuptools-76.0.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5665'>#5665</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to perl-5.40.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5503'>#5503</ulink>.</para>
|
||||
<para>[bdubbs] - Update to pkgconf-2.4.3. Fixes
|
||||
<ulink url='&lfs-ticket-root;5672'>#5672</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to openssl-3.3.1 (Security fix). Fixes
|
||||
<ulink url='&lfs-ticket-root;5500'>#5500</ulink>.</para>
|
||||
<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.9.4. Fixes
|
||||
<ulink url='&lfs-ticket-root;5505'>#5505</ulink>.</para>
|
||||
<para>[bdubbs] - Update to linux-6.13.7. Fixes
|
||||
<ulink url='&lfs-ticket-root;5664'>#5664</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to findutils-4.10.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5499'>#5499</ulink>.</para>
|
||||
<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>2024-05-31</para>
|
||||
<para>2025-03-05</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to meson-1.4.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5498'>#5498</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to xz-5.6.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5471'>#5471</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Add linux-6.9.x compatibility instructions to
|
||||
<phrase revision="systemd">systemd</phrase>
|
||||
<phrase revision="sysv">udev</phrase>.
|
||||
Fixes <ulink url='&lfs-ticket-root;5496'>#5496</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-70.0.0 (python module). Fixes
|
||||
<ulink url='&lfs-ticket-root;5491'>#5491</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to ninja-1.12.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5489'>#5489</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to man-pages-6.8. Fixes
|
||||
<ulink url='&lfs-ticket-root;5494'>#5494</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.9.3. Fixes
|
||||
<ulink url='&lfs-ticket-root;5491'>#5491</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to libcap-2.70. Fixes
|
||||
<ulink url='&lfs-ticket-root;5493'>#5493</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iproute2-6.9.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5492'>#5492</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to e2fsprogs-1.47.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5495'>#5495</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-05-13</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[xry111] - Synchronize coreutils i18n patch from Fedora
|
||||
to fix a build failure on 32-bit x86 and an alarming compiler
|
||||
warning on both 32-bit x86 and x86_64 with GCC 14.1 or
|
||||
later.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-05-11</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to vim-9.1.0405. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to util-linux-2.40.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5482'>#5482</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.8.9. Fixes
|
||||
<ulink url='&lfs-ticket-root;5484'>#5484</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to jinja2-3.1.4 (Python module). Fixes
|
||||
<ulink url='&lfs-ticket-root;5485'>#5485</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240502. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gcc-14.1.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5486'>#5486</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-05-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Add security fix to glibc. Fixes
|
||||
<ulink url='&lfs-ticket-root;5481'>#5481</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.8.8. Fixes
|
||||
<ulink url='&lfs-ticket-root;5480'>#5480</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to ncurses-6.5. Fixes
|
||||
<ulink url='&lfs-ticket-root;5483'>#5483</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-04-16</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Make minor change to ifup script output text.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-04-15</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-69.5.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5478'>#5478</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to python3-3.12.3. Fixes
|
||||
<ulink url='&lfs-ticket-root;5476'>#5476</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to openssl-3.3.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5475'>#5475</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to ninja-1.12.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5477'>#5477</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to man-db-2.12.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5474'>#5474</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.8.6. Fixes
|
||||
<ulink url='&lfs-ticket-root;5472'>#5472</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240412. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to vim-9.1.0330. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-03-31</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240318. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to zstd-1.5.6. Fixes
|
||||
<ulink url='&lfs-ticket-root;5468'>#5468</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to util-linux-2.40. Fixes
|
||||
<ulink url='&lfs-ticket-root;5430'>#5430</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to shadow-4.15.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5465'>#5465</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to pkgconf-2.2.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5469'>#5469</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.8.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5467'>#5467</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to coreutils-9.5. Fixes
|
||||
<ulink url='&lfs-ticket-root;5470'>#5470</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-03-29</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Revert to xz-5.4.6 due to upstream
|
||||
compromise.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem revision='sysv'>
|
||||
<para>2024-03-25</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[timtas] - Update to sysvinit-3.09. Fixes
|
||||
<ulink url="&lfs-ticket-root;5466">#5466</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-03-19</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to iproute2-6.8.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;5458">#5458</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to man-pages-6.7. Fixes
|
||||
<ulink url="&lfs-ticket-root;5464">#5464</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to Linux-6.8.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;5453">#5453</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Added LZ4 to the book. Fixes
|
||||
<ulink url="&lfs-ticket-root;5463">#5463</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-03-15</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to wheel-0.43.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5459'>#5459</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-69.2.0 (Python module). Fixes
|
||||
<ulink url='&lfs-ticket-root;5462'>#5462</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to meson-1.4.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5460'>#5460</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to expat-2.6.2 (Security fix). Fixes
|
||||
<ulink url='&lfs-ticket-root;5461'>#5461</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240305. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to vim-9.1.0161. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to xz-5.6.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5457'>#5457</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to shadow-4.15.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5456'>#5456</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to psmisc-23.7. Fixes
|
||||
<ulink url='&lfs-ticket-root;5454'>#5454</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to kmod-32. Fixes
|
||||
<ulink url='&lfs-ticket-root;5455'>#5455</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to elfutils-0.191. Fixes
|
||||
<ulink url='&lfs-ticket-root;5451'>#5451</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-03-02</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240222. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to vim-9.1.0145. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to xz-5.6.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5447'>#5447</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to tcl-8.6.14. Fixes
|
||||
<ulink url='&lfs-ticket-root;5448'>#5448</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to shadow-4.14.6. Fixes
|
||||
<ulink url='&lfs-ticket-root;5450'>#5450</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to setuptools-69.1.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5446'>#5446</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.7.7. Fixes
|
||||
<ulink url='&lfs-ticket-root;5444'>#5444</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to libffi-3.4.6. Fixes
|
||||
<ulink url='&lfs-ticket-root;5443'>#5443</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gettext-0.22.5. Fixes
|
||||
<ulink url='&lfs-ticket-root;5445'>#5445</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to expat-2.6.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5449'>#5449</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-03-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - LFS-12.1 released.</para>
|
||||
<para>[bdubbs] - LFS-12.3 released.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
@ -41,36 +41,33 @@
|
||||
<listitem>
|
||||
<para>Bash-&bash-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Bc-&bc-version;</para>
|
||||
</listitem>
|
||||
<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>
|
||||
<para>Coreutils-&coreutils-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>DejaGNU-&dejagnu-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem revision="systemd">
|
||||
<listitem revision="systemd">
|
||||
<para>D-Bus-&dbus-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Diffutils-&diffutils-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>E2fsprogs-&e2fsprogs-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Diffutils-&diffutils-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>E2fsprogs-&e2fsprogs-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Expat-&expat-version;</para>
|
||||
</listitem>
|
||||
@ -80,18 +77,18 @@
|
||||
<!--<listitem>
|
||||
<para>File-&file-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Findutils-&findutils-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Flex-&flex-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Flit-core-&flit-core-version;</para>
|
||||
</listitem>-->
|
||||
<!--<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>
|
||||
@ -101,27 +98,27 @@
|
||||
<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>
|
||||
<listitem>
|
||||
<para>Grep-&grep-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Groff-&groff-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>GRUB-&grub-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Gzip-&gzip-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Iana-Etc-&iana-etc-version;</para>
|
||||
</listitem>
|
||||
@ -137,9 +134,9 @@
|
||||
<listitem>
|
||||
<para>Jinja2-&jinja2-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Kbd-&kbd-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Kmod-&kmod-version;</para>
|
||||
</listitem>
|
||||
@ -164,15 +161,18 @@
|
||||
<!--<listitem>
|
||||
<para>Libtool-&libtool-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Libxcrypt-&libxcrypt-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Linux-&linux-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Lz4-&lz4-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>M4-&m4-version;</para>
|
||||
<para>Lz4-&lz4-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>M4-&m4-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Make-&make-version;</para>
|
||||
</listitem>-->
|
||||
@ -191,21 +191,21 @@
|
||||
<!--<listitem>
|
||||
<para>MPC-&mpc-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>MPFR-&mpfr-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Ncurses-&ncurses-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Ninja-&ninja-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>OpenSSL-&openssl-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Patch-&patch-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Perl-&perl-version;</para>
|
||||
</listitem>
|
||||
@ -215,9 +215,9 @@
|
||||
<!--<listitem>
|
||||
<para>Procps-ng-&procps-ng-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Psmisc-&psmisc-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Python-&python-version;</para>
|
||||
</listitem>
|
||||
@ -239,24 +239,24 @@
|
||||
<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>
|
||||
<para>Texinfo-&texinfo-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Tzdata-&tzdata-version;</para>
|
||||
</listitem>-->
|
||||
<listitem revision="sysv">
|
||||
<para>Udev from Systemd-&systemd-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem revision="sysv">
|
||||
<para>Udev from Systemd-&systemd-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Util-linux-&util-linux-version;</para>
|
||||
</listitem>
|
||||
@ -275,9 +275,9 @@
|
||||
<!--<listitem>
|
||||
<para>Zlib-&zlib-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Zstd-&zstd-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
</itemizedlist>
|
||||
|
||||
<!--<itemizedlist>
|
||||
@ -291,22 +291,26 @@
|
||||
|
||||
<itemizedlist>
|
||||
<title>Added:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
|
||||
<listitem>
|
||||
<para>Lz4-&lz4-version;</para>
|
||||
<para>Packaging-&packaging-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>coreutils-9.7-upstream_fix-1.patch</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>perl-5.40.2-upstream_fix-1.patch</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<itemizedlist>
|
||||
<title>Removed:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
<listitem>
|
||||
<para>bash-5.2.21-upstream_fixes-1.patch</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>glibc-2.39-upstream_fix-1.patch</para>
|
||||
<para>Check-0.15.2</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>readline-8.2-upstream_fixes-3.patch</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -100,7 +100,7 @@
|
||||
<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 Feb 2024, &min-kernel; is the oldest kernel release still
|
||||
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
|
||||
@ -276,26 +276,5 @@ EOF
|
||||
|
||||
bash version-check.sh</userinput></screen>
|
||||
|
||||
<para arch="ml_32,ml_x32,ml_all">
|
||||
Building multilib support requires the kernel of the host system
|
||||
to have 32-bit emulation support included.
|
||||
</para>
|
||||
<screen arch="ml_32,ml_x32,ml_all">Binary Emulations --->
|
||||
[*] IA32 Emulation
|
||||
<M> IA32 a.out support
|
||||
[*] x32 ABI for 64-bit mode
|
||||
</screen>
|
||||
|
||||
<para arch="ml_32,ml_x32,ml_all">The option 'IA32 a.out support' is
|
||||
optional. In case your kernel does not have 'x32 ABI for 64-bit mode'
|
||||
enabled but only 'IA32 Emulation', you can continue to build your
|
||||
system but you have to leave out any sections showing instructions
|
||||
for building x32 objects. If neither 'IA32 Emulation' nor
|
||||
'x32 ABI for 64-bit mode' is enabled, you will run in errors
|
||||
latest when building <application>glibc</application> in Chapter 6,
|
||||
so an upgrade of your host system kernel is required.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
@ -42,6 +42,15 @@ mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/home</userinpu
|
||||
<replaceable><yyy></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
|
||||
|
@ -68,7 +68,8 @@
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>A few operations, from <quote>Changing Ownership</quote> to
|
||||
<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>
|
||||
|
@ -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
|
||||
|
@ -110,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>
|
||||
@ -376,15 +367,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ISL (&isl-version;) - <token>&isl-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&isl-home;"/></para>
|
||||
<para>Download: <ulink url="&isl-url;"/></para>
|
||||
<para>MD5 sum: <literal>&isl-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Jinja2 (&jinja2-version;) - <token>&jinja2-size;</token>:</term>
|
||||
<listitem>
|
||||
@ -606,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>
|
||||
|
@ -25,22 +25,21 @@
|
||||
<para>MD5 sum: <literal>&autoconf-fixes-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
<!--
|
||||
|
||||
<varlistentry>
|
||||
<term>Bash Upstream Fixes Patch - <token>&bash-upstream-fixes-patch-size;</token>:</term>
|
||||
<term>Bash Cross Compile Fix Patch - <token>&bash-crosscompile-fix-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&bash-upstream-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>
|
||||
@ -61,10 +68,10 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Expect GCC14 Patch - <token>&expect-gcc14-patch-size;</token>:</term>
|
||||
<term>Expect GCC15 Patch - <token>&expect-gcc15-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&expect-gcc14-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&expect-gcc14-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>
|
||||
|
||||
@ -118,24 +125,25 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
|
||||
<varlistentry>
|
||||
<term>Perl Upstream Fix Patch - <token>&perl-upstream-fix-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<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>Pkgconf Upstream Fix Patch - <token>&pkgconf-upstream-fix-patch-size;</token>:</term>
|
||||
<term>Python Security Fix Patch - <token>&python-security-fixes-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&pkgconf-upstream-fix-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&pkgconf-upstream-fix-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
<!--
|
||||
<varlistentry>
|
||||
<term>Readline Upstream Fix Patch - <token>&readline-fixes-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;&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>
|
||||
<listitem>
|
||||
|
@ -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,6 +36,36 @@
|
||||
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>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
|
||||
@ -44,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>
|
||||
|
@ -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,19 +74,16 @@ 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>
|
||||
<screen arch="ml_32" ><userinput>chown -v lfs $LFS/lib32</userinput></screen>
|
||||
<screen arch="ml_x32" ><userinput>chown -v lfs $LFS/libx32</userinput></screen>
|
||||
<screen arch="ml_all" ><userinput>chown -v lfs $LFS/{lib32,libx32}</userinput></screen>
|
||||
|
||||
<note><para>In some host systems, the following <command>su</command> command does not complete
|
||||
properly and suspends the login for the &lfs-user; user to the background.
|
||||
@ -97,7 +94,7 @@ 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.
|
||||
|
@ -30,13 +30,6 @@ done
|
||||
case $(uname -m) in
|
||||
x86_64) mkdir -pv $LFS/lib64 ;;
|
||||
esac</userinput></screen>
|
||||
<screen arch="ml_32"><userinput>mkdir -pv $LFS/usr/lib32
|
||||
ln -sv usr/lib32 $LFS/lib32</userinput></screen>
|
||||
<screen arch="ml_x32"><userinput>mkdir -pv $LFS/usr/libx32
|
||||
ln -sv usr/libx32 $LFS/libx32</userinput></screen>
|
||||
<screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32
|
||||
ln -sv usr/lib32 $LFS/lib32
|
||||
ln -sv usr/libx32 $LFS/libx32</userinput></screen>
|
||||
|
||||
<para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
|
||||
with a cross-compiler (more details can be found in section <xref
|
||||
|
@ -38,7 +38,7 @@ EOF</userinput></screen>
|
||||
<filename>.bashrc</filename> file instead. Create the
|
||||
<filename>.bashrc</filename> file now:</para>
|
||||
|
||||
<screen arch="default"><userinput>cat > ~/.bashrc << "EOF"
|
||||
<screen><userinput>cat > ~/.bashrc << "EOF"
|
||||
<literal>set +h
|
||||
umask 022
|
||||
LFS=/mnt/lfs
|
||||
@ -49,20 +49,6 @@ if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
|
||||
PATH=$LFS/tools/bin:$PATH
|
||||
CONFIG_SITE=$LFS/usr/share/config.site
|
||||
export LFS LC_ALL LFS_TGT PATH CONFIG_SITE</literal>
|
||||
EOF</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput>cat > ~/.bashrc << "EOF"
|
||||
<literal>set +h
|
||||
umask 022
|
||||
LFS=/mnt/lfs
|
||||
LC_ALL=POSIX
|
||||
LFS_TGT=x86_64-lfs-linux-gnu
|
||||
LFS_TGT32=i686-lfs-linux-gnu
|
||||
LFS_TGTX32=x86_64-lfs-linux-gnux32
|
||||
PATH=/usr/bin
|
||||
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
|
||||
PATH=$LFS/tools/bin:$PATH
|
||||
CONFIG_SITE=$LFS/usr/share/config.site
|
||||
export LFS LC_ALL LFS_TGT LFS_TGT32 LFS_TGTX32 PATH</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
@ -90,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
|
||||
<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).</para>
|
||||
<para>Setting the umask as we've already explained in
|
||||
<xref linkend='ch-partitioning-aboutlfs' role='.'/></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
%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">
|
||||
@ -70,7 +70,7 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Now prepare Binutils for compilation:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="configure">../configure --prefix=$LFS/tools \
|
||||
<screen><userinput remap="configure">../configure --prefix=$LFS/tools \
|
||||
--with-sysroot=$LFS \
|
||||
--target=$LFS_TGT \
|
||||
--disable-nls \
|
||||
@ -78,14 +78,6 @@ cd build</userinput></screen>
|
||||
--disable-werror \
|
||||
--enable-new-dtags \
|
||||
--enable-default-hash-style=gnu</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=$LFS/tools \
|
||||
--with-sysroot=$LFS \
|
||||
--target=$LFS_TGT \
|
||||
--disable-nls \
|
||||
--enable-gprofng=no \
|
||||
--disable-werror \
|
||||
--enable-default-hash-style=gnu \
|
||||
--enable-multilib</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
@ -169,13 +161,6 @@ cd build</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry arch="ml_32,ml_x32,ml_all">
|
||||
<term><parameter>--enable-multilib</parameter></term>
|
||||
<listitem>
|
||||
<para>Enables multilib support.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Continue with compiling the package:</para>
|
||||
|
@ -62,24 +62,16 @@ mv -v gmp-&gmp-version; gmp
|
||||
tar -xf ../mpc-&mpc-version;.tar.gz
|
||||
mv -v mpc-&mpc-version; mpc</userinput></screen>
|
||||
|
||||
<para arch="default">On x86_64 hosts, set the default directory name for
|
||||
<para>On x86_64 hosts, set the default directory name for
|
||||
64-bit libraries to <quote>lib</quote>:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="pre">case $(uname -m) in
|
||||
<screen><userinput remap="pre">case $(uname -m) in
|
||||
x86_64)
|
||||
sed -e '/m64=/s/lib64/lib/' \
|
||||
-i.orig gcc/config/i386/t-linux64
|
||||
;;
|
||||
esac</userinput></screen>
|
||||
|
||||
<para arch="ml_32,ml_x32,ml_all">Change the default directory name for
|
||||
libraries:</para>
|
||||
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
|
||||
-e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
|
||||
-i.orig gcc/config/i386/t-linux64
|
||||
</userinput></screen>
|
||||
|
||||
<para>The GCC documentation recommends building GCC
|
||||
in a dedicated build directory:</para>
|
||||
|
||||
@ -88,7 +80,7 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Prepare GCC for compilation:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="configure">../configure \
|
||||
<screen><userinput remap="configure">../configure \
|
||||
--target=$LFS_TGT \
|
||||
--prefix=$LFS/tools \
|
||||
--with-glibc-version=&glibc-version; \
|
||||
@ -108,33 +100,6 @@ cd build</userinput></screen>
|
||||
--disable-libvtv \
|
||||
--disable-libstdcxx \
|
||||
--enable-languages=c,c++</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
|
||||
arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
|
||||
arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
|
||||
arch="ml_all">mlist=m64,m32,mx32</userinput>
|
||||
<userinput remap="configure">../configure \
|
||||
--target=$LFS_TGT \
|
||||
--prefix=$LFS/tools \
|
||||
--with-glibc-version=&glibc-version; \
|
||||
--with-sysroot=$LFS \
|
||||
--with-newlib \
|
||||
--without-headers \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--enable-initfini-array \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--enable-multilib --with-multilib-list=$mlist \
|
||||
--disable-decimal-float \
|
||||
--disable-threads \
|
||||
--disable-libatomic \
|
||||
--disable-libgomp \
|
||||
--disable-libquadmath \
|
||||
--disable-libssp \
|
||||
--disable-libvtv \
|
||||
--disable-libstdcxx \
|
||||
--enable-languages=c,c++</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
@ -191,20 +156,13 @@ cd build</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry arch="default">
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-multilib</parameter></term>
|
||||
<listitem>
|
||||
<para>On x86_64, LFS does not support a multilib configuration.
|
||||
This switch is harmless for x86.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry arch="ml_32,ml_x32,ml_all">
|
||||
<term><parameter>--enable-multilib --with-multilib-list=...</parameter></term>
|
||||
<listitem>
|
||||
<para>LFS canbe used to support multilib. Which they are is
|
||||
specified in the multilib list.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-threads,
|
||||
|
@ -47,16 +47,13 @@
|
||||
for x86_64, create a compatibility symbolic link required for proper
|
||||
operation of the dynamic library loader:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="pre">case $(uname -m) in
|
||||
<screen><userinput remap="pre">case $(uname -m) in
|
||||
i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3
|
||||
;;
|
||||
x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64
|
||||
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3
|
||||
;;
|
||||
esac</userinput></screen>
|
||||
<!-- no ld-linux.so.2 here as multilib is based on x86_64, not on i686 -->
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64
|
||||
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
@ -93,10 +90,9 @@ cd build</userinput></screen>
|
||||
--prefix=/usr \
|
||||
--host=$LFS_TGT \
|
||||
--build=$(../scripts/config.guess) \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--with-headers=$LFS/usr/include \
|
||||
--disable-nscd \
|
||||
libc_cv_slibdir=/usr/lib</userinput></screen>
|
||||
libc_cv_slibdir=/usr/lib \
|
||||
--enable-kernel=&min-kernel;</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
@ -119,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>
|
||||
@ -190,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>
|
||||
|
||||
@ -203,32 +189,98 @@ 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 &> 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 arch="default">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 <...> 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
|
||||
@ -244,148 +296,6 @@ readelf -l a.out | grep ld-linux</userinput></screen>
|
||||
-->
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all">
|
||||
<title>Building Glibc - 32bit</title>
|
||||
|
||||
<para>Now recompile for m32. The extracted source can be
|
||||
reused but needs to be cleaned before installing the m32
|
||||
version of Glibc.</para>
|
||||
|
||||
<para>Clear the build directory and remove artefacts from
|
||||
previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make clean
|
||||
find .. -name "*.a" -delete</userinput></screen>
|
||||
|
||||
<para>Configure Glibc for m32 with the following commands:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \
|
||||
CXX="$LFS_TGT-g++ -m32" \
|
||||
../configure \
|
||||
--prefix=/usr \
|
||||
--host=$LFS_TGT32 \
|
||||
--build=$(../scripts/config.guess) \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--with-headers=$LFS/usr/include \
|
||||
--disable-nscd \
|
||||
--libdir=/usr/lib32 \
|
||||
--libexecdir=/usr/lib32 \
|
||||
libc_cv_slibdir=/usr/lib32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -a DESTDIR/usr/lib32 $LFS/usr/
|
||||
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
|
||||
$LFS/usr/include/gnu/
|
||||
ln -svf ../lib32/ld-linux.so.2 $LFS/lib/ld-linux.so.2</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>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
$LFS_TGT-gcc -m32 dummy.c
|
||||
readelf -l a.out | grep '/ld-linux'</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>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
|
||||
|
||||
<para>If the output is not shown as above or there was 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 on.</para>
|
||||
|
||||
<para>Once all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all">
|
||||
<title>Building Glibc - x32bit</title>
|
||||
|
||||
<para>Now recompile for mx32. The extracted source can be
|
||||
reused but needs to be cleaned before installing the mx32
|
||||
version of Glibc.</para>
|
||||
|
||||
<para>Clear the build directory and remove artefacts from
|
||||
previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make clean
|
||||
find .. -name "*.a" -delete</userinput></screen>
|
||||
|
||||
<para>Configure Glibc for mx32 with the following commands:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \
|
||||
CXX="$LFS_TGT-g++ -mx32" \
|
||||
../configure \
|
||||
--prefix=/usr \
|
||||
--host=$LFS_TGTX32 \
|
||||
--build=$(../scripts/config.guess) \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--with-headers=$LFS/usr/include \
|
||||
--disable-nscd \
|
||||
--libdir=/usr/libx32 \
|
||||
--libexecdir=/usr/libx32 \
|
||||
libc_cv_slibdir=/usr/libx32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -a DESTDIR/usr/libx32 $LFS/usr/
|
||||
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
|
||||
$LFS/usr/include/gnu/
|
||||
ln -svf ../libx32/ld-linux-x32.so.2 $LFS/lib/ld-linux-x32.so.2</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>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
$LFS_TGT-gcc -mx32 dummy.c
|
||||
readelf -l a.out | grep '/ld-linux-x32'</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>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
|
||||
|
||||
<para>If the output is not shown as above or there was 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 on.</para>
|
||||
|
||||
<para>Once all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
|
@ -60,21 +60,13 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Prepare Libstdc++ for compilation:</para>
|
||||
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../libstdc++-v3/configure \
|
||||
--host=$LFS_TGT \
|
||||
--build=$(../config.guess) \
|
||||
--prefix=/usr \
|
||||
--enable-multilib \
|
||||
--disable-nls \
|
||||
--disable-libstdcxx-pch \
|
||||
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
|
||||
<screen arch="default"><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>
|
||||
@ -89,13 +81,6 @@ cd build</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry arch="ml_32,ml_x32,ml_all">
|
||||
<term><parameter>--enable-multilib</parameter></term>
|
||||
<listitem>
|
||||
<para>Enable building multilib objects.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libstdcxx-pch</parameter></term>
|
||||
<listitem>
|
||||
|
@ -1,175 +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-tools-libxcrypt" role="wrap">
|
||||
<?dbhtml filename="libxcrypt.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>libxcrypt</productname>
|
||||
<productnumber>&libxcrypt-version;</productnumber>
|
||||
<address>&libxcrypt-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Libxcrypt-&libxcrypt-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-libxcrypt">
|
||||
<primary sortas="a-Libxcrypt">Libxcrypt</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter08/libxcrypt.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&libxcrypt-fin-sbu;</seg>
|
||||
<seg>&libxcrypt-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Libxcrypt</title>
|
||||
|
||||
<para>Prepare Libxcrypt for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --target=$LFS_TGT \
|
||||
--prefix=/usr \
|
||||
--enable-hashes=strong,glibc \
|
||||
--enable-obsolete-api=no \
|
||||
--disable-static \
|
||||
--disable-failure-tokens</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-hashes=strong,glibc</parameter></term>
|
||||
<listitem>
|
||||
<para>Build strong hash algorithms recommended for security use
|
||||
cases, and the hash algorithms provided by traditional Glibc
|
||||
<systemitem class='library'>libcrypt</systemitem> for
|
||||
compatibility.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-obsolete-api=no</parameter></term>
|
||||
<listitem>
|
||||
<para>Disable obsolete API functions. They are not needed for
|
||||
a modern Linux system built from source.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-failure-tokens</parameter></term>
|
||||
<listitem>
|
||||
<para>Disable failure token feature. It's needed for
|
||||
compatibility with the traditional hash libraries of some
|
||||
platforms, but a Linux system based on Glibc does not need
|
||||
it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Libxcrypt - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare File for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" \
|
||||
./configure --target=$LFS_TGT32 \
|
||||
--prefix=/usr \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--libdir=/usr/lib32 \
|
||||
--enable-hashes=strong,glibc \
|
||||
--enable-obsolete-api=glibc \
|
||||
--disable-static \
|
||||
--disable-failure-tokens</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/lib32/ &&
|
||||
make DESTDIR=$LFS install-pkgconfigDATA &&
|
||||
ln -svf libxcrypt.pc $LFS/usr/lib32/pkgconfig/libcrypt.pc</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Libxcrypt - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare File for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" \
|
||||
./configure --target=$LFS_TGT32 \
|
||||
--prefix=/usr \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--libdir=/usr/libx32 \
|
||||
--enable-hashes=strong,glibc \
|
||||
--enable-obsolete-api=glibc \
|
||||
--disable-static \
|
||||
--disable-failure-tokens</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/libx32/ &&
|
||||
make DESTDIR=$LFS install-pkgconfigDATA &&
|
||||
ln -svf libxcrypt.pc $LFS/usr/libx32/pkgconfig/libcrypt.pc</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-libxcrypt" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
@ -42,14 +42,17 @@
|
||||
|
||||
<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 \
|
||||
--build=$(sh support/config.guess) \
|
||||
--host=$LFS_TGT \
|
||||
--without-bash-malloc \
|
||||
bash_cv_strtold_broken=no</userinput></screen>
|
||||
--without-bash-malloc</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
@ -55,7 +55,7 @@
|
||||
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>
|
||||
|
||||
@ -64,7 +64,7 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Prepare Binutils for compilation:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="configure">../configure \
|
||||
<screen><userinput remap="configure">../configure \
|
||||
--prefix=/usr \
|
||||
--build=$(../config.guess) \
|
||||
--host=$LFS_TGT \
|
||||
@ -75,17 +75,6 @@ cd build</userinput></screen>
|
||||
--enable-64-bit-bfd \
|
||||
--enable-new-dtags \
|
||||
--enable-default-hash-style=gnu</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \
|
||||
--prefix=/usr \
|
||||
--build=$(../config.guess) \
|
||||
--host=$LFS_TGT \
|
||||
--disable-nls \
|
||||
--enable-shared \
|
||||
--enable-gprofng=no \
|
||||
--disable-werror \
|
||||
--enable-64-bit-bfd \
|
||||
--enable-default-hash-style=gnu \
|
||||
--enable-multilib</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure options:</title>
|
||||
@ -107,13 +96,6 @@ cd build</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry arch="ml_32,ml_x32,ml_all">
|
||||
<term><parameter>--enable-multilib</parameter></term>
|
||||
<listitem>
|
||||
<para>Enables multilib support in bintutils.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
@ -47,8 +47,36 @@
|
||||
|
||||
<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>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
@ -57,24 +57,16 @@ mv -v gmp-&gmp-version; gmp
|
||||
tar -xf ../mpc-&mpc-version;.tar.gz
|
||||
mv -v mpc-&mpc-version; mpc</userinput></screen>
|
||||
|
||||
|
||||
<para arch="default">If building on x86_64, change the default directory name for 64-bit
|
||||
<para>If building on x86_64, change the default directory name for 64-bit
|
||||
libraries to <quote>lib</quote>:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="pre">case $(uname -m) in
|
||||
<screen><userinput remap="pre">case $(uname -m) in
|
||||
x86_64)
|
||||
sed -e '/m64=/s/lib64/lib/' \
|
||||
-i.orig gcc/config/i386/t-linux64
|
||||
;;
|
||||
esac</userinput></screen>
|
||||
|
||||
<para arch="ml_32,ml_x32,ml_all">Change the default directory name for the
|
||||
libraries:</para>
|
||||
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
|
||||
-e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
|
||||
-i.orig gcc/config/i386/t-linux64</userinput></screen>
|
||||
|
||||
<para>Override the building rule of libgcc and libstdc++ headers, to
|
||||
allow building these libraries with POSIX threads support:</para>
|
||||
|
||||
@ -91,46 +83,24 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Now prepare GCC for compilation:</para>
|
||||
|
||||
<screen arch="default"><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-libsanitizer \
|
||||
--disable-libssp \
|
||||
--disable-libvtv \
|
||||
--enable-languages=c,c++</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
|
||||
arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
|
||||
arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
|
||||
arch="ml_all">mlist=m64,m32,mx32</userinput>
|
||||
<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 \
|
||||
--enable-multilib --with-multilib-list=$mlist \
|
||||
--disable-libatomic \
|
||||
--disable-libgomp \
|
||||
--disable-libquadmath \
|
||||
--disable-libsanitizer \
|
||||
--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 -->
|
||||
@ -168,10 +138,11 @@ 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>
|
||||
|
||||
|
@ -45,23 +45,9 @@
|
||||
<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>
|
||||
|
@ -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 <quote>tic</quote>
|
||||
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>
|
||||
@ -69,7 +68,8 @@ popd</userinput></screen>
|
||||
--with-cxx-shared \
|
||||
--without-debug \
|
||||
--without-ada \
|
||||
--disable-stripping</userinput></screen>
|
||||
--disable-stripping \
|
||||
AWK=gawk</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure options:</title>
|
||||
@ -131,21 +131,17 @@ popd</userinput></screen>
|
||||
Using host tools on cross-compiled programs can cause failure.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<!-- this is the default >= 6.5
|
||||
|
||||
<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>
|
||||
@ -154,28 +150,14 @@ popd</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
|
||||
<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>
|
||||
<!--
|
||||
<para>Remove an unneeded static library not handled by
|
||||
<command>configure</command>:</para>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>ln -sv libncursesw.so $LFS/usr/lib/libncurses.so</command></term>
|
||||
<listitem>
|
||||
@ -206,84 +188,6 @@ sed -e 's/^#if.*XOPEN.*$/#if 1/' \
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all">
|
||||
<title>Building Ncurses - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Ncurses for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \
|
||||
CXX="$LFS_TGT-g++ -m32" \
|
||||
./configure --prefix=/usr \
|
||||
--host=$LFS_TGT32 \
|
||||
--build=$(./config.guess) \
|
||||
--libdir=/usr/lib32 \
|
||||
--mandir=/usr/share/man \
|
||||
--with-shared \
|
||||
--without-normal \
|
||||
--with-cxx-shared \
|
||||
--without-debug \
|
||||
--without-ada \
|
||||
--disable-stripping</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
|
||||
ln -sv libncursesw.so DESTDIR/usr/lib32/libncurses.so
|
||||
cp -Rv DESTDIR/usr/lib32/* $LFS/usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_x32,ml_all">
|
||||
<title>Building Ncurses - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Ncurses for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \
|
||||
CXX="$LFS_TGT-g++ -mx32" \
|
||||
./configure --prefix=/usr \
|
||||
--host=$LFS_TGTX32 \
|
||||
--build=$(./config.guess) \
|
||||
--libdir=/usr/libx32 \
|
||||
--mandir=/usr/share/man \
|
||||
--with-shared \
|
||||
--without-normal \
|
||||
--with-cxx-shared \
|
||||
--without-debug \
|
||||
--without-ada \
|
||||
--disable-stripping</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
|
||||
ln -sv libncursesw.so DESTDIR/usr/libx32/libncurses.so
|
||||
cp -Rv DESTDIR/usr/libx32/* $LFS/usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -33,14 +33,9 @@
|
||||
user <systemitem class="username">root</systemitem> by running the following
|
||||
command:</para>
|
||||
|
||||
<screen><userinput>chown --from lfs -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 --from lfs -R root:root $LFS/lib64 ;;
|
||||
x86_64) chown --from &lfs-username; -R root:root $LFS/lib64 ;;
|
||||
esac</userinput></screen>
|
||||
|
||||
<para arch="ml_32,ml_x32,ml_all">Some more directories exists for
|
||||
multilib support. Change their ownership, too:</para>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput arch="ml_32,ml_all">chown -R root:root $LFS/lib32</userinput>
|
||||
<userinput arch="ml_x32,ml_all">chown -R root:root $LFS/libx32</userinput></screen>
|
||||
|
||||
</sect1>
|
||||
|
@ -23,10 +23,7 @@
|
||||
libltdl, and it's known that some .la files can cause BLFS package
|
||||
failures. Remove those files now:</para>
|
||||
|
||||
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput><userinput arch="ml_32">
|
||||
find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32">
|
||||
find /usr/libx32 -name \*.la -delete</userinput><userinput arch="ml_all">
|
||||
find /usr/lib{,x}32 -name \*.la -delete</userinput></screen>
|
||||
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
|
||||
|
||||
<para>
|
||||
The current system size is now about 3 GB, however
|
||||
|
@ -180,11 +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>
|
||||
|
@ -42,9 +42,6 @@ ln -sfv /run/lock /var/lock
|
||||
install -dv -m 0750 /root
|
||||
install -dv -m 1777 /tmp /var/tmp</userinput></screen>
|
||||
|
||||
<para arch="ml_32,ml_x32,ml_all">Required directories for multilib
|
||||
support has already been created while previous installation steps.</para>
|
||||
|
||||
<para>Directories are, by default, created with permission mode 755, but
|
||||
this is not desirable everywhere. In the commands above, two
|
||||
changes are made—one to the home directory of user <systemitem
|
||||
|
@ -52,9 +52,10 @@
|
||||
|
||||
<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>
|
||||
|
@ -127,90 +127,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Util-linux - 32-bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Util-linux for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" \
|
||||
./configure --host=i686-pc-linux-gnu \
|
||||
--libdir=/usr/lib32 \
|
||||
--runstatedir=/run \
|
||||
--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 \
|
||||
--disable-liblastlog2 \
|
||||
--without-python \
|
||||
ADJTIME_PATH=/var/lib/hwclock/adjtime</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Util-linux - x32-bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Util-linux for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" \
|
||||
./configure --host=x86_64-pc-linux-gnux32 \
|
||||
--libdir=/usr/libx32 \
|
||||
--runstatedir=/run \
|
||||
--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 \
|
||||
--disable-liblastlog2 \
|
||||
--without-python \
|
||||
ADJTIME_PATH=/var/lib/hwclock/adjtime</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
|
@ -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>
|
||||
|
||||
@ -64,70 +67,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Acl - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Acl for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--libdir=/usr/lib32 \
|
||||
--libexecdir=/usr/lib32 \
|
||||
--host=i686-pc-linux-gnu</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Acl - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Acl for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--libdir=/usr/libx32 \
|
||||
--libexecdir=/usr/libx32 \
|
||||
--host=x86_64-pc-linux-gnux32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-acl" role="content">
|
||||
<title>Contents of Acl</title>
|
||||
|
||||
|
@ -64,70 +64,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Attr - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Attr for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--sysconfdir=/etc \
|
||||
--libdir=/usr/lib32 \
|
||||
--host=i686-pc-linux-gnu</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Attr - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Attr for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--sysconfdir=/etc \
|
||||
--libdir=/usr/libx32 \
|
||||
--host=x86_64-pc-linux-gnux32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-attr" role="content">
|
||||
<title>Contents of Attr</title>
|
||||
|
||||
|
@ -45,7 +45,6 @@
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--without-bash-malloc \
|
||||
--with-installed-readline \
|
||||
bash_cv_strtold_broken=no \
|
||||
--docdir=/usr/share/doc/bash-&bash-version;</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -49,9 +49,8 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Prepare Binutils for compilation:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="configure">../configure --prefix=/usr \
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--enable-gold \
|
||||
--enable-ld=default \
|
||||
--enable-plugins \
|
||||
--enable-shared \
|
||||
@ -60,29 +59,10 @@ cd build</userinput></screen>
|
||||
--enable-new-dtags \
|
||||
--with-system-zlib \
|
||||
--enable-default-hash-style=gnu</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><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 \
|
||||
--enable-default-hash-style=gnu \
|
||||
--enable-multilib</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure parameters:</title>
|
||||
|
||||
<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>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-ld=default</parameter></term>
|
||||
<listitem>
|
||||
@ -106,13 +86,6 @@ cd build</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry arch="ml_32,ml_x32,ml_all">
|
||||
<term><parameter>--enable-multilib</parameter></term>
|
||||
<listitem>
|
||||
<para>Enables multilib support in bintutils.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
@ -154,19 +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>Three tests in the gprofng suite are also known to fail.</para>-->
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
|
||||
|
||||
<para>Remove useless static libraries:</para>
|
||||
<para>Remove useless static libraries and other files:</para>
|
||||
|
||||
<screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a</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>
|
||||
|
||||
@ -179,7 +147,7 @@ cd build</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, libgprofng.so,
|
||||
libopcodes.so, and libsframe.so</seg>
|
||||
@ -289,17 +257,6 @@ cd build</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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -103,60 +103,6 @@ done</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Bzip2 - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make clean</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -m32/" -i Makefile{,-libbz2_so}
|
||||
make -f Makefile-libbz2_so
|
||||
make libbz2.a</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">install -Dm755 libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0.8
|
||||
ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so
|
||||
ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1
|
||||
ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0
|
||||
install -Dm644 libbz2.a /usr/lib32/libbz2.a</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Bzip2 - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make clean</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -mx32/" -i Makefile{,-libbz2_so}
|
||||
make -f Makefile-libbz2_so
|
||||
make libbz2.a</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">install -Dm755 libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0.8
|
||||
ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so
|
||||
ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1
|
||||
ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0
|
||||
install -Dm644 libbz2.a /usr/libx32/libbz2.a</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-bzip2" role="content">
|
||||
<title>Contents of Bzip2</title>
|
||||
|
||||
|
@ -35,7 +35,6 @@
|
||||
<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"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="isl.xml"/>
|
||||
<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"/>
|
||||
@ -61,17 +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"/>
|
||||
|
@ -1,109 +0,0 @@
|
||||
<?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-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>
|
@ -21,9 +21,7 @@
|
||||
by libltdl, and it's known that some .la files can break BLFS package
|
||||
builds. Remove those files now:</para>
|
||||
|
||||
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput><userinput arch="ml_32,ml_all">
|
||||
find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32,ml_all">
|
||||
find /usr/libx32 -name \*.la -delete</userinput></screen>
|
||||
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
|
||||
|
||||
<para>For more information about libtool archive files, see the <ulink
|
||||
url="&blfs-book;introduction/la-files.html">BLFS section "About Libtool
|
||||
|
@ -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>
|
||||
@ -55,20 +59,35 @@
|
||||
|
||||
<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>
|
||||
|
||||
@ -134,12 +153,6 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
|
||||
|
||||
<screen><userinput remap="test">groupdel dummy</userinput></screen>
|
||||
|
||||
<para>
|
||||
Two tests, <filename>tests/cp/preserve-mode.sh</filename> and
|
||||
<filename>tests/mv/acl.sh</filename>, are known to
|
||||
fail in the chroot environment, but pass in a complete system.
|
||||
</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
@ -48,41 +48,21 @@
|
||||
|
||||
<para>Prepare D-Bus for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--runstatedir=/run \
|
||||
--enable-user-session \
|
||||
--disable-static \
|
||||
--disable-doxygen-docs \
|
||||
--disable-xml-docs \
|
||||
--docdir=/usr/share/doc/dbus-&dbus-version; \
|
||||
--with-system-socket=/run/dbus/system_bus_socket</userinput></screen>
|
||||
<screen><userinput remap="configure">mkdir build
|
||||
cd build
|
||||
|
||||
meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback ..</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
<title>The meaning of the meson options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<parameter>--runstatedir=/run</parameter> and
|
||||
<parameter>--with-system-socket=/run/dbus/system_bus_socket</parameter>
|
||||
<parameter>--wrap-mode=nofallback</parameter>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>These cause the PID file and the system bus socket
|
||||
to be in <filename class="directory">/run</filename>, instead of
|
||||
the deprecated <filename class="directory">/var/run</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<parameter>--enable-user-session</parameter>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>This ensures the D-Bus per-user service and socket unit
|
||||
files are installed for Systemd. They are not useful (but
|
||||
harmless) in a base LFS installation, however they can be used
|
||||
once systemd is rebuilt with PAM support in BLFS.</para>
|
||||
<para>This switch prevents meson from attempting to download a copy
|
||||
of the Glib package for the tests.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -90,11 +70,11 @@
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
<screen><userinput remap="make">ninja</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
<screen><userinput remap="test">ninja test</userinput></screen>
|
||||
|
||||
<para>Many tests are disabled because they require additional
|
||||
packages that are not included in LFS. Instructions for running the
|
||||
@ -103,7 +83,7 @@
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
<screen><userinput remap="install">ninja install</userinput></screen>
|
||||
|
||||
<para>Create a symlink so that D-Bus and systemd can use the same
|
||||
<filename>machine-id</filename> file:</para>
|
||||
@ -149,7 +129,7 @@
|
||||
<varlistentry id="dbus-daemon">
|
||||
<term><command>dbus-daemon</command></term>
|
||||
<listitem>
|
||||
<para>Is the D-Bus message bus daemon</para>
|
||||
<para>is the D-Bus message bus daemon</para>
|
||||
<indexterm zone="ch-system-dbus dbus-daemon">
|
||||
<primary sortas="b-dbus-daemon">dbus-daemon</primary>
|
||||
</indexterm>
|
||||
@ -159,7 +139,7 @@
|
||||
<varlistentry id="dbus-launch">
|
||||
<term><command>dbus-launch</command></term>
|
||||
<listitem>
|
||||
<para>Starts <command>dbus-daemon</command> from a shell
|
||||
<para>starts <command>dbus-daemon</command> from a shell
|
||||
script</para>
|
||||
<indexterm zone="ch-system-dbus dbus-launch">
|
||||
<primary sortas="b-dbus-launch">dbus-launch</primary>
|
||||
@ -170,7 +150,7 @@
|
||||
<varlistentry id="dbus-monitor">
|
||||
<term><command>dbus-monitor</command></term>
|
||||
<listitem>
|
||||
<para>Monitors messages passing through a D-Bus message bus</para>
|
||||
<para>monitors messages passing through a D-Bus message bus</para>
|
||||
<indexterm zone="ch-system-dbus dbus-monitor">
|
||||
<primary sortas="b-dbus-monitor">dbus-monitor</primary>
|
||||
</indexterm>
|
||||
@ -180,7 +160,7 @@
|
||||
<varlistentry id="dbus-run-session">
|
||||
<term><command>dbus-run-session</command></term>
|
||||
<listitem>
|
||||
<para>Starts a session bus instance of <command>dbus-daemon</command>
|
||||
<para>starts a session bus instance of <command>dbus-daemon</command>
|
||||
from a shell script and starts a specified program in that
|
||||
session</para>
|
||||
<indexterm zone="ch-system-dbus dbus-run-session">
|
||||
@ -192,7 +172,7 @@
|
||||
<varlistentry id="dbus-send">
|
||||
<term><command>dbus-send</command></term>
|
||||
<listitem>
|
||||
<para>Sends a message to a D-Bus message bus</para>
|
||||
<para>sends a message to a D-Bus message bus</para>
|
||||
<indexterm zone="ch-system-dbus dbus-send">
|
||||
<primary sortas="b-dbus-send">dbus-send</primary>
|
||||
</indexterm>
|
||||
@ -202,7 +182,7 @@
|
||||
<varlistentry id="dbus-test-tool">
|
||||
<term><command>dbus-test-tool</command></term>
|
||||
<listitem>
|
||||
<para>Is a tool to help packages test
|
||||
<para>is a tool to help packages test
|
||||
<application>D-Bus</application></para>
|
||||
<indexterm zone="ch-system-dbus dbus-test-tool">
|
||||
<primary sortas="b-dbus-test-tool">dbus-test-tool</primary>
|
||||
@ -214,7 +194,7 @@
|
||||
<varlistentry id="dbus-update-activation-environment">
|
||||
<term><command>dbus-update-activation-environment</command></term>
|
||||
<listitem>
|
||||
<para>Updates environment variables that will be set for
|
||||
<para>updates environment variables that will be set for
|
||||
<application>D-Bus</application> session services</para>
|
||||
<indexterm zone="ch-system-dbus dbus-update-activation-environment">
|
||||
<primary sortas="b-dbus-update-activation-environment">dbus-update-activation-environment</primary>
|
||||
|
@ -52,12 +52,12 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Prepare E2fsprogs for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--enable-elf-shlibs \
|
||||
--disable-libblkid \
|
||||
--disable-libuuid \
|
||||
--disable-uuidd \
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--enable-elf-shlibs \
|
||||
--disable-libblkid \
|
||||
--disable-libuuid \
|
||||
--disable-uuidd \
|
||||
--disable-fsck</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
@ -93,9 +93,12 @@ cd build</userinput></screen>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<!-- https://github.com/tytso/e2fsprogs/issues/134 -->
|
||||
<!-- https://github.com/tytso/e2fsprogs/issues/134
|
||||
https://github.com/tytso/e2fsprogs/issues/158 -->
|
||||
<para>One test named <filename>m_assume_storage_prezeroed</filename>
|
||||
is known to fail.</para>
|
||||
is known to fail. Another test named <filename>m_rootdir_acl</filename>
|
||||
is known to fail if the file system used for the LFS system is not
|
||||
<systemitem class='filesystem'>ext4</systemitem>.</para>
|
||||
|
||||
<!-- This is a ridiculous amount now! And is it still true?
|
||||
Does not appear to be true for version 1.46.3. Time with tests
|
||||
@ -146,7 +149,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
||||
<para>
|
||||
<filename>/etc/mke2fs.conf</filename> contains the default value of
|
||||
various command line options of <command>mke2fs</command>. You may
|
||||
edit the file to make the default values suitable for your need.
|
||||
edit the file to make the default values suitable for your needs.
|
||||
For example, some utilities (not in LFS or BLFS) cannot recognize a
|
||||
<systemitem class='filesystem'>ext4</systemitem> file system with
|
||||
<literal>metadata_csum_seed</literal> feature enabled.
|
||||
|
@ -65,72 +65,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Expat - 32bit</title>
|
||||
|
||||
<para>Clean previous build but keep precompiled doc because it
|
||||
cannot be rebuilt in this stage of the system:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
|
||||
make clean</userinput></screen>
|
||||
|
||||
<para>Prepare Expat for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--libdir=/usr/lib32 \
|
||||
--host=i686-pc-linux-gnu</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Expat - x32bit</title>
|
||||
|
||||
<para>Clean previous build but keep precompiled doc because it
|
||||
cannot be rebuilt in this stage of the system:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
|
||||
make clean</userinput></screen>
|
||||
|
||||
<para>Prepare Expat for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--libdir=/usr/libx32 \
|
||||
--host=x86_64-pc-linux-gnux32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-expat" role="content">
|
||||
<title>Contents of Expat</title>
|
||||
|
||||
|
@ -67,9 +67,9 @@
|
||||
GDBM, and of course Expect itself) will fail catastrophically, and other
|
||||
subtle breakages may also happen.</para>
|
||||
|
||||
<para>Now, make some changes to allow the package with gcc-14.1 or later:</para>
|
||||
<para>Now, make some changes to allow the package with gcc-15.1 or later:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch</userinput></screen>
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&expect-gcc15-patch;</userinput></screen>
|
||||
|
||||
<para>Prepare Expect for compilation:</para>
|
||||
|
||||
|
@ -59,65 +59,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of File - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare File for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib32 \
|
||||
--host=i686-pc-linux-gnu</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of File - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare File for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/libx32 \
|
||||
--host=x86_64-pc-linux-gnux32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-file" role="content">
|
||||
<title>Contents of File</title>
|
||||
|
@ -61,7 +61,7 @@
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results (about 0.5 SBU), issue:</para>
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
|
@ -42,11 +42,11 @@
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
|
||||
<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 install --no-index --no-user --find-links dist flit_core</userinput></screen>
|
||||
<screen><userinput remap="install">pip3 install --no-index --find-links dist flit_core</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the pip3 configuration options and commands:</title>
|
||||
|
@ -84,8 +84,7 @@ make install</userinput></screen>
|
||||
|
||||
<para>If desired, install the documentation:</para>
|
||||
|
||||
<screen><userinput remap="install">mkdir -pv /usr/share/doc/gawk-&gawk-version;
|
||||
cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-&gawk-version;</userinput></screen>
|
||||
<screen><userinput remap="install">install -vDm644 doc/{awkforai.txt,*.{eps,pdf,jpg}} -t /usr/share/doc/gawk-&gawk-version;</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -44,20 +44,13 @@
|
||||
<para>If building on x86_64, change the default directory name for 64-bit
|
||||
libraries to <quote>lib</quote>:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="pre">case $(uname -m) in
|
||||
<screen><userinput remap="pre">case $(uname -m) in
|
||||
x86_64)
|
||||
sed -e '/m64=/s/lib64/lib/' \
|
||||
-i.orig gcc/config/i386/t-linux64
|
||||
;;
|
||||
esac</userinput></screen>
|
||||
|
||||
<para arch="ml_32,ml_x32,ml_all">Change the default directory name for 64-bit
|
||||
libraries to <quote>lib</quote>:</para>
|
||||
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
|
||||
-e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
|
||||
-i.orig gcc/config/i386/t-linux64</userinput></screen>
|
||||
|
||||
<para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v build
|
||||
@ -65,7 +58,7 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Prepare GCC for compilation:</para>
|
||||
|
||||
<screen arch="default"><userinput remap="configure">../configure --prefix=/usr \
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
LD=ld \
|
||||
--enable-languages=c,c++ \
|
||||
--enable-default-pie \
|
||||
@ -75,21 +68,6 @@ cd build</userinput></screen>
|
||||
--disable-bootstrap \
|
||||
--disable-fixincludes \
|
||||
--with-system-zlib</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
|
||||
arch="ml_32" >mlist=m64,m32</userinput><userinput remap="configure"
|
||||
arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
|
||||
arch="ml_all">mlist=m64,m32,mx32</userinput>
|
||||
<userinput remap="configure">../configure --prefix=/usr \
|
||||
LD=ld \
|
||||
--enable-languages=c,c++ \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--enable-host-pie \
|
||||
--enable-multilib \
|
||||
--with-multilib-list=$mlist \
|
||||
--disable-bootstrap \
|
||||
--disable-fixincludes \
|
||||
--with-system-zlib</userinput></screen>
|
||||
|
||||
<para>GCC supports seven different computer languages, but the
|
||||
prerequisites for most of them have not yet been installed. See the
|
||||
@ -161,10 +139,16 @@ cd build</userinput></screen>
|
||||
command below, where x is the number of CPU cores on your system.</para>
|
||||
</important>
|
||||
|
||||
<para>One set of tests in the GCC test suite is known to exhaust the default
|
||||
stack, so increase the stack size prior to running the tests:</para>
|
||||
<para>GCC may need more stack space compiling some extremely complex
|
||||
code patterns. As a precaution for the host distros with a tight stack
|
||||
limit, explicitly set the stack size hard limit to infinite.
|
||||
On most host distros (and the final LFS system) the hard limit is
|
||||
infinite by default, but there is no harm done by setting it explicitly.
|
||||
It's not necessary to change the stack size soft limit because GCC will
|
||||
automatically set it to an appropriate value, as long as the value does
|
||||
not exceed the hard limit:</para>
|
||||
|
||||
<screen><userinput remap="test">ulimit -s 32768</userinput></screen>
|
||||
<screen><userinput remap="test">ulimit -s -H unlimited</userinput></screen>
|
||||
|
||||
<para>Now remove/fix several known test failures:</para>
|
||||
|
||||
@ -189,26 +173,15 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
|
||||
<para>Results can be compared with those located at <ulink
|
||||
url="&test-results;"/> and
|
||||
<ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
|
||||
<!--
|
||||
<para>
|
||||
Eight gcc tests (out of over 185,000):
|
||||
<!- - https://gcc.gnu.org/PR106375 - -><filename>pr56837.c</filename>
|
||||
and seven tests in the <filename class='directory'>analyzer</filename>
|
||||
directory are known to fail.
|
||||
|
||||
<!- - https://gcc.gnu.org/PR109353 - ->
|
||||
One libstdc++ test (out of over 15000), <filename>copy.cc</filename>, is
|
||||
known to fail.
|
||||
<!-- https://github.com/google/sanitizers/issues/1716
|
||||
Affecting any host distro with a large vm.mmap_rnd_bits.
|
||||
The fix is https://github.com/llvm/llvm-project/commit/0784b1eefa36
|
||||
but it's not in GCC 14. TODO retry with
|
||||
sudo sysctl vm.mmap_rnd_bits=32
|
||||
on the host distro when we update to GCC 15. -->
|
||||
<para>The tsan tests are known to fail on some host distros.</para>
|
||||
|
||||
For g++, 21 tests (out of approximately 250,000): 14
|
||||
<quote>AddressSanitizer*</quote>
|
||||
tests and 7 <filename>interception-malloc-test-1.C</filename> tests, are
|
||||
known to fail.
|
||||
|
||||
Additionally, several tests in the
|
||||
<filename class='directory'>vect</filename> directory are known to fail
|
||||
if the hardware does not support AVX.</para>
|
||||
-->
|
||||
<para>A few unexpected failures cannot always be avoided. In some cases
|
||||
test failures depend on the specific hardware of the system.<!--The GCC developers
|
||||
are usually aware of these issues, but have not resolved them yet.-->
|
||||
@ -250,8 +223,7 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
|
||||
that compiling and linking will work as expected. We do this by performing
|
||||
some sanity checks:</para>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
cc dummy.c -v -Wl,--verbose &> dummy.log
|
||||
<screen><userinput>echo 'int main(){}' | cc -x c - -v -Wl,--verbose &> dummy.log
|
||||
readelf -l a.out | grep ': /lib'</userinput></screen>
|
||||
|
||||
<para>There should be no errors,
|
||||
@ -309,11 +281,10 @@ SEARCH_DIR("/usr/local/lib")
|
||||
SEARCH_DIR("/lib")
|
||||
SEARCH_DIR("/usr/lib");</computeroutput></screen>
|
||||
|
||||
<para arch="default">A 32-bit system may use a few other directories. For example, here
|
||||
<para>A 32-bit system may use a few other directories. For example, here
|
||||
is the output from an i686 machine:</para>
|
||||
|
||||
<!-- not using entities here as the dir names has nothing to do with multilib -->
|
||||
<screen arch="default"><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
|
||||
<screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
|
||||
SEARCH_DIR("/usr/local/lib32")
|
||||
SEARCH_DIR("/lib32")
|
||||
SEARCH_DIR("/usr/lib32")
|
||||
@ -347,7 +318,7 @@ SEARCH_DIR("/usr/lib");</computeroutput></screen>
|
||||
|
||||
<para>Once everything is working correctly, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen>
|
||||
<screen><userinput>rm -v a.out dummy.log</userinput></screen>
|
||||
|
||||
<para>Finally, move a misplaced file:</para>
|
||||
|
||||
|
@ -85,70 +85,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of GDBM - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare GDBM for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib32 \
|
||||
--disable-static \
|
||||
--enable-libgdbm-compat</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32/
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of GDBM - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare GDBM for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/libx32 \
|
||||
--disable-static \
|
||||
--enable-libgdbm-compat</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32/
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-gdbm" role="content">
|
||||
<title>Contents of GDBM</title>
|
||||
|
||||
|
@ -42,7 +42,15 @@
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Gettext</title>
|
||||
<!--
|
||||
<para>At first, fix an issue causing the package fail to build with
|
||||
libxml-2.12 or later. The fix is optional for building LFS, but
|
||||
required if rebuilding this package in BLFS with libxml
|
||||
installed:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e '/^structured/s/xmlError \*/typeof(xmlCtxtGetLastError(NULL)) /' \
|
||||
-i gettext-tools/src/its.c</userinput></screen>
|
||||
-->
|
||||
<para>Prepare Gettext for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
@ -69,8 +77,7 @@
|
||||
|
||||
</variablelist>
|
||||
-->
|
||||
<para>To test the results (this takes a long time, around 3 SBUs),
|
||||
issue:</para>
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
|
@ -68,12 +68,12 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Prepare Glibc for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
--disable-werror \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--enable-stack-protector=strong \
|
||||
--disable-nscd \
|
||||
libc_cv_slibdir=/usr/lib</userinput></screen>
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
--disable-werror \
|
||||
--disable-nscd \
|
||||
libc_cv_slibdir=/usr/lib \
|
||||
--enable-stack-protector=strong \
|
||||
--enable-kernel=&min-kernel;</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
@ -152,7 +152,7 @@ esac</userinput></screen>
|
||||
|
||||
<para>You may see some test failures. The Glibc test suite is
|
||||
somewhat dependent on the host system. A few failures out of
|
||||
over 5000 tests can generally be ignored. This is a list of the
|
||||
over 6000 tests can generally be ignored. This is a list of the
|
||||
most common issues seen for recent versions of LFS:</para>
|
||||
|
||||
<itemizedlist>
|
||||
@ -317,6 +317,20 @@ install -vm755 dest/usr/lib/*.so.* /usr/lib</userinput></screen>
|
||||
the locales. Once they are finished, reboot the system
|
||||
immediately.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When the system has successfully rebooted, if you are running
|
||||
a LFS system prior to 12.0 (exclusive) where GCC was not built
|
||||
with the <parameter>--disable-fixincludes</parameter> option,
|
||||
move two GCC headers into a better location and
|
||||
remove the stale <quote>fixed</quote> copies of the Glibc headers:
|
||||
</para>
|
||||
|
||||
<screen role='nodump'><userinput>DIR=$(dirname $(gcc -print-libgcc-file-name))
|
||||
[ -e $DIR/include/limits.h ] || mv $DIR/include{-fixed,}/limits.h
|
||||
[ -e $DIR/include/syslimits.h ] || mv $DIR/include{-fixed,}/syslimits.h
|
||||
rm -rfv $DIR/include-fixed/*
|
||||
unset DIR</userinput></screen>
|
||||
</important>
|
||||
|
||||
<para>Install the package:</para>
|
||||
@ -380,7 +394,6 @@ localedef -i it_IT -f ISO-8859-1 it_IT
|
||||
localedef -i it_IT -f ISO-8859-15 it_IT@euro
|
||||
localedef -i it_IT -f UTF-8 it_IT.UTF-8
|
||||
localedef -i ja_JP -f EUC-JP ja_JP
|
||||
localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true
|
||||
localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
|
||||
localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro
|
||||
localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R
|
||||
@ -402,15 +415,6 @@ localedef -i zh_TW -f UTF-8 zh_TW.UTF-8</userinput></screen>
|
||||
|
||||
<screen><userinput remap="locale-full">make localedata/install-locales</userinput></screen>
|
||||
|
||||
<para>Then use the <command>localedef</command> command to create and
|
||||
install locales not listed in the
|
||||
<filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file
|
||||
when you need them. For instance, the following two locales are
|
||||
needed for some tests later in this chapter:</para>
|
||||
|
||||
<screen role="nodump"><userinput remap="locale-full">localedef -i C -f UTF-8 C.UTF-8
|
||||
localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true</userinput></screen>
|
||||
|
||||
<note><para>Glibc now uses libidn2 when resolving internationalized
|
||||
domain names. This is a run time dependency. If this capability
|
||||
is needed, the instructions for installing libidn2 are in the
|
||||
@ -496,7 +500,7 @@ done
|
||||
|
||||
cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
|
||||
zic -d $ZONEINFO -p America/New_York
|
||||
unset ZONEINFO</userinput></screen>
|
||||
unset ZONEINFO tz</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the zic commands:</title>
|
||||
@ -606,154 +610,6 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all">
|
||||
<title>Building Glibc - 32bit</title>
|
||||
|
||||
<para>Now recompile for m32. The extracted source can be
|
||||
reused but needs to be cleaned before installing the m32
|
||||
version of Glibc.</para>
|
||||
|
||||
<para>Clear the build directory and remove artefacts from
|
||||
previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -rf ./*
|
||||
find .. -name "*.a" -delete</userinput></screen>
|
||||
|
||||
<para>Configure Glibc for m32 with the following commands:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
|
||||
../configure \
|
||||
--prefix=/usr \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--build=$(../scripts/config.guess) \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--disable-nscd \
|
||||
--libdir=/usr/lib32 \
|
||||
--libexecdir=/usr/lib32 \
|
||||
libc_cv_slibdir=/usr/lib32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -a DESTDIR/usr/lib32/* /usr/lib32/
|
||||
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
|
||||
/usr/include/gnu/</userinput></screen>
|
||||
<!-- no longer required as they are created in chap5
|
||||
ln -svf ../lib32/ld-linux.so.2 /lib/ld-linux.so.2
|
||||
-->
|
||||
|
||||
<para>Add the library name to the dynamic loader config:</para>
|
||||
|
||||
<screen role="install"><userinput>echo "/usr/lib32" >> /etc/ld.so.conf</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>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
gcc -m32 dummy.c
|
||||
readelf -l a.out | grep '/ld-linux'</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>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
|
||||
|
||||
<para>If the output is not shown as above or there was 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 on.</para>
|
||||
|
||||
<para>Once all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all">
|
||||
<title>Building Glibc - x32bit</title>
|
||||
|
||||
<para>Now recompile for mx32. The extracted source can be
|
||||
reused but needs to be cleaned before installing the mx32
|
||||
version of Glibc.</para>
|
||||
|
||||
<para>Clear the build directory and remove artefacts from
|
||||
previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -rf ./*
|
||||
find .. -name "*.a" -delete</userinput></screen>
|
||||
|
||||
<para>Configure Glibc for mx32 with the following commands:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
|
||||
../configure \
|
||||
--prefix=/usr \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--build=$(../scripts/config.guess) \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--disable-nscd \
|
||||
--libdir=/usr/libx32 \
|
||||
--libexecdir=/usr/libx32 \
|
||||
libc_cv_slibdir=/usr/libx32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -a DESTDIR/usr/libx32/* /usr/libx32/
|
||||
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
|
||||
/usr/include/gnu/</userinput></screen>
|
||||
<!-- no longer required as they are created in chap5
|
||||
ln -svf ../libx32/ld-linux-x32.so.2 /lib/ld-linux-x32.so.2
|
||||
-->
|
||||
<para>Add the library name to the dynamic loader config:</para>
|
||||
|
||||
<screen role="install"><userinput>echo "/usr/libx32" >> /etc/ld.so.conf</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>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
gcc -mx32 dummy.c
|
||||
readelf -l a.out | grep '/ld-linux-x32'</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>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
|
||||
|
||||
<para>If the output is not shown as above or there was 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 on.</para>
|
||||
|
||||
<para>Once all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-glibc" role="content">
|
||||
<title>Contents of Glibc</title>
|
||||
|
||||
|
@ -62,6 +62,10 @@
|
||||
CFLAGS is still automatically set to -march=something. -->
|
||||
</note>
|
||||
|
||||
<para>First, make an adjustment for compatibility with gcc-15 and later:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/long long t1;/,+1s/()/(...)/' configure</userinput></screen>
|
||||
|
||||
<para>Prepare GMP for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
@ -125,138 +129,6 @@ make install-html</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of GMP - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Generic libraries can be created by running
|
||||
the following:</para>
|
||||
|
||||
<screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
|
||||
cp -v configfsf.sub config.sub</userinput></screen>
|
||||
|
||||
<para>Prepare GMP for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">ABI="32" \
|
||||
CFLAGS="-m32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=i686" \
|
||||
CXXFLAGS="$CFLAGS" \
|
||||
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
|
||||
./configure \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--enable-cxx \
|
||||
--libdir=/usr/lib32 \
|
||||
--includedir=/usr/include/m32/gmp</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--includedir=/usr/include/m32/gmp</parameter></term>
|
||||
<listitem>
|
||||
<para>Some definitions in gmp.h differs for each arch but
|
||||
has same name. Therefore, the headers must be separated from
|
||||
each other.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
|
||||
make</userinput></screen>
|
||||
|
||||
<important>
|
||||
<para>The test suite for GMP in this section is considered critical.
|
||||
Do not skip it under any circumstances.</para>
|
||||
</important>
|
||||
|
||||
<para>Test the results:</para>
|
||||
|
||||
<screen><userinput remap="test">make check 2>&1 | tee gmp-check-log</userinput></screen>
|
||||
|
||||
<para>Ensure that all 197 tests in the test suite passed.
|
||||
Check the results by issuing the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
cp -Rv DESTDIR/usr/include/m32/* /usr/include/m32/
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of GMP - x32-bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Generic libraries can be created by running
|
||||
the following:</para>
|
||||
|
||||
<screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
|
||||
cp -v configfsf.sub config.sub</userinput></screen>
|
||||
|
||||
<para>Prepare GMP for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">ABI="x32" \
|
||||
CFLAGS="-mx32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=x86-64" \
|
||||
CXXFLAGS="$CFLAGS" \
|
||||
PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
|
||||
./configure \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--prefix=/usr \
|
||||
--disable-static \
|
||||
--enable-cxx \
|
||||
--libdir=/usr/libx32 \
|
||||
--includedir=/usr/include/mx32/gmp</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
|
||||
make</userinput></screen>
|
||||
|
||||
<important>
|
||||
<para>The test suite for GMP in this section is considered critical.
|
||||
Do not skip it under any circumstances.</para>
|
||||
</important>
|
||||
|
||||
<para>Test the results:</para>
|
||||
|
||||
<screen><userinput remap="test">make check 2>&1 | tee gmp-check-log</userinput></screen>
|
||||
|
||||
<para>Ensure that all 197 tests in the test suite passed.
|
||||
Check the results by issuing the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
cp -Rv DESTDIR/usr/include/mx32/* /usr/include/mx32/
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-gmp" role="content">
|
||||
<title>Contents of GMP</title>
|
||||
|
||||
|
@ -48,11 +48,9 @@
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>The tests are known to fail if running multiple
|
||||
simultaneous tests (-j option greater than 1). To test
|
||||
the results, issue:</para>
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make -j1 check</userinput></screen>
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
|
@ -71,9 +71,9 @@
|
||||
|
||||
<para>Prepare GRUB for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--disable-efiemu \
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--disable-efiemu \
|
||||
--disable-werror</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
@ -105,7 +105,8 @@
|
||||
the tests depend on packages that are not available in the limited
|
||||
LFS environment. To run the tests anyway, run <command>make check</command>.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
<para>Install the package, and move the Bash completion support file to
|
||||
the location recommended by the Bash completion maintainers:</para>
|
||||
|
||||
<screen><userinput remap="install">make install
|
||||
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userinput></screen>
|
||||
@ -176,7 +177,7 @@ mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userin
|
||||
<varlistentry id="grub-fstest">
|
||||
<term><command>grub-fstest</command></term>
|
||||
<listitem>
|
||||
<para>Is a tool to debug the filesystem driver</para>
|
||||
<para>Is a tool to debug the file system driver</para>
|
||||
<indexterm zone="ch-system-grub grub-fstest">
|
||||
<primary sortas="b-grub-fstest">grub-fstest</primary>
|
||||
</indexterm>
|
||||
|
@ -40,7 +40,7 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Inetutils</title>
|
||||
|
||||
<para>First, make the package build with gcc-14.1 or later::</para>
|
||||
<para>First, make the package build with gcc-14.1 or later:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c</userinput></screen>
|
||||
|
||||
|
@ -77,8 +77,7 @@ rm -fv man/man8/arpd.8</userinput></screen>
|
||||
|
||||
<para>If desired, install the documentation:</para>
|
||||
|
||||
<screen><userinput remap="install">mkdir -pv /usr/share/doc/iproute2-&iproute2-version;
|
||||
cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version;</userinput></screen>
|
||||
<screen><userinput remap="install">install -vDm644 COPYING README* -t /usr/share/doc/iproute2-&iproute2-version;</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
@ -278,7 +277,7 @@ cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version;</userinput></sc
|
||||
discipline</para>
|
||||
|
||||
<para><command>tc class</command> allows users to set up classes based
|
||||
on the queuing discipline scheduling</para>
|
||||
on the queueing discipline scheduling</para>
|
||||
|
||||
<para><command>tc filter</command> allows users to set up the QoS/CoS
|
||||
packet filtering</para>
|
||||
|
@ -1,113 +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-isl" role="wrap">
|
||||
<?dbhtml filename="isl.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>isl</productname>
|
||||
<productnumber>&isl-version;</productnumber>
|
||||
<address>&isl-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>ISL-&isl-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-isl">
|
||||
<primary sortas="a-ISL">ISL</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>ISL is a thread-safe C library for manipulating sets and relations
|
||||
of integer points bounded by affine constraints.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&isl-fin-sbu;</seg>
|
||||
<seg>&isl-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of ISL</title>
|
||||
|
||||
<para>Prepare ISL for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--disable-static \
|
||||
--docdir=/usr/share/doc/isl-&isl-version;</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--docdir=/usr/share/doc/isl-&isl-version;</parameter></term>
|
||||
<listitem>
|
||||
<para>This variable specifies the correct place for the
|
||||
documentation.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package and its documentation:</para>
|
||||
|
||||
<screen><userinput remap="install">make install
|
||||
install -vd /usr/share/doc/isl-&isl-version;
|
||||
install -m644 doc/{CodingStyle,manual.pdf,SubmittingPatches,user.pod} \
|
||||
/usr/share/doc/isl-&isl-version;</userinput></screen>
|
||||
|
||||
<para>Finally, move a misplaced file:</para>
|
||||
|
||||
<screen><userinput remap="install">mkdir -pv /usr/share/gdb/auto-load/usr/lib
|
||||
mv -v /usr/lib/libisl*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-isl" role="content">
|
||||
<title>Contents of ISL</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Libraries</segtitle>
|
||||
<segtitle>Installed directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>libisl.so</seg>
|
||||
<seg>/usr/share/doc/isl-&isl-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="libisl">
|
||||
<term><filename class="libraryfile">libisl</filename></term>
|
||||
<listitem>
|
||||
<para>Contains integer set manipulation functions</para>
|
||||
<indexterm zone="ch-system-isl libisl">
|
||||
<primary sortas="c-libisl">libisl</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
@ -42,11 +42,11 @@
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
|
||||
<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 install --no-index --no-user --find-links dist Jinja2</userinput></screen>
|
||||
<screen><userinput remap="install">pip3 install --no-index --find-links dist Jinja2</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -80,9 +80,14 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<para>The tests for this package will all fail in the chroot environment
|
||||
because they require <application>valgrind</application>. In addition
|
||||
on a full system with <application>valgrind</application>, several
|
||||
tests still fail in a graphical environment. The tests pass in
|
||||
a non-graphical environment.</para>
|
||||
<!--
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
-->
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
|
@ -43,44 +43,22 @@
|
||||
|
||||
<para>Prepare Kmod for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--with-openssl \
|
||||
--with-xz \
|
||||
--with-zstd \
|
||||
--with-zlib \
|
||||
--disable-manpages</userinput></screen>
|
||||
<screen><userinput remap="configure">mkdir -p build
|
||||
cd build
|
||||
|
||||
meson setup --prefix=/usr .. \
|
||||
--buildtype=release \
|
||||
-D manpages=false</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<parameter>--with-openssl</parameter>
|
||||
<parameter>-D manpages=false</parameter>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>This option enables Kmod to handle PKCS7 signatures for
|
||||
kernel modules.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<parameter>--with-xz</parameter>,
|
||||
<parameter>--with-zlib</parameter>, and
|
||||
<parameter>--with-zstd</parameter>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>These options enable Kmod to handle compressed kernel modules.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<parameter>--disable-manpages</parameter>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>This option disables generating the manpages which
|
||||
<para>This option disables generating the man pages which
|
||||
requires an external program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -89,106 +67,18 @@
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
<screen><userinput remap="make">ninja</userinput></screen>
|
||||
|
||||
<para>The test suite of this package requires raw kernel headers
|
||||
(not the <quote>sanitized</quote> kernel headers installed earlier),
|
||||
which are beyond the scope of LFS.</para>
|
||||
|
||||
<para>Install the package and recreate some symlinks for
|
||||
compatibility with Module-Init-Tools (the package that previously handled
|
||||
Linux kernel modules). The building system will create all these
|
||||
symlinks in <filename class='directory'>/usr/bin</filename>, but we
|
||||
only want <command>lsmod</command> there and all other symlinks in
|
||||
<filename class='directory'>/usr/sbin</filename> instead:</para>
|
||||
<para>Now install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install
|
||||
|
||||
for target in depmod insmod modinfo modprobe rmmod; do
|
||||
ln -sfv ../bin/kmod /usr/sbin/$target
|
||||
rm -fv /usr/bin/$target
|
||||
done</userinput></screen>
|
||||
<screen><userinput remap="install">ninja install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Kmod - 32bit</title>
|
||||
|
||||
<para>Clean previous build but keep man pages as they cannot
|
||||
be recreated since xsltproc isn't installed yet:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
|
||||
make clean</userinput></screen>
|
||||
|
||||
<para>Prepare Kmod for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib32 \
|
||||
--sysconfdir=/etc \
|
||||
--with-openssl \
|
||||
--with-xz \
|
||||
--with-zstd \
|
||||
--with-zlib \
|
||||
--disable-manpages \
|
||||
--with-rootlibdir=/usr/lib32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Kmod - x32bit</title>
|
||||
|
||||
<para>Clean previous build but keep man pages as they cannot
|
||||
be recreated since xsltproc isn't installed yet:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
|
||||
make clean</userinput></screen>
|
||||
|
||||
<para>Prepare Kmod for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/libx32 \
|
||||
--sysconfdir=/etc \
|
||||
--with-openssl \
|
||||
--with-xz \
|
||||
--with-zstd \
|
||||
--with-zlib \
|
||||
--disable-manpages \
|
||||
--with-rootlibdir=/usr/libx32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-kmod" role="content">
|
||||
<title>Contents of Kmod</title>
|
||||
|
||||
|
@ -75,56 +75,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Libcap - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make CC="gcc -m32 -march=i686"</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make CC="gcc -m32 -march=i686" lib=lib32 prefix=$PWD/DESTDIR/usr -C libcap install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
sed -e "s|^libdir=.*|libdir=/usr/lib32|" -i /usr/lib32/pkgconfig/lib{cap,psx}.pc
|
||||
chmod -v 755 /usr/lib32/libcap.so.&libcap-version;
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Libcap - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make CC="gcc -mx32 -march=x86-64"</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make CC="gcc -mx32 -march=x86-64" lib=libx32 prefix=$PWD/DESTDIR/usr -C libcap install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
sed -e "s|^libdir=.*|libdir=/usr/libx32|" -i /usr/libx32/pkgconfig/lib{cap,psx}.pc
|
||||
chmod -v 755 /usr/libx32/libcap.so.&libcap-version;
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-libcap" role="content">
|
||||
<title>Contents of Libcap</title>
|
||||
|
||||
|
@ -46,8 +46,8 @@
|
||||
|
||||
<para>Prepare Libelf for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--disable-debuginfod \
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--disable-debuginfod \
|
||||
--enable-libdebuginfod=dummy</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
@ -58,6 +58,9 @@
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Two tests are known to fail, dwarf_srclang_check and
|
||||
run-backtrace-native-core.sh.</para>
|
||||
|
||||
<para>Install only Libelf:</para>
|
||||
|
||||
<screen><userinput remap="install">make -C libelf install
|
||||
@ -66,72 +69,6 @@ rm /usr/lib/libelf.a</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Libelf - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libelf for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib32 \
|
||||
--disable-debuginfod \
|
||||
--enable-libdebuginfod=dummy</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
|
||||
install -vDm644 config/libelf.pc DESTDIR/usr/lib32/pkgconfig/libelf.pc
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Libelf - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libelf for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/libx32 \
|
||||
--disable-debuginfod \
|
||||
--enable-libdebuginfod=dummy</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
|
||||
install -vDm644 config/libelf.pc DESTDIR/usr/libx32/pkgconfig/libelf.pc
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-elfutils" role="content">
|
||||
<title>Contents of Libelf</title>
|
||||
|
||||
|
@ -51,17 +51,20 @@
|
||||
<para>Like GMP, Libffi builds with optimizations specific
|
||||
to the processor in use. If building for another system, change the
|
||||
value of the <parameter>--with-gcc-arch=</parameter> parameter in the
|
||||
following command to an architecture name fully implemented by the
|
||||
following command to an architecture name fully implemented by
|
||||
<emphasis role='bold'>both</emphasis> the host CPU and the
|
||||
CPU on that system.
|
||||
If this is not done, all applications that link to
|
||||
<filename class='libraryfile'>libffi</filename> will trigger
|
||||
Illegal Operation Errors.</para>
|
||||
Illegal Operation Errors. If you cannot figure out a value
|
||||
safe for both the CPUs, replace the parameter with
|
||||
<option>--without-gcc-arch</option> to produce a generic library.</para>
|
||||
</note>
|
||||
|
||||
<para>Prepare Libffi for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--disable-static \
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--disable-static \
|
||||
--with-gcc-arch=native</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
@ -96,78 +99,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Libffi - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libffi for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib32 \
|
||||
--disable-static \
|
||||
--with-gcc-arch=i686</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Libffi - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libffi for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \
|
||||
--host=x86_64-unknown-linux-gnux32 \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/libx32 \
|
||||
--disable-static \
|
||||
--with-gcc-arch=x86_64</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-libffi" role="content">
|
||||
<title>Contents of Libffi</title>
|
||||
|
||||
@ -198,3 +129,4 @@ rm -rf DESTDIR</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -49,9 +49,8 @@
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
<para>The tests require the <application>Check</application> library
|
||||
that we've removed from LFS.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
|
@ -50,15 +50,9 @@
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results<!--(about 11.0 SBU)-->, issue:</para>
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make -k check</userinput></screen>
|
||||
|
||||
<para>Five tests are known to fail in the LFS build environment due
|
||||
to a circular dependency, but these tests pass if rechecked after
|
||||
automake has been installed. Additionally, with grep-3.8 or newer,
|
||||
two tests will trigger a warning for non-POSIX regular expressions and
|
||||
fail.</para>
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
@ -73,65 +67,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Libtool - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libtool for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Libtool - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libtool for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/libx32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-libtool" role="content">
|
||||
<title>Contents of Libtool</title>
|
||||
|
@ -115,72 +115,6 @@ cp -av --remove-destination .libs/libcrypt.so.1* /usr/lib</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Libxcrypt - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libxcrypt for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" \
|
||||
./configure --prefix=/usr \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--libdir=/usr/lib32 \
|
||||
--enable-hashes=strong,glibc \
|
||||
--enable-obsolete-api=glibc \
|
||||
--disable-static \
|
||||
--disable-failure-tokens</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -av .libs/libcrypt.so* /usr/lib32/ &&
|
||||
make install-pkgconfigDATA &&
|
||||
ln -svf libxcrypt.pc /usr/lib32/pkgconfig/libcrypt.pc</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Libxcrypt - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Libxcrypt for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" \
|
||||
./configure --prefix=/usr \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--libdir=/usr/libx32 \
|
||||
--enable-hashes=strong,glibc \
|
||||
--enable-obsolete-api=glibc \
|
||||
--disable-static \
|
||||
--disable-failure-tokens</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -av .libs/libcrypt.so* /usr/libx32/ &&
|
||||
make install-pkgconfigDATA &&
|
||||
ln -svf libxcrypt.pc /usr/libx32/pkgconfig/libcrypt.pc</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-libxcrypt" role="content">
|
||||
<title>Contents of Libxcrypt</title>
|
||||
|
||||
|
@ -60,50 +60,6 @@
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Lz4 - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make clean</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">CC="gcc -m32" make BUILD_STATIC=no</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make BUILD_STATIC=no PREFIX=/usr LIBDIR=/usr/lib32 DESTDIR=$(pwd)/m32 install &&
|
||||
cp -a m32/usr/lib32/* /usr/lib32/
|
||||
</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Lz4 - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make clean</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">CC="gcc -mx32" make BUILD_STATIC=no</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make BUILD_STATIC=no PREFIX=/usr LIBDIR=/usr/libx32 DESTDIR=$(pwd)/mx32 install &&
|
||||
cp -a mx32/usr/libx32/* /usr/libx32/
|
||||
</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-lz4" role="content">
|
||||
<title>Contents of Lz4</title>
|
||||
|
||||
|
@ -48,7 +48,32 @@
|
||||
|
||||
<para>Install Man-pages by running:</para>
|
||||
|
||||
<screen><userinput remap="install">make prefix=/usr install</userinput></screen>
|
||||
<screen><userinput remap="install">make -R GIT=false prefix=/usr install</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the options:</title>
|
||||
|
||||
<!-- TODO: Try if we can remove this when we update make. -->
|
||||
<varlistentry>
|
||||
<term><parameter>-R</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents <command>make</command> from setting any
|
||||
built-in variables. The building system of man-pages does not
|
||||
work well with built-in variables, but currently there is no way
|
||||
to disable them except passing <parameter>-R</parameter>
|
||||
explicitly via the command line.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>GIT=false</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents the building system from emitting many
|
||||
<computeroutput>git: command not found</computeroutput>
|
||||
warnings lines.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 install --no-index --no-user --find-links dist Markupsafe</userinput></screen>
|
||||
<screen><userinput remap="install">pip3 install --no-index --find-links dist Markupsafe</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -127,7 +127,7 @@
|
||||
make will spawn new shell processes during "make install". -->
|
||||
|
||||
<para>The installation of this package will overwrite
|
||||
<filename class="libraryfile">libncursesw.so.&ncurses-version;</filename>
|
||||
<filename class="libraryfile">libncursesw.so.&ncurses-base-version;</filename>
|
||||
in-place. It may crash the shell process which is using code and data
|
||||
from the library file. Install the package with
|
||||
<literal>DESTDIR</literal>, and replace the library file correctly using
|
||||
@ -137,8 +137,8 @@
|
||||
<xref linkend='ch-tools-ncurses'/>):</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/dest install
|
||||
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib
|
||||
rm -v dest/usr/lib/libncursesw.so.&ncurses-version;
|
||||
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-base-version; /usr/lib
|
||||
rm -v dest/usr/lib/libncursesw.so.&ncurses-base-version;
|
||||
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
|
||||
-i dest/usr/include/curses.h
|
||||
cp -av dest/* /</userinput></screen>
|
||||
@ -176,11 +176,10 @@ done</userinput></screen>
|
||||
following commands:</para>
|
||||
|
||||
<screen role="nodump"><userinput>make distclean
|
||||
./configure --prefix=/usr \
|
||||
--with-shared \
|
||||
--without-normal \
|
||||
--with-cxx-shared \
|
||||
--without-debug \
|
||||
./configure --prefix=/usr \
|
||||
--with-shared \
|
||||
--without-normal \
|
||||
--without-debug \
|
||||
--without-cxx-binding \
|
||||
--with-abi-version=5
|
||||
make sources libs
|
||||
@ -189,95 +188,6 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all">
|
||||
<title>Building Ncurses - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Ncurses for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
|
||||
./configure --prefix=/usr \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--libdir=/usr/lib32 \
|
||||
--mandir=/usr/share/man \
|
||||
--with-shared \
|
||||
--without-debug \
|
||||
--without-normal \
|
||||
--with-cxx-shared \
|
||||
--enable-pc-files \
|
||||
--with-pkg-config-libdir=/usr/lib32/pkgconfig</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
mkdir -p DESTDIR/usr/lib32/pkgconfig
|
||||
for lib in ncurses form panel menu ; do
|
||||
rm -vf DESTDIR/usr/lib32/lib${lib}.so
|
||||
echo "INPUT(-l${lib}w)" > DESTDIR/usr/lib32/lib${lib}.so
|
||||
ln -svf ${lib}w.pc DESTDIR/usr/lib32/pkgconfig/$lib.pc
|
||||
done
|
||||
rm -vf DESTDIR/usr/lib32/libcursesw.so
|
||||
echo "INPUT(-lncursesw)" > DESTDIR/usr/lib32/libcursesw.so
|
||||
ln -sfv libncurses.so DESTDIR/usr/lib32/libcurses.so
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_x32,ml_all">
|
||||
<title>Building Ncurses - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Ncurses for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
|
||||
./configure --prefix=/usr \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--libdir=/usr/libx32 \
|
||||
--mandir=/usr/share/man \
|
||||
--with-shared \
|
||||
--without-debug \
|
||||
--without-normal \
|
||||
--enable-pc-files \
|
||||
--with-pkg-config-libdir=/usr/libx32/pkgconfig</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
mkdir -p DESTDIR/usr/libx32/pkgconfig
|
||||
for lib in ncurses form panel menu ; do
|
||||
rm -vf DESTDIR/usr/libx32/lib${lib}.so
|
||||
echo "INPUT(-l${lib}w)" > DESTDIR/usr/libx32/lib${lib}.so
|
||||
ln -svf ${lib}w.pc DESTDIR/usr/libx32/pkgconfig/$lib.pc
|
||||
done
|
||||
rm -vf DESTDIR/usr/libx32/libcursesw.so
|
||||
echo "INPUT(-lncursesw)" > DESTDIR/usr/libx32/libcursesw.so
|
||||
ln -sfv libncurses.so DESTDIR/usr/libx32/libcurses.so
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-ncurses" role="content">
|
||||
<title>Contents of Ncurses</title>
|
||||
|
||||
|
@ -67,7 +67,7 @@
|
||||
|
||||
<para>Build Ninja with:</para>
|
||||
|
||||
<screen><userinput remap="configure">python3 configure.py --bootstrap</userinput></screen>
|
||||
<screen><userinput remap="configure">python3 configure.py --bootstrap --verbose</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the build option:</title>
|
||||
@ -80,10 +80,20 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--verbose</parameter></term>
|
||||
<listitem>
|
||||
<para>This parameter makes <command>configure.py</command> show
|
||||
the progress building Ninja.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>The package tests cannot run in the chroot environment. They require
|
||||
<ulink url="&blfs-book;general/cmake.html">cmake</ulink>.</para>
|
||||
<ulink url="&blfs-book;general/cmake.html">cmake</ulink>. But the basic
|
||||
function of this package is already tested by rebuilding itself
|
||||
(with the <parameter>--bootstrap</parameter> option) anyway.</para>
|
||||
<!--
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
|
@ -111,70 +111,6 @@ make MANSUFFIX=ssl install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of OpenSSL - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare OpenSSL for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./config --prefix=/usr \
|
||||
--openssldir=/etc/ssl \
|
||||
--libdir=lib32 \
|
||||
shared \
|
||||
zlib-dynamic \
|
||||
linux-x86</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of OpenSSL - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare OpenSSL for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./config --prefix=/usr \
|
||||
--openssldir=/etc/ssl \
|
||||
--libdir=libx32 \
|
||||
shared \
|
||||
zlib-dynamic \
|
||||
linux-x32</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-openssl" role="content">
|
||||
<title>Contents of OpenSSL</title>
|
||||
|
||||
|
75
chapter08/packaging.xml
Normal file
75
chapter08/packaging.xml
Normal file
@ -0,0 +1,75 @@
|
||||
<?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-system-packaging" role="wrap">
|
||||
<?dbhtml filename="packaging.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>packaging</productname>
|
||||
<productnumber>&packaging-version;</productnumber>
|
||||
<address>&packaging-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Packaging-&packaging-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-packaging">
|
||||
<primary sortas="a-packaging">packaging</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>
|
||||
The packaging module is a Python library that provides utilities that
|
||||
implement the interoperability specifications which have clearly one
|
||||
correct behaviour (PEP440) or benefit greatly from having a single shared
|
||||
implementation (PEP425). This includes utilities for version handling,
|
||||
specifiers, markers, tags, and requirements.
|
||||
</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>&packaging-fin-sbu;</seg>
|
||||
<seg>&packaging-fin-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Packaging</title>
|
||||
|
||||
<para>Compile packaging with the following command:</para>
|
||||
|
||||
<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
|
||||
|
||||
<para>Install packaging with the following command:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 install --no-index --find-links dist packaging</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-packaging" role="content">
|
||||
<title>Contents of Packaging</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
/usr/lib/python&python-minor;/site-packages/packaging and
|
||||
/usr/lib/python&python-minor;/site-packages/packaging-&packaging-version;.dist-info
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
@ -40,12 +40,11 @@
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Perl</title>
|
||||
<!--
|
||||
<para>First, apply a patch that fixes an issue highlighted by recent
|
||||
versions of gdbm:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&perl-fix-patch;</userinput></screen>
|
||||
-->
|
||||
<para>First, apply a security patch identified upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&perl-upstream-fix-patch;</userinput></screen>
|
||||
|
||||
<para>This version of Perl builds the Compress::Raw::Zlib and
|
||||
Compress::Raw::BZip2 modules. By
|
||||
default Perl will use an internal copy of the sources for the build.
|
||||
@ -109,7 +108,7 @@ export BUILD_BZIP2=0</userinput></screen>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results (approximately 11 SBU), issue:</para>
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">TEST_JOBS=$(nproc) make test_harness</userinput></screen>
|
||||
|
||||
|
@ -46,8 +46,8 @@
|
||||
|
||||
<para>Prepare Pkgconf 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/pkgconf-&pkgconf-version;</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
@ -63,43 +63,7 @@
|
||||
|
||||
<screen><userinput remap="install">ln -sv pkgconf /usr/bin/pkg-config
|
||||
ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1</userinput></screen>
|
||||
<!--
|
||||
<para arch="ml_32,ml_x32,ml_all">
|
||||
For better support of the multilib platform create some
|
||||
additional files by executing the following commands:
|
||||
</para>
|
||||
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="install">ln -sv pkgconf /usr/bin/i686-pc-linux-gnu-pkg-config
|
||||
ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnux32-pkg-config
|
||||
ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnu-pkg-config
|
||||
|
||||
mkdir -pv /usr/share/pkgconfig/personality.d
|
||||
|
||||
cat > /usr/share/pkgconfig/personality.d/i686-pc-linux-gnu.personality <<EOF
|
||||
Triplet: i686-pc-linux-gnu
|
||||
SysrootDir: /
|
||||
DefaultSearchPaths: /usr/lib32/pkgconfig:/usr/share/pkgconfig
|
||||
SystemIncludePaths: /usr/include
|
||||
SystemLibraryPaths: /usr/lib32
|
||||
EOF
|
||||
|
||||
cat > /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnux32.personality <<EOF
|
||||
Triplet: x86_64-pc-linux-gnux32
|
||||
SysrootDir: /
|
||||
DefaultSearchPaths: /usr/libx32/pkgconfig:/usr/share/pkgconfig
|
||||
SystemIncludePaths: /usr/include
|
||||
SystemLibraryPaths: /usr/libx32
|
||||
EOF
|
||||
|
||||
cat > /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnu.personality <<EOF
|
||||
Triplet: x86_64-pc-linux-gnu
|
||||
SysrootDir: /
|
||||
DefaultSearchPaths: /usr/lib/pkgconfig:/usr/share/pkgconfig
|
||||
SystemIncludePaths: /usr/include
|
||||
SystemLibraryPaths: /usr/lib
|
||||
EOF
|
||||
</userinput></screen>
|
||||
-->
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-pkgconf" role="content">
|
||||
|
@ -69,10 +69,25 @@
|
||||
</listitem>
|
||||
|
||||
<listitem> <para>If a package containing a shared library is updated, and
|
||||
if the name of the library changes, then any packages dynamically
|
||||
if the name of the library<footnote><para>The name of a shared library is
|
||||
the string coded in the <constant>DT_SONAME</constant> entry of its
|
||||
ELF dynamic section. You can get it with the
|
||||
<command>readelf -d <replaceable><library file></replaceable>
|
||||
| grep SONAME</command> command. In most cases it's suffixed with
|
||||
<literal>.so.<replaceable><a version
|
||||
number></replaceable></literal>, but there are some cases where
|
||||
it contains multiple numbers for versioning (like
|
||||
<filename>libbz2.so.1.0</filename>), contains the version number
|
||||
before the <filename class='extension'>.so</filename> suffix (like
|
||||
<filename>libbfd-&binutils-version;</filename>), or does not contain
|
||||
any version number at all (for example
|
||||
<filename>libmemusage.so</filename>).
|
||||
Generally there is no correlation between the package version and the
|
||||
version number(s) in the library name.</para></footnote>
|
||||
changes, then any packages dynamically
|
||||
linked to the library must be recompiled, to link against the
|
||||
newer library. (Note that there is no correlation between the package
|
||||
version and the name of the library.) For example, consider a package
|
||||
newer library.
|
||||
For example, consider a package
|
||||
foo-1.2.3 that installs a shared library with the name <filename
|
||||
class='libraryfile'>libfoo.so.1</filename>. Suppose you upgrade the package to
|
||||
a newer version foo-1.2.4 that installs a shared library with the name
|
||||
@ -370,11 +385,13 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
|
||||
differences in system hardware and the original kernel
|
||||
configuration.</para>
|
||||
|
||||
<note><para>There have been some reports of issues when copying between
|
||||
similar but not identical architectures. For instance, the instruction set
|
||||
for an Intel system is not identical with the AMD processor's instructions, and later
|
||||
versions of some processors may provide instructions that are unavailable with
|
||||
earlier versions.</para></note>
|
||||
<important><para>If you want to deploy the LFS system onto a system
|
||||
with a different CPU, when you build <xref linkend='ch-system-gmp'/> and
|
||||
<xref linkend='ch-system-libffi'/> you must follow the notes about
|
||||
overriding the architecture-specific optimization to produce libraries
|
||||
suitable for both the host system and the system(s) where you'll deploy
|
||||
the LFS system. Otherwise you'll get <computeroutput>Illegal
|
||||
Instruction</computeroutput> errors running LFS.</para></important>
|
||||
|
||||
<para>Finally, the new system has to be made bootable via <xref
|
||||
linkend="ch-bootable-grub"/>.</para>
|
||||
|
@ -45,12 +45,14 @@
|
||||
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
|
||||
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
|
||||
--disable-static \
|
||||
--disable-kill</userinput></screen>
|
||||
--disable-kill \
|
||||
--enable-watch8bit</userinput></screen>
|
||||
|
||||
<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
|
||||
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
|
||||
--disable-static \
|
||||
--disable-kill \
|
||||
--enable-watch8bit \
|
||||
--with-systemd</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
@ -63,12 +65,20 @@
|
||||
command; it will be installed from the Util-linux package.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-watch8bit</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch enables the ncursesw support for the
|
||||
<command>watch</command> command, so it can handle 8-bit
|
||||
characters.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen revision='sysv'><userinput remap="make">make</userinput></screen>
|
||||
<screen revision='systemd'><userinput remap="make">make src_w_LDADD='$(LDADD) -lsystemd'</userinput></screen>
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<!-- To editors: "pmap {X,XX} with unreachable process" tests don't work
|
||||
as root. They may seem to pass due to some Tcl/Expect/DejaGNU
|
||||
@ -81,7 +91,8 @@ su tester -c "PATH=$PATH make check"</userinput></screen>
|
||||
<para>One test named
|
||||
<literal>ps with output flag bsdtime,cputime,etime,etimes</literal>
|
||||
is known to fail if the host kernel is not built with
|
||||
<literal>CONFIG_BSD_PROCESS_ACCT</literal> enabled.</para>
|
||||
<literal>CONFIG_BSD_PROCESS_ACCT</literal> enabled. In
|
||||
addition, one pgrep test may fail in the chroot environment.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
|
@ -42,13 +42,18 @@
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Python 3</title>
|
||||
<!--
|
||||
<para>First, apply a security patch to the current package:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&python-security-fixes-patch;</userinput></screen>
|
||||
-->
|
||||
<para>Prepare Python for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--enable-shared \
|
||||
--with-system-expat \
|
||||
--enable-optimizations</userinput></screen>
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--enable-shared \
|
||||
--with-system-expat \
|
||||
--enable-optimizations \
|
||||
--without-static-libpython</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
@ -88,7 +93,8 @@
|
||||
limit and 1 SBU (measured when building Binutils pass 1 with one CPU
|
||||
core) should be enough. Some tests are flaky, so the test suite will
|
||||
automatically re-run failed tests. If a test failed but then passed
|
||||
when re-run, it should be considered as passed.</para>
|
||||
when re-run, it should be considered as passed. One test, test_ssl,
|
||||
is known to fail in the chroot environment.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
@ -161,21 +167,21 @@ EOF
|
||||
|
||||
<screen><userinput remap="install">install -v -dm755 /usr/share/doc/python-&python-version;/html
|
||||
|
||||
tar --no-same-owner \
|
||||
-xvf ../python-&python-version;-docs-html.tar.bz2
|
||||
cp -R --no-preserve=mode python-&python-version;-docs-html/* \
|
||||
/usr/share/doc/python-&python-version;/html</userinput></screen>
|
||||
tar --strip-components=1 \
|
||||
--no-same-owner \
|
||||
--no-same-permissions \
|
||||
-C /usr/share/doc/python-&python-version;/html \
|
||||
-xvf ../python-&python-version;-docs-html.tar.bz2</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the documentation install commands:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--no-same-owner</option> (tar) and <option>--no-preserve=mode</option> (cp)</term>
|
||||
<term><option>--no-same-owner</option> and <option>--no-same-permissions</option></term>
|
||||
<listitem>
|
||||
<para>Ensure the installed files have the correct ownership and
|
||||
permissions. Without these options, <application>tar</application>
|
||||
will install the package files with the upstream creator's values
|
||||
and files would have restrictive permissions.
|
||||
will install the package files with the upstream creator's values.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -89,7 +89,9 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
|
||||
<term><parameter>SHLIB_LIBS="-lncursesw"</parameter></term>
|
||||
<listitem>
|
||||
<para>This option forces Readline to link against the
|
||||
<filename class="libraryfile">libncursesw</filename> library.</para>
|
||||
<filename class="libraryfile">libncursesw</filename> library.
|
||||
For details see the <quote>Shared Libraries</quote> section in the
|
||||
package's <filename>README</filename> file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -99,7 +101,7 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" install</userinput></screen>
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>If desired, install the documentation:</para>
|
||||
|
||||
@ -107,70 +109,6 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Readline - 32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Readline for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib32 \
|
||||
--disable-static \
|
||||
--with-curses</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make SHLIB_LIBS="-lncursesw"</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Readline - x32bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Prepare Readline for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/libx32 \
|
||||
--disable-static \
|
||||
--with-curses</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make SHLIB_LIBS="-lncursesw"</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-readline" role="content">
|
||||
<title>Contents of Readline</title>
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
|
||||
<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
|
@ -44,18 +44,20 @@
|
||||
<important>
|
||||
<para>
|
||||
If you've installed Linux-PAM, you should follow
|
||||
<ulink url='&blfs-book;postlfs/shadow.xml'>the BLFS shadow
|
||||
page</ulink> instead of this page to build (or, rebuild or upgrade)
|
||||
shadow.
|
||||
<ulink url='&blfs-book;postlfs/shadow.html'>the BLFS
|
||||
instruction</ulink> instead of this page to build (or, rebuild or
|
||||
upgrade) shadow.
|
||||
</para>
|
||||
</important>
|
||||
|
||||
<note>
|
||||
<para>If you would like to enforce the use of strong passwords, refer to
|
||||
<ulink url="&blfs-book;postlfs/cracklib.html"/> for installing
|
||||
CrackLib prior to building Shadow. Then add
|
||||
<parameter>--with-libcrack</parameter> to the <command>configure</command>
|
||||
command below.</para>
|
||||
<para>If you would like to enforce the use of strong passwords,
|
||||
<ulink url='&blfs-book;postlfs/linux-pam.html'>install and configure
|
||||
Linux-PAM</ulink> first. Then
|
||||
<ulink url='&blfs-book;postlfs/shadow.html'>install and configure
|
||||
shadow with the PAM support</ulink>. Finally
|
||||
<ulink url='&blfs-book;postlfs/libpwquality.html'>install
|
||||
libpwquality and configure PAM to use it</ulink>.</para>
|
||||
</note>
|
||||
|
||||
<para>Disable the installation of the <command>groups</command> program
|
||||
@ -81,24 +83,19 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
||||
since they are simply symlinks to their counterparts in
|
||||
<filename class="directory">/usr</filename>.</para>
|
||||
|
||||
<note>
|
||||
<para>If you wish to include <filename class="directory">/bin</filename>
|
||||
and/or <filename class="directory">/sbin</filename> in the <envar>PATH</envar>
|
||||
for some reason, modify the
|
||||
<envar>PATH</envar> in <filename>.bashrc</filename> after LFS has been
|
||||
built.</para>
|
||||
</note>
|
||||
<warning>
|
||||
<para>Including <filename class="directory">/bin</filename>
|
||||
and/or <filename class="directory">/sbin</filename> in
|
||||
the <envar>PATH</envar> variable may cause some BLFS packages fail to
|
||||
build,<!-- known example: SPIRV-LLVM-Translator --> so don't do that
|
||||
in the <filename>.bashrc</filename> file or anywhere else.</para>
|
||||
</warning>
|
||||
|
||||
<screen><userinput remap="pre">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \
|
||||
-e 's:/var/spool/mail:/var/mail:' \
|
||||
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
|
||||
-i etc/login.defs</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>If you chose to build Shadow with Cracklib support, issue this command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen>
|
||||
</note>
|
||||
<!--
|
||||
<para>Make a minor change to make the first group number generated
|
||||
by useradd 1000:</para>
|
||||
|
@ -24,16 +24,20 @@
|
||||
backup of the LFS system in its current state.</para>
|
||||
|
||||
<para>A <command>strip</command> command with the
|
||||
<parameter>--strip-unneeded</parameter> option removes all debug symbols
|
||||
from a binary or library. It also removes all symbol table entries not
|
||||
<parameter>--strip-unneeded</parameter> option removes all debug symbols from
|
||||
a binary or library. It also removes all symbol table entries not normally
|
||||
needed by the linker (for static libraries) or dynamic linker (for
|
||||
dynamically linked binaries and shared libraries).</para>
|
||||
dynamically linked binaries and shared libraries). Using
|
||||
<parameter>--strip-debug</parameter> does not remove symbol table entries
|
||||
that may be needed by some applications. The difference between
|
||||
<literal>unneeded</literal> and <literal>debug</literal> is very small.
|
||||
For example, an unstripped <filename class='libraryfile'>libc.a</filename>
|
||||
is 22.4 MB. After stripping with <parameter>--strip-debug</parameter> it
|
||||
is 5.9 MB. Using <parameter>--strip-unneeded</parameter> only reduces the
|
||||
size further to 5.8 MB.</para>
|
||||
|
||||
<!-- TODO: Zstd is better than Zlib for both speed and size.
|
||||
Unfortunately Valgrind does not support Zstd-compressed debug
|
||||
info yet: https://bugs.kde.org/show_bug.cgi?id=469782 -->
|
||||
<para>The debugging symbols from selected libraries are compressed with
|
||||
<application>Zlib</application> and preserved in separate files. That
|
||||
<application>Zstd</application> and preserved in separate files. That
|
||||
debugging information is needed to run regression tests with <ulink
|
||||
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
|
||||
url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS.
|
||||
@ -79,34 +83,15 @@
|
||||
libatomic.so.&libatomic-version;"
|
||||
|
||||
cd /usr/lib
|
||||
|
||||
for LIB in $save_usrlib; do
|
||||
objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg
|
||||
objcopy --only-keep-debug --compress-debug-sections=zstd $LIB $LIB.dbg
|
||||
cp $LIB /tmp/$LIB
|
||||
strip --strip-unneeded /tmp/$LIB
|
||||
strip --strip-debug /tmp/$LIB
|
||||
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
|
||||
install -vm755 /tmp/$LIB /usr/lib
|
||||
rm /tmp/$LIB
|
||||
done</userinput>
|
||||
<userinput arch="ml_32,ml_all">
|
||||
cd /usr/lib32
|
||||
for LIB in $save_usrlib; do
|
||||
objcopy --only-keep-debug $LIB $LIB.dbg
|
||||
cp $LIB /tmp/$LIB
|
||||
strip --strip-unneeded /tmp/$LIB
|
||||
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
|
||||
install -vm755 /tmp/$LIB /usr/lib32
|
||||
rm /tmp/$LIB
|
||||
done</userinput>
|
||||
<userinput arch="ml_x32,ml_all">
|
||||
cd /usr/libx32
|
||||
for LIB in $save_usrlib; do
|
||||
objcopy --only-keep-debug $LIB $LIB.dbg
|
||||
cp $LIB /tmp/$LIB
|
||||
strip --strip-unneeded /tmp/$LIB
|
||||
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
|
||||
install -vm755 /tmp/$LIB /usr/libx32
|
||||
rm /tmp/$LIB
|
||||
done</userinput><userinput>
|
||||
done
|
||||
|
||||
online_usrbin="bash find strip"
|
||||
online_usrlib="libbfd-&binutils-version;.so
|
||||
@ -121,29 +106,17 @@ online_usrlib="libbfd-&binutils-version;.so
|
||||
|
||||
for BIN in $online_usrbin; do
|
||||
cp /usr/bin/$BIN /tmp/$BIN
|
||||
strip --strip-unneeded /tmp/$BIN
|
||||
strip --strip-debug /tmp/$BIN
|
||||
install -vm755 /tmp/$BIN /usr/bin
|
||||
rm /tmp/$BIN
|
||||
done
|
||||
|
||||
for LIB in $online_usrlib; do
|
||||
cp /usr/lib/$LIB /tmp/$LIB
|
||||
strip --strip-unneeded /tmp/$LIB
|
||||
strip --strip-debug /tmp/$LIB
|
||||
install -vm755 /tmp/$LIB /usr/lib
|
||||
rm /tmp/$LIB
|
||||
done</userinput><userinput arch="ml_32,ml_all">
|
||||
for LIB in $online_usrlib; do
|
||||
cp /usr/lib32/$LIB /tmp/$LIB
|
||||
strip --strip-unneeded /tmp/$LIB
|
||||
install -vm755 /tmp/$LIB /usr/lib32
|
||||
rm /tmp/$LIB
|
||||
done</userinput><userinput arch="ml_x32,ml_all">
|
||||
for LIB in $online_usrlib; do
|
||||
cp /usr/libx32/$LIB /tmp/$LIB
|
||||
strip --strip-unneeded /tmp/$LIB
|
||||
install -vm755 /tmp/$LIB /usr/libx32
|
||||
rm /tmp/$LIB
|
||||
done</userinput><userinput>
|
||||
done
|
||||
|
||||
for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
|
||||
$(find /usr/lib -type f -name \*.a) \
|
||||
@ -151,28 +124,10 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
|
||||
case "$online_usrbin $online_usrlib $save_usrlib" in
|
||||
*$(basename $i)* )
|
||||
;;
|
||||
* ) strip --strip-unneeded $i
|
||||
* ) strip --strip-debug $i
|
||||
;;
|
||||
esac
|
||||
done</userinput><userinput arch="ml_32,ml_all">
|
||||
for i in $(find /usr/lib32 -type f -name \*.so* ! -name \*dbg) \
|
||||
$(find /usr/lib32 -type f -name \*.a); do
|
||||
case "$online_usrbin $online_usrlib $save_usrlib" in
|
||||
*$(basename $i)* )
|
||||
;;
|
||||
* ) strip --strip-unneeded $i
|
||||
;;
|
||||
esac
|
||||
done</userinput><userinput arch="ml_x32,ml_all">
|
||||
for i in $(find /usr/libx32 -type f -name \*.so* ! -name \*dbg) \
|
||||
$(find /usr/libx32 -type f -name \*.a); do
|
||||
case "$online_usrbin $online_usrlib $save_usrlib" in
|
||||
*$(basename $i)* )
|
||||
;;
|
||||
* ) strip --strip-unneeded $i
|
||||
;;
|
||||
esac
|
||||
done</userinput><userinput>
|
||||
done
|
||||
|
||||
unset BIN LIB save_usrlib online_usrbin online_usrlib
|
||||
</userinput></screen>
|
||||
|
@ -46,7 +46,9 @@
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--runstatedir=/run \
|
||||
--without-logger</userinput></screen>
|
||||
--without-logger \
|
||||
--disable-static \
|
||||
--docdir=/usr/share/doc/sysklogd-&sysklogd-version;</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
@ -86,6 +88,9 @@ mail.* -/var/log/mail.log
|
||||
user.* -/var/log/user.log
|
||||
*.emerg *
|
||||
|
||||
# Do not open any internet ports.
|
||||
secure_mode 2
|
||||
|
||||
# End /etc/syslog.conf</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
|
@ -45,8 +45,9 @@
|
||||
<systemitem class="groupname">sgx</systemitem>, from the default udev
|
||||
rules:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i -e 's/GROUP="render"/GROUP="video"/' \
|
||||
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -e 's/GROUP="render"/GROUP="video"/' \
|
||||
-e 's/GROUP="sgx", //' \
|
||||
-i rules.d/50-udev-default.rules.in</userinput></screen>
|
||||
|
||||
<para>Prepare systemd for compilation:</para>
|
||||
|
||||
@ -227,7 +228,11 @@ ninja test</userinput></screen>
|
||||
after initializing the system with systemd. -->
|
||||
<para>One test named <literal>systemd:core / test-namespace</literal>
|
||||
is known to fail in the LFS chroot environment. Some other tests may
|
||||
fail because they depend on various kernel configuration options.</para>
|
||||
fail because they depend on various kernel configuration options.
|
||||
The test named <literal>systemd:test / test-copy</literal> may time out
|
||||
due to an I/O congestion with a large parallel job number, but it
|
||||
would pass if running alone with
|
||||
<command>meson test test-copy</command>.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
@ -238,7 +243,7 @@ ninja test</userinput></screen>
|
||||
<!-- Please make sure systemd man pages tarball has a common leading
|
||||
component in the path. -->
|
||||
<screen><userinput remap="install">tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz \
|
||||
--no-same-owner --strip-components=1 \
|
||||
--no-same-owner --strip-components=1 \
|
||||
-C /usr/share/man</userinput></screen>
|
||||
|
||||
<para>Create the <filename>/etc/machine-id</filename> file needed by
|
||||
@ -261,129 +266,6 @@ ninja test</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of systemd - 32-bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -rf *</userinput></screen>
|
||||
|
||||
<para>Create a symlink to work around missing xsltproc:</para>
|
||||
|
||||
<!-- screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen -->
|
||||
<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
|
||||
|
||||
<!-- with cross-LFS we have util-linux in place:
|
||||
<para>Because we have not yet installed the final version of Util-Linux,
|
||||
create links to the libraries in the approprite location:</para>
|
||||
|
||||
<screen><userinput remap="pre">for file in /tools/lib32/lib{blkid,mount,uuid}*; do
|
||||
ln -sf $file /usr/lib32/
|
||||
done</userinput></screen>
|
||||
-->
|
||||
|
||||
<para>Prepare systemd for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
|
||||
CC="gcc -m32 -march=i686" \
|
||||
CXX="g++ -m32 -march=i686" \
|
||||
LANG=en_US.UTF-8 \
|
||||
meson --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--libdir=/usr/lib32 \
|
||||
-Drootlibdir=/usr/lib32 \
|
||||
-Dblkid=true \
|
||||
-Ddefault-dnssec=no \
|
||||
-Dfirstboot=false \
|
||||
-Dinstall-tests=false \
|
||||
-Dldconfig=false \
|
||||
-Dsysusers=false \
|
||||
-Db_lto=false \
|
||||
-Drpmmacrosdir=no \
|
||||
-Dhomed=false \
|
||||
-Duserdb=false \
|
||||
-Dman=false \
|
||||
-Dmode=release \
|
||||
..</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR
|
||||
rm -f /usr/bin/xsltproc</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of systemd - x32-bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -rf *</userinput></screen>
|
||||
|
||||
<para>Create a symlink to work around missing xsltproc:</para>
|
||||
|
||||
<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
|
||||
<!--
|
||||
<para>Fix an issue on x32:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed '/log_debug/s@PRI_TIMEX@PRIi64@' -i src/timesync/timesyncd-manager.c
|
||||
sed '/long drift_freq;/s@long @int64_t @' -i src/timesync/timesyncd-manager.h</userinput></screen>
|
||||
-->
|
||||
<para>Prepare systemd for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
|
||||
CC="gcc -mx32" \
|
||||
CXX="g++ -mx32" \
|
||||
CFLAGS+=" -Wno-error=shift-overflow" \
|
||||
CXXFLAGS+=" -Wno-error=shift-overflow" \
|
||||
LANG=en_US.UTF-8 \
|
||||
meson --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--libdir=/usr/libx32 \
|
||||
-Drootlibdir=/usr/libx32 \
|
||||
-Dblkid=true \
|
||||
-Ddefault-dnssec=no \
|
||||
-Dfirstboot=false \
|
||||
-Dinstall-tests=false \
|
||||
-Dldconfig=false \
|
||||
-Dsysusers=false \
|
||||
-Db_lto=false \
|
||||
-Drpmmacrosdir=no \
|
||||
-Dhomed=false \
|
||||
-Duserdb=false \
|
||||
-Dman=false \
|
||||
-Dmode=release \
|
||||
..</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR
|
||||
rm -f /usr/bin/xsltproc</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-systemd" role="content">
|
||||
<title>Contents of systemd</title>
|
||||
|
||||
|
@ -3,8 +3,8 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
<!ENTITY tdbc-ver "1.1.7">
|
||||
<!ENTITY itcl-ver "4.2.4">
|
||||
<!ENTITY tdbc-ver "1.1.10">
|
||||
<!ENTITY itcl-ver "4.3.2">
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-tcl" role="wrap">
|
||||
@ -82,9 +82,9 @@ sed -e "s|$SRCDIR/unix|/usr/lib|" \
|
||||
-i tclConfig.sh
|
||||
|
||||
sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
|
||||
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
|
||||
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
|
||||
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
|
||||
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
|
||||
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
|
||||
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
|
||||
-i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
|
||||
|
||||
sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
|
||||
|
@ -48,17 +48,19 @@
|
||||
<systemitem class="groupname">sgx</systemitem>, from the default udev
|
||||
rules:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i -e 's/GROUP="render"/GROUP="video"/' \
|
||||
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -e 's/GROUP="render"/GROUP="video"/' \
|
||||
-e 's/GROUP="sgx", //' \
|
||||
-i rules.d/50-udev-default.rules.in</userinput></screen>
|
||||
|
||||
<para>Remove one udev rule requiring a full Systemd installation:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -i '/systemd-sysctl/s/^/#/' rules.d/99-systemd.rules.in</userinput></screen>
|
||||
|
||||
<para>Adjust the hardcoded paths to network configuration files for the
|
||||
standalone udev installation:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -e '/NETWORK_DIRS/s/systemd/udev/' \
|
||||
-i src/libsystemd/sd-network/network-util.h</userinput></screen>
|
||||
|
||||
<para>Prepare Udev for compilation:</para>
|
||||
|
||||
@ -194,89 +196,6 @@ rm /usr/share/man/man*/systemd*</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Udev - 32bit</title>
|
||||
|
||||
<para>Clean previous build (while still in the build directory):</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -rf *</userinput></screen>
|
||||
|
||||
<para>Prepare Udev for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
|
||||
CC="gcc -m32 -march=i686" \
|
||||
CXX="g++ -m32 -march=i686" \
|
||||
LANG=en_US.UTF-8 \
|
||||
meson setup \
|
||||
--prefix=/usr \
|
||||
--buildtype=release \
|
||||
-Dmode=release \
|
||||
-Ddev-kvm-mode=0660 \
|
||||
-Dlink-udev-shared=false \
|
||||
-Dlogind=false \
|
||||
-Dvconsole=false \
|
||||
..</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">ninja \
|
||||
$(grep -o -E "^build (src/libudev|src/udev)[^:]*" \
|
||||
build.ninja | awk '{ print $2 }') \
|
||||
$(realpath libudev.so --relative-to .)</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">mkdir -pv /usr/lib32/pkgconfig &&
|
||||
cp -av libudev.so{,*[0-9]} /usr/lib32/ &&
|
||||
sed -e "s;/usr/lib;&32;g" src/libudev/libudev.pc > /usr/lib32/pkgconfig/libudev.pc</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Udev - x32bit</title>
|
||||
<para>Clean previous build (while still in the build directory):</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -rf *</userinput></screen>
|
||||
|
||||
<para>Prepare Udev for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
|
||||
CC="gcc -mx32" \
|
||||
CXX="g++ -mx32" \
|
||||
CFLAGS+=" -Wno-error=shift-overflow" \
|
||||
CXXFLAGS+=" -Wno-error=shift-overflow" \
|
||||
LANG=en_US.UTF-8 \
|
||||
meson setup \
|
||||
--prefix=/usr \
|
||||
--buildtype=release \
|
||||
-Dmode=release \
|
||||
-Ddev-kvm-mode=0660 \
|
||||
-Dlink-udev-shared=false \
|
||||
-Dlogind=false \
|
||||
-Dvconsole=false \
|
||||
..</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">ninja \
|
||||
$(grep -o -E "^build (src/libudev|src/udev)[^:]*" \
|
||||
build.ninja | awk '{ print $2 }') \
|
||||
$(realpath libudev.so --relative-to .)</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">mkdir -pv /usr/libx32/pkgconfig &&
|
||||
cp -av libudev.so{,*[0-9]} /usr/libx32/ &&
|
||||
sed -e "s;/usr/lib;&x32;g" src/libudev/libudev.pc > /usr/libx32/pkgconfig/libudev.pc</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="conf-udev" role="configuration">
|
||||
<title>Configuring Udev</title>
|
||||
|
||||
|
@ -128,6 +128,11 @@ su tester -c "make -k check"</userinput></screen>
|
||||
enabled.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Two other tests, lsfd: SOURCE column and utmp: last, are known to
|
||||
fail in the chroot environment.
|
||||
</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
@ -138,150 +143,6 @@ su tester -c "make -k check"</userinput></screen>
|
||||
-->
|
||||
</sect2>
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - 32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_32,ml_all" role="installation">
|
||||
<title>Installation of Util-linux - 32-bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Move a tool out of the way which is optionally used by
|
||||
configure but will report invalid pathes for multilib builds.</para>
|
||||
|
||||
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>
|
||||
|
||||
<para>Prepare Util-linux for compilation:</para>
|
||||
|
||||
<screen revision="sysv"><userinput remap="configure">CC="gcc -m32" \
|
||||
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--libdir=/usr/lib32 \
|
||||
--runstatedir=/run \
|
||||
--sbindir=/usr/sbin \
|
||||
--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-liblastlog2 \
|
||||
--disable-static \
|
||||
--without-python \
|
||||
--without-systemd \
|
||||
--without-systemdsystemunitdir</userinput></screen>
|
||||
|
||||
<screen revision="systemd"><userinput remap="configure">CC="gcc -m32" \
|
||||
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--libdir=/usr/lib32 \
|
||||
--runstatedir=/run \
|
||||
--sbindir=/usr/sbin \
|
||||
--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-liblastlog2 \
|
||||
--disable-static \
|
||||
--without-python</userinput></screen>
|
||||
|
||||
<para>Restore the tool previously moved away:</para>
|
||||
|
||||
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- m32 -->
|
||||
|
||||
<!-- - - - - - - - - - -->
|
||||
<!-- Multilib - x32bit -->
|
||||
<!-- - - - - - - - - - -->
|
||||
|
||||
<sect2 arch="ml_x32,ml_all" role="installation">
|
||||
<title>Installation of Util-linux - x32-bit</title>
|
||||
|
||||
<para>Clean previous build:</para>
|
||||
|
||||
<screen><userinput remap="pre">make distclean</userinput></screen>
|
||||
|
||||
<para>Move a tool out of the way which is optionally used by
|
||||
configure but will report invalid pathes for multilib builds.</para>
|
||||
|
||||
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>
|
||||
|
||||
<para>Prepare Util-linux for compilation:</para>
|
||||
|
||||
<screen revision="sysv"><userinput remap="configure">CC="gcc -mx32" \
|
||||
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--libdir=/usr/libx32 \
|
||||
--runstatedir=/run \
|
||||
--sbindir=/usr/sbin \
|
||||
--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-liblastlog2 \
|
||||
--disable-static \
|
||||
--without-python \
|
||||
--without-systemd \
|
||||
--without-systemdsystemunitdir</userinput></screen>
|
||||
|
||||
<screen revision="systemd"><userinput remap="configure">CC="gcc -mx32" \
|
||||
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||
--host=x86_64-pc-linux-gnux32 \
|
||||
--libdir=/usr/libx32 \
|
||||
--runstatedir=/run \
|
||||
--sbindir=/usr/sbin \
|
||||
--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-liblastlog2 \
|
||||
--disable-static \
|
||||
--without-python</userinput></screen>
|
||||
|
||||
<para>Restore the tool previously moved away:</para>
|
||||
|
||||
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
|
||||
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
|
||||
rm -rf DESTDIR</userinput></screen>
|
||||
|
||||
</sect2><!-- mx32 -->
|
||||
|
||||
<sect2 id="contents-utillinux" role="content">
|
||||
<title>Contents of Util-linux</title>
|
||||
|
||||
|
@ -64,9 +64,11 @@
|
||||
|
||||
<para>To prepare the tests, ensure that user
|
||||
<systemitem class="username">tester</systemitem> can write
|
||||
to the source tree:</para>
|
||||
to the source tree and exclude one file containing tests requiring
|
||||
<command>curl</command> or <command>wget</command>:</para>
|
||||
|
||||
<screen><userinput remap="test">chown -R tester .</userinput></screen>
|
||||
<screen><userinput remap="test">chown -R tester .
|
||||
sed '/test_plugin_glvs/d' -i src/testdir/Make_all.mak</userinput></screen>
|
||||
|
||||
<para>Now run the tests as user <systemitem
|
||||
class="username">tester</systemitem>:</para>
|
||||
|
@ -46,7 +46,7 @@
|
||||
|
||||
<para>Install Wheel with the following command:</para>
|
||||
|
||||
<screen><userinput remap="install">pip3 install --no-index --find-links=dist wheel</userinput></screen>
|
||||
<screen><userinput remap="install">pip3 install --no-index --find-links dist wheel</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user