diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index e0cdd32d3..402a696c8 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -35,6 +35,101 @@
-->
+
+ 2014-02-14
+
+
+ [krejzi] - Merge LFS SVN-20140214 book.
+
+
+ [bdubbs] - Make sed for omit-frame-pointers the
+ same in Chapters 5 and 6. Fixes
+ #3497.
+
+
+ [bdubbs] - Simplify zimesone configuration in glibc.
+ Thanks to Chris Staub for the patch. Fixes
+ #3496.
+
+
+ [bdubbs] - Let the glibc Makefile install rpc headers.
+ Thanks to Chris Staub for the patch. Fixes
+ #3495.
+
+
+ [bdubbs] - Update to linux-3.13.3. Fixes
+ #3493.
+
+
+
+
+
+ 2014-02-13
+
+
+ [bdubbs] - Update to file-5.17. Fixes
+ #3491.
+
+
+ [bdubbs] - Update to flex-2.5.38. Fixes
+ #3492.
+
+
+ [bdubbs] - Update to man-pages-3.58. Fixes
+ #3490.
+
+
+
+
+
+ 2014-02-10
+
+
+ [bdubbs] - Update coreutils i18n patch.
+ Thanks to Igor Izivkov for pointing it out. Fixes
+ #3488.
+
+
+
+
+
+ 2014-02-08
+
+
+ [bdubbs] - Update to glibc-2.19. Fixes
+ #3486.
+
+
+
+
+
+ 2014-02-07
+
+
+ [bdubbs] - Update to linux-3.13.2. Fixes
+ #3485.
+
+
+
+
+
+ 2014-02-05
+
+
+ [bdubbs] - Change expect library type in Chapter 5.
+ Thanks to kammet for the report. Fixes
+ #3484.
+
+
+ [bdubbs] - Fix e2fsprogs tests to run properly
+ in the LFS chroot environment.
+
+
+ [bdubbs] - Remove unnecessary mkdir in groff.
+
+
+
+
2014-02-04
diff --git a/chapter05/expect.xml b/chapter05/expect.xml
index e1a9d9dbc..d53394504 100644
--- a/chapter05/expect.xml
+++ b/chapter05/expect.xml
@@ -121,7 +121,7 @@ sed 's:/usr/local/bin:/bin:' configure.orig > configure
expect
- libexpect-&expect-lib-version;.a
+ libexpect-&expect-lib-version;.so
@@ -142,7 +142,7 @@ sed 's:/usr/local/bin:/bin:' configure.orig > configure
- libexpect-&expect-lib-version;.a
+ libexpect-&expect-lib-version;.so
Contains functions that allow Expect to be used as a Tcl
extension or to be used directly from C or C++ (without Tcl)
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index 310abb457..e96c469ad 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -64,9 +64,9 @@
that is exactly the same as if it were bootstrapped. Apply the following
sed command to force the build to use the flag:
-cp -v gcc/Makefile.in{,.tmp}
-sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \
- > gcc/Makefile.in
+case `uname -m` in
+ i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;;
+esac
Once again, change the location of GCC's default dynamic linker to
use the one installed in
- An upstream change needs to be reverted:
-
-sed -i -e 's/static __m128i/inline &/' sysdeps/x86_64/multiarch/strstr.c
-
- Allow Glibc to be built using Make-&make-version;:
-
-sed -r -i 's/(3..89..)/\1 | 4.*/' configure
-
The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:
diff --git a/chapter05/util-linux.xml b/chapter05/util-linux.xml
index 7156895c2..909fa6679 100644
--- a/chapter05/util-linux.xml
+++ b/chapter05/util-linux.xml
@@ -73,7 +73,11 @@
PKG_CONFIG=""
Setting this envronment variable prevents adding unneeded
- features that may be available on the host.
+ features that may be available on the host. Note that the location
+ shown for setting this environment variable is different from other
+ LFS sections where variables are set preceeding the command. This
+ location is shown to demonstrate an alternative way of setting an
+ environment variable when using configure.
diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml
index bf4332ba9..9ca778a04 100644
--- a/chapter06/e2fsprogs.xml
+++ b/chapter06/e2fsprogs.xml
@@ -44,6 +44,11 @@
Installation of E2fsprogs
+ First fix a problem with running regression tests in the LFS chroot
+ environment:
+
+sed -i -e 's|^LD_LIBRARY_PATH.*|&:/tools/lib|' tests/test_config
+
The E2fsprogs documentation recommends that the package be built in
a subdirectory of the source tree:
@@ -52,16 +57,15 @@ cd build
Prepare E2fsprogs for compilation:
-export PKG_CONFIG_PATH=/tools/lib/pkgconfig
-
-LIBS=-L/tools/lib \
-CFLAGS=-I/tools/include \
-../configure --prefix=/usr \
- --with-root-prefix="" \
- --enable-elf-shlibs \
- --disable-libblkid \
- --disable-libuuid \
- --disable-uuidd \
+LIBS=-L/tools/lib \
+CFLAGS=-I/tools/include \
+PKG_CONFIG_PATH=/tools/lib/pkgconfig \
+../configure --prefix=/usr \
+ --with-root-prefix="" \
+ --enable-elf-shlibs \
+ --disable-libblkid \
+ --disable-libuuid \
+ --disable-uuidd \
--disable-fsck
@@ -131,10 +135,9 @@ CFLAGS=-I/tools/include \
make install
- Install the static libraries and headers and do some clean up:
+ Install the static libraries and headers:
-make install-libs
-unset PKG_CONFIG_PATH
+make install-libs
Make the installed static libraries writable so debugging symbols can
be removed later:
diff --git a/chapter06/flex.xml b/chapter06/flex.xml
index ab2984ca4..4f6cef1f4 100644
--- a/chapter06/flex.xml
+++ b/chapter06/flex.xml
@@ -47,7 +47,8 @@
Prepare Flex for compilation:
-./configure --prefix=/usr \
+./configure --prefix=/usr \
+ --disable-static \
--docdir=/usr/share/doc/flex-&flex-version;
Compile the package:
@@ -61,14 +62,14 @@
Install the package:
make install
-
+
A few programs do not know about flex yet and
try to run its predecessor, lex. To support those
programs, create a wrapper script named lex that
@@ -97,7 +98,7 @@ chmod -v 755 /usr/bin/lex
flex, flex++ (link to flex), and lex
- libfl.a and libfl_pic.a
+ libfl.so and libfl_pic.so
/usr/share/doc/flex-&flex-version;
@@ -141,12 +142,12 @@ chmod -v 755 /usr/bin/lex
-
+
libfl.a
The flex library
-
- libfl.a
+
+ libfl.so
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index 13811a26e..9fccea41c 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -54,6 +54,10 @@
Unicode, therefore libiconv is not required on an LFS system.
+ First fix a minor problem when installing the tzselect script:
+
+sed -i 's/\\$$(pwd)/`pwd`/' timezone/Makefile
+
The Glibc build system is self-contained and will install
perfectly, even though the compiler specs file and linker are still
pointing at /tools. The specs
@@ -61,17 +65,9 @@
Glibc autoconf tests would give false results and defeat the goal
of achieving a clean build.
- An upstream change needs to be reverted:
-
-sed -i -e 's/static __m128i/inline &/' sysdeps/x86_64/multiarch/strstr.c
-
- Allow Glibc to be built with Make-&make-version;:
-
-sed -r -i 's/(3..89..)/\1 | 4.*/' configure
-
Some of the Glibc programs use non-FHS compilant
- /var/db directory
- to store their runtime data. Apply the following patch to make such programs
+ /var/db directory to store
+ their runtime data. Apply the following patch to make such programs
store their runtime data in the FHS-compliant locations:
patch -Np1 -i ../&glibc-fhs-patch;
@@ -84,11 +80,12 @@ cd ../glibc-build
Prepare Glibc for compilation:
-../glibc-&glibc-version;/configure \
- --prefix=/usr \
- --disable-profile \
- --enable-kernel=&min-kernel; \
- --libexecdir=/usr/lib
+../glibc-&glibc-version;/configure \
+ --prefix=/usr \
+ --disable-profile \
+ --enable-kernel=&min-kernel; \
+ --libexecdir=/usr/lib \
+ --enable-obsolete-rpc
The meaning of the new configure options:
@@ -102,6 +99,15 @@ cd ../glibc-build
+
+ --enable-obsolete-rpc
+
+ Installs NIS and RPC related headers that are not installed by
+ default; these are required to rebuild Glibc and by several BLFS
+ packages.
+
+
+
Compile the package:
@@ -173,20 +179,17 @@ grep Error glibc-check-log
make install
- Install NIS and RPC related headers that are not installed by
- default; these are required to rebuild glibc and by several BLFS
- packages:
-
-cp -v ../glibc-&glibc-version;/sunrpc/rpc/*.h /usr/include/rpc
-cp -v ../glibc-&glibc-version;/sunrpc/rpcsvc/*.h /usr/include/rpcsvc
-cp -v ../glibc-&glibc-version;/nis/rpcsvc/*.h /usr/include/rpcsvc
-
Install the configuration file and runtime directory for
nscd:
cp -v ../glibc-&glibc-version;/nscd/nscd.conf /etc/nscd.conf
mkdir -pv /var/cache/nscd
+ Install the Systemd support files for nscd:
+
+install -v -Dm644 ../glibc-&glibc-version;/nscd/nscd.tmpfiles /etc/tmpfiles.d/nscd.conf
+install -v -Dm644 ../glibc-&glibc-version;/nscd/nscd.service /lib/systemd/system/nscd.service
+
The locales that can make the system respond in a different language
were not installed by the above command. None of the locales are required,
but if some of them are missing, test suites of the future packages would
@@ -419,7 +422,7 @@ mkdir -pv /etc/ld.so.conf.d
pldd, rpcgen, sln, sotruss, sprof, tzselect, xtrace,
zdump, and zic
ld.so, libBrokenLocale.{a,so}, libSegFault.so, libanl.{a,so},
- libbsd-compat.a, libc.{a,so}, libc_nonshared.a, libcidn.so,
+ libc.{a,so}, libc_nonshared.a, libcidn.so,
libcrypt.{a,so}, libdl.{a,so}, libg.a, libieee.a, libm.{a,so},
libmcheck.a, libmemusage.so, libnsl.{a,so}, libnss_compat.so,
libnss_dns.so, libnss_files.so, libnss_hesiod.so, libnss_nis.so,
@@ -747,17 +750,6 @@ mkdir -pv /etc/ld.so.conf.d
-
- libbsd-compat
-
- Provides the portability needed in order to run certain
- Berkeley Software Distribution (BSD) programs under Linux
-
- libbsd-compat
-
-
-
-
libc
diff --git a/chapter06/groff.xml b/chapter06/groff.xml
index 7aaef076b..69a51a36c 100644
--- a/chapter06/groff.xml
+++ b/chapter06/groff.xml
@@ -61,8 +61,7 @@
Install the package:
-mkdir -pv /usr/share/doc/groff-1.22/pdf
-make install
+make install
Some documentation programs, such as xman,
will not work properly without the following symlinks:
diff --git a/general.ent b/general.ent
index 341b76061..0ac04d530 100644
--- a/general.ent
+++ b/general.ent
@@ -1,5 +1,5 @@
-
-
+
+
diff --git a/network-scripts/Makefile b/network-scripts/Makefile
index 676a800d5..9fc39aa9b 100644
--- a/network-scripts/Makefile
+++ b/network-scripts/Makefile
@@ -1,5 +1,4 @@
EXTDIR=${DESTDIR}/etc
-TMPFILESDIR=${EXTDIR}/tmpfiles.d
LIBDIR=${DESTDIR}/lib
SERVICEDIR=${LIBDIR}/services
UNITDIR=${LIBDIR}/systemd/system
@@ -13,7 +12,6 @@ install: files
create-dirs:
install -d -m ${DIRMODE} ${EXTDIR}/sysconfig
- install -d -m ${DIRMODE} ${TMPFILESDIR}
install -d -m ${DIRMODE} ${SERVICEDIR}
install -d -m ${DIRMODE} ${UNITDIR}
install -d -m ${DIRMODE} ${MAN8}
@@ -21,20 +19,17 @@ create-dirs:
ln -sfn services ${LIBDIR}/lsb
files: create-dirs
- install -m ${CONFMODE} lfs/tmpfiles/nscd.conf ${TMPFILESDIR}
- install -m ${MODE} lfs/sbin/ifup ${SBIN}
- install -m ${MODE} lfs/sbin/ifdown ${SBIN}
- install -m ${MODE} lfs/sbin/ifup.8 ${MAN8}
- ln -sf ifup.8 ${MAN8}/ifdown.8
+ install -m ${MODE} lfs/sbin/ifup ${SBIN}
+ install -m ${MODE} lfs/sbin/ifdown ${SBIN}
+ install -m ${MODE} lfs/sbin/ifup.8 ${MAN8}
+ ln -sf ifup.8 ${MAN8}/ifdown.8
install -m ${MODE} lfs/lib/services/ipv4-static-route ${SERVICEDIR}
install -m ${MODE} lfs/lib/services/ipv4-static ${SERVICEDIR}
install -m ${CONFMODE} lfs/lib/services/init-functions ${SERVICEDIR}
install -m ${CONFMODE} lfs/units/ifupdownat.service ${UNITDIR}/ifupdown@.service
- install -m ${CONFMODE} lfs/units/nscd.service ${UNITDIR}
uninstall:
- rm -rf ${TMPFILESDIR}/nscd.conf ${SERVICEDIR} ${LIBDIR}/lsb \
- ${UNITDIR}/ifupdown@.service ${UNITDIR}/nscd.service ${SBIN}/ifup \
- ${SBIN}/ifdown ${MAN8}/ifup.8 ${MAN8}/ifdown.8
+ rm -rf ${SERVICEDIR} ${LIBDIR}/lsb ${UNITDIR}/ifupdown@.service \
+ ${SBIN}/ifup ${SBIN}/ifdown ${MAN8}/ifup.8 ${MAN8}/ifdown.8
.PHONY: all create-dirs install files uninstall
diff --git a/network-scripts/lfs/tmpfiles/nscd.conf b/network-scripts/lfs/tmpfiles/nscd.conf
deleted file mode 100644
index c11675be8..000000000
--- a/network-scripts/lfs/tmpfiles/nscd.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-d /run/nscd 755 root root -
-
diff --git a/network-scripts/lfs/units/nscd.service b/network-scripts/lfs/units/nscd.service
deleted file mode 100644
index ff200a144..000000000
--- a/network-scripts/lfs/units/nscd.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=Name Service Cache Daemon
-
-[Service]
-Type=forking
-ExecStart=/usr/sbin/nscd
-ExecStop=/usr/sbin/nscd --shutdown
-ExecReload=/usr/sbin/nscd -i passwd
-ExecReload=/usr/sbin/nscd -i group
-ExecReload=/usr/sbin/nscd -i hosts
-ExecReload=/usr/sbin/nscd -i services
-Restart=always
-PIDFile=/run/nscd/nscd.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/packages.ent b/packages.ent
index efc67fe34..ff38dc698 100644
--- a/packages.ent
+++ b/packages.ent
@@ -164,10 +164,10 @@
-
-
+
+
-
+
@@ -184,10 +184,10 @@
-
-
+
+
-
+
+
@@ -395,12 +395,12 @@
-
+
-
+
-
+