Placed here for reference as to what remains to be done. The orig/ subdir is the unmodified tools from anaconda. The scratch/ subdir is a merge of orig in to a working area. I delete blocks of code from there as I rewrite them.
		
			
				
	
	
		
			1031 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1031 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # upd-instroot
 | |
| #
 | |
| # Copyright (C) 2007, 2008 Red Hat, Inc.  All rights reserved.
 | |
| #
 | |
| # This program is free software; you can redistribute it and/or modify
 | |
| # it under the terms of the GNU General Public License as published by
 | |
| # the Free Software Foundation; either version 2 of the License, or
 | |
| # (at your option) any later version.
 | |
| #
 | |
| # This program is distributed in the hope that it will be useful,
 | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| # GNU General Public License for more details.
 | |
| #
 | |
| # You should have received a copy of the GNU General Public License
 | |
| # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| #
 | |
| 
 | |
| ORIGDIR=`pwd`
 | |
| DEBUG=""
 | |
| ARCH=`uname -m`
 | |
| 
 | |
| while [ $# -gt 0 ]; do
 | |
|     case $1 in
 | |
| 	--debug)
 | |
| 	    DEBUG="--debug"
 | |
| 	    shift
 | |
| 	    ;;
 | |
| 
 | |
| 	--arch)
 | |
| 	    ARCH=$2
 | |
| 	    shift; shift
 | |
| 	    ;;
 | |
| 
 | |
| 	--imgdir)
 | |
| 	    DEST=$2
 | |
| 	    shift; shift
 | |
| 	    ;;
 | |
| 
 | |
| 	# a filesystem tree to use as updates.  could be the output
 | |
| 	# of 'make install' from anaconda...
 | |
| 	--updates)
 | |
| 	    UPDATES=$2
 | |
| 	    shift; shift
 | |
| 	    ;;
 | |
| 
 | |
| 	--nogr)
 | |
| 	    echo "*** DeprecationWarning: ignoring --nogr option." >&2
 | |
| 	    shift
 | |
| 	    ;;
 | |
| 
 | |
| 	--mindir)
 | |
| 	    echo "*** DeprecationWarning: ignoring --mindir option." >&2
 | |
| 	    shift; shift
 | |
| 	    ;;
 | |
| 
 | |
| 	--stg2dir)
 | |
| 	    echo "*** DeprecationWarning: please use --imgdir instead of --stg2dir." >&2
 | |
| 	    shift; shift
 | |
| 	    ;;
 | |
| 
 | |
| 	*)
 | |
| 	    yumconf=$1
 | |
| 	    shift
 | |
| 	    ;;
 | |
|     esac
 | |
| done
 | |
| 
 | |
| if [ -z "$yumconf" ]; then
 | |
| 	echo "upd-instroot: updates instimage from a Red Hat RPMS directory"
 | |
| 	echo "usage:        $0 [--debug] [--arch arch] [--imgdir imgdir] [yumconf]"
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = x86_64 -o $ARCH = s390x -o $ARCH = ppc64 ]; then
 | |
|     LIBDIR=lib64
 | |
| else
 | |
|     LIBDIR=lib
 | |
| fi
 | |
| 
 | |
| if [ -z "$DEST" ]; then
 | |
|     DEST=`mktemp -d ${TMPDIR:-/tmp}/dest.XXXXXX`
 | |
| fi
 | |
| 
 | |
| if [ ! -f $yumconf ]; then
 | |
|     echo "Unable to find yum repo information!"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| . $(dirname $0)/buildinstall.functions
 | |
| 
 | |
| expandPackageSet() {
 | |
|     YUMCONF=$1
 | |
|     YUMDIR=$2
 | |
|     RPMS=$3
 | |
|     PKGDEST=$4
 | |
|     KEEPFILES=$5
 | |
| 
 | |
|     [ -d $PKGDEST ] || die "ERROR: directory missing: $PKGDEST"
 | |
|     if [ -z "$DEBUG" ]; then outlvl="--quiet" ; else outlvl="--verbose"; fi
 | |
|     yum $outlvl -c $YUMCONF -y --installroot=$YUMDIR install $RPMS 2>&1 || die "ERROR: could not install packages"
 | |
| 
 | |
|     if [ -n "$UPDATES" ]; then
 | |
| 	(cd $UPDATES; find) | (cd $UPDATES ; /bin/cpio --quiet -pmdu $YUMDIR)
 | |
|     fi
 | |
| 
 | |
|     # figure out the theme to keep
 | |
|     if [ -f $YUMDIR/etc/gtk-2.0/gtkrc ]; then
 | |
| 	gtktheme=$(grep "gtk-theme-name" $YUMDIR/etc/gtk-2.0/gtkrc | awk {'print $3;'} | sed -e 's/"//g')
 | |
| 	echo "usr/share/themes/$gtktheme" >> $KEEPFILES
 | |
| 	# find gtk engine needed
 | |
| 	for engine in `grep engine $YUMDIR/usr/share/themes/$gtktheme/gtk-2.0/gtkrc | awk {'print $2;'} | sed -e 's/"//g' | sort -u` ; do
 | |
| 	    echo "usr/$LIBDIR/gtk-2.0/*/engines/*$engine*" >> $KEEPFILES
 | |
| 	done
 | |
| 	
 | |
| 	theme=$(grep "gtk-icon-theme-name" $YUMDIR/etc/gtk-2.0/gtkrc | awk {'print $3;'} | sed -e 's/"//g')
 | |
| 	while [ -n "$theme" ]; do 
 | |
| 	    echo "usr/share/icons/$theme" >> $KEEPFILES
 | |
| 	    theme=$(grep Inherits $YUMDIR/usr/share/icons/$theme/index.theme | cut -d = -f 2)
 | |
| 	done
 | |
|     fi
 | |
| 
 | |
|     echo `date` "Installing files"
 | |
|     pushd $YUMDIR >/dev/null
 | |
|     cat $KEEPFILES | while read spec ; do
 | |
|       #Pull off path
 | |
|       path=`echo "$spec" | sed 's,\([^[*\?]*\)/.*,\1,'`
 | |
|       for filespec in `find ./$path -path "./$spec" 2> /dev/null` ; do
 | |
| 	if [ ! -e $filespec ]; then
 | |
| 	    continue
 | |
| 	elif [ ! -d $filespec ]; then
 | |
| 	    instFile $filespec $PKGDEST
 | |
| 	else
 | |
| 	    for i in `find $filespec -type f 2> /dev/null` ; do instFile $i $PKGDEST ; done
 | |
| 	    for i in `find $filespec -type l 2> /dev/null` ; do instFile $i $PKGDEST ; done
 | |
| 	    for d in `find $filespec -type d 2> /dev/null` ; do instDir $d $PKGDEST ; done
 | |
| 	fi
 | |
|       done
 | |
|     done
 | |
|     popd >/dev/null
 | |
| }
 | |
| 
 | |
| die () {
 | |
|     echo "$@"
 | |
|     echo "Aborting instroot creation..."
 | |
|     exit 1
 | |
| }
 | |
| 
 | |
| PACKAGES="GConf2 NetworkManager ORBit2 PolicyKit VLGothic-fonts acl anaconda
 | |
| 	anaconda-yum-plugins at-spi atk attr audit-libs bash bitmap-fonts-cjk
 | |
| 	booty busybox-anaconda bzip2 bzip2-libs cairo cjkunifonts-ukai
 | |
| 	comps-extras coreutils cpio cracklib-dicts cracklib-python
 | |
| 	cryptsetup-luks db4 dbus dbus-python dejavu-fonts device-mapper
 | |
| 	device-mapper-libs dhclient dhcpv6-client dmapi dmraid dmraid-libs
 | |
| 	dogtail dosfstools e2fsprogs e2fsprogs-libs echo-icon-theme
 | |
| 	elfutils-libelf expat firstboot fontconfig fonts-arabic fonts-bengali
 | |
| 	fonts-chinese fonts-gujarati fonts-hindi fonts-indic fonts-ISO8859-2
 | |
| 	fonts-kannada fonts-oriya fonts-punjabi
 | |
| 	fonts-sinhala fonts-tamil fonts-telugu freetype gail gdk-pixbuf
 | |
| 	gfs2-utils glib2 glibc-common gnome-python2-canvas gnome-python2-gconf
 | |
| 	gnome-python2-gtkhtml2 gnome-themes gpm gtk2 gtk2-engines gtkhtml2 hal
 | |
| 	hdparm hwdata initscripts iproute iputils iscsi-initiator-utils
 | |
| 	jfsutils keyutils-libs krb5-libs libICE libSM libX11 libXau
 | |
| 	libXaw libXcursor libXdmcp libXevie libXext libXfixes libXfont libXft
 | |
| 	libXi libXinerama libXmu libXpm libXrandr libXrender libXt libXtst
 | |
| 	libXxf86misc libacl libart_lgpl libattr libbdevid libbdevid-python
 | |
| 	libbonobo libdhcp libdhcp4client libdhcp6client libfontenc libgcc
 | |
| 	libglade2 libgnomecanvas libgcrypt libgpg-error libjpeg liblbxutil libnl
 | |
| 	libpixman libpng libselinux libselinux-python libsemanage
 | |
| 	libsemanage-python libsepol libstdc++ libtermcap libthai libuser
 | |
| 	libuser-python libvolume_id libxcb libxkbfile libxml2 lvm2 mdadm
 | |
| 	mesa-dri-drivers mkinitrd module-init-tools nash ncurses neon net-tools
 | |
| 	newt newt-python nfs-utils nspr nss pam pango parted pciutils pcre
 | |
| 	policy policycoreutils popt prelink procps pycairo pygobject2 pygtk2
 | |
| 	pygtk2-libglade pykickstart pyparted pyspi python python-bugzilla
 | |
| 	python-elementtree python-libs python-pyblock python-sqlite
 | |
| 	python-urlgrabber pyxf86config raidtools readline redhat-artwork
 | |
| 	reiserfs-utils rhpl rpm rpm-libs rpm-python sed selinux-policy-targeted
 | |
| 	setup slang smc-fonts-meera specspo sqlite synaptics system-config-date
 | |
| 	system-config-keyboard system-logos system-release taipeifonts
 | |
| 	tcp_wrappers ttfonts-bn ttfonts-gu ttfonts-hi ttfonts-ja ttfonts-ko
 | |
| 	ttfonts-pa ttfonts-ta ttfonts-zh_CN ttfonts-zh_TW tzdata udev
 | |
| 	un-core-fonts-dotum urw-fonts
 | |
| 	util-linux-ng vnc-libs vnc-server wpa_supplicant xkeyboard-config
 | |
| 	xfsdump xfsprogs xorg-x11 xorg-x11-auth xorg-x11-base
 | |
| 	xorg-x11-drivers xorg-x11-font-utils xorg-x11-fonts-100dpi
 | |
| 	xorg-x11-fonts-75dpi xorg-x11-fonts-ISO8859-1-75dpi
 | |
| 	xorg-x11-fonts-ISO8859-15-75dpi xorg-x11-fonts-ISO8859-2-75dpi
 | |
| 	xorg-x11-fonts-ISO8859-9-75dpi xorg-x11-fonts-cyrillic
 | |
| 	xorg-x11-fonts-ethiopic xorg-x11-fonts-misc xorg-x11-libs
 | |
| 	xorg-x11-libs-data xorg-x11-server-utils xorg-x11-server-Xorg
 | |
| 	xorg-x11-xkb-utils xorg-x11-xkbdata xorg-x11-xfs yum yum-fedorakmod
 | |
| 	yum-metadata-parser zenity zlib /etc/gtk-2.0/gtkrc"
 | |
| 
 | |
| if [ $ARCH = i386 ]; then
 | |
|     PACKAGES="$PACKAGES glibc.i386 openssl.i386"
 | |
| else
 | |
|     PACKAGES="$PACKAGES glibc openssl"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = i386 -o $ARCH = x86_64 ]; then
 | |
|     PACKAGES="$PACKAGES pcmciautils grub"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = i386 -o $ARCH = x86_64 -o $ARCH = ia64 ]; then
 | |
|     PACKAGES="$PACKAGES dmidecode efibootmgr"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = ia64 ]; then
 | |
|     # XXX this needs to switch to grub at some point...
 | |
|     PACKAGES="$PACKAGES elilo"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = s390 -o $ARCH = s390x ]; then
 | |
|     PACKAGES="$PACKAGES s390utils binutils libgcc tcp_wrappers
 | |
|               sed net-tools openssh openssh-server coreutils
 | |
|               login initscripts bash portmap pam 
 | |
|               login mount grep modutils gawk
 | |
|               strace xorg-x11-xauth xorg-x11-libs"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = ppc -o $ARCH = ppc64 ]; then
 | |
|     PACKAGES="$PACKAGES pcmciautils pdisk yaboot hfsutils"
 | |
| fi
 | |
| 
 | |
| #
 | |
| # stuff ONLY included for rescue mode
 | |
| #
 | |
| # these packages are combined with the PACKAGES for big stage 2
 | |
| #
 | |
| PACKAGESRESCUE="bzip2 bzip2-libs dump libidn
 | |
|                 findutils ftp gzip iputils joe krb5-libs less man
 | |
|                 modutils mtools mt-st mtr net-tools open smartmontools
 | |
|                 openssh openssh-clients pciutils rsh traceroute tar rsync
 | |
|                 device-mapper device-mapper-libs dmraid ntfsprogs samba-client
 | |
|                 firstaidkit-plugin-all"
 | |
| 
 | |
| if [ $ARCH = i386 -o $ARCH = x86_64 ]; then
 | |
|     PACKAGESRESCUE="$PACKAGESRESCUE gpart grub"
 | |
| fi
 | |
| 
 | |
| #
 | |
| # add bootloader for particular arch
 | |
| #
 | |
| if [ $ARCH = sparc ]; then
 | |
|     PACKAGES="$PACKAGES tilo silo"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = i386 -o $ARCH = x86_64 ]; then
 | |
|     PACKAGES="$PACKAGES syslinux memtest86+ grub"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = alpha ]; then
 | |
|     PACKAGES="$PACKAGES aboot"
 | |
| fi
 | |
| 
 | |
| if [ $ARCH = ppc ]; then
 | |
|     PACKAGES="$PACKAGES fbset yaboot ppc64-utils"
 | |
| fi
 | |
| 
 | |
| #
 | |
| # KEEPFILE is all files to keep from the packages in PACKAGES
 | |
| #
 | |
| # The files in this list define the install image used for all installation
 | |
| # methods.
 | |
| #
 | |
| # The rescue mode of anaconda uses these files as well as those defined
 | |
| # by KEEPFILERESCUE below.  The total size of this image should be
 | |
| # under the size of the miniature CD used for the rescue CD (around 68MB).
 | |
| #
 | |
| KEEPFILE=${TMPDIR:-/tmp}/keepfile.$$
 | |
| cat > $KEEPFILE <<EOF
 | |
| $LIBDIR/bdevid
 | |
| $LIBDIR/dbus-1
 | |
| $LIBDIR/libfreebl3.so
 | |
| $LIBDIR/libnss3.so
 | |
| $LIBDIR/libnss_dns*
 | |
| $LIBDIR/libnss_files*
 | |
| $LIBDIR/libnssckbi.so
 | |
| $LIBDIR/libnsspem.so
 | |
| $LIBDIR/libsmime3.so
 | |
| $LIBDIR/libsoftokn3.so
 | |
| $LIBDIR/libssl3.so
 | |
| bin/bash
 | |
| bin/cat
 | |
| bin/chmod
 | |
| bin/cp
 | |
| bin/cpio
 | |
| bin/dbus-daemon
 | |
| bin/dbus-uuidgen
 | |
| bin/dd
 | |
| bin/df
 | |
| bin/du
 | |
| bin/fdisk*
 | |
| bin/ln
 | |
| bin/ls
 | |
| bin/mkdir
 | |
| bin/mount
 | |
| bin/mv
 | |
| bin/ps
 | |
| bin/rm
 | |
| bin/rpm
 | |
| bin/sed
 | |
| bin/touch
 | |
| bin/umount
 | |
| boot/*.b
 | |
| boot/bootlx
 | |
| boot/efi/EFI/redhat/elilo.efi
 | |
| boot/efi/EFI/redhat/grub.efi
 | |
| boot/efika.forth
 | |
| boot/memtest86*
 | |
| etc/NetworkManager/nm-system-settings.conf
 | |
| etc/NetworkManager/dispatcher.d
 | |
| etc/PolicyKit/*
 | |
| etc/dbus-1/*
 | |
| etc/dbus-1/system.d/*
 | |
| etc/fb.modes
 | |
| etc/fonts
 | |
| etc/group
 | |
| etc/gtk-2.0/gtkrc*
 | |
| etc/hal
 | |
| etc/im_palette.pal
 | |
| etc/imrc
 | |
| etc/iscsid.conf
 | |
| etc/man.config
 | |
| etc/mke2fs.conf
 | |
| etc/nsswitch.conf
 | |
| etc/pango
 | |
| etc/passwd
 | |
| etc/pcmcia
 | |
| etc/prelink.conf
 | |
| etc/protocols
 | |
| etc/rc.d/init.d/functions
 | |
| etc/rpm/macros.prelink
 | |
| etc/selinux/targeted
 | |
| etc/services
 | |
| etc/shells
 | |
| etc/sysconfig/network-scripts/network-functions*
 | |
| etc/udev
 | |
| etc/wpa_supplicant/wpa_supplicant.conf
 | |
| etc/yum.repos.d/*
 | |
| etc/yum/pluginconf.d/blacklist.conf
 | |
| etc/yum/pluginconf.d/fedorakmod.conf
 | |
| etc/yum/pluginconf.d/whiteout.conf
 | |
| lib/terminfo
 | |
| lib/udev
 | |
| sbin/*gfs*
 | |
| sbin/arping
 | |
| sbin/badblocks
 | |
| sbin/busybox.anaconda
 | |
| sbin/clock
 | |
| sbin/consoletype
 | |
| sbin/cryptsetup
 | |
| sbin/debugfs
 | |
| sbin/dhclient
 | |
| sbin/dhclient-script
 | |
| sbin/dhcp6c
 | |
| sbin/dosfslabel
 | |
| sbin/dumpe2fs
 | |
| sbin/e2fsadm
 | |
| sbin/e2fsck
 | |
| sbin/e2label
 | |
| sbin/fdisk
 | |
| sbin/fsck
 | |
| sbin/fsck.ext2
 | |
| sbin/fsck.ext3
 | |
| sbin/fsck.jfs
 | |
| sbin/fsck.reiserfs
 | |
| sbin/fsck.xfs
 | |
| sbin/hdparm
 | |
| sbin/hwclock
 | |
| sbin/ifconfig
 | |
| sbin/ip
 | |
| sbin/iscsiadm
 | |
| sbin/iscsid
 | |
| sbin/iscsistart
 | |
| sbin/jfs_tune
 | |
| sbin/ldconfig
 | |
| sbin/lspci
 | |
| sbin/lvm*
 | |
| sbin/mdadm
 | |
| sbin/mkdosfs
 | |
| sbin/mke2fs
 | |
| sbin/mkfs.ext2
 | |
| sbin/mkfs.ext3
 | |
| sbin/mkfs.gfs2
 | |
| sbin/mkfs.jfs
 | |
| sbin/mkfs.msdos
 | |
| sbin/mkfs.vfat
 | |
| sbin/mkfs.xfs
 | |
| sbin/mkraid
 | |
| sbin/mkreiserfs
 | |
| sbin/mkswap
 | |
| sbin/mount.nfs*
 | |
| sbin/parted
 | |
| sbin/pcmcia-socket-startup
 | |
| sbin/pdisk
 | |
| sbin/probe
 | |
| sbin/reiserfsck
 | |
| sbin/reiserfstune
 | |
| sbin/resize2fs
 | |
| sbin/setfiles
 | |
| sbin/sfdisk
 | |
| sbin/silo
 | |
| sbin/tune2fs
 | |
| sbin/udev*
 | |
| sbin/umount.nfs*
 | |
| sbin/xfs_repair
 | |
| sbin/xfsdump
 | |
| sbin/xfsrestore
 | |
| usr/$LIBDIR/NetworkManager
 | |
| usr/$LIBDIR/dri
 | |
| usr/$LIBDIR/gconv
 | |
| usr/$LIBDIR/gdk-pixbuf/loaders/*la*
 | |
| usr/$LIBDIR/gdk-pixbuf/loaders/*png*
 | |
| usr/$LIBDIR/gdk-pixbuf/loaders/*xpm*
 | |
| usr/$LIBDIR/gtk-2.0/*/engines/libclearlooks.so
 | |
| usr/$LIBDIR/gtk-2.0/*/loaders/*la*
 | |
| usr/$LIBDIR/gtk-2.0/*/loaders/*png*
 | |
| usr/$LIBDIR/gtk-2.0/*/loaders/*xpm*
 | |
| usr/$LIBDIR/gtk-2.0/immodules
 | |
| usr/$LIBDIR/hal
 | |
| usr/$LIBDIR/libuser/*
 | |
| usr/$LIBDIR/pango
 | |
| usr/$LIBDIR/python?.?
 | |
| usr/$LIBDIR/python?.?/email
 | |
| usr/$LIBDIR/python?.?/site-packages/*.pth
 | |
| usr/$LIBDIR/python?.?/site-packages/*selinux*
 | |
| usr/$LIBDIR/python?.?/site-packages/*sqlite*
 | |
| usr/$LIBDIR/python?.?/site-packages/_dbus*
 | |
| usr/$LIBDIR/python?.?/site-packages/bdevid.so
 | |
| usr/$LIBDIR/python?.?/site-packages/block
 | |
| usr/$LIBDIR/python?.?/site-packages/cElementTree.so
 | |
| usr/$LIBDIR/python?.?/site-packages/cairo
 | |
| usr/$LIBDIR/python?.?/site-packages/firstboot
 | |
| usr/$LIBDIR/python?.?/site-packages/gtk*
 | |
| usr/$LIBDIR/python?.?/site-packages/gtk*/gtk
 | |
| usr/$LIBDIR/python?.?/site-packages/ixf86configmodule.so
 | |
| usr/$LIBDIR/python?.?/site-packages/libusermodule.so
 | |
| usr/$LIBDIR/python?.?/site-packages/partedmodule.so
 | |
| usr/$LIBDIR/python?.?/site-packages/rhpl
 | |
| usr/$LIBDIR/python?.?/site-packages/rpmmodule.so
 | |
| usr/$LIBDIR/python?.?/site-packages/xf86config.py
 | |
| usr/$LIBDIR/python?.?/xml/etree/
 | |
| usr/$LIBDIR/rpm/rpmpopt
 | |
| usr/$LIBDIR/libsqlite3.so*
 | |
| usr/$LIBDIR/xorg/modules
 | |
| usr/$LIBDIR/xserver/SecurityPolicy
 | |
| usr/bin/Xorg
 | |
| usr/bin/Xvnc
 | |
| usr/bin/chattr*
 | |
| usr/bin/gdialog
 | |
| usr/bin/gdk-pixbuf-query-loaders*
 | |
| usr/bin/gtk-query*
 | |
| usr/bin/gtk-update-icon-cache*
 | |
| usr/bin/hattrib
 | |
| usr/bin/hcopy
 | |
| usr/bin/head
 | |
| usr/bin/hformat
 | |
| usr/bin/hmount
 | |
| usr/bin/humount
 | |
| usr/bin/logger
 | |
| usr/bin/lsattr*
 | |
| usr/bin/lshal
 | |
| usr/bin/maketilo
 | |
| usr/bin/mini-wm
 | |
| usr/bin/mkzimage
 | |
| usr/bin/pango*
 | |
| usr/bin/python
 | |
| usr/bin/python?.?
 | |
| usr/bin/reduce-font
 | |
| usr/bin/setxkbmap
 | |
| usr/bin/syslinux
 | |
| usr/bin/tac
 | |
| usr/bin/tail
 | |
| usr/bin/tilo
 | |
| usr/bin/udevinfo
 | |
| usr/bin/uniq
 | |
| usr/bin/vncconfig
 | |
| usr/bin/vncpasswd
 | |
| usr/bin/xkbcomp
 | |
| usr/bin/xrandr
 | |
| usr/bin/zenity
 | |
| usr/lib/anaconda
 | |
| usr/lib/anaconda-runtime
 | |
| usr/lib/anaconda/installclasses
 | |
| usr/lib/anaconda/iw
 | |
| usr/lib/anaconda/textw
 | |
| usr/lib/booty
 | |
| usr/lib/kernel-wrapper
 | |
| usr/lib/locale
 | |
| usr/lib/python?.?/site-packages/bugzilla*
 | |
| usr/lib/python?.?/site-packages/cracklibmodule.so
 | |
| usr/lib/python?.?/site-packages/dbus
 | |
| usr/lib/python?.?/site-packages/dbus_bindings.py*
 | |
| usr/lib/python?.?/site-packages/elementtree
 | |
| usr/lib/python?.?/site-packages/iniparse
 | |
| usr/lib/python?.?/site-packages/pykickstart
 | |
| usr/lib/python?.?/site-packages/repomd
 | |
| usr/lib/python?.?/site-packages/rpmUtils
 | |
| usr/lib/python?.?/site-packages/urlgrabber
 | |
| usr/lib/python?.?/site-packages/yum
 | |
| usr/lib/rpm/macros
 | |
| usr/lib/rpm/rpmpopt
 | |
| usr/lib/rpm/rpmrc
 | |
| usr/lib/syslinux
 | |
| usr/lib/yaboot
 | |
| usr/lib/yum-plugins/blacklist.py*
 | |
| usr/lib/yum-plugins/fedorakmod.py*
 | |
| usr/lib/yum-plugins/whiteout.py*
 | |
| usr/libexec/convertdb1
 | |
| usr/libexec/hal*
 | |
| usr/libexec/nm-crash-logger
 | |
| usr/libexec/nm-dhcp-client.action
 | |
| usr/libexec/nm-dispatcher.action
 | |
| usr/libexec/polkit*
 | |
| usr/sbin/NetworkManager
 | |
| usr/sbin/nm-system-settings
 | |
| usr/sbin/addRamDisk
 | |
| usr/sbin/anaconda
 | |
| usr/sbin/chroot
 | |
| usr/sbin/ddcprobe
 | |
| usr/sbin/dmidecode
 | |
| usr/sbin/efibootmgr
 | |
| usr/sbin/fbset
 | |
| usr/sbin/genhomedircon
 | |
| usr/sbin/gptsync
 | |
| usr/sbin/hald
 | |
| usr/sbin/load_policy
 | |
| usr/sbin/lvm
 | |
| usr/sbin/mkofboot
 | |
| usr/sbin/ofpath
 | |
| usr/sbin/prelink
 | |
| usr/sbin/semodule
 | |
| usr/sbin/showpart
 | |
| usr/sbin/smartctl
 | |
| usr/sbin/wpa_passphrase
 | |
| usr/sbin/wpa_supplicant
 | |
| usr/sbin/wrapper
 | |
| usr/sbin/xfs_admin
 | |
| usr/sbin/xfs_check
 | |
| usr/sbin/xfs_copy
 | |
| usr/sbin/xfs_db
 | |
| usr/sbin/ybin
 | |
| usr/share/PolicyKit/policy/*
 | |
| usr/share/X11/XKeysymDB
 | |
| usr/share/X11/fonts/TTF/GohaTibebZemen.ttf
 | |
| usr/share/X11/fonts/misc/6x13*
 | |
| usr/share/X11/fonts/misc/cursor*
 | |
| usr/share/X11/fonts/misc/fonts*
 | |
| usr/share/X11/fonts/misc/olcursor*
 | |
| usr/share/X11/locale
 | |
| usr/share/X11/rgb*
 | |
| usr/share/X11/xkb
 | |
| usr/share/anaconda
 | |
| usr/share/anaconda/anaconda.conf
 | |
| usr/share/cracklib
 | |
| usr/share/dbus-1
 | |
| usr/share/fonts/*/lklug.ttf
 | |
| usr/share/fonts/*/lohit_bn.ttf
 | |
| usr/share/fonts/*/lohit_gu.ttf
 | |
| usr/share/fonts/*/lohit_hi.ttf
 | |
| usr/share/fonts/*/lohit_kn.ttf
 | |
| usr/share/fonts/*/lohit_or.ttf
 | |
| usr/share/fonts/*/lohit_pa.ttf
 | |
| usr/share/fonts/*/lohit_ta.ttf
 | |
| usr/share/fonts/*/lohit_te.ttf
 | |
| usr/share/fonts/VLGothic/VL-Gothic-Regular.ttf
 | |
| usr/share/fonts/cjkunifonts-uming/uming*.ttf
 | |
| usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
 | |
| usr/share/fonts/dejavu/DejaVuSans.ttf
 | |
| usr/share/fonts/dejavu/DejaVuSansMono.ttf
 | |
| usr/share/fonts/kacst/KacstFarsi.ttf
 | |
| usr/share/fonts/kacst/KacstQura.ttf
 | |
| usr/share/fonts/un-core/UnDotum.ttf
 | |
| usr/share/fonts/smc/Meera*.ttf
 | |
| usr/share/hal
 | |
| usr/share/hwdata/MonitorsDB
 | |
| usr/share/hwdata/pci.ids
 | |
| usr/share/hwdata/usb.ids
 | |
| usr/share/hwdata/videoaliases
 | |
| usr/share/hwdata/videodrivers
 | |
| usr/share/locale/*/LC_MESSAGES/anaconda.mo
 | |
| usr/share/locale/*/LC_MESSAGES/gtk20.mo
 | |
| usr/share/locale/*/LC_MESSAGES/libc.mo
 | |
| usr/share/locale/*/LC_MESSAGES/parted.mo
 | |
| usr/share/locale/*/LC_MESSAGES/redhat-dist.mo
 | |
| usr/share/locale/*/LC_MESSAGES/rhpl.mo
 | |
| usr/share/locale/*/LC_MESSAGES/system-config-date.mo
 | |
| usr/share/locale/*/LC_MESSAGES/system-config-keyboard.mo
 | |
| usr/share/locale/*/LC_MESSAGES/zenity.mo
 | |
| usr/share/locale/locale.alias
 | |
| usr/share/pixmaps/comps/*.png
 | |
| usr/share/pixmaps/gnome-default-dlg.png
 | |
| usr/share/pixmaps/gnome-error.png
 | |
| usr/share/pixmaps/gnome-info.png
 | |
| usr/share/pixmaps/gnome-question.png
 | |
| usr/share/pixmaps/gnome-warning.png
 | |
| usr/share/pixmaps/no.xpm
 | |
| usr/share/pixmaps/yes.xpm
 | |
| usr/share/ppc64-utils
 | |
| usr/share/system-config-date
 | |
| usr/share/system-config-date/zonetab.py*
 | |
| usr/share/system-config-keyboard
 | |
| usr/share/terminfo/l/linux
 | |
| usr/share/terminfo/v/vt100
 | |
| usr/share/terminfo/v/vt100-nav
 | |
| usr/share/terminfo/v/vt320
 | |
| usr/share/terminfo/v/vt320-w
 | |
| usr/share/terminfo/x/xterm
 | |
| usr/share/xorg/extramodes
 | |
| usr/share/xorg/vesamodes
 | |
| usr/share/zenity
 | |
| usr/share/zoneinfo/zone.tab
 | |
| var/cache/hald
 | |
| var/lib/PolicyKit*
 | |
| var/lib/dbus
 | |
| var/lib/hal
 | |
| var/lib/misc/PolicyKit*
 | |
| var/run/PolicyKit
 | |
| var/run/dbus
 | |
| EOF
 | |
| 
 | |
| if [ $ARCH = s390 -o $ARCH = s390x ]; then
 | |
|     cat >> $KEEPFILE <<EOF
 | |
| usr/share/terminfo/a/ansi
 | |
| usr/share/terminfo/d/dumb
 | |
| usr/share/terminfo/k/kterm
 | |
| usr/share/terminfo/s/screen
 | |
| usr/share/terminfo/v/vt102
 | |
| usr/share/terminfo/v/vt320
 | |
| usr/share/terminfo/v/vt320-w
 | |
| usr/share/terminfo/x/xterm
 | |
| usr/share/terminfo/x/xterm-color
 | |
| usr/bin/strace
 | |
| usr/bin/ldd
 | |
| usr/sbin/chroot
 | |
| usr/sbin/sshd
 | |
| usr/sbin/glibc_post_upgrade
 | |
| sbin/cmsfslst
 | |
| sbin/cmsfscat
 | |
| sbin/busybox.anaconda
 | |
| sbin/ifconfig
 | |
| sbin/route
 | |
| sbin/portmap
 | |
| sbin/fdasd
 | |
| sbin/dasdfmt
 | |
| sbin/swapon
 | |
| sbin/swapoff
 | |
| sbin/mkswap
 | |
| bin/bash
 | |
| bin/dd
 | |
| bin/gawk
 | |
| bin/mount
 | |
| bin/umount
 | |
| bin/mknod
 | |
| bin/sleep
 | |
| bin/login
 | |
| bin/cat
 | |
| bin/chmod
 | |
| bin/sort
 | |
| lib/modules/ibm
 | |
| etc/pam.d/sshd
 | |
| etc/pam.d/other
 | |
| etc/security/limits.conf
 | |
| etc/security/pam_env.conf
 | |
| lib/security
 | |
| $LIBDIR/security/pam_*
 | |
| usr/bin/xauth
 | |
| EOF
 | |
| fi
 | |
| 
 | |
| # more dogtail stuff...
 | |
| cat >> $KEEPFILE <<EOF
 | |
| usr/$LIBDIR/gtk-2.0/modules/libatk-bridge.so
 | |
| usr/$LIBDIR/gtk-2.0/modules/libgail.so
 | |
| usr/libexec/bonobo-activation-server
 | |
| usr/libexec/at-spi-registryd
 | |
| usr/$LIBDIR/bonobo/servers
 | |
| usr/libexec/gconfd-2
 | |
| usr/$LIBDIR/GConf/2/libgconfbackend-xml.so
 | |
| usr/$LIBDIR/python?.?/site-packages/gtk-2.0/atk.so
 | |
| usr/$LIBDIR/python?.?/site-packages/gtk-2.0/gconf.so
 | |
| usr/$LIBDIR/python?.?/site-packages/atspi.so
 | |
| usr/lib/python?.?/site-packages/dogtail/*.py
 | |
| EOF
 | |
| 
 | |
| #
 | |
| # KEEPFILERESCUE is all files to keep from the packages in PACKAGESRESCUE
 | |
| #
 | |
| # This defines the files in addition to KEEPFILE that make up
 | |
| # the install images for NFS and CD/DVD based rescue mode installs.  This 
 | |
| # image is not loaded into memory so it can be considerably larger.
 | |
| #
 | |
| # NOTE: hd, ftp, and http rescue mode use and image based on KEEPFILE since
 | |
| #       it has to be much smaller due to memory usage.
 | |
| #
 | |
| KEEPFILERESCUE=${TMPDIR:-/tmp}/keepfilerescue.$$
 | |
| cat > $KEEPFILERESCUE <<EOF
 | |
| bin/find
 | |
| bin/gunzip
 | |
| bin/gzip
 | |
| bin/mt
 | |
| bin/ping
 | |
| bin/sync
 | |
| bin/tar
 | |
| bin/zcat
 | |
| etc/joe
 | |
| sbin/arp
 | |
| sbin/blkid
 | |
| sbin/depmod
 | |
| sbin/dmraid
 | |
| sbin/dmsetup
 | |
| sbin/dump
 | |
| sbin/ifconfig
 | |
| sbin/insmod
 | |
| sbin/lsmod
 | |
| sbin/modinfo
 | |
| sbin/modprobe
 | |
| sbin/netstat
 | |
| sbin/restore
 | |
| sbin/rrestore
 | |
| sbin/rmmod
 | |
| sbin/route
 | |
| sbin/mount.cifs
 | |
| sbin/umount.cifs
 | |
| usr/bin/bunzip2
 | |
| usr/bin/bzcat
 | |
| usr/bin/bzip2
 | |
| usr/bin/emacs
 | |
| usr/bin/find
 | |
| usr/bin/ftp
 | |
| usr/bin/jmacs
 | |
| usr/bin/joe
 | |
| usr/bin/jpico
 | |
| usr/bin/less
 | |
| usr/bin/mattrib
 | |
| usr/bin/mbadblocks
 | |
| usr/bin/mcd
 | |
| usr/bin/mcopy
 | |
| usr/bin/mdel
 | |
| usr/bin/mdeltree
 | |
| usr/bin/mdir
 | |
| usr/bin/mdu
 | |
| usr/bin/mformat
 | |
| usr/bin/minfo
 | |
| usr/bin/mlabel
 | |
| usr/bin/mmd
 | |
| usr/bin/mmount
 | |
| usr/bin/mmove
 | |
| usr/bin/mpartition
 | |
| usr/bin/mrd
 | |
| usr/bin/mread
 | |
| usr/bin/mren
 | |
| usr/bin/mshowfat
 | |
| usr/bin/mtools
 | |
| usr/bin/mtype
 | |
| usr/bin/mzip
 | |
| usr/bin/open
 | |
| usr/bin/rcp
 | |
| usr/bin/rlogin
 | |
| usr/bin/rsh
 | |
| usr/bin/rsync
 | |
| usr/bin/scp
 | |
| usr/bin/sftp
 | |
| usr/bin/shred
 | |
| usr/bin/ssh
 | |
| usr/bin/termidx
 | |
| usr/bin/xargs
 | |
| usr/bin/ntfscat
 | |
| usr/bin/ntfscluster
 | |
| usr/bin/ntfscmp
 | |
| usr/bin/ntfsdecrypt
 | |
| usr/bin/ntfsdump_logfile
 | |
| usr/bin/ntfsfix
 | |
| usr/bin/ntfsinfo
 | |
| usr/bin/ntfsls
 | |
| usr/bin/ntfsmftalloc
 | |
| usr/bin/ntfsmove
 | |
| usr/bin/ntfstruncate
 | |
| usr/bin/ntfswipe
 | |
| usr/bin/firstaidkit
 | |
| usr/sbin/mkntfs
 | |
| usr/sbin/ntfsclone
 | |
| usr/sbin/ntfscp
 | |
| usr/sbin/ntfslabel
 | |
| usr/sbin/ntfsresize
 | |
| usr/sbin/ntfsundelete
 | |
| usr/sbin/mtr
 | |
| usr/sbin/smartctl
 | |
| usr/sbin/traceroute
 | |
| usr/$LIBDIR/firstaidkit/plugins/
 | |
| usr/lib/python?.?/site-packages/pyfirstaidkit/
 | |
| EOF
 | |
| 
 | |
| if [ $ARCH = i386 -o $ARCH = x86_64 ]; then
 | |
|     cat >> $KEEPFILERESCUE <<-EOF
 | |
| sbin/grub
 | |
| usr/bin/gpart
 | |
| usr/share/grub
 | |
| EOF
 | |
| fi
 | |
| 
 | |
| echo "Assembling package list..."
 | |
| RPMS="$PACKAGES $PACKAGESRESCUE"
 | |
| [ -n "$DEBUG" ] && echo "RPMS are $RPMS"
 | |
| 
 | |
| rm -rf $DEST; mkdir -p $DEST/usr/sbin $DEST/var/lib $DEST/boot
 | |
| ln -s /tmp $DEST/var/lib/xkb
 | |
| 
 | |
| #
 | |
| # concat KEEPFILE and KEEPFILERESCUE lists
 | |
| #
 | |
| cat $KEEPFILERESCUE >> $KEEPFILE
 | |
| 
 | |
| echo `date` "Expanding packages..."
 | |
| YUMDIR=${TMPDIR:-/tmp}/yumdir.$$
 | |
| mkdir -p $YUMDIR/var/log
 | |
| mkdir -p $YUMDIR/var/lib/yum
 | |
| 
 | |
| expandPackageSet $yumconf $YUMDIR "$RPMS" $DEST $KEEPFILE
 | |
| echo `date` "Done Expanding packages..."
 | |
| 
 | |
| # Dogtail will check this
 | |
| echo "Creating customized GConf2 settings for root"
 | |
| mkdir -p $DEST/.gconf/desktop/gnome/interface
 | |
| touch $DEST/.gconf/desktop/%gconf.xml
 | |
| touch $DEST/.gconf/desktop/gnome/%gconf.xml
 | |
| cat > $DEST/.gconf/desktop/gnome/interface/%gconf.xml <<EOF
 | |
| <?xml version="1.0"?>
 | |
| <gconf>
 | |
|         <entry name="accessibility" mtime="1176200664" type="bool" value="true">
 | |
|         </entry>
 | |
| </gconf>
 | |
| EOF
 | |
| 
 | |
| rm -rf $YUMDIR
 | |
| 
 | |
| chown -R root:root $DEST
 | |
| chmod -R a+rX-w $DEST
 | |
| 
 | |
| # Remove locales unused during the install
 | |
| cat $DEST/usr/lib/anaconda/lang-table* | awk '
 | |
| { gsub("-", "", $4);
 | |
|   print $4;
 | |
|   print gensub(/\..*$/,"","",$4);
 | |
|   print gensub(/_.*$/,"","",$4);
 | |
|   if (split ($4, a, ".") > 1) {
 | |
|     print gensub(/\..*$/,tolower("." a[2]),"",$4);
 | |
|   };
 | |
|   print $2;
 | |
| }
 | |
| ' | sed -e 's/latn/Latn/g' | LC_ALL=C sort -u > $DEST/locales
 | |
| for p in lib share; do (
 | |
| cd $DEST/usr/$p/locale && {
 | |
| ls | grep -v locale.alias | grep -v locale-archive | LC_ALL=C sort > $DEST/locales.list
 | |
| LC_ALL=C comm -13 $DEST/locales $DEST/locales.list | xargs rm -rf
 | |
| }
 | |
| ); done
 | |
| rm -f $DEST/locales $DEST/locales.list
 | |
| 
 | |
| # fixup joe links
 | |
| if [ -d "$DESTDIR"/etc/joe ]; then
 | |
|     ln -fs jpicorc $DEST/etc/joe/picorc
 | |
|     ln -fs jpicorc $DEST/etc/joe/jnanorc
 | |
|     ln -fs jpicorc $DEST/etc/joe/nanorc
 | |
|     ln -fs jmacsrc $DEST/etc/joe/emacsrc
 | |
|     ln -fs jmacs $DEST/usr/bin/emacs
 | |
|     ln -fs jpico $DEST/usr/bin/pico
 | |
|     ln -fs jpico $DEST/usr/bin/nano
 | |
| fi
 | |
| 
 | |
| # fix up some links for man page related stuff
 | |
| for file in nroff groff iconv geqn gtbl gpic grefer ; do
 | |
|     ln -fs /mnt/sysimage/usr/bin/$file $DEST/usr/bin/$file
 | |
| done
 | |
| 
 | |
| # create selinux config
 | |
| if [ -e $DEST/etc/selinux/targeted ]; then
 | |
|   cat > $DEST/etc/selinux/config <<EOF
 | |
| SELINUX=permissive
 | |
| SELINUXTYPE=targeted
 | |
| EOF
 | |
| fi
 | |
| 
 | |
| echo "Creating libuser.conf"
 | |
| cat > $DEST/etc/libuser.conf <<EOF
 | |
| [defaults]
 | |
| skeleton = /mnt/sysimage/etc/skel
 | |
| mailspooldir = /mnt/sysimage/var/mail
 | |
| crypt_style = md5
 | |
| modules = files shadow
 | |
| create_modules = files shadow
 | |
| [files]
 | |
| directory = /mnt/sysimage/etc
 | |
| [shadow]
 | |
| directory = /mnt/sysimage/etc
 | |
| EOF
 | |
| 
 | |
| sed -i 's|\(installforallkernels\) = 0|\1 = 1|' $DEST/etc/yum/pluginconf.d/fedorakmod.conf
 | |
| 
 | |
| #
 | |
| # Manual pages in rescue: We dont have man pages in the image, so we point everything (The pages
 | |
| # and the man scripts to the /mnt/sysimage.  We want the man command to depend only on the
 | |
| # man.conf file, so we don't use the $MANPATH env variable.  The executables stay unchanged as
 | |
| # they will be soft links to /mnt/sysimage.
 | |
| #
 | |
| echo "Fixing up /etc/man.config to point into /mnt/sysimage"
 | |
| #
 | |
| # Lets avoid the lines with MANPATH_MAP for now
 | |
| #
 | |
| sed -i "s,^MANPATH[^_MAP][ \t]*,&/mnt/sysimage," $DEST/etc/man.config
 | |
| 
 | |
| #
 | |
| # Lets change the lines with MANPATH_MAP.  Don't know how much of a difference this will make.
 | |
| #
 | |
| sed -i "s,^MANPATH_MAP[ \t]*[a-zA-Z0-9/]*[ \t]*,&/mnt/sysimage," $DEST/etc/man.config
 | |
| 
 | |
| echo "Scrubbing tree..." "$DEST"
 | |
| mkdir -p $DEST/lib
 | |
| mkdir -p $DEST/firmware
 | |
| ln -snf /modules $DEST/lib/modules
 | |
| ln -snf /firmware $DEST/lib/firmware
 | |
| cp $DEST/usr/lib/anaconda/raidstart-stub $DEST/usr/bin/raidstart
 | |
| cp $DEST/usr/lib/anaconda/raidstop-stub $DEST/usr/bin/raidstop
 | |
| cp $DEST/usr/lib/anaconda/losetup-stub $DEST/usr/bin/losetup
 | |
| cp $DEST/usr/lib/anaconda/list-harddrives-stub $DEST/usr/bin/list-harddrives
 | |
| cp $DEST/usr/lib/anaconda/loadkeys-stub $DEST/usr/bin/loadkeys
 | |
| cp $DEST/usr/lib/anaconda/mknod-stub $DEST/usr/bin/mknod
 | |
| cp $DEST/usr/lib/anaconda/syslogd-stub $DEST/usr/bin/syslogd
 | |
| mv $DEST/usr/sbin/anaconda $DEST/usr/bin/anaconda
 | |
| mv $DEST/usr/lib/anaconda-runtime/lib* $DEST/usr/$LIBDIR 2>/dev/null
 | |
| 
 | |
| mv $DEST/etc/yum.repos.d $DEST/etc/anaconda.repos.d
 | |
| 
 | |
| rm -f $DEST/usr/$LIBDIR/libunicode-lite*
 | |
| 
 | |
| find $DEST -type d | xargs chmod 755
 | |
| 
 | |
| if [ -f $DEST/bin/bash ]; then
 | |
|     rm -f $DEST/bin/ash
 | |
|     ln -s bash $DEST/bin/sh
 | |
| else
 | |
|     ln -sf busybox $DEST/bin/sh
 | |
| fi
 | |
| 
 | |
| [ -d $DEST/bin ] || die "ERROR: directory missing: $DEST/bin"
 | |
| [ -d $DEST/sbin ] || die "ERROR: directory missing: $DEST/sbin"
 | |
| (cd $DEST/bin; find) | (cd $DEST/bin; /bin/cpio --quiet -pdmu $DEST/usr/bin)
 | |
| (cd $DEST/sbin; find) | (cd $DEST/sbin; /bin/cpio --quiet -pdmu $DEST/usr/sbin)
 | |
| rm -rf $DEST/bin
 | |
| rm -rf $DEST/sbin
 | |
| 
 | |
| # Fix relative links like /usr/bin/udevinfo -> ../../sbin/udevadm
 | |
| for brokenlink in $(find $DEST/usr/{bin,sbin} -follow -lname '*') ; do
 | |
|     target="$(readlink $brokenlink)"
 | |
|     for pathbit in bin sbin; do
 | |
|         # if it starts with "../../sbin/", remove that
 | |
|         newtarget="${target##../../$pathbit/}"
 | |
|         # if we removed something, replace it with the proper path
 | |
|         if [ "$newtarget" != "$target" ]; then
 | |
|             # make it ../sbin/ instead
 | |
|             ln -sf "../$pathbit/$newtarget" "$brokenlink"
 | |
|         fi
 | |
|     done
 | |
| done
 | |
| 
 | |
| # copy bootloader files for sparc
 | |
| if [ $ARCH = sparc ]; then
 | |
|     mkdir -p $DEST/usr/lib/anaconda-runtime/boot
 | |
|     [ -d $DEST/boot ] || die "ERROR: directory missing: $DEST/boot"
 | |
|     (cd $DEST/boot; find -name "*.b") | (cd $DEST/boot; /bin/cpio --quiet -pdmu $DEST/usr/lib/anaconda-runtime/boot)
 | |
| fi
 | |
| 
 | |
| # copy bootloader file for ppc
 | |
| if [ $ARCH = ppc -o $ARCH = ppc64 ]; then
 | |
|     mkdir -p $DEST/usr/lib/anaconda-runtime/boot
 | |
|     cp -af $DEST/boot/efika.forth $DEST/usr/lib/anaconda-runtime/boot
 | |
| fi
 | |
| 
 | |
| # copy bootloader file for alpha
 | |
| if [ $ARCH = alpha ]; then
 | |
|     mkdir -p $DEST/usr/lib/anaconda-runtime/boot
 | |
|     cp -af $DEST/boot/bootlx $DEST/usr/lib/anaconda-runtime/boot
 | |
| fi
 | |
| 
 | |
| # copy bootloader files for ia64
 | |
| if [ $ARCH = ia64 ]; then
 | |
|     mkdir -p $DEST/usr/lib/anaconda-runtime/boot
 | |
|     cp -af $DEST/boot/efi/EFI/redhat//* $DEST/usr/lib/anaconda-runtime/boot
 | |
| fi
 | |
| 
 | |
| # copy bootloader files for i386/x86_64
 | |
| if [ $ARCH = i386 -o $ARCH = x86_64 ]; then
 | |
|     mkdir -p $DEST/usr/lib/anaconda-runtime/boot
 | |
|     cp -af $DEST/boot/memtest* $DEST/usr/lib/anaconda-runtime/boot
 | |
| fi
 | |
| 
 | |
| rm -rf $DEST/boot $DEST/home $DEST/root $DEST/tmp
 | |
| 
 | |
| find $DEST -name "*.a" | grep -v kernel-wrapper/wrapper.a | xargs rm -rf
 | |
| find $DEST -name "lib*.la" |grep -v "usr/$LIBDIR/gtk-2.0" | xargs rm -rf
 | |
| 
 | |
| # nuke some python stuff we don't need
 | |
| for d in idle distutils bsddb lib-old hotshot doctest.py pydoc.py site-packages/japanese site-packages/japanese.pth ; do
 | |
|     rm -rf $DEST/$d
 | |
| done
 | |
| 
 | |
| $DEST/usr/lib/anaconda-runtime/scrubtree $DEST
 | |
| 
 | |
| echo "Creating debug dir"
 | |
| mkdir -p $DEST/usr/lib/debug
 | |
| mkdir -p $DEST/usr/src/debug
 | |
| 
 | |
| find $DEST -name "*.py" | while read fn; do
 | |
|     rm -f ${fn}o
 | |
|     rm -f ${fn}c
 | |
|     ln -sf /dev/null ${fn}c
 | |
| done
 | |
| 
 | |
| # some python stuff we don't need for install image
 | |
| rm -rf $DEST/usr/$LIBDIR/python?.?/site-packages/distutils/
 | |
| rm -rf $DEST/usr/$LIBDIR/python?.?/site-packages/lib-dynload/japanese
 | |
| rm -rf $DEST/usr/$LIBDIR/python?.?/site-packages/encodings/
 | |
| rm -rf $DEST/usr/$LIBDIR/python?.?/site-packages/compiler/
 | |
| rm -rf $DEST/usr/$LIBDIR/python?.?/site-packages/email/test/
 | |
| rm -rf $DEST/usr/$LIBDIR/python?.?/site-packages/curses/
 | |
| rm -rf $DEST/usr/$LIBDIR/python?.?/site-packages/pydoc.py
 |