diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 0e0d47037..bd8bf5a0e 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -43,7 +43,48 @@ Note: If a change is only specific to sysv or systemd, then use or as appropriate for the entry or if needed the entire day's listitem. - --> + --> + + 2019-06-18 + + + [renodr] - Update to linux-5.1.11. Fixes the SOCK PANIC + issue. Fixes + #4485. + + + + + + 2019-06-16 + + + [bdubbs] - Update to vim-8.1.1535. Fixes + #4482. + + + [bdubbs] - Update to shadow-4.7. Fixes + #4481. + + + [bdubbs] - Update to linux-5.1.10. Fixes + #4478. + + + [bdubbs] - Update to less-551. Fixes + #4477. + + + [bdubbs] - Update to util-linux-2.34. Fixes + #4462. + + + [bdubbs] - Remove eudev instructions referring to /tools. Fixes + #4480. + + + + 2019-06-12 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 04730ddd9..86e79246c 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -140,9 +140,9 @@ - + LFS-Bootscripts-&lfs-bootscripts-version; @@ -218,9 +218,9 @@ - + @@ -245,9 +245,9 @@ Util-Linux-&util-linux-version; - + diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index a7efac839..9797c863c 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -87,13 +87,11 @@ do cp -uv $file{,.orig} sed -e 's@/lib\(64\)\?\(32\)\?\(x32\)\?/ld@/tools&@g' \ -e 's@/usr@/tools@g' $file.orig > $file - echo ' -#undef STANDARD_STARTFILE_PREFIX_1 -#undef STANDARD_STARTFILE_PREFIX_2 -#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/" -#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file touch $file.orig -done +done +sed -e "/^#define[[:blank:]]*STANDARD_STARTFILE_PREFIX_1/ s;\".*\";\"/tools/lib/\";" \ + -e "/^#define[[:blank:]]*STANDARD_STARTFILE_PREFIX_2/ s;\".*\";\"\";" \ + -i gcc/gcc.c In case the above seems hard to follow, let's break it down a bit. First we copy the files gcc/config/linux.h, diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml index 1b6a6b953..2ed39781e 100644 --- a/chapter05/gcc-pass2.xml +++ b/chapter05/gcc-pass2.xml @@ -75,13 +75,11 @@ do cp -uv $file{,.orig} sed -e 's@/lib\(64\)\?\(32\)\?\(x32\)\?/ld@/tools&@g' \ -e 's@/usr@/tools@g' $file.orig > $file - echo ' -#undef STANDARD_STARTFILE_PREFIX_1 -#undef STANDARD_STARTFILE_PREFIX_2 -#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/" -#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file touch $file.orig -done +done +sed -e "/^#define[[:blank:]]*STANDARD_STARTFILE_PREFIX_1/ s;\".*\";\"/tools/lib/\";" \ + -e "/^#define[[:blank:]]*STANDARD_STARTFILE_PREFIX_2/ s;\".*\";\"\";" \ + -i gcc/gcc.c If building on x86_64, change the default directory name for 64-bit libraries to lib: diff --git a/chapter06/eudev.xml b/chapter06/eudev.xml index eac56f4fa..99eb958d6 100644 --- a/chapter06/eudev.xml +++ b/chapter06/eudev.xml @@ -49,6 +49,7 @@ sed -i '/keyboard_lookup_key/d' src/udev/udev-builtin-keyboard.c --> + Prepare Eudev for compilation: ./configure --prefix=/usr \ @@ -69,11 +70,13 @@ EOF --with-rootprefix= \ --with-rootlibdir=/lib \ --enable-manpages \ - --disable-static \ - --config-cache + --disable-static + Compile the package: +make + Create some directories now that are needed for tests, but will also be used as a part of installation: @@ -90,11 +93,13 @@ mkdir -pv /etc/udev/rules.d To test the results, issue: -make LD_LIBRARY_PATH=/tools/lib check +make check + Install the package: -make LD_LIBRARY_PATH=/tools/lib install +make install + Install some custom rules and support files useful in an LFS environment: @@ -196,7 +201,8 @@ rm -rf DESTDIR into a binary database /etc/udev/hwdb.bin. Create the initial database: -LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update + +udevadm hwdb --update This command needs to be run each time the hardware information is updated. diff --git a/chapter06/vim.xml b/chapter06/vim.xml index 04f6d9bd8..2f91d5c33 100644 --- a/chapter06/vim.xml +++ b/chapter06/vim.xml @@ -66,9 +66,18 @@ make - To test the results, issue: + To prepare the tests, ensure that the + nobody user can write + to the sources tree: -LANG=en_US.UTF-8 make -j1 test &> vim-test.log +chown -Rv nobody . + + Now run the tests as the nobody user: + +su nobody -s /bin/bash -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log + + The test suite outputs a lot of binary data to the screen. This can cause issues with the settings of the current terminal. The problem can be diff --git a/general.ent b/general.ent index 163205c49..abe9d2187 100644 --- a/general.ent +++ b/general.ent @@ -1,13 +1,13 @@ - + - + - + diff --git a/lfs-latest.php b/lfs-latest.php index fd77c4a95..b9b8f7630 100644 --- a/lfs-latest.php +++ b/lfs-latest.php @@ -104,7 +104,7 @@ function get_packages( $package, $dirpath ) global $exceptions; global $regex; -//if ( $package != "expat" ) return 0; // Debug +//if ( $package != "vim" ) return 0; // Debug if ( $package == "check" ) $dirpath = "https://github.com/libcheck/check/releases"; if ( $package == "e2fsprogs" ) $dirpath = "http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs"; @@ -125,7 +125,8 @@ if ( $package == "shadow" ) $dirpath = "https://github.com/shadow-maint/shad if ( $package == "systemd" ) $dirpath = "https://github.com/systemd/systemd/releases"; if ( $package == "tcl" ) $dirpath = "http://sourceforge.net/projects/tcl/files"; if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." ); -if ( $package == "vim" ) $dirpath = "ftp://ftp.vim.org/pub/vim/unix"; +if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/releases"; +//if ( $package == "vim" ) $dirpath = "ftp://ftp.vim.org/pub/vim/unix"; // Check for ftp if ( preg_match( "/^ftp/", $dirpath ) ) @@ -278,6 +279,9 @@ if ( $package == "vim" ) $dirpath = "ftp://ftp.vim.org/pub/vim/unix"; if ( $package == "openssl" ) return find_max( $lines, "/openssl/", "/^.*openssl-([\d\.p]*\d.?).tar.*$/" ); + if ( $package == "vim" ) + return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" ); + // Most packages are in the form $package-n.n.n // Occasionally there are dashes (e.g. 201-1) return find_max( $lines, "/$package/", "/^.*$package-([\d\.-]*\d)\.tar.*$/" ); diff --git a/packages.ent b/packages.ent index be4e95a87..234efcb97 100644 --- a/packages.ent +++ b/packages.ent @@ -381,10 +381,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + - + + + - + - + - - - + + +