diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 1e148b592..b3a6958c7 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -35,6 +35,26 @@ --> + + 2013-12-13 + + + [bdubbs] - Fix kmod, procps-ng, zlib, readline, ncurses, + and xz methods of establishing correct symbolic links + for libraries. + + + [bdubbs] - Update to procps-ng-3.3.9. Fixes + #3439. + + + [bdubbs] - Install non-essential programs from + the xz package in /usr/bin. Fixes + #3445. + + + + 2013-12-10 diff --git a/chapter03/patches.xml b/chapter03/patches.xml index c224d7759..a9ced1c4d 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -74,6 +74,14 @@ + + Readline Upstream Fixes Patch - &readline-fixes-patch-size;: + + Download: + MD5 sum: &readline-fixes-patch-md5; + + + Tar Manpage Patch - &tar-manpage-patch-size;: @@ -82,22 +90,6 @@ - - Readline Upstream Fixes Patch - &readline-fixes-patch-size;: - - Download: - MD5 sum: &readline-fixes-patch-md5; - - - Total size of these patches: about diff --git a/chapter06/kmod.xml b/chapter06/kmod.xml index 8a9ac774d..9832437d1 100644 --- a/chapter06/kmod.xml +++ b/chapter06/kmod.xml @@ -45,26 +45,17 @@ ./configure --prefix=/usr \ --bindir=/bin \ - --with-rootlibdir=/lib \ --sysconfdir=/etc \ --disable-manpages \ + --with-rootlibdir=/lib \ --with-xz \ --with-zlib The meaning of the configure options: - - --with-rootlibdir - - This switch ensures that shared library is installed in - /lib instead of - /usr/lib. - - - - --with-* + --with-xz, --with-zlib These options enable Kmod to handle compressed kernel modules. @@ -79,6 +70,14 @@ + + --with-rootlibdir=/lib + + This option ensures different library related files are placed + in the correct directories. + + + Compile the package: @@ -96,7 +95,7 @@ make install -for target in depmod insmod lsmod modinfo modprobe rmmod; do +for target in depmod insmod modinfo modprobe rmmod; do ln -sv ../bin/kmod /sbin/$target done diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 6f9cc3792..df362d4bd 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -110,7 +110,7 @@ Because the libraries have been moved, one symlink points to a non-existent file. Recreate it: -ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so +ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so Many applications still expect the linker to be able to find non-wide-character Ncurses libraries. Trick such applications into linking with diff --git a/chapter06/procps.xml b/chapter06/procps.xml index 5309bb796..0114b1e6b 100644 --- a/chapter06/procps.xml +++ b/chapter06/procps.xml @@ -47,19 +47,11 @@ --libdir=/usr/lib \ --docdir=/usr/share/doc/procps-ng-&procps-ng-version; \ --disable-static \ - --disable-skill \ --disable-kill The meaning of the configure options: - - --disable-skill - - This switch disables the obsolete and unportable - skill and snice commands. - - --disable-kill @@ -85,11 +77,12 @@ make check make install -Finally, move the library to a location that can be found if +Finally, move essential files to a location that can be found if /usr is not mounted. -mv -v /usr/lib/libprocps.so.* /lib -ln -sfv ../../lib/libprocps.so.1.1.2 /usr/lib/libprocps.so +mv -v /usr/bin/pidof /bin +mv -v /usr/lib/libprocps.so.* /lib +ln -sfv ../../lib/$(readlink /usr/lib/libprocps.so) /usr/lib/libprocps.so @@ -101,7 +94,7 @@ ln -sfv ../../lib/libprocps.so.1.1.2 /usr/lib/libprocps.so Installed library - free, pgrep, pkill, pmap, ps, pwdx, slabtop, + free, pgrep, pidof, pkill, pmap, ps, pwdx, slabtop, sysctl, tload, top, uptime, vmstat, w, and, watch libprocps.so @@ -133,6 +126,16 @@ ln -sfv ../../lib/libprocps.so.1.1.2 /usr/lib/libprocps.so + + pidof + + Looks up processes based on their name and other attributes + + pidof + + + + pkill @@ -261,7 +264,7 @@ ln -sfv ../../lib/libprocps.so.1.1.2 /usr/lib/libprocps.so - libproc + libprocps Contains the functions used by most programs in this package diff --git a/chapter06/readline.xml b/chapter06/readline.xml index f56bb7a60..6ad6ecaaa 100644 --- a/chapter06/readline.xml +++ b/chapter06/readline.xml @@ -55,7 +55,7 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install Prepare Readline for compilation: -./configure --prefix=/usr --libdir=/lib +./configure --prefix=/usr Compile the package: @@ -81,17 +81,12 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install make install - Now move the static libraries to a more appropriate location: + Now move the dynamic libraries to a more appropriate location + and fix up some symbolic links: -mv -v /lib/lib{readline,history}.a /usr/lib - - Next, remove the .so files in - /lib and relink them into /usr/lib: - -rm -v /lib/lib{readline,history}.so -ln -sfv ../../lib/libreadline.so.6 /usr/lib/libreadline.so -ln -sfv ../../lib/libhistory.so.6 /usr/lib/libhistory.so +mv -v /usr/lib/lib{readline,history}.so.* /lib +ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so +ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so If desired, install the documentation: diff --git a/chapter06/xz.xml b/chapter06/xz.xml index a44bd10cd..452386759 100644 --- a/chapter06/xz.xml +++ b/chapter06/xz.xml @@ -47,7 +47,6 @@ Prepare Xz for compilation with: ./configure --prefix=/usr \ - --bindir=/bin \ --docdir=/usr/share/doc/xz-&xz-version; Compile the package: @@ -58,12 +57,13 @@ make check - Install the package and make sure that all libraries are in the + Install the package and make sure that all essential files are in the correct directory: make install +mv -v /usr/bin/{unlzma,unxz,xzcat,lzma,xz} /bin mv -v /usr/lib/liblzma.so.* /lib -ln -svf ../../lib/liblzma.so.&xz-version; /usr/lib/liblzma.so +ln -svf ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so diff --git a/chapter06/zlib.xml b/chapter06/zlib.xml index 1dfa3a9bc..2dcc49413 100644 --- a/chapter06/zlib.xml +++ b/chapter06/zlib.xml @@ -63,7 +63,7 @@ /usr/lib will need to be recreated: mv -v /usr/lib/libz.so.* /lib -ln -sfv ../../lib/libz.so.&zlib-version; /usr/lib/libz.so +ln -sfv ../../lib/$(readlink /usr/lib/libz.so) /usr/lib/libz.so diff --git a/general.ent b/general.ent index 97c33a768..82ec4e311 100644 --- a/general.ent +++ b/general.ent @@ -1,5 +1,5 @@ - - + + diff --git a/packages.ent b/packages.ent index 4160c3aab..e48a3cc6e 100644 --- a/packages.ent +++ b/packages.ent @@ -507,10 +507,10 @@ - - + + - +