aboutsummaryrefslogtreecommitdiffstats
path: root/chapter8
diff options
context:
space:
mode:
Diffstat (limited to 'chapter8')
-rw-r--r--chapter8/acl.sh9
-rw-r--r--chapter8/attr.sh9
-rw-r--r--chapter8/autoconf.sh5
-rw-r--r--chapter8/automake.sh7
-rw-r--r--chapter8/bash.sh14
-rw-r--r--chapter8/bc.sh6
-rw-r--r--chapter8/binutils.sh9
-rw-r--r--chapter8/bison.sh5
-rw-r--r--chapter8/bzip2.sh29
-rw-r--r--chapter8/check.sh5
-rw-r--r--chapter8/coreutils.sh26
-rw-r--r--chapter8/dejagnu.sh11
-rw-r--r--chapter8/diffutils.sh5
-rw-r--r--chapter8/e2fsprogs.sh17
-rw-r--r--chapter8/eudev.sh15
-rw-r--r--chapter8/expat.sh7
-rw-r--r--chapter8/expect.sh7
-rw-r--r--chapter8/file.sh9
-rw-r--r--chapter8/findutils.sh13
-rw-r--r--chapter8/flex.sh7
-rw-r--r--chapter8/gawk.sh9
-rw-r--r--chapter8/gcc.sh33
-rw-r--r--chapter8/gdbm.sh5
-rw-r--r--chapter8/gettext.sh7
-rw-r--r--chapter8/glibc.sh38
-rw-r--r--chapter8/gmp.sh9
-rw-r--r--chapter8/gperf.sh5
-rw-r--r--chapter8/grep.sh5
-rw-r--r--chapter8/groff.sh5
-rw-r--r--chapter8/grub.sh9
-rw-r--r--chapter8/gzip.sh7
-rw-r--r--chapter8/iana-etc.sh1
-rw-r--r--chapter8/inetutils.sh9
-rw-r--r--chapter8/intltool.sh9
-rw-r--r--chapter8/iproute2.sh9
-rw-r--r--chapter8/isl.sh9
-rw-r--r--chapter8/kbd.sh15
-rw-r--r--chapter8/kmod.sh7
-rw-r--r--chapter8/less.sh5
-rw-r--r--chapter8/libcap.sh11
-rw-r--r--chapter8/libelf.sh9
-rw-r--r--chapter8/libffi.sh5
-rw-r--r--chapter8/libpipeline.sh5
-rw-r--r--chapter8/libtool.sh7
-rw-r--r--chapter8/m4.sh9
-rw-r--r--chapter8/make.sh5
-rw-r--r--chapter8/man-db.sh5
-rw-r--r--chapter8/man-pages.sh1
-rw-r--r--chapter8/meson.sh9
-rw-r--r--chapter8/mpc.sh9
-rw-r--r--chapter8/mpfr.sh9
-rw-r--r--chapter8/ncurses.sh25
-rw-r--r--chapter8/ninja.sh9
-rw-r--r--chapter8/openssl.sh11
-rw-r--r--chapter8/patch.sh5
-rw-r--r--chapter8/perl.sh7
-rw-r--r--chapter8/pkg-config.sh5
-rw-r--r--chapter8/procps-ng.sh9
-rw-r--r--chapter8/psmisc.sh9
-rw-r--r--chapter8/python.sh11
-rw-r--r--chapter8/readline.sh17
-rw-r--r--chapter8/sed.sh11
-rw-r--r--chapter8/shadow.sh25
-rw-r--r--chapter8/sysklogd.sh9
-rw-r--r--chapter8/sysvinit.sh5
-rw-r--r--chapter8/tar.sh7
-rw-r--r--chapter8/tcl.sh21
-rw-r--r--chapter8/texinfo.sh7
-rw-r--r--chapter8/util-linux.sh5
-rw-r--r--chapter8/vim.sh13
-rw-r--r--chapter8/xml-parser.sh5
-rw-r--r--chapter8/xz.sh11
-rw-r--r--chapter8/zlib.sh11
-rw-r--r--chapter8/zstd.sh9
74 files changed, 336 insertions, 406 deletions
diff --git a/chapter8/acl.sh b/chapter8/acl.sh
index a82a047..57b6dd8 100644
--- a/chapter8/acl.sh
+++ b/chapter8/acl.sh
@@ -1,14 +1,13 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--bindir=/bin \
--disable-static \
--libexecdir=/usr/lib \
- --docdir=/usr/share/doc/acl-"${VERSION}"
+ --docdir=/usr/share/doc/acl-"${VERSION}" &&
-make
-make -j1 install
+make &&
+make -j1 install &&
-mv -v /usr/lib/libacl.so.* /lib
+mv -v /usr/lib/libacl.so.* /lib &&
ln -sfv ../../lib/"$(readlink /usr/lib/libacl.so)" /usr/lib/libacl.so
diff --git a/chapter8/attr.sh b/chapter8/attr.sh
index aede208..22e7b79 100644
--- a/chapter8/attr.sh
+++ b/chapter8/attr.sh
@@ -1,14 +1,13 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--bindir=/bin \
--disable-static \
--sysconfdir=/etc \
- --docdir=/usr/share/doc/attr-"${VERSION}"
+ --docdir=/usr/share/doc/attr-"${VERSION}" &&
-make
-make -j1 install
+make &&
+make -j1 install &&
-mv -v /usr/lib/libattr.so.* /lib
+mv -v /usr/lib/libattr.so.* /lib &&
ln -sfv ../../lib/"$(readlink /usr/lib/libattr.so)" /usr/lib/libattr.so
diff --git a/chapter8/autoconf.sh b/chapter8/autoconf.sh
index 80e5dae..1f6d045 100644
--- a/chapter8/autoconf.sh
+++ b/chapter8/autoconf.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
make -j1 install
diff --git a/chapter8/automake.sh b/chapter8/automake.sh
index 280e5fe..73615bf 100644
--- a/chapter8/automake.sh
+++ b/chapter8/automake.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
-sed -i "s/''/etags/" t/tags-lisp-space.sh
+sed -i "s/''/etags/" t/tags-lisp-space.sh &&
-./configure --prefix=/usr --docdir=/usr/share/doc/automake-"${VERSION}"
+./configure --prefix=/usr --docdir=/usr/share/doc/automake-"${VERSION}" &&
-make
+make &&
make -j1 install
diff --git a/chapter8/bash.sh b/chapter8/bash.sh
index 6bbd448..81d91c1 100644
--- a/chapter8/bash.sh
+++ b/chapter8/bash.sh
@@ -1,19 +1,19 @@
#!/bin/bash
-set -e
+# shellcheck disable=SC2016
-patch -Np1 -i ../bash-"${VERSION}"-fixes-1.patch
-# shellcheck disable=SC2016
-sed -i '/^bashline.o:.*shmbchar.h/a bashline.o: ${DEFDIR}/builtext.h' Makefile.in
+patch -Np1 -i ../bash-"${VERSION}"-fixes-1.patch &&
+
+sed -i '/^bashline.o:.*shmbchar.h/a bashline.o: ${DEFDIR}/builtext.h' Makefile.in &&
./configure --prefix=/usr \
--docdir=/usr/share/doc/bash-"${VERSION}" \
--without-bash-malloc \
- --with-installed-readline
+ --with-installed-readline &&
-make
+make &&
-make -j1 install
+make -j1 install &&
mv -vf /usr/bin/bash /bin
#exec /bin/bash --login +h
diff --git a/chapter8/bc.sh b/chapter8/bc.sh
index b6416e4..8d2b2f7 100644
--- a/chapter8/bc.sh
+++ b/chapter8/bc.sh
@@ -1,7 +1,7 @@
#!/bin/bash
-set -e
-CC=gcc ./configure.sh --prefix=/usr -G -O3
+CC=gcc ./configure.sh --prefix=/usr -G -O3 &&
+
+make &&
-make
make -j1 install
diff --git a/chapter8/binutils.sh b/chapter8/binutils.sh
index 4236b80..e3fe6c5 100644
--- a/chapter8/binutils.sh
+++ b/chapter8/binutils.sh
@@ -1,9 +1,8 @@
#!/bin/bash
-set -e
expect -c "spawn ls"
-sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
+sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in &&
mkdir -v build
cd build || exit 1
@@ -15,10 +14,10 @@ cd build || exit 1
--enable-shared \
--disable-werror \
--enable-64-bit-bfd \
- --with-system-zlib
+ --with-system-zlib &&
-make tooldir=/usr
+make tooldir=/usr &&
-make tooldir=/usr -j1 install
+make tooldir=/usr -j1 install &&
rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
diff --git a/chapter8/bison.sh b/chapter8/bison.sh
index b1fbc99..ab72461 100644
--- a/chapter8/bison.sh
+++ b/chapter8/bison.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr --docdir=/usr/share/doc/bison-"${VERSION}"
+./configure --prefix=/usr --docdir=/usr/share/doc/bison-"${VERSION}" &&
-make
+make &&
make -j1 install
diff --git a/chapter8/bzip2.sh b/chapter8/bzip2.sh
index 667bd5f..1b35096 100644
--- a/chapter8/bzip2.sh
+++ b/chapter8/bzip2.sh
@@ -1,23 +1,22 @@
#!/bin/bash
-set -e
+# shellcheck disable=SC2016
-patch -Np1 -i ../bzip2-"${VERSION}"-install_docs-1.patch
-# shellcheck disable=SC2016
-sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
-sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile
+patch -Np1 -i ../bzip2-"${VERSION}"-install_docs-1.patch &&
-make -f Makefile-libbz2_so
-make clean
-make
+sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile &&
+sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile &&
-make PREFIX=/usr -j1 install
+make -f Makefile-libbz2_so &&
+make clean &&
+make &&
-cp -v bzip2-shared /bin/bzip2
-cp -av libbz2.so* /lib
-ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so
-rm -v /usr/bin/{bunzip2,bzcat,bzip2}
-ln -sv bzip2 /bin/bunzip2
-ln -sv bzip2 /bin/bzcat
+make PREFIX=/usr -j1 install &&
+cp -v bzip2-shared /bin/bzip2 &&
+cp -av libbz2.so* /lib &&
+ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so &&
+rm -v /usr/bin/{bunzip2,bzcat,bzip2} &&
+ln -sv bzip2 /bin/bunzip2 &&
+ln -sv bzip2 /bin/bzcat &&
rm -fv /usr/lib/libbz2.a
diff --git a/chapter8/check.sh b/chapter8/check.sh
index 4b856a3..af09e33 100644
--- a/chapter8/check.sh
+++ b/chapter8/check.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr --disable-static
+./configure --prefix=/usr --disable-static &&
-make
+make &&
make docdir=/usr/share/doc/check-"${VERSION}" -j1 install
diff --git a/chapter8/coreutils.sh b/chapter8/coreutils.sh
index 1bbc0f3..7909f26 100644
--- a/chapter8/coreutils.sh
+++ b/chapter8/coreutils.sh
@@ -1,24 +1,22 @@
#!/bin/bash
-set -e
-patch -Np1 -i ../coreutils-"${VERSION}"-i18n-1.patch
+patch -Np1 -i ../coreutils-"${VERSION}"-i18n-1.patch &&
-sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk
+sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk &&
-autoreconf -fiv
+autoreconf -fiv &&
FORCE_UNSAFE_CONFIGURE=1 ./configure \
--prefix=/usr \
- --enable-no-install-program=kill,uptime
+ --enable-no-install-program=kill,uptime &&
-make
+make &&
-make -j1 install
-
-mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
-mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
-mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
-mv -v /usr/bin/chroot /usr/sbin
-mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
-sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8
+make -j1 install &&
+mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin &&
+mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin &&
+mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin &&
+mv -v /usr/bin/chroot /usr/sbin &&
+mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 &&
+sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8 &&
mv -v /usr/bin/{head,nice,sleep,touch} /bin
diff --git a/chapter8/dejagnu.sh b/chapter8/dejagnu.sh
index 5d66681..273ab0f 100644
--- a/chapter8/dejagnu.sh
+++ b/chapter8/dejagnu.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
-makeinfo --html --no-split -o doc/dejagnu.html doc/dejagnu.texi
-makeinfo --plaintext -o doc/dejagnu.txt doc/dejagnu.texi
+./configure --prefix=/usr &&
+makeinfo --html --no-split -o doc/dejagnu.html doc/dejagnu.texi &&
+makeinfo --plaintext -o doc/dejagnu.txt doc/dejagnu.texi &&
-make -j1 install
-install -v -dm755 /usr/share/doc/dejagnu-"${VERSION}"
+make -j1 install &&
+install -v -dm755 /usr/share/doc/dejagnu-"${VERSION}" &&
install -v -m644 doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-"${VERSION}"
diff --git a/chapter8/diffutils.sh b/chapter8/diffutils.sh
index 80e5dae..1f6d045 100644
--- a/chapter8/diffutils.sh
+++ b/chapter8/diffutils.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
make -j1 install
diff --git a/chapter8/e2fsprogs.sh b/chapter8/e2fsprogs.sh
index 2116d00..48a9ead 100644
--- a/chapter8/e2fsprogs.sh
+++ b/chapter8/e2fsprogs.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
mkdir -v build
cd build || exit 1
@@ -11,16 +10,16 @@ cd build || exit 1
--disable-libblkid \
--disable-libuuid \
--disable-uuidd \
- --disable-fsck
+ --disable-fsck &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a
-gunzip -v /usr/share/info/libext2fs.info.gz
-install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info
+rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a &&
+gunzip -v /usr/share/info/libext2fs.info.gz &&
+install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info &&
-makeinfo -o doc/com_err.info ../lib/et/com_err.texinfo
-install -v -m644 doc/com_err.info /usr/share/info
+makeinfo -o doc/com_err.info ../lib/et/com_err.texinfo &&
+install -v -m644 doc/com_err.info /usr/share/info &&
install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info
diff --git a/chapter8/eudev.sh b/chapter8/eudev.sh
index 29d0ae2..bd6146f 100644
--- a/chapter8/eudev.sh
+++ b/chapter8/eudev.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--bindir=/sbin \
@@ -10,16 +9,16 @@ set -e
--with-rootprefix= \
--with-rootlibdir=/lib \
--enable-manpages \
- --disable-static
+ --disable-static &&
-make
+make &&
-mkdir -pv /lib/udev/rules.d
-mkdir -pv /etc/udev/rules.d
+mkdir -pv /lib/udev/rules.d &&
+mkdir -pv /etc/udev/rules.d &&
-make -j1 install
+make -j1 install &&
-tar -xvf ../udev-lfs-20171102.tar.xz
-make -f udev-lfs-20171102/Makefile.lfs install
+tar -xvf ../udev-lfs-20171102.tar.xz &&
+make -f udev-lfs-20171102/Makefile.lfs install &&
udevadm hwdb --update
diff --git a/chapter8/expat.sh b/chapter8/expat.sh
index d01da34..e37a780 100644
--- a/chapter8/expat.sh
+++ b/chapter8/expat.sh
@@ -1,12 +1,11 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-static \
- --docdir=/usr/share/doc/expat-"${VERSION}"
+ --docdir=/usr/share/doc/expat-"${VERSION}" &&
-make
+make &&
-make -j1 install
+make -j1 install &&
install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-"${VERSION}"
diff --git a/chapter8/expect.sh b/chapter8/expect.sh
index 55d1137..8a2e24b 100644
--- a/chapter8/expect.sh
+++ b/chapter8/expect.sh
@@ -1,12 +1,11 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--with-tcl=/usr/lib \
--enable-shared \
--mandir=/usr/share/man \
- --with-tclinclude=/usr/include
+ --with-tclinclude=/usr/include &&
-make
-make -j1 install
+make &&
+make -j1 install &&
ln -svf expect"${VERSION}"/libexpect"${VERSION}".so /usr/lib
diff --git a/chapter8/file.sh b/chapter8/file.sh
index 56e9aab..2c0622c 100644
--- a/chapter8/file.sh
+++ b/chapter8/file.sh
@@ -1,9 +1,8 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
-make
-make -j1 install
+./configure --prefix=/usr &&
+make &&
+make -j1 install &&
-mv -v /usr/lib/libmagic.so.* /lib
+mv -v /usr/lib/libmagic.so.* /lib &&
ln -sfv ../../lib/"$(readlink /usr/lib/libmagic.so)" /usr/lib/libmagic.so
diff --git a/chapter8/findutils.sh b/chapter8/findutils.sh
index 8f6f583..101f464 100644
--- a/chapter8/findutils.sh
+++ b/chapter8/findutils.sh
@@ -1,12 +1,13 @@
#!/bin/bash
-set -e
+# shellcheck disable=SC2016
-./configure --prefix=/usr --localstatedir=/var/lib/locate
-make
+./configure --prefix=/usr --localstatedir=/var/lib/locate &&
-make -j1 install
+make &&
+
+make -j1 install &&
+
+mv -v /usr/bin/find /bin &&
-mv -v /usr/bin/find /bin
-# shellcheck disable=SC2016
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb
diff --git a/chapter8/flex.sh b/chapter8/flex.sh
index 94ca651..35f99de 100644
--- a/chapter8/flex.sh
+++ b/chapter8/flex.sh
@@ -1,11 +1,10 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--docdir=/usr/share/doc/flex-"${VERSION}" \
- --disable-static
+ --disable-static &&
-make
+make &&
-make -j1 install
+make -j1 install &&
ln -sv flex /usr/bin/lex
diff --git a/chapter8/gawk.sh b/chapter8/gawk.sh
index f30bea4..3a25fc2 100644
--- a/chapter8/gawk.sh
+++ b/chapter8/gawk.sh
@@ -1,13 +1,12 @@
#!/bin/bash
-set -e
sed -i 's/extras//' Makefile.in
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-mkdir -v /usr/share/doc/gawk-"${VERSION}"
+mkdir -v /usr/share/doc/gawk-"${VERSION}" &&
cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-"${VERSION}"
diff --git a/chapter8/gcc.sh b/chapter8/gcc.sh
index 2eb8329..85030d9 100644
--- a/chapter8/gcc.sh
+++ b/chapter8/gcc.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
case $(uname -m) in
x86_64)
@@ -16,32 +15,32 @@ cd build || exit 1
--enable-languages=c,c++ \
--disable-multilib \
--disable-bootstrap \
- --with-system-zlib
+ --with-system-zlib &&
-make
+make &&
-make -j1 install
-rm -rf /usr/lib/gcc/"$(gcc -dumpmachine)"/"${VERSION}"/include-fixed/bits/
+make -j1 install &&
+rm -rf /usr/lib/gcc/"$(gcc -dumpmachine)"/"${VERSION}"/include-fixed/bits/ &&
chown -v -R root:root \
- /usr/lib/gcc/*linux-gnu/"${VERSION}"/include{,-fixed}
+ /usr/lib/gcc/*linux-gnu/"${VERSION}"/include{,-fixed} &&
-ln -sv ../usr/bin/cpp /lib
+ln -sv ../usr/bin/cpp /lib &&
ln -sfv ../../libexec/gcc/"$(gcc -dumpmachine)"/"${VERSION}"/liblto_plugin.so \
- /usr/lib/bfd-plugins/
+ /usr/lib/bfd-plugins/ &&
echo 'int main(){}' > dummy.c
-cc dummy.c -v -Wl,--verbose &> dummy.log
-readelf -l a.out | grep ': /lib'
+cc dummy.c -v -Wl,--verbose &> dummy.log &&
+readelf -l a.out | grep ': /lib' &&
-grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
-grep -B4 '^ /usr/include' dummy.log
-grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
-grep "/lib.*/libc.so.6 " dummy.log
-grep found dummy.log
+grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log &&
+grep -B4 '^ /usr/include' dummy.log &&
+grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' &&
+grep "/lib.*/libc.so.6 " dummy.log &&
+grep found dummy.log &&
-rm -v dummy.c a.out dummy.log
+rm -v dummy.c a.out dummy.log &&
-mkdir -pv /usr/share/gdb/auto-load/usr/lib
+mkdir -pv /usr/share/gdb/auto-load/usr/lib &&
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib
diff --git a/chapter8/gdbm.sh b/chapter8/gdbm.sh
index 4053f4a..b81ce81 100644
--- a/chapter8/gdbm.sh
+++ b/chapter8/gdbm.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-static \
- --enable-libgdbm-compat
+ --enable-libgdbm-compat &&
-make
+make &&
make -j1 install
diff --git a/chapter8/gettext.sh b/chapter8/gettext.sh
index ff604b8..df758da 100644
--- a/chapter8/gettext.sh
+++ b/chapter8/gettext.sh
@@ -1,11 +1,10 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-static \
- --docdir=/usr/share/doc/gettext-"${VERSION}"
+ --docdir=/usr/share/doc/gettext-"${VERSION}" &&
-make
+make &&
-make -j1 install
+make -j1 install &&
chmod -v 0755 /usr/lib/preloadable_libintl.so
diff --git a/chapter8/glibc.sh b/chapter8/glibc.sh
index 520d42b..e344b47 100644
--- a/chapter8/glibc.sh
+++ b/chapter8/glibc.sh
@@ -1,10 +1,11 @@
#!/bin/bash
-set -e
+# shellcheck disable=SC2016
+
-patch -Np1 -i ../glibc-"${VERSION}"-fhs-1.patch
+patch -Np1 -i ../glibc-"${VERSION}"-fhs-1.patch &&
sed -e '402a\ *result = local->data.services[database_index];' \
- -i nss/nss_database.c
+ -i nss/nss_database.c &&
mkdir -v build
cd build || exit 1
@@ -14,21 +15,20 @@ cd build || exit 1
--enable-kernel=5.10.0 \
--enable-stack-protector=strong \
--with-headers=/usr/include \
- libc_cv_slibdir=/lib
+ libc_cv_slibdir=/lib &&
-make PARALLELMFLAGS="${MAKEFLAGS}"
+make PARALLELMFLAGS="${MAKEFLAGS}" &&
-touch /etc/ld.so.conf
+touch /etc/ld.so.conf &&
-# shellcheck disable=SC2016
-sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
+sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile &&
-make -j1 install
+make -j1 install &&
-cp -v ../nscd/nscd.conf /etc/nscd.conf
-mkdir -pv /var/cache/nscd
+cp -v ../nscd/nscd.conf /etc/nscd.conf &&
+mkdir -pv /var/cache/nscd &&
-make localedata/install-locales
+make localedata/install-locales &&
cat > /etc/nsswitch.conf << "EOF"
# Begin /etc/nsswitch.conf
@@ -48,22 +48,22 @@ rpc: files
# End /etc/nsswitch.conf
EOF
-tar -xf ../../tzdata2021a.tar.gz
+tar -xf ../../tzdata2021a.tar.gz &&
ZONEINFO=/usr/share/zoneinfo
-mkdir -pv "${ZONEINFO}"/{posix,right}
+mkdir -pv "${ZONEINFO}"/{posix,right} &&
for tz in etcetera southamerica northamerica europe africa antarctica \
asia australasia backward; do
- zic -L /dev/null -d "${ZONEINFO}" "${tz}"
- zic -L /dev/null -d "${ZONEINFO}"/posix "${tz}"
+ zic -L /dev/null -d "${ZONEINFO}" "${tz}" &&
+ zic -L /dev/null -d "${ZONEINFO}"/posix "${tz}" &&
zic -L leapseconds -d "${ZONEINFO}"/right "${tz}"
done
-cp -v zone.tab zone1970.tab iso3166.tab "${ZONEINFO}"
-zic -d "${ZONEINFO}" -p America/New_York
+cp -v zone.tab zone1970.tab iso3166.tab "${ZONEINFO}" &&
+zic -d "${ZONEINFO}" -p America/New_York &&
-ln -sfv /usr/share/zoneinfo/America/Chicago /etc/localtime
+ln -sfv /usr/share/zoneinfo/America/Chicago /etc/localtime &&
cat > /etc/ld.so.conf << "EOF"
# Begin /etc/ld.so.conf
diff --git a/chapter8/gmp.sh b/chapter8/gmp.sh
index 4c346c1..7ca2523 100644
--- a/chapter8/gmp.sh
+++ b/chapter8/gmp.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
# Uncomment for generic libraries
# cp -v configfsf.guess config.guess
@@ -8,10 +7,10 @@ set -e
./configure --prefix=/usr \
--enable-cxx \
--disable-static \
- --docdir=/usr/share/doc/gmp-"${VERSION}"
+ --docdir=/usr/share/doc/gmp-"${VERSION}" &&
-make
-make html
+make &&
+make html &&
-make -j1 install
+make -j1 install &&
make -j1 install-html
diff --git a/chapter8/gperf.sh b/chapter8/gperf.sh
index c2b8a9f..1806dd3 100644
--- a/chapter8/gperf.sh
+++ b/chapter8/gperf.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr --docdir=/usr/share/doc/gperf-"${VERSION}"
+./configure --prefix=/usr --docdir=/usr/share/doc/gperf-"${VERSION}" &&
-make
+make &&
make -j1 install
diff --git a/chapter8/grep.sh b/chapter8/grep.sh
index b0ba921..e567f51 100644
--- a/chapter8/grep.sh
+++ b/chapter8/grep.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr --bindir=/bin
+./configure --prefix=/usr --bindir=/bin &&
-make
+make &&
make -j1 install
diff --git a/chapter8/groff.sh b/chapter8/groff.sh
index ef920a5..f763a61 100644
--- a/chapter8/groff.sh
+++ b/chapter8/groff.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-PAGE=letter ./configure --prefix=/usr
+PAGE=letter ./configure --prefix=/usr &&
-make
+make &&
make -j1 install
diff --git a/chapter8/grub.sh b/chapter8/grub.sh
index 9c2917b..693adcd 100644
--- a/chapter8/grub.sh
+++ b/chapter8/grub.sh
@@ -1,16 +1,15 @@
#!/bin/bash
-set -e
sed "s/gold-version/& -R .note.gnu.property/" \
- -i Makefile.in grub-core/Makefile.in
+ -i Makefile.in grub-core/Makefile.in &&
./configure --prefix=/usr \
--sbindir=/sbin \
--sysconfdir=/etc \
--disable-efiemu \
- --disable-werror
+ --disable-werror &&
-make
+make &&
-make -j1 install
+make -j1 install &&
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions
diff --git a/chapter8/gzip.sh b/chapter8/gzip.sh
index 02c7101..f762cf3 100644
--- a/chapter8/gzip.sh
+++ b/chapter8/gzip.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
-make -j1 install
+make -j1 install &&
mv -v /usr/bin/gzip /bin
diff --git a/chapter8/iana-etc.sh b/chapter8/iana-etc.sh
index be58311..8576a80 100644
--- a/chapter8/iana-etc.sh
+++ b/chapter8/iana-etc.sh
@@ -1,4 +1,3 @@
#!/bin/bash
-set -e
cp -v services protocols /etc
diff --git a/chapter8/inetutils.sh b/chapter8/inetutils.sh
index f96f5f4..ca54213 100644
--- a/chapter8/inetutils.sh
+++ b/chapter8/inetutils.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--localstatedir=/var \
@@ -9,11 +8,11 @@ set -e
--disable-rexec \
--disable-rlogin \
--disable-rsh \
- --disable-servers
+ --disable-servers &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-mv -v /usr/bin/{hostname,ping,ping6,traceroute} /bin
+mv -v /usr/bin/{hostname,ping,ping6,traceroute} /bin &&
mv -v /usr/bin/ifconfig /sbin
diff --git a/chapter8/intltool.sh b/chapter8/intltool.sh
index 7023410..527e46a 100644
--- a/chapter8/intltool.sh
+++ b/chapter8/intltool.sh
@@ -1,11 +1,10 @@
#!/bin/bash
-set -e
-sed -i 's:\\\${:\\\$\\{:' intltool-update.in
+sed -i 's:\\\${:\\\$\\{:' intltool-update.in &&
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
-make -j1 install
+make -j1 install &&
install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-"${VERSION}"/I18N-HOWTO
diff --git a/chapter8/iproute2.sh b/chapter8/iproute2.sh
index 4ac6a65..8034496 100644
--- a/chapter8/iproute2.sh
+++ b/chapter8/iproute2.sh
@@ -1,11 +1,10 @@
#!/bin/bash
-set -e
-sed -i /ARPD/d Makefile
-rm -fv man/man8/arpd.8
+sed -i /ARPD/d Makefile &&
+rm -fv man/man8/arpd.8 &&
-sed -i 's/.m_ipt.o//' tc/Makefile
+sed -i 's/.m_ipt.o//' tc/Makefile &&
-make
+make &&
make DOCDIR=/usr/share/doc/iproute2-"${VERSION}" -j1 install
diff --git a/chapter8/isl.sh b/chapter8/isl.sh
index 1187a4d..e1a68f7 100644
--- a/chapter8/isl.sh
+++ b/chapter8/isl.sh
@@ -1,12 +1,11 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-static \
- --docdir=/usr/share/doc/isl-"${VERSION}"
+ --docdir=/usr/share/doc/isl-"${VERSION}" &&
-make
-make html
+make &&
+make html &&
-make -j1 install
+make -j1 install &&
make -j1 install-html
diff --git a/chapter8/kbd.sh b/chapter8/kbd.sh
index 3a79d3c..00a7397 100644
--- a/chapter8/kbd.sh
+++ b/chapter8/kbd.sh
@@ -1,16 +1,15 @@
#!/bin/bash
-set -e
-patch -Np1 -i ../kbd-"${VERSION}"-backspace-1.patch
+patch -Np1 -i ../kbd-"${VERSION}"-backspace-1.patch &&
-sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure
-sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in
+sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure &&
+sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in &&
-./configure --prefix=/usr --disable-vlock
+./configure --prefix=/usr --disable-vlock &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-mkdir -v /usr/share/doc/kbd-"${VERSION}"
+mkdir -v /usr/share/doc/kbd-"${VERSION}" &&
cp -R -v docs/doc/* /usr/share/doc/kbd-"${VERSION}"
diff --git a/chapter8/kmod.sh b/chapter8/kmod.sh
index 010f7cb..3435179 100644
--- a/chapter8/kmod.sh
+++ b/chapter8/kmod.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--bindir=/bin \
@@ -7,11 +6,11 @@ set -e
--with-rootlibdir=/lib \
--with-xz \
--with-zstd \
- --with-zlib
+ --with-zlib &&
-make
+make &&
-make -j1 install
+make -j1 install &&
for target in depmod insmod lsmod modinfo modprobe rmmod; do
ln -sfv ../bin/kmod /sbin/"${target}"
diff --git a/chapter8/less.sh b/chapter8/less.sh
index 5cf9900..01a6cb7 100644
--- a/chapter8/less.sh
+++ b/chapter8/less.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr --sysconfdir=/etc
+./configure --prefix=/usr --sysconfdir=/etc &&
-make
+make &&
make -j1 install
diff --git a/chapter8/libcap.sh b/chapter8/libcap.sh
index c19667e..a67b607 100644
--- a/chapter8/libcap.sh
+++ b/chapter8/libcap.sh
@@ -1,13 +1,12 @@
#!/bin/bash
-set -e
-sed -i '/install -m.*STA/d' libcap/Makefile
+sed -i '/install -m.*STA/d' libcap/Makefile &&
-make prefix=/usr lib=lib
+make prefix=/usr lib=lib &&
-make prefix=/usr lib=lib -j1 install
+make prefix=/usr lib=lib -j1 install &&
for libname in cap psx; do
- mv -v /usr/lib/lib"${libname}".so.* /lib
- ln -sfv ../../lib/lib"${libname}".so.2 /usr/lib/lib"${libname}".so
+ mv -v /usr/lib/lib"${libname}".so.* /lib &&
+ ln -sfv ../../lib/lib"${libname}".so.2 /usr/lib/lib"${libname}".so &&
chmod -v 755 /lib/lib"${libname}".so."${VERSION}"
done
diff --git a/chapter8/libelf.sh b/chapter8/libelf.sh
index ce85e4a..cc8798f 100644
--- a/chapter8/libelf.sh
+++ b/chapter8/libelf.sh
@@ -1,13 +1,12 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-debuginfod \
--enable-libdebuginfod=dummy \
- --libdir=/lib
+ --libdir=/lib &&
-make
+make &&
-make -C libelf -j1 install
-install -vm644 config/libelf.pc /usr/lib/pkgconfig
+make -C libelf -j1 install &&
+install -vm644 config/libelf.pc /usr/lib/pkgconfig &&
rm /lib/libelf.a
diff --git a/chapter8/libffi.sh b/chapter8/libffi.sh
index f45bb19..1a5b45a 100644
--- a/chapter8/libffi.sh
+++ b/chapter8/libffi.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr --disable-static --with-gcc-arch=native
+./configure --prefix=/usr --disable-static --with-gcc-arch=native &&
-make
+make &&
make -j1 install
diff --git a/chapter8/libpipeline.sh b/chapter8/libpipeline.sh
index 80e5dae..1f6d045 100644
--- a/chapter8/libpipeline.sh
+++ b/chapter8/libpipeline.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
make -j1 install
diff --git a/chapter8/libtool.sh b/chapter8/libtool.sh
index 0457b70..a4c9dd5 100644
--- a/chapter8/libtool.sh
+++ b/chapter8/libtool.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
-make -j1 install
+make -j1 install &&
rm -fv /usr/lib/libltdl.a
diff --git a/chapter8/m4.sh b/chapter8/m4.sh
index 1c24928..5174f00 100644
--- a/chapter8/m4.sh
+++ b/chapter8/m4.sh
@@ -1,9 +1,8 @@
#!/bin/bash
-set -e
-sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
-echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h
+sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c &&
+echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h &&
-./configure --prefix=/usr
-make
+./configure --prefix=/usr &&
+make &&
make -j1 install
diff --git a/chapter8/make.sh b/chapter8/make.sh
index 80e5dae..1f6d045 100644
--- a/chapter8/make.sh
+++ b/chapter8/make.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
make -j1 install
diff --git a/chapter8/man-db.sh b/chapter8/man-db.sh
index 981435c..cd60f12 100644
--- a/chapter8/man-db.sh
+++ b/chapter8/man-db.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--docdir=/usr/share/doc/man-db-"${VERSION}" \
@@ -10,8 +9,8 @@ set -e
--with-vgrind=/usr/bin/vgrind \
--with-grap=/usr/bin/grap \
--with-systemdtmpfilesdir= \
- --with-systemdsystemunitdir=
+ --with-systemdsystemunitdir= &&
-make
+make &&
make -j1 install
diff --git a/chapter8/man-pages.sh b/chapter8/man-pages.sh
index c019094..db9dad4 100644
--- a/chapter8/man-pages.sh
+++ b/chapter8/man-pages.sh
@@ -1,4 +1,3 @@
#!/bin/bash
-set -e
make -j1 install
diff --git a/chapter8/meson.sh b/chapter8/meson.sh
index 63d16c4..0aa9797 100644
--- a/chapter8/meson.sh
+++ b/chapter8/meson.sh
@@ -1,9 +1,8 @@
#!/bin/bash
-set -e
-python3 setup.py build
+python3 setup.py build &&
-python3 setup.py install --root=dest
-cp -rv dest/* /
-install -vDm644 data/shell-completions/bash/meson /usr/share/bash-completion/completions/meson
+python3 setup.py install --root=dest &&
+cp -rv dest/* / &&
+install -vDm644 data/shell-completions/bash/meson /usr/share/bash-completion/completions/meson &&
install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/_meson
diff --git a/chapter8/mpc.sh b/chapter8/mpc.sh
index 87d194d..793fab5 100644
--- a/chapter8/mpc.sh
+++ b/chapter8/mpc.sh
@@ -1,12 +1,11 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-static \
- --docdir=/usr/share/doc/mpc-"${VERSION}"
+ --docdir=/usr/share/doc/mpc-"${VERSION}" &&
-make
-make html
+make &&
+make html &&
-make -j1 install
+make -j1 install &&
make -j1 install-html
diff --git a/chapter8/mpfr.sh b/chapter8/mpfr.sh
index 3d1d6b4..99fd5fe 100644
--- a/chapter8/mpfr.sh
+++ b/chapter8/mpfr.sh
@@ -1,13 +1,12 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-static \
--enable-thread-safe \
- --docdir=/usr/share/doc/mpfr-"${VERSION}"
+ --docdir=/usr/share/doc/mpfr-"${VERSION}" &&
-make
-make html
+make &&
+make html &&
-make -j1 install
+make -j1 install &&
make -j1 install-html
diff --git a/chapter8/ncurses.sh b/chapter8/ncurses.sh
index 8e26211..4bc80d1 100644
--- a/chapter8/ncurses.sh
+++ b/chapter8/ncurses.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--mandir=/usr/share/man \
@@ -7,24 +6,24 @@ set -e
--without-debug \
--without-normal \
--enable-pc-files \
- --enable-widec
+ --enable-widec &&
-make
-make -j1 install
+make &&
+make -j1 install &&
-mv -v /usr/lib/libncursesw.so.6* /lib
-ln -sfv ../../lib/"$(readlink /usr/lib/libncursesw.so)" /usr/lib/libncursesw.so
+mv -v /usr/lib/libncursesw.so.6* /lib &&
+ln -sfv ../../lib/"$(readlink /usr/lib/libncursesw.so)" /usr/lib/libncursesw.so &&
for lib in ncurses form panel menu ; do
- rm -vf /usr/lib/lib"${lib}".so
- echo "INPUT(-l${lib}w)" > /usr/lib/lib"${lib}".so
+ rm -vf /usr/lib/lib"${lib}".so &&
+ echo "INPUT(-l${lib}w)" > /usr/lib/lib"${lib}".so &&
ln -sfv "${lib}"w.pc /usr/lib/pkgconfig/"${lib}".pc
done
-rm -vf /usr/lib/libcursesw.so
-echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so
-ln -sfv libncurses.so /usr/lib/libcurses.so
+rm -vf /usr/lib/libcursesw.so &&
+echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so &&
+ln -sfv libncurses.so /usr/lib/libcurses.so &&
-rm -fv /usr/lib/libncurses++w.a
+rm -fv /usr/lib/libncurses++w.a &&
-mkdir -v /usr/share/doc/ncurses-"${VERSION}"
+mkdir -v /usr/share/doc/ncurses-"${VERSION}" &&
cp -v -R doc/* /usr/share/doc/ncurses-"${VERSION}"
diff --git a/chapter8/ninja.sh b/chapter8/ninja.sh
index 173a6ba..e778780 100644
--- a/chapter8/ninja.sh
+++ b/chapter8/ninja.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
export NINJAJOBS=4
@@ -9,10 +8,10 @@ sed -i '/int Guess/a \
char* jobs = getenv( "NINJAJOBS" );\
if ( jobs != NULL ) j = atoi( jobs );\
if ( j > 0 ) return j;\
-' src/ninja.cc
+' src/ninja.cc &&
-python3 configure.py --bootstrap
+python3 configure.py --bootstrap &&
-install -vm755 ninja /usr/bin/
-install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja
+install -vm755 ninja /usr/bin/ &&
+install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja &&
install -vDm644 misc/zsh-completion /usr/share/zsh/site-functions/_ninja
diff --git a/chapter8/openssl.sh b/chapter8/openssl.sh
index a0341f9..b5b85dd 100644
--- a/chapter8/openssl.sh
+++ b/chapter8/openssl.sh
@@ -1,17 +1,16 @@
#!/bin/bash
-set -e
./config --prefix=/usr \
--openssldir=/etc/ssl \
--libdir=lib \
shared \
- zlib-dynamic
+ zlib-dynamic &&
-make
+make &&
-sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
-make MANSUFFIX=ssl install
+sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile &&
+make MANSUFFIX=ssl install &&
-mv -v /usr/share/doc/openssl /usr/share/doc/openssl-"${VERSION}"
+mv -v /usr/share/doc/openssl /usr/share/doc/openssl-"${VERSION}" &&
cp -vfr doc/* /usr/share/doc/openssl-"${VERSION}"
diff --git a/chapter8/patch.sh b/chapter8/patch.sh
index 80e5dae..1f6d045 100644
--- a/chapter8/patch.sh
+++ b/chapter8/patch.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
make -j1 install
diff --git a/chapter8/perl.sh b/chapter8/perl.sh
index 040d01f..0fb9e3f 100644
--- a/chapter8/perl.sh
+++ b/chapter8/perl.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
MAJMIN="$(cut -d\. -f1,2 <<< "${VERSION}")"
@@ -19,9 +18,9 @@ sh Configure -des \
-Dman3dir=/usr/share/man/man3 \
-Dpager="/usr/bin/less -isR" \
-Duseshrplib \
- -Dusethreads
+ -Dusethreads &&
-make
+make &&
-make -j1 install
+make -j1 install &&
unset BUILD_ZLIB BUILD_BZIP2
diff --git a/chapter8/pkg-config.sh b/chapter8/pkg-config.sh
index 4856af9..b56df73 100644
--- a/chapter8/pkg-config.sh
+++ b/chapter8/pkg-config.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--with-internal-glib \
--disable-host-tool \
- --docdir=/usr/share/doc/pkg-config-"${VERSION}"
+ --docdir=/usr/share/doc/pkg-config-"${VERSION}" &&
-make
+make &&
make -j1 install
diff --git a/chapter8/procps-ng.sh b/chapter8/procps-ng.sh
index 49e2cb9..4100fe8 100644
--- a/chapter8/procps-ng.sh
+++ b/chapter8/procps-ng.sh
@@ -1,16 +1,15 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--exec-prefix= \
--libdir=/usr/lib \
--docdir=/usr/share/doc/procps-ng-"${VERSION}" \
--disable-static \
- --disable-kill
+ --disable-kill &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-mv -v /usr/lib/libprocps.so.* /lib
+mv -v /usr/lib/libprocps.so.* /lib &&
ln -sfv ../../lib/"$(readlink /usr/lib/libprocps.so)" /usr/lib/libprocps.so
diff --git a/chapter8/psmisc.sh b/chapter8/psmisc.sh
index ec79d2a..4ac6405 100644
--- a/chapter8/psmisc.sh
+++ b/chapter8/psmisc.sh
@@ -1,11 +1,10 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-mv -v /usr/bin/fuser /bin
+mv -v /usr/bin/fuser /bin &&
mv -v /usr/bin/killall /bin
diff --git a/chapter8/python.sh b/chapter8/python.sh
index f1ff5ec..a04a3d4 100644
--- a/chapter8/python.sh
+++ b/chapter8/python.sh
@@ -1,19 +1,18 @@
#!/bin/bash
-set -e
-sed 's|cpython/||' -i Include/cpython/pystate.h
+sed 's|cpython/||' -i Include/cpython/pystate.h &&
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--with-system-ffi \
- --with-ensurepip=yes
+ --with-ensurepip=yes &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-install -v -dm755 /usr/share/doc/python-"${VERSION}"/html
+install -v -dm755 /usr/share/doc/python-"${VERSION}"/html &&
tar --strip-components=1 \
--no-same-owner \
diff --git a/chapter8/readline.sh b/chapter8/readline.sh
index d97b521..cace8ed 100644
--- a/chapter8/readline.sh
+++ b/chapter8/readline.sh
@@ -1,19 +1,18 @@
#!/bin/bash
-set -e
-sed -i '/MV.*old/d' Makefile.in
-sed -i '/{OLDSUFF}/c:' support/shlib-install
+sed -i '/MV.*old/d' Makefile.in &&
+sed -i '/{OLDSUFF}/c:' support/shlib-install &&
./configure --prefix=/usr \
--disable-static \
--with-curses \
- --docdir=/usr/share/doc/readline-"${VERSION}"
+ --docdir=/usr/share/doc/readline-"${VERSION}" &&
-make SHLIB_LIBS="-lncursesw"
-make SHLIB_LIBS="-lncursesw" -j1 install
+make SHLIB_LIBS="-lncursesw" &&
+make SHLIB_LIBS="-lncursesw" -j1 install &&
-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
+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 &&
install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-"${VERSION}"
diff --git a/chapter8/sed.sh b/chapter8/sed.sh
index e0226a9..f41cce5 100644
--- a/chapter8/sed.sh
+++ b/chapter8/sed.sh
@@ -1,12 +1,11 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr --bindir=/bin
+./configure --prefix=/usr --bindir=/bin &&
-make
-make html
+make &&
+make html &&
-make -j1 install
+make -j1 install &&
-install -d -m755 /usr/share/doc/sed-"${VERSION}"
+install -d -m755 /usr/share/doc/sed-"${VERSION}" &&
install -m644 doc/sed.html /usr/share/doc/sed-"${VERSION}"
diff --git a/chapter8/shadow.sh b/chapter8/shadow.sh
index 68d1b44..ba1daa7 100644
--- a/chapter8/shadow.sh
+++ b/chapter8/shadow.sh
@@ -1,29 +1,28 @@
#!/bin/bash
-set -e
# shellcheck disable=SC2016
ROOTPW='$1$5RPAAd$oejpw8ErihLIB7vmGE4SV1'
# shellcheck disable=SC2016
-sed -i 's/groups$(EXEEXT) //' src/Makefile.in
-find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;
-find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
-find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
+sed -i 's/groups$(EXEEXT) //' src/Makefile.in &&
+find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; &&
+find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; &&
+find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; &&
sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
-e 's:/var/spool/mail:/var/mail:' \
- -i etc/login.defs
+ -i etc/login.defs &&
-sed -i 's/1000/999/' etc/useradd
+sed -i 's/1000/999/' etc/useradd &&
-touch /usr/bin/passwd
+touch /usr/bin/passwd &&
./configure --sysconfdir=/etc \
- --with-group-name-max-length=32
+ --with-group-name-max-length=32 &&
-make
-make -j1 install
+make &&
+make -j1 install &&
-pwconv
-grpconv
+pwconv &&
+grpconv &&
usermod -p "${ROOTPW}" root
diff --git a/chapter8/sysklogd.sh b/chapter8/sysklogd.sh
index b29802b..f9c093f 100644
--- a/chapter8/sysklogd.sh
+++ b/chapter8/sysklogd.sh
@@ -1,12 +1,11 @@
#!/bin/bash
-set -e
-sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c
-sed -i 's/union wait/int/' syslogd.c
+sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c &&
+sed -i 's/union wait/int/' syslogd.c &&
-make
+make &&
-make BINDIR=/sbin -j1 install
+make BINDIR=/sbin -j1 install &&
cat > /etc/syslog.conf << "EOF"
# Begin /etc/syslog.conf
diff --git a/chapter8/sysvinit.sh b/chapter8/sysvinit.sh
index 9c12163..f33bfe0 100644
--- a/chapter8/sysvinit.sh
+++ b/chapter8/sysvinit.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-patch -Np1 -i ../sysvinit-"${VERSION}"-consolidated-1.patch
+patch -Np1 -i ../sysvinit-"${VERSION}"-consolidated-1.patch &&
-make
+make &&
make -j1 install
diff --git a/chapter8/tar.sh b/chapter8/tar.sh
index 826011f..076f17d 100644
--- a/chapter8/tar.sh
+++ b/chapter8/tar.sh
@@ -1,11 +1,10 @@
#!/bin/bash
-set -e
FORCE_UNSAFE_CONFIGURE=1 \
./configure --prefix=/usr \
- --bindir=/bin
+ --bindir=/bin &&
-make
+make &&
-make -j1 install
+make -j1 install &&
make -C doc install-html docdir=/usr/share/doc/tar-"${VERSION}"
diff --git a/chapter8/tcl.sh b/chapter8/tcl.sh
index a02aa61..ba630df 100644
--- a/chapter8/tcl.sh
+++ b/chapter8/tcl.sh
@@ -1,36 +1,35 @@
#!/bin/bash
-set -e
-tar -xf ../tcl"${VERSION}"-html.tar.gz --strip-components=1
+tar -xf ../tcl"${VERSION}"-html.tar.gz --strip-components=1 &&
SRCDIR=$(pwd)
cd unix || exit 1
./configure --prefix=/usr \
--mandir=/usr/share/man \
- "$([ "$(uname -m)" = x86_64 ] && echo --enable-64bit)"
+ "$([ "$(uname -m)" = x86_64 ] && echo --enable-64bit)" &&
-make
+make &&
sed -e "s|${SRCDIR}/unix|/usr/lib|" \
-e "s|${SRCDIR}|/usr/include|" \
- -i tclConfig.sh
+ -i tclConfig.sh &&
sed -e "s|${SRCDIR}/unix/pkgs/tdbc1.1.2|/usr/lib/tdbc1.1.2|" \
-e "s|${SRCDIR}/pkgs/tdbc1.1.2/generic|/usr/include|" \
-e "s|${SRCDIR}/pkgs/tdbc1.1.2/library|/usr/lib/tcl8.6|" \
-e "s|${SRCDIR}/pkgs/tdbc1.1.2|/usr/include|" \
- -i pkgs/tdbc1.1.2/tdbcConfig.sh
+ -i pkgs/tdbc1.1.2/tdbcConfig.sh &&
sed -e "s|${SRCDIR}/unix/pkgs/itcl4.2.1|/usr/lib/itcl4.2.1|" \
-e "s|${SRCDIR}/pkgs/itcl4.2.1/generic|/usr/include|" \
-e "s|${SRCDIR}/pkgs/itcl4.2.1|/usr/include|" \
- -i pkgs/itcl4.2.1/itclConfig.sh
+ -i pkgs/itcl4.2.1/itclConfig.sh &&
unset SRCDIR
-make -j1 install
+make -j1 install &&
-chmod -v u+w /usr/lib/libtcl8.6.so
-make -j1 install-private-headers
-ln -sfv tclsh8.6 /usr/bin/tclsh
+chmod -v u+w /usr/lib/libtcl8.6.so &&
+make -j1 install-private-headers &&
+ln -sfv tclsh8.6 /usr/bin/tclsh &&
mv /usr/share/man/man3/{Thread,Tcl_Thread}.3
diff --git a/chapter8/texinfo.sh b/chapter8/texinfo.sh
index dd58780..f5edef4 100644
--- a/chapter8/texinfo.sh
+++ b/chapter8/texinfo.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
-make -j1 install
+make -j1 install &&
make TEXMF=/usr/share/texmf install-tex
diff --git a/chapter8/util-linux.sh b/chapter8/util-linux.sh
index c27f22e..962118a 100644
--- a/chapter8/util-linux.sh
+++ b/chapter8/util-linux.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--docdir=/usr/share/doc/util-linux-"${VERSION}" \
@@ -14,8 +13,8 @@ set -e
--without-python \
--without-systemd \
--without-systemdsystemunitdir \
- runstatedir=/run
+ runstatedir=/run &&
-make
+make &&
make -j1 install
diff --git a/chapter8/vim.sh b/chapter8/vim.sh
index a8ae1d5..afec4ed 100644
--- a/chapter8/vim.sh
+++ b/chapter8/vim.sh
@@ -1,20 +1,19 @@
#!/bin/bash
-set -e
-echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
+echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h &&
-./configure --prefix=/usr
+./configure --prefix=/usr &&
-make
+make &&
-make -j1 install
+make -j1 install &&
-ln -sv vim /usr/bin/vi
+ln -sv vim /usr/bin/vi &&
for L in /usr/share/man/{,*/}man1/vim.1; do
ln -sv vim.1 "$(dirname $L)"/vi.1
done
-ln -sv ../vim/vim82/doc /usr/share/doc/vim-"${VERSION}"
+ln -sv ../vim/vim82/doc /usr/share/doc/vim-"${VERSION}" &&
cat > /etc/vimrc << "EOF"
" Begin /etc/vimrc
diff --git a/chapter8/xml-parser.sh b/chapter8/xml-parser.sh
index d281962..0164c33 100644
--- a/chapter8/xml-parser.sh
+++ b/chapter8/xml-parser.sh
@@ -1,8 +1,7 @@
#!/bin/bash
-set -e
-perl Makefile.PL
+perl Makefile.PL &&
-make
+make &&
make -j1 install
diff --git a/chapter8/xz.sh b/chapter8/xz.sh
index 82d01d1..4fbe922 100644
--- a/chapter8/xz.sh
+++ b/chapter8/xz.sh
@@ -1,13 +1,12 @@
#!/bin/bash
-set -e
./configure --prefix=/usr \
--disable-static \
- --docdir=/usr/share/doc/xz-"${VERSION}"
+ --docdir=/usr/share/doc/xz-"${VERSION}" &&
-make
-make -j1 install
-mv -v /usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} /bin
-mv -v /usr/lib/liblzma.so.* /lib
+make &&
+make -j1 install &&
+mv -v /usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} /bin &&
+mv -v /usr/lib/liblzma.so.* /lib &&
ln -svf ../../lib/"$(readlink /usr/lib/liblzma.so)" /usr/lib/liblzma.so
diff --git a/chapter8/zlib.sh b/chapter8/zlib.sh
index d807c7e..4de64f9 100644
--- a/chapter8/zlib.sh
+++ b/chapter8/zlib.sh
@@ -1,10 +1,9 @@
#!/bin/bash
-set -e
-./configure --prefix=/usr
-make
-make -j1 install
+./configure --prefix=/usr &&
+make &&
+make -j1 install &&
-mv -v /usr/lib/libz.so.* /lib
-ln -sfv ../../lib/"$(readlink /usr/lib/libz.so)" /usr/lib/libz.so
+mv -v /usr/lib/libz.so.* /lib &&
+ln -sfv ../../lib/"$(readlink /usr/lib/libz.so)" /usr/lib/libz.so &&
rm -fv /usr/lib/libz.a
diff --git a/chapter8/zstd.sh b/chapter8/zstd.sh
index 5ca874f..8dc163c 100644
--- a/chapter8/zstd.sh
+++ b/chapter8/zstd.sh
@@ -1,9 +1,8 @@
#!/bin/bash
-set -e
-make
-make prefix=/usr -j1 install
+make &&
+make prefix=/usr -j1 install &&
-rm -v /usr/lib/libzstd.a
-mv -v /usr/lib/libzstd.so.* /lib
+rm -v /usr/lib/libzstd.a &&
+mv -v /usr/lib/libzstd.so.* /lib &&
ln -sfv ../../lib/"$(readlink /usr/lib/libzstd.so)" /usr/lib/libzstd.so