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 @@
-
-
+
+
-
+