aboutsummaryrefslogtreecommitdiffstats
path: root/chapter8
diff options
context:
space:
mode:
Diffstat (limited to 'chapter8')
-rw-r--r--chapter8/acl.sh8
-rw-r--r--chapter8/attr.sh8
-rw-r--r--chapter8/autoconf.sh4
-rw-r--r--chapter8/automake.sh6
-rw-r--r--chapter8/bash.sh13
-rw-r--r--chapter8/bc.sh5
-rw-r--r--chapter8/binutils.sh8
-rw-r--r--chapter8/bison.sh4
-rw-r--r--chapter8/bzip2.sh30
-rw-r--r--chapter8/check.sh4
-rw-r--r--chapter8/coreutils.sh25
-rw-r--r--chapter8/dejagnu.sh10
-rw-r--r--chapter8/diffutils.sh4
-rw-r--r--chapter8/e2fsprogs.sh16
-rw-r--r--chapter8/eudev.sh14
-rw-r--r--chapter8/expat.sh6
-rw-r--r--chapter8/expect.sh6
-rw-r--r--chapter8/file.sh8
-rw-r--r--chapter8/findutils.sh12
-rw-r--r--chapter8/flex.sh6
-rw-r--r--chapter8/gawk.sh8
-rw-r--r--chapter8/gcc.sh32
-rw-r--r--chapter8/gdbm.sh4
-rw-r--r--chapter8/gettext.sh6
-rw-r--r--chapter8/glibc.sh37
-rw-r--r--chapter8/gmp.sh8
-rw-r--r--chapter8/gperf.sh4
-rw-r--r--chapter8/grep.sh4
-rw-r--r--chapter8/groff.sh4
-rw-r--r--chapter8/grub.sh8
-rw-r--r--chapter8/gzip.sh6
-rw-r--r--chapter8/inetutils.sh8
-rw-r--r--chapter8/intltool.sh8
-rw-r--r--chapter8/iproute2.sh8
-rw-r--r--chapter8/isl.sh8
-rw-r--r--chapter8/kbd.sh14
-rw-r--r--chapter8/kmod.sh6
-rw-r--r--chapter8/less.sh4
-rw-r--r--chapter8/libcap.sh10
-rw-r--r--chapter8/libelf.sh8
-rw-r--r--chapter8/libffi.sh4
-rw-r--r--chapter8/libpipeline.sh4
-rw-r--r--chapter8/libtool.sh6
-rw-r--r--chapter8/m4.sh8
-rw-r--r--chapter8/make.sh4
-rw-r--r--chapter8/man-db.sh4
-rw-r--r--chapter8/meson.sh8
-rw-r--r--chapter8/mpc.sh8
-rw-r--r--chapter8/mpfr.sh8
-rw-r--r--chapter8/ncurses.sh24
-rw-r--r--chapter8/ninja.sh8
-rw-r--r--chapter8/openssl.sh10
-rw-r--r--chapter8/patch.sh4
-rw-r--r--chapter8/perl.sh6
-rw-r--r--chapter8/pkg-config.sh4
-rw-r--r--chapter8/procps-ng.sh8
-rw-r--r--chapter8/psmisc.sh8
-rw-r--r--chapter8/python.sh10
-rw-r--r--chapter8/readline.sh14
-rw-r--r--chapter8/sed.sh10
-rw-r--r--chapter8/shadow.sh24
-rw-r--r--chapter8/sysklogd.sh8
-rw-r--r--chapter8/sysvinit.sh4
-rw-r--r--chapter8/tar.sh6
-rw-r--r--chapter8/tcl.sh20
-rw-r--r--chapter8/texinfo.sh6
-rw-r--r--chapter8/util-linux.sh4
-rw-r--r--chapter8/vim.sh12
-rw-r--r--chapter8/xml-parser.sh4
-rw-r--r--chapter8/xz.sh10
-rw-r--r--chapter8/zlib.sh10
-rw-r--r--chapter8/zstd.sh8
72 files changed, 332 insertions, 336 deletions
diff --git a/chapter8/acl.sh b/chapter8/acl.sh
index a82a047..516d861 100644
--- a/chapter8/acl.sh
+++ b/chapter8/acl.sh
@@ -5,10 +5,10 @@ set -e
--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..fc68246 100644
--- a/chapter8/attr.sh
+++ b/chapter8/attr.sh
@@ -5,10 +5,10 @@ set -e
--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..cb58e2e 100644
--- a/chapter8/autoconf.sh
+++ b/chapter8/autoconf.sh
@@ -1,8 +1,8 @@
#!/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..f30ffa6 100644
--- a/chapter8/automake.sh
+++ b/chapter8/automake.sh
@@ -1,10 +1,10 @@
#!/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..92402e5 100644
--- a/chapter8/bash.sh
+++ b/chapter8/bash.sh
@@ -1,19 +1,18 @@
#!/bin/bash
-set -e
+# shellcheck disable=SC2016
-patch -Np1 -i ../bash-"${VERSION}"-fixes-1.patch
+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
+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..c055edd 100644
--- a/chapter8/bc.sh
+++ b/chapter8/bc.sh
@@ -1,7 +1,8 @@
#!/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..b5c5732 100644
--- a/chapter8/binutils.sh
+++ b/chapter8/binutils.sh
@@ -3,7 +3,7 @@ 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 +15,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..75283ac 100644
--- a/chapter8/bison.sh
+++ b/chapter8/bison.sh
@@ -1,8 +1,8 @@
#!/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..c45bea4 100644
--- a/chapter8/bzip2.sh
+++ b/chapter8/bzip2.sh
@@ -1,23 +1,21 @@
#!/bin/bash
-set -e
-
-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
-make -f Makefile-libbz2_so
-make clean
-make
+patch -Np1 -i ../bzip2-"${VERSION}"-install_docs-1.patch &&
+
+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..6b552e5 100644
--- a/chapter8/check.sh
+++ b/chapter8/check.sh
@@ -1,8 +1,8 @@
#!/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..1ee5efa 100644
--- a/chapter8/coreutils.sh
+++ b/chapter8/coreutils.sh
@@ -1,24 +1,23 @@
#!/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..41ab6fc 100644
--- a/chapter8/dejagnu.sh
+++ b/chapter8/dejagnu.sh
@@ -1,10 +1,10 @@
#!/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..cb58e2e 100644
--- a/chapter8/diffutils.sh
+++ b/chapter8/diffutils.sh
@@ -1,8 +1,8 @@
#!/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..b994c4e 100644
--- a/chapter8/e2fsprogs.sh
+++ b/chapter8/e2fsprogs.sh
@@ -11,16 +11,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..31e8a0c 100644
--- a/chapter8/eudev.sh
+++ b/chapter8/eudev.sh
@@ -10,16 +10,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..433062c 100644
--- a/chapter8/expat.sh
+++ b/chapter8/expat.sh
@@ -3,10 +3,10 @@ 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..b939278 100644
--- a/chapter8/expect.sh
+++ b/chapter8/expect.sh
@@ -5,8 +5,8 @@ set -e
--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..2c5b982 100644
--- a/chapter8/file.sh
+++ b/chapter8/file.sh
@@ -1,9 +1,9 @@
#!/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..255591c 100644
--- a/chapter8/findutils.sh
+++ b/chapter8/findutils.sh
@@ -1,12 +1,12 @@
#!/bin/bash
-set -e
+# shellcheck disable=SC2016
-./configure --prefix=/usr --localstatedir=/var/lib/locate
+./configure --prefix=/usr --localstatedir=/var/lib/locate &&
-make
+make &&
-make -j1 install
+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..bf62717 100644
--- a/chapter8/flex.sh
+++ b/chapter8/flex.sh
@@ -3,9 +3,9 @@ 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..b6f25c5 100644
--- a/chapter8/gawk.sh
+++ b/chapter8/gawk.sh
@@ -3,11 +3,11 @@ 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..c72e737 100644
--- a/chapter8/gcc.sh
+++ b/chapter8/gcc.sh
@@ -16,32 +16,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..4ecac48 100644
--- a/chapter8/gdbm.sh
+++ b/chapter8/gdbm.sh
@@ -3,8 +3,8 @@ 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..4685d27 100644
--- a/chapter8/gettext.sh
+++ b/chapter8/gettext.sh
@@ -3,9 +3,9 @@ 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..e4facd0 100644
--- a/chapter8/glibc.sh
+++ b/chapter8/glibc.sh
@@ -1,10 +1,10 @@
#!/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 +14,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 +47,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..f3adfe7 100644
--- a/chapter8/gmp.sh
+++ b/chapter8/gmp.sh
@@ -8,10 +8,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..bb69b31 100644
--- a/chapter8/gperf.sh
+++ b/chapter8/gperf.sh
@@ -1,8 +1,8 @@
#!/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..5604bec 100644
--- a/chapter8/grep.sh
+++ b/chapter8/grep.sh
@@ -1,8 +1,8 @@
#!/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..73b4b93 100644
--- a/chapter8/groff.sh
+++ b/chapter8/groff.sh
@@ -1,8 +1,8 @@
#!/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..128cdb9 100644
--- a/chapter8/grub.sh
+++ b/chapter8/grub.sh
@@ -2,15 +2,15 @@
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..f72a689 100644
--- a/chapter8/gzip.sh
+++ b/chapter8/gzip.sh
@@ -1,10 +1,10 @@
#!/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/inetutils.sh b/chapter8/inetutils.sh
index f96f5f4..572c9e9 100644
--- a/chapter8/inetutils.sh
+++ b/chapter8/inetutils.sh
@@ -9,11 +9,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..758f568 100644
--- a/chapter8/intltool.sh
+++ b/chapter8/intltool.sh
@@ -1,11 +1,11 @@
#!/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..8612d5d 100644
--- a/chapter8/iproute2.sh
+++ b/chapter8/iproute2.sh
@@ -1,11 +1,11 @@
#!/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..7526c2f 100644
--- a/chapter8/isl.sh
+++ b/chapter8/isl.sh
@@ -3,10 +3,10 @@ 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..3e76d8c 100644
--- a/chapter8/kbd.sh
+++ b/chapter8/kbd.sh
@@ -1,16 +1,16 @@
#!/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..036a8fc 100644
--- a/chapter8/kmod.sh
+++ b/chapter8/kmod.sh
@@ -7,11 +7,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..6f357a9 100644
--- a/chapter8/less.sh
+++ b/chapter8/less.sh
@@ -1,8 +1,8 @@
#!/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..33d374c 100644
--- a/chapter8/libcap.sh
+++ b/chapter8/libcap.sh
@@ -1,13 +1,13 @@
#!/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..e5323e0 100644
--- a/chapter8/libelf.sh
+++ b/chapter8/libelf.sh
@@ -4,10 +4,10 @@ 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..ed8b1e5 100644
--- a/chapter8/libffi.sh
+++ b/chapter8/libffi.sh
@@ -1,8 +1,8 @@
#!/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..cb58e2e 100644
--- a/chapter8/libpipeline.sh
+++ b/chapter8/libpipeline.sh
@@ -1,8 +1,8 @@
#!/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..a654e29 100644
--- a/chapter8/libtool.sh
+++ b/chapter8/libtool.sh
@@ -1,10 +1,10 @@
#!/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..8c6201b 100644
--- a/chapter8/m4.sh
+++ b/chapter8/m4.sh
@@ -1,9 +1,9 @@
#!/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..cb58e2e 100644
--- a/chapter8/make.sh
+++ b/chapter8/make.sh
@@ -1,8 +1,8 @@
#!/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..afa8cb0 100644
--- a/chapter8/man-db.sh
+++ b/chapter8/man-db.sh
@@ -10,8 +10,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/meson.sh b/chapter8/meson.sh
index 63d16c4..b1aa296 100644
--- a/chapter8/meson.sh
+++ b/chapter8/meson.sh
@@ -1,9 +1,9 @@
#!/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..009662c 100644
--- a/chapter8/mpc.sh
+++ b/chapter8/mpc.sh
@@ -3,10 +3,10 @@ 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..c76276e 100644
--- a/chapter8/mpfr.sh
+++ b/chapter8/mpfr.sh
@@ -4,10 +4,10 @@ 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..c7ba368 100644
--- a/chapter8/ncurses.sh
+++ b/chapter8/ncurses.sh
@@ -7,24 +7,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..f4f1017 100644
--- a/chapter8/ninja.sh
+++ b/chapter8/ninja.sh
@@ -9,10 +9,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..59699f5 100644
--- a/chapter8/openssl.sh
+++ b/chapter8/openssl.sh
@@ -5,13 +5,13 @@ set -e
--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..cb58e2e 100644
--- a/chapter8/patch.sh
+++ b/chapter8/patch.sh
@@ -1,8 +1,8 @@
#!/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..7e5cbc7 100644
--- a/chapter8/perl.sh
+++ b/chapter8/perl.sh
@@ -19,9 +19,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..e404f44 100644
--- a/chapter8/pkg-config.sh
+++ b/chapter8/pkg-config.sh
@@ -4,7 +4,7 @@ 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..85be2d6 100644
--- a/chapter8/procps-ng.sh
+++ b/chapter8/procps-ng.sh
@@ -6,11 +6,11 @@ set -e
--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..e06ef92 100644
--- a/chapter8/psmisc.sh
+++ b/chapter8/psmisc.sh
@@ -1,11 +1,11 @@
#!/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..04af366 100644
--- a/chapter8/python.sh
+++ b/chapter8/python.sh
@@ -1,19 +1,19 @@
#!/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 c6c92aa..4b2569e 100644
--- a/chapter8/readline.sh
+++ b/chapter8/readline.sh
@@ -1,8 +1,8 @@
#!/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 \
@@ -10,11 +10,11 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install
--disable-bracketed-paste-default \
--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..6b2d3d7 100644
--- a/chapter8/sed.sh
+++ b/chapter8/sed.sh
@@ -1,12 +1,12 @@
#!/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..075caad 100644
--- a/chapter8/shadow.sh
+++ b/chapter8/shadow.sh
@@ -5,25 +5,25 @@ set -e
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..26c2394 100644
--- a/chapter8/sysklogd.sh
+++ b/chapter8/sysklogd.sh
@@ -1,12 +1,12 @@
#!/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..0c0c2db 100644
--- a/chapter8/sysvinit.sh
+++ b/chapter8/sysvinit.sh
@@ -1,8 +1,8 @@
#!/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..44df8a1 100644
--- a/chapter8/tar.sh
+++ b/chapter8/tar.sh
@@ -3,9 +3,9 @@ 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..1e75a18 100644
--- a/chapter8/tcl.sh
+++ b/chapter8/tcl.sh
@@ -1,36 +1,36 @@
#!/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..87b0aae 100644
--- a/chapter8/texinfo.sh
+++ b/chapter8/texinfo.sh
@@ -1,10 +1,10 @@
#!/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..de1a5e4 100644
--- a/chapter8/util-linux.sh
+++ b/chapter8/util-linux.sh
@@ -14,8 +14,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..39bb932 100644
--- a/chapter8/vim.sh
+++ b/chapter8/vim.sh
@@ -1,20 +1,20 @@
#!/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..ffaa526 100644
--- a/chapter8/xml-parser.sh
+++ b/chapter8/xml-parser.sh
@@ -1,8 +1,8 @@
#!/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..4d567c8 100644
--- a/chapter8/xz.sh
+++ b/chapter8/xz.sh
@@ -4,10 +4,10 @@ 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..df67074 100644
--- a/chapter8/zlib.sh
+++ b/chapter8/zlib.sh
@@ -1,10 +1,10 @@
#!/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..611785e 100644
--- a/chapter8/zstd.sh
+++ b/chapter8/zstd.sh
@@ -1,9 +1,9 @@
#!/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