changeset 1288:c054a7a36cd9

Add rather a lot of Linux From Scratch 6.7 building infrastructure. Needs a bit more debugging.
author Rob Landley <rob@landley.net>
date Wed, 17 Nov 2010 22:09:19 -0600
parents 7862497b28e0
children a7c9fd67ff7a
files sources/control-images/lfs-bootstrap/mnt/README sources/control-images/lfs-bootstrap/mnt/build/autoconf.sh sources/control-images/lfs-bootstrap/mnt/build/automake.sh sources/control-images/lfs-bootstrap/mnt/build/bzip2.sh sources/control-images/lfs-bootstrap/mnt/build/coreutils.sh sources/control-images/lfs-bootstrap/mnt/build/diffutils.sh sources/control-images/lfs-bootstrap/mnt/build/file.sh sources/control-images/lfs-bootstrap/mnt/build/findutils.sh sources/control-images/lfs-bootstrap/mnt/build/flex.sh sources/control-images/lfs-bootstrap/mnt/build/gawk.sh sources/control-images/lfs-bootstrap/mnt/build/generic-check.sh sources/control-images/lfs-bootstrap/mnt/build/gettext.sh sources/control-images/lfs-bootstrap/mnt/build/grep.sh sources/control-images/lfs-bootstrap/mnt/build/groff.sh sources/control-images/lfs-bootstrap/mnt/build/gzip.sh sources/control-images/lfs-bootstrap/mnt/build/iproute2.sh sources/control-images/lfs-bootstrap/mnt/build/kbd.sh sources/control-images/lfs-bootstrap/mnt/build/less.sh sources/control-images/lfs-bootstrap/mnt/build/libtool.sh sources/control-images/lfs-bootstrap/mnt/build/make.sh sources/control-images/lfs-bootstrap/mnt/build/man-db.sh sources/control-images/lfs-bootstrap/mnt/build/module-init-tools.sh sources/control-images/lfs-bootstrap/mnt/build/mpc.sh sources/control-images/lfs-bootstrap/mnt/build/patch.sh sources/control-images/lfs-bootstrap/mnt/build/perl.sh sources/control-images/lfs-bootstrap/mnt/build/psmisc.sh sources/control-images/lfs-bootstrap/mnt/build/readline.sh sources/control-images/lfs-bootstrap/mnt/build/sed.sh sources/control-images/lfs-bootstrap/mnt/build/setup.nosrc.orig sources/control-images/lfs-bootstrap/mnt/build/shadow.sh sources/control-images/lfs-bootstrap/mnt/build/sysklogd.sh sources/control-images/lfs-bootstrap/mnt/build/sysvinit.sh sources/control-images/lfs-bootstrap/mnt/build/tar.sh sources/control-images/lfs-bootstrap/mnt/build/texinfo.sh sources/control-images/lfs-bootstrap/mnt/build/udev.sh sources/control-images/lfs-bootstrap/mnt/build/util-linux-ng.sh sources/control-images/lfs-bootstrap/mnt/build/vim.sh sources/control-images/lfs-bootstrap/mnt/package-list
diffstat 38 files changed, 456 insertions(+), 42 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/README	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,27 @@
+Automates the build of Linux From Scratch 6.7.
+
+This adds/replaces files in the existing filesystem.  At the end of the build
+BusyBox is still there but most of the symlinks to it have been replaced with
+the corresponding gnu tools.
+
+This does not attempt to replace the existing toolchain or C library, although
+there's no reason you can't run a separate script to do that before running
+this build.
+
+We're not building grub because bootloaders are both extremely target-specific
+(which CPU, which board, which boot media...  Booting an ARM from the network
+or booting MIPS from flash isn't really grub's thing).  You'll have to set up
+your own bootloader as appropriate for your hardware.  (QEMU has a built-in
+bootloader in the -kernel option.)
+
+Note that we skip the various "move stuff from /usr/bin to /bin" steps
+because /lib, /bin, and /sbin are all symlinks to the appropriate directory
+under /usr so we've already combined all that stuff already.  (That split
+happened when Ken and Dennis filled up their original root filesystem's RK05
+disk pack on the PDP-11 they developed Unix on in 1971, so they let their
+operating system files leak into the second disk, where all the user
+directories lived.  They eventually added a third disk on /home and moved the
+user directories to there, but kept the OS straddling two disks.  These days
+between initramfs and cheap multi-terrabyte drives that split is a useless
+historical artifact kept alive by people blindly following procedures they
+no longer understand.  Don't get me started on /opt.)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/autoconf.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,1 @@
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/automake.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+./configure --prefix=/usr --docdir=/usr/share/doc/automake &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make check || exit 1
+fi
+
+make install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/bzip2.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Use relative paths when installing symlinks, not absolute paths.
+sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile &&
+
+# The extra song and dance is to install the shared library, and
+# make the bzip2 binary use it.
+
+make -f Makefile-libbz2_so &&
+make clean &&
+make &&
+make PREFIX=/usr install &&
+cp bzip2-shared /bin/bzip2 &&
+cp -a libbz2.so* /lib
--- a/sources/control-images/lfs-bootstrap/mnt/build/coreutils.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/coreutils.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 ./configure --prefix=/usr --enable-no-install-program=kill,uptime &&
-make -j $CPUS || exit 1
+make -j "$CPUS" || exit 1
 
 if [ ! -z "$CHECK" ]
 then
@@ -12,6 +12,5 @@
   sed -i '/^dummy:/d' /etc/group || exit 1
 fi
 
-make install &&
-mv /usr/bin/chroot /usr/sbin
-  
+make install &&  
+mv /usr/bin/chroot /usr/sbin || exit 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/diffutils.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,1 @@
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/file.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,1 @@
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/findutils.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+./configure --prefix=/usr --libexecdir=/usr/lib/findutils \
+  --localstatedir=/var/lib/locate &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make check || exit 1
+fi
+
+make install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/flex.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+/mnt/build/generic-check.sh
+
+# Create lex wrapper
+
+cat > /usr/bin/lex << 'EOF' &&
+#!/bin/sh
+
+exiec /usr/bin/flex -l "$@"
+EOF
+chmod 755 /usr/bin/lex || exit 1
+
+if [ ! -z "$DOCS" ]
+then
+  mkdir /usr/share/doc/flex &&
+  cp doc/flex.pdf /usr/share/doc/flex
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/gawk.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+./configure --prefix=/usr --libexecdir=/usr/lib &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make check || exit 1
+fi
+
+make install || exit 1
+
+if [ ! -z "$DOCS" ]
+then
+  mkdir /usr/share/doc/gawk &&
+  cp doc/awkforai.txt doc/*.eps doc/*.pdf doc/*.jpg /usr/share/doc/gawk
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/generic-check.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Standard install, plus "make check".
+
+./configure --prefix=/usr --bindir=/bin &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make check || exit 1
+fi
+
+make install
--- a/sources/control-images/lfs-bootstrap/mnt/build/gettext.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/gettext.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -1,7 +1,8 @@
 #!/bin/sh
 
 # Swap out incestuous knowledge of the internals of glibc for incestuous
-# knowledge of the internals of uClibc.  (Should never trigger anyway.)
+# knowledge of the internals of uClibc.  (The resulting code should never
+# trigger anyway, but it needs to be able to _compile_...)
 
 sed -i 's/thread_locale->__names\[category]/thread_locale->cur_locale/' \
   gettext-runtime/intl/localename.c gettext-tools/gnulib-lib/localename.c &&
--- a/sources/control-images/lfs-bootstrap/mnt/build/grep.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/grep.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -1,11 +1,1 @@
-#!/bin/sh
-
-./configure --prefix=/usr --bindir=/bin &&
-make -j $CPUS || exit 1
-
-if [ ! -z "$CHECK" ]
-then
-  make check || exit 1
-fi
-
-make install
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/groff.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+PAGE=letter ./configure --prefix=/usr &&
+make -j $CPUS &&
+make docdir=/usr/share/doc/groff install &&
+ln -s eqn /usr/bin/geqn &&
+ln -s tbl /usr/bin/gtbl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/gzip.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,1 @@
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/iproute2.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# arpd needs berkeley DB, switch it off.
+sed -i '/^TARGETS/s@arpd@@g' misc/Makefile &&
+
+# bugfix, why this isn't a patch I have no idea.
+sed -i '1289i\\tfilter.cloned = 2;' ip/iproute.c &&
+
+make DESTDIR= -j $CPUS &&
+make DESTDIR= SBINDIR=/sbin MANDIR=/usr/share/man \
+  DOCDIR=/usr/share/doc/iproute2 install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/kbd.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+./configure --prefix=/usr --datadir=/lib/kbd &&
+make -j $CPUS &&
+make install || exit 1
+
+if [ ! -z "$DOCS" ]
+then
+  mkdir /usr/share/doc/kbd &&
+  cp -R doc/* /usr/share/doc/kbd
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/less.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+./configure --prefix=/usr --sysconfdir=/etc &&
+make -j $CPUS &&
+make install
--- a/sources/control-images/lfs-bootstrap/mnt/build/libtool.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/libtool.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -1,11 +1,1 @@
-#!/bin/sh
-
-./configure --prefix=/usr &&
-make -j $CPUS || exit 1
-
-if [ ! -z "$CHECK" ]
-then
-  make check || exit 1
-fi
-
-make install
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/make.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,1 @@
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/man-db.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+/configure --prefix=/usr --libexecdir=/usr/lib \
+  --docdir=/usr/share/doc/man-db --sysconfdir=/etc --disable-setuid &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make check || exit 1
+fi
+
+make install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/module-init-tools.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+echo '.so man5/modprobe.conf.5' > modprobe.d.5 || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  ./configure &&
+  make check &&
+  ./tests/runtests &&
+  make clean || exit 1
+fi
+
+./configure --prefix=/ --enable-zlib-dynamic --mandir=/usr/share/man &&
+make -j $CPUS &&
+make INSTALL=install install
--- a/sources/control-images/lfs-bootstrap/mnt/build/mpc.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/mpc.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -1,11 +1,1 @@
-#!/bin/sh
-
-./configure --prefix=/usr &&
-make -j $CPUS || exit 1
-
-if [ ! -z "$CHECK" ]
-then
-  make check || exit 1
-fi
-
-make install
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/patch.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,1 @@
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/perl.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+if [ ! -e /etc/hosts ]
+then
+  echo "127.0.0.1 localhost $(hostname)" > /etc/hosts || exit 1
+fi
+
+# Configure hardwires on the "stack protector", which doesn't work in this
+# context.  Rip out all mention of it.
+
+sed -i 's/-fstack-protector//' Configure &&
+
+# Make Perl use the system zlib instead of a built-in copy.
+
+sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|"           \
+       -e "s|INCLUDE\s*= ./zlib-src|INCLUDE    = /usr/include|" \
+       -e "s|LIB\s*= ./zlib-src|LIB        = /usr/lib|"         \
+    cpan/Compress-Raw-Zlib/config.in &&
+./Configure -des -Dprefix=/usr -Dvendorprefix=/usr \
+  -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 \
+  -Dpager="/usr/bin/less -is" -Duseshrplib -Dusenm=n &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make test || exit 1
+fi
+
+make install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/psmisc.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Another bugfix that you'd think would be a patch, but no...
+
+sed -i 's@#include<sys\/usr.h>@#include <bits\/types.h>\&@' configure &&
+
+./configure --prefix=/usr &&
+make -j $CPUS &&
+make install
--- a/sources/control-images/lfs-bootstrap/mnt/build/readline.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/readline.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -10,5 +10,44 @@
 then
   mkdir /usr/share/doc/readline &&
   install -m644 doc/*.ps doc/*.pdf doc/*.html doc/*.dvi \
-    /usr/share/doc/readline
+    /usr/share/doc/readline || exit 1
 fi
+
+cat > /etc/inputrc << "EOF"
+# Allow the command prompt to wrap to the next line
+set horizontal-scroll-mode Off
+
+# Enable 8bit input
+set meta-flag On
+set input-meta On
+
+# Turns off 8th bit stripping
+set convert-meta Off
+
+# Keep the 8th bit for display
+set output-meta On
+
+# none, visible or audible
+set bell-style none
+
+# All of the following map the escape sequence of the value
+# contained in the 1st argument to the readline specific functions
+"\eOd": backward-word
+"\eOc": forward-word
+
+# for linux console
+"\e[1~": beginning-of-line
+"\e[4~": end-of-line
+"\e[5~": beginning-of-history
+"\e[6~": end-of-history
+"\e[3~": delete-char
+"\e[2~": quoted-insert
+
+# for xterm
+"\eOH": beginning-of-line
+"\eOF": end-of-line
+
+# for Konsole
+"\e[H": beginning-of-line
+"\e[F": end-of-line
+EOF
--- a/sources/control-images/lfs-bootstrap/mnt/build/sed.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/sed.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-./configure --prefix=/usr --bindir=/bin --htmldir=/usr/share/doc/sed-4.2.1 &&
+./configure --prefix=/usr --bindir=/bin --htmldir=/usr/share/doc/sed &&
 make -j $CPUS || exit 1
 
 if [ ! -z "$DOCS" ]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/setup.nosrc.orig	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+# Basic setup.  Create directories not in the aboriginal base system.
+
+cd / &&
+
+ln -sf bash /bin/sh &&
+set +h &&
+
+mkdir -p boot etc/opt opt media/floppy media/cdrom srv var/tmp &&
+chmod 0750 root &&
+chmod 1777 tmp var/tmp &&
+rm -rf /usr/local &&
+ln -sf . usr/local &&
+cd usr/share &&
+mkdir -p doc info locale man misc terminfo zoneinfo &&
+cd ../.. &&
+ln -sf share/man share/doc share/info usr &&
+cd var &&
+mkdir -p lib lock log mail run spool opt cache local &&
+cd lib &&
+mkdir -p misc locate &&
+cd ../.. &&
+
+cat > etc/passwd << "EOF" &&
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/dev/null:/bin/false
+nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
+guest:x:500:500:guest:/home/guest:/bin/sh
+EOF
+
+cat > etc/group << "EOF" &&
+root:x:0:
+bin:x:1:
+sys:x:2:
+kmem:x:3:
+tty:x:4:
+tape:x:5:
+daemon:x:6:
+floppy:x:7:
+disk:x:8:
+lp:x:9:
+dialout:x:10:
+audio:x:11:
+video:x:12:
+utmp:x:13:
+usb:x:14:
+cdrom:x:15:
+mail:x:34:
+nogroup:x:99:
+guest:x:500:
+EOF
+
+touch /var/run/utmp /var/log/btmp /var/log/lastlog /var/log/wtmp &&
+chgrp -v utmp /var/run/utmp /var/log/lastlog &&
+chmod -v 664 /var/run/utmp /var/log/lastlog
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/shadow.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Disable the groups program, coreutils provides a better one.
+
+sed -i 's/groups$(EXEEXT) //' src/Makefile.in &&
+find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; &&
+
+# Disable Chinese/Korean man pages Man-DB can't format properly.
+
+sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile.in &&
+
+# Change default password encryption to something that _doesn't_ limit
+# password lengths to 8 characters, and change the user mbox location to
+# the "new" one everybody started using back in the 1990's.
+
+sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD MD5@' \
+       -e 's@/var/spool/mail@/var/mail@' etc/login.defs &&
+       
+./configure --sysconfdir=/etc &&
+make -j $CPUS &&
+make install &&
+pwconv &&
+grpconv
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/sysklogd.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+make -j $CPUS &&
+make BINDIR=/sbin install &&
+cat > /etc/syslog.conf << "EOF"
+auth,authpriv.* -/var/log/auth.log
+*.*;auth,authpriv.none -/var/log/sys.log
+daemon.* -/var/log/daemon.log
+kern.* -/var/log/kern.log
+mail.* -/var/log/mail.log
+user.* -/var/log/user.log
+*.emerg *
+EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/sysvinit.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# Use the util-linux-ng "wall" command
+
+sed -i -e 's/utmpdump wall/utmpdump/' \
+       -e 's/mountpoint.1 wall.1/mountpoint.1/' src/Makefile &&
+make -C src -j $CPUS &&
+make -C src install &&
+cat > /etc/inittab << "EOF"
+id:3:initdefault:
+
+si::sysinit:/etc/rc.d/init.d/rc sysinit
+
+l0:0:wait:/etc/rc.d/init.d/rc 0
+l1:S1:wait:/etc/rc.d/init.d/rc 1
+l2:2:wait:/etc/rc.d/init.d/rc 2
+l3:3:wait:/etc/rc.d/init.d/rc 3
+l4:4:wait:/etc/rc.d/init.d/rc 4
+l5:5:wait:/etc/rc.d/init.d/rc 5
+l6:6:wait:/etc/rc.d/init.d/rc 6
+
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+su:S016:once:/sbin/sulogin
+
+1:2345:respawn:/sbin/agetty tty1 9600
+2:2345:respawn:/sbin/agetty tty2 9600
+3:2345:respawn:/sbin/agetty tty3 9600
+4:2345:respawn:/sbin/agetty tty4 9600
+5:2345:respawn:/sbin/agetty tty5 9600
+6:2345:respawn:/sbin/agetty tty6 9600
+EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/tar.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+sed -i /SIGPIPE/d src/tar.c &&
+./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  sed -i '35 i AT_UNPRIVILEGED_PREREQ' tests/remfiles01.at &&
+  make check || exit 1
+fi
+
+make install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/texinfo.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,1 @@
+generic-check.sh
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/udev.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+install -d /lib/firmware /lib/udev/devices/pts /lib/udev/devices/shm &&
+mknod -m0666 /lilb/udev/devices/null c 1 3 &&
+./configure --prefix=/usr --sysconfdir=/etc --sbindir=/sbin \
+  --with-rootlibdir=/lib --libexecdir=/lib/udev --disable-extras \
+  --disable-introspection &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make check || exit 1
+fi
+
+make install &&
+rmdir /usr/share/doc/udev &&
+cd /mnt/packages/udev-config &&
+make -j $CPUS install || exit 1
+
+if [ ! -z "$DOCS" ]
+then
+  make intall-doc
+fi
--- a/sources/control-images/lfs-bootstrap/mnt/build/util-linux-ng.sh	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/build/util-linux-ng.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -3,6 +3,6 @@
 sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
   -i $(grep -rl '/etc/adjtime' .) &&
 mkdir -p /var/lib/hwclock &&
-./configure --enable-arch --enable-partx --enable-write &&
+./configure --enable-arch --enable-partx --enable-write --disable-nls &&
 make -j $CPUS &&
 make install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/control-images/lfs-bootstrap/mnt/build/vim.sh	Wed Nov 17 22:09:19 2010 -0600
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+sed -i '$a #define SYS_VIMRC_FILE "/etc/vimrc"' src/feature.h &&
+
+./configure --prefix=/usr --enable-multibyte &&
+make -j $CPUS || exit 1
+
+if [ ! -z "$CHECK" ]
+then
+  make test || exit 1
+fi
+
+make install &&
+ln -s vim /usr/bin/vi || exit 1
+for i in /usr/share/man/man1/vim.l /usr/share/man/*/man1/vim.l
+do
+  ln -sf vim.1 $(dirname $i)/vi.l || exit 1
+done
+
+cat > /etc/vimrc << "EOF"
+set nocompatible
+set backspace=2
+syntax on
+if (&term == "iterm") || (&term == "putty")
+  set background=dark
+endif
+EOF
--- a/sources/control-images/lfs-bootstrap/mnt/package-list	Sun Nov 14 14:45:01 2010 -0600
+++ b/sources/control-images/lfs-bootstrap/mnt/package-list	Wed Nov 17 22:09:19 2010 -0600
@@ -7,6 +7,7 @@
 sed		#busybox
 pkg-config	#development
 ncurses
+gettext		#development internationalization
 util-linux-ng
 e2fsprogs	#busybox
 coreutils	#busybox
@@ -16,7 +17,6 @@
 procps		#busybox
 grep		#busybox
 readline	#development
-gettext		#development internationalization
 bash		#development
 libtool		#development pointless
 gdbm