#!/bin/bash
POOL="../../lfs-commands-3.3"

echo "Patch commands:"
echo "  . common:"

echo -n "      . set executable: "
  for filename in $POOL/chapter{5,6,7,8,9}/*; do
    chmod 755 $filename
  done
echo "OK"

echo -n "      . set shell: "
  for filename in $POOL/chapter{5,6,7,8,9}/*; do
    cp $filename $filename'.backup'
    sed -e '1i\
\#\!/bin/bash
' $filename'.backup' > $filename
    rm $filename'.backup'
  done
echo "OK"

echo -n "      . set \$LFS: "
  for filename in $POOL/chapter{5,6,7,8,9}/*; do
    cp $filename $filename'.backup'
    sed -e '2i\
LFS="/mnt/lfs"\
' $filename'.backup' > $filename
    rm $filename'.backup'
  done
echo "OK"

echo "  . chapter5:"

echo -n "    . set directory: "
  for filename in $POOL/chapter5/*; do
    cp $filename $filename'.backup'
  done

  sed -e '3i\
cd $LFS/usr/src/bash-2.05a
' $POOL/chapter5/Bash-2.05a.backup > $POOL/chapter5/Bash-2.05a

  sed -e '3i\
cd $LFS/usr/src/binutils-2.12
' $POOL/chapter5/Binutils-2.12.backup > $POOL/chapter5/Binutils-2.12

  sed -e '3i\
cd $LFS/usr/src/bzip2-1.0.2
' $POOL/chapter5/Bzip2-1.0.2.backup > $POOL/chapter5/Bzip2-1.0.2

  sed -e '3i\
cd $LFS/usr/src/diffutils-2.8
' $POOL/chapter5/Diffutils-2.8.backup > $POOL/chapter5/Diffutils-2.8

  sed -e '3i\
cd $LFS/usr/src/fileutils-4.1
' $POOL/chapter5/Fileutils-4.1.backup > $POOL/chapter5/Fileutils-4.1

  sed -e '3i\
cd $LFS/usr/src/gawk-3.1.0
' $POOL/chapter5/Gawk-3.1.0.backup > $POOL/chapter5/Gawk-3.1.0

  sed -e '3i\
cd $LFS/usr/src/gcc-2.95.3
' $POOL/chapter5/GCC-2.95.3.backup > $POOL/chapter5/GCC-2.95.3

  sed -e '3i\
cd $LFS/usr/src/grep-2.5
' $POOL/chapter5/Grep-2.5.backup > $POOL/chapter5/Grep-2.5

  sed -e '3i\
cd $LFS/usr/src/gzip-1.2.4a
' $POOL/chapter5/Gzip-1.2.4a.backup > $POOL/chapter5/Gzip-1.2.4a

  sed -e '3i\
cd $LFS/usr/src/linux-2.4.18
' $POOL/chapter5/Linux-2.4.18.backup > $POOL/chapter5/Linux-2.4.18

  sed -e '3i\
cd $LFS/usr/src/make-3.79.1
' $POOL/chapter5/Make-3.79.1.backup > $POOL/chapter5/Make-3.79.1

  sed -e '3i\
cd $LFS/usr/src/patch-2.5.4
' $POOL/chapter5/Patch-2.5.4.backup > $POOL/chapter5/Patch-2.5.4

  sed -e '3i\
cd $LFS/usr/src/sed-3.02
' $POOL/chapter5/Sed-3.02.backup > $POOL/chapter5/Sed-3.02

  sed -e '3i\
cd $LFS/usr/src/sh-utils-2.0
' $POOL/chapter5/Sh-utils-2.0.backup > $POOL/chapter5/Sh-utils-2.0

  sed -e '3i\
cd $LFS/usr/src/tar-1.13
' $POOL/chapter5/Tar-1.13.backup > $POOL/chapter5/Tar-1.13

  sed -e '3i\
cd $LFS/usr/src/texinfo-4.1
' $POOL/chapter5/Texinfo-4.1.backup > $POOL/chapter5/Texinfo-4.1

  sed -e '3i\
cd $LFS/usr/src/textutils-2.0
' $POOL/chapter5/Textutils-2.0.backup > $POOL/chapter5/Textutils-2.0

  rm -f $POOL/chapter5/*.backup
echo "OK"

echo -n "    . del unused: "
  for filename in $POOL/chapter5/*; do
    cp $filename $filename'.backup'
  done

  sed -e '5,8d' $POOL/chapter5/Bash-2.05a.backup > $POOL/chapter5/Bash-2.05a

  sed -e '5,11d' $POOL/chapter5/Diffutils-2.8.backup > $POOL/chapter5/Diffutils-2.8

  sed -e '5,9d' $POOL/chapter5/Fileutils-4.1.backup > $POOL/chapter5/Fileutils-4.1

  sed -e '5,16d' $POOL/chapter5/Gawk-3.1.0.backup > $POOL/chapter5/Gawk-3.1.0

  sed -e '5,11d' $POOL/chapter5/Grep-2.5.backup > $POOL/chapter5/Grep-2.5

  sed -e '5,11d' $POOL/chapter5/Sed-3.02.backup > $POOL/chapter5/Sed-3.02

  rm -f $POOL/chapter5/*.backup
echo "OK"

echo "  . chapter6:"

echo -n "    . set directory: "
  for filename in $POOL/chapter6/*; do
    cp $filename $filename'.backup'
  done

  sed -e '3i\
cd /usr/src/autoconf-2.53
' $POOL/chapter6/Autoconf-2.53.backup > $POOL/chapter6/Autoconf-2.53

  sed -e '3i\
cd /usr/src/automake-1.6
' $POOL/chapter6/Automake-1.6.backup > $POOL/chapter6/Automake-1.6

  sed -e '3i\
cd /usr/src/bash-2.05a
' $POOL/chapter6/Bash-2.05a.backup > $POOL/chapter6/Bash-2.05a

  sed -e '3i\
cd /usr/src/bin86-0.16.2
' $POOL/chapter6/Bin86-0.16.2.backup > $POOL/chapter6/Bin86-0.16.2

  sed -e '3i\
cd /usr/src/binutils-2.12
' $POOL/chapter6/Binutils-2.12.backup > $POOL/chapter6/Binutils-2.12

  sed -e '3i\
cd /usr/src/bison-1.34
' $POOL/chapter6/Bison-1.34.backup > $POOL/chapter6/Bison-1.34

  sed -e '3i\
cd /usr/src/bzip2-1.0.2
' $POOL/chapter6/Bzip2-1.0.2.backup > $POOL/chapter6/Bzip2-1.0.2

  sed -e '3i\
cd /usr/src/diffutils-2.8
' $POOL/chapter6/Diffutils-2.8.backup > $POOL/chapter6/Diffutils-2.8

  sed -e '3i\
cd /usr/src/e2fsprogs-1.27
' $POOL/chapter6/E2fsprogs-1.27.backup > $POOL/chapter6/E2fsprogs-1.27

  sed -e '3i\
cd /usr/src/ed-0.2
' $POOL/chapter6/Ed-0.2.backup > $POOL/chapter6/Ed-0.2

  sed -e '3i\
cd /usr/src/file-3.37
' $POOL/chapter6/File-3.37.backup > $POOL/chapter6/File-3.37

  sed -e '3i\
cd /usr/src/fileutils-4.1
' $POOL/chapter6/Fileutils-4.1.backup > $POOL/chapter6/Fileutils-4.1

  sed -e '3i\
cd /usr/src/findutils-4.1
' $POOL/chapter6/Findutils-4.1.backup > $POOL/chapter6/Findutils-4.1

  sed -e '3i\
cd /usr/src/flex-2.5.4a
' $POOL/chapter6/Flex-2.5.4a.backup > $POOL/chapter6/Flex-2.5.4a

  sed -e '3i\
cd /usr/src/gawk-3.1.0
' $POOL/chapter6/Gawk-3.1.0.backup > $POOL/chapter6/Gawk-3.1.0

  sed -e '3i\
cd /usr/src/gcc-2.95.3
' $POOL/chapter6/GCC-2.95.3.backup > $POOL/chapter6/GCC-2.95.3

  sed -e '3i\
cd /usr/src/gettext-0.11.1
' $POOL/chapter6/Gettext-0.11.1.backup > $POOL/chapter6/Gettext-0.11.1

  sed -e '3i\
cd /usr/src/glibc-2.2.5
' $POOL/chapter6/Glibc-2.2.5.backup > $POOL/chapter6/Glibc-2.2.5

  sed -e '3i\
cd /usr/src/grep-2.5
' $POOL/chapter6/Grep-2.5.backup > $POOL/chapter6/Grep-2.5

  sed -e '3i\
cd /usr/src/groff-1.17.2
' $POOL/chapter6/Groff-1.17.2.backup > $POOL/chapter6/Groff-1.17.2

  sed -e '3i\
cd /usr/src/gzip-1.2.4a
' $POOL/chapter6/Gzip-1.2.4a.backup > $POOL/chapter6/Gzip-1.2.4a

  sed -e '3i\
cd /usr/src/kbd-1.06
' $POOL/chapter6/Kbd-1.06.backup > $POOL/chapter6/Kbd-1.06

  sed -e '3i\
cd /usr/src/less-374
' $POOL/chapter6/Less-374.backup > $POOL/chapter6/Less-374

  sed -e '3i\
cd /usr/src/lfs-bootscripts-1.9
' $POOL/chapter6/LFS-Bootscripts-1.9.backup > $POOL/chapter6/LFS-Bootscripts-1.9

  sed -e '3i\
cd /usr/src/libtool-1.4.2
' $POOL/chapter6/Libtool-1.4.2.backup > $POOL/chapter6/Libtool-1.4.2

  sed -e '3i\
cd /usr/src/lilo-22.2
' $POOL/chapter6/Lilo-22.2.backup > $POOL/chapter6/Lilo-22.2

  sed -e '3i\
cd /usr/src/m4-1.4
' $POOL/chapter6/M4-1.4.backup > $POOL/chapter6/M4-1.4

  sed -e '3i\
cd /usr/src/make-3.79.1
' $POOL/chapter6/Make-3.79.1.backup > $POOL/chapter6/Make-3.79.1

  sed -e '3i\
cd /usr/src
' $POOL/chapter6/Makedev-1.4.backup > $POOL/chapter6/Makedev-1.4

  sed -e '3i\
cd /usr/src/man-1.5j
' $POOL/chapter6/Man-1.5j.backup > $POOL/chapter6/Man-1.5j

  sed -e '3i\
cd /usr/src/man-pages-1.48
' $POOL/chapter6/Man-pages-1.48.backup > $POOL/chapter6/Man-pages-1.48

  sed -e '3i\
cd /usr/src/modutils-2.4.15
' $POOL/chapter6/Modutils-2.4.15.backup > $POOL/chapter6/Modutils-2.4.15

  sed -e '3i\
cd /usr/src/ncurses-5.2
' $POOL/chapter6/Ncurses-5.2.backup > $POOL/chapter6/Ncurses-5.2

  sed -e '3i\
cd /usr/src/netkit-base-0.17
' $POOL/chapter6/Netkit-base-0.17.backup > $POOL/chapter6/Netkit-base-0.17

  sed -e '3i\
cd /usr/src/net-tools-1.60
' $POOL/chapter6/Net-tools-1.60.backup > $POOL/chapter6/Net-tools-1.60

  sed -e '3i\
cd /usr/src/patch-2.5.4
' $POOL/chapter6/Patch-2.5.4.backup > $POOL/chapter6/Patch-2.5.4

  sed -e '3i\
cd /usr/src/perl-5.6.1
' $POOL/chapter6/Perl-5.6.1.backup > $POOL/chapter6/Perl-5.6.1

  sed -e '3i\
cd /usr/src/procinfo-18
' $POOL/chapter6/Procinfo-18.backup > $POOL/chapter6/Procinfo-18

  sed -e '3i\
cd /usr/src/procps-2.0.7
' $POOL/chapter6/Procps-2.0.7.backup > $POOL/chapter6/Procps-2.0.7

  sed -e '3i\
cd /usr/src/psmisc-20.2
' $POOL/chapter6/Psmisc-20.2.backup > $POOL/chapter6/Psmisc-20.2

  sed -e '3i\
cd /usr/src/reiserfsprogs-3.x.1b
' $POOL/chapter6/Reiserfsprogs-3.x.1b.backup > $POOL/chapter6/Reiserfsprogs-3.x.1b

  sed -e '3i\
cd /usr/src/sed-3.02
' $POOL/chapter6/Sed-3.02.backup > $POOL/chapter6/Sed-3.02

  sed -e '3i\
cd /usr/src/shadow-4.0.3
' $POOL/chapter6/Shadow-4.0.3.backup > $POOL/chapter6/Shadow-4.0.3

  sed -e '3i\
cd /usr/src/sh-utils-2.0
' $POOL/chapter6/Sh-utils-2.0.backup > $POOL/chapter6/Sh-utils-2.0

  sed -e '3i\
cd /usr/src/sysklogd-1.4.1
' $POOL/chapter6/Sysklogd-1.4.1.backup > $POOL/chapter6/Sysklogd-1.4.1

  sed -e '3i\
cd /usr/src/sysvinit-2.84
' $POOL/chapter6/Sysvinit-2.84.backup > $POOL/chapter6/Sysvinit-2.84

  sed -e '3i\
cd /usr/src/tar-1.13
' $POOL/chapter6/Tar-1.13.backup > $POOL/chapter6/Tar-1.13

  sed -e '3i\
cd /usr/src/texinfo-4.1
' $POOL/chapter6/Texinfo-4.1.backup > $POOL/chapter6/Texinfo-4.1

  sed -e '3i\
cd /usr/src/textutils-2.0
' $POOL/chapter6/Textutils-2.0.backup > $POOL/chapter6/Textutils-2.0

  sed -e '3i\
cd /usr/src/util-linux-2.11o
' $POOL/chapter6/Util-linux-2.11o.backup > $POOL/chapter6/Util-linux-2.11o

  sed -e '3i\
cd /usr/src/vim-6.1
' $POOL/chapter6/Vim-6.1.backup > $POOL/chapter6/Vim-6.1

  rm -f $POOL/chapter6/*.backup
echo "OK"

echo -n "    . del unused: "
  for filename in $POOL/chapter6/*; do
    cp $filename $filename'.backup'
  done

  sed -e '10c\
ln -sf bash sh
' $POOL/chapter6/Bash-2.05a.backup > $POOL/chapter6/Bash-2.05a

  rm $POOL/chapter6/Bash-2.05a.backup
  cp $POOL/chapter6/Bash-2.05a $POOL/chapter6/Bash-2.05a.backup

  sed -e '11d' $POOL/chapter6/Bash-2.05a.backup > $POOL/chapter6/Bash-2.05a

  sed -e '9,14d' $POOL/chapter6/Findutils-4.1.backup > $POOL/chapter6/Findutils-4.1

  sed -e '18c\
make localedata/install-locales
' $POOL/chapter6/Glibc-2.2.5.backup > $POOL/chapter6/Glibc-2.2.5

  rm $POOL/chapter6/Glibc-2.2.5.backup
  cp $POOL/chapter6/Glibc-2.2.5 $POOL/chapter6/Glibc-2.2.5.backup

  sed -e '19d' $POOL/chapter6/Glibc-2.2.5.backup > $POOL/chapter6/Glibc-2.2.5

  sed -e '11,13d' $POOL/chapter6/Makedev-1.4.backup > $POOL/chapter6/Makedev-1.4

  sed -e '5,8d' $POOL/chapter6/Net-tools-1.60.backup > $POOL/chapter6/Net-tools-1.60

  sed -e '11,14d' $POOL/chapter6/Psmisc-20.2.backup > $POOL/chapter6/Psmisc-20.2

  sed -e '12,15d' $POOL/chapter6/Sh-utils-2.0.backup > $POOL/chapter6/Sh-utils-2.0

  sed -e '5,10d' $POOL/chapter6/Util-linux-2.11o.backup > $POOL/chapter6/Util-linux-2.11o

  sed -e '10,16d' $POOL/chapter6/Vim-6.1.backup > $POOL/chapter6/Vim-6.1

  sed -e '29c\
ln -sf ../usr/share/zoneinfo/Europe/Zurich > localtime
' $POOL/chapter6/configuring_glibc.backup > $POOL/chapter6/configuring_glibc

  sed -e '4c\
passwd -d root
' $POOL/chapter6/creating_root_password.backup > $POOL/chapter6/creating_root_password

  rm $POOL/chapter6/*.backup
echo "OK"


echo "  . chapter7:"

  for filename in $POOL/chapter7/*; do
    cp $filename $filename'.backup'
  done

  sed -e '7c\
127.0.0.1 lfs localhost.localdomain localhost
' $POOL/chapter7/creating_etc_hosts.backup > $POOL/chapter7/creating_etc_hosts

  sed -e '11,21d' $POOL/chapter7/creating_etc_hosts.backup > $POOL/chapter7/creating_etc_hosts

  rm $POOL/chapter7/*.backup
echo "OK"

echo "  . chapter8:"

  for filename in $POOL/chapter8/*; do
    cp $filename $filename'.backup'
  done

  sed -e '15,22d' $POOL/chapter8/creating_etc_fstab.backup > $POOL/chapter8/creating_etc_fstab

  sed -e '4c\
cd /usr/src/linux-2.4.18 &&
' $POOL/chapter8/linux-2.4.18.backup > $POOL/chapter8/linux-2.4.18

  sed -e '15,23d' $POOL/chapter8/making_lfs_system_bootable.backup > $POOL/chapter8/making_lfs_system_bootable

  rm $POOL/chapter8/*.backup
echo "OK"

