From f8756ab90bb3d7c3f4010c0d19a0624c330f889b Mon Sep 17 00:00:00 2001 From: Krejzi Date: Sat, 15 Feb 2014 00:40:11 +0000 Subject: [PATCH] Merge latest LFS SVN. git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10468 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter01/changelog.xml | 95 ++++++++++++++++++++++++++ chapter05/expect.xml | 4 +- chapter05/gcc-pass2.xml | 6 +- chapter05/glibc.xml | 8 --- chapter05/util-linux.xml | 6 +- chapter06/e2fsprogs.xml | 29 ++++---- chapter06/flex.xml | 15 ++-- chapter06/glibc.xml | 62 ++++++++--------- chapter06/groff.xml | 3 +- general.ent | 4 +- network-scripts/Makefile | 17 ++--- network-scripts/lfs/tmpfiles/nscd.conf | 2 - network-scripts/lfs/units/nscd.service | 16 ----- packages.ent | 32 ++++----- patches.ent | 6 +- process-scripts.sh | 1 - 16 files changed, 184 insertions(+), 122 deletions(-) delete mode 100644 network-scripts/lfs/tmpfiles/nscd.conf delete mode 100644 network-scripts/lfs/units/nscd.service 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 @@ - + - + - +