felix-scripts/0000755000175000017500000000000011510612762012313 5ustar natenatefelix-scripts/CHANGELOG0000644000175000017500000000303111510611431013512 0ustar natenateChangelog for installation scripts. * Augest 2008 to September 2008 - Jonathan Norman - Cross Linux From Scratch boot scripts added - DHCP bootscript installed - GPM bootscript installed - Bootscripts moved from install.sh to bootscripts.sh - TOP variable now exported - Header added to rpm-install.sh - Start messaged added to rpm-install.sh - Date format of (DD.MM.YYYY) specified for american users - CUPS RPM added - Distcc RPM added - libjpg RPM added - libTIFF RPM added - libpng RPM added - Sudo RPM added - Wget RPM added - GPM RPM added - DHCP RPM added - Start message added to interactive.sh - Hostname eched is quotation marks - Spacing added between hostname and hard drive config - Removed repeat of "2>&1" in create-things.sh:106 - /lib removed from echo of udev's pts and shm directories for neatness - Mistake of Null being echoed instead of kmsg for create-things.sh:168 - if statment for network-devices directory added to create-things.sh - if statment for ifconfig.eth0 directory added to create-things.sh - if statment for services directory added to create-things.sh - if statment for dhclint file added to create-things.sh - if statment for dhclint.conf file added to create-things.sh - Added 'rpm -qa' to chroot.sh to get error output - Added 'rpm --rebuilddb --root=/' to rebuild the RPM database in full - links.rpm added - shm changed to tmpfs in fstab - Fixed type from 'BLue' to 'Blue' in grub's menu.lst - Commented out the serial port connection in the initab - Network section added to README **** Total: 35 changes noted **** felix-scripts/README0000644000175000017500000001657011510612762013204 0ustar natenateWelcome to Blue Square Linux. This is a quick guide to installing BSL onto your system. Written: 8th September 2008 1. Introduction 2. Networking (optional) 3. Partitioning the hard drive 4. Formatting the hard drive 5. Mounting the hard drive 6. Running the scripts 7. Setting up the boot loader > 7a. Installing the boot loader > 7b. Adding BSL to another distribution 8. First boot 9. License 1. Introduction ------------------------------- Blue Square Linux is created by Jonathan Norman based on the Linux From Scratch project. BSL is aimed at developer workstations and servers with compilation tools and stable software. BSL 2008.08 Felix is the first public release so please enjoy :) Website: bluesquarelinux.co.uk Email: jonathan [at] bluesquarelinux.co.uk Before you can install BSL you are required to log in as the root user and follow the steps below. 2. Networking (optional) ------------------------------- If you do not require access to your network or the internet then you may skip this stage. Release 2 of the LiveCD has added networking and DHCP support. In order to use the network you are required to load the correct kernel module for your network card. After you have done this you will then be able to start network support on the LiveCD. The network card modules are located in: /lib/modules/2.6.25.10/kernel/drivers/net Assuming that you are using the PCnet32 network card that is common for the VMware and VirtualBox software you will have to issue these commands to first load the module then start the networking support. $ insmod /lib/modules/2.6.25.10/kernel/drivers/net/pcnet32.ko $ /etc/rc.d/init.d/network start 3. Partitioning the hard drive ------------------------------- Assuming that you wish to install BSL to your primary master IDE hard drive, Your hard drive will be /dev/hda but it has no partitions on it. Open the hard drive with the fdisk partition editor. $ fdisk /dev/hda Linux requires two partitions. A root partition for the OS and a swap partition for virtual memory. First we will make the root partition on the hard drive. Technically the swap partition is not required but it is strongly recommended. Press "n" to create a new partition and then select "p" for "primary partition". Now enter "1" (one) because this is the first partition. For the first cylinder just press the return key for the default. Say you have a 40GB hard drive and you wish to have 2GB swap at the end. For the last cylinder enter "+38G" (40GB - 2GB = 38GB). To make the swap partition you press "n" followed by "p" like before. Enter "2" or "3" (two or three respectfully) depending on if you want to have /dev/hda2 or /dev/hda3 as your swap. As there is 2GB of space left at the end of the hard drive you simply have to hit the return key to use the default values for the cylinders. Once you are finished press "p" to check out the new partition map and also make a note of your root and swap partitions, as you will need them later on. Once you are ready press "w" to write this information to the partition table. 4. Formatting the hard drive ------------------------------- Before you can use your hard drive it needs to be formatted. The default file system for BSL is XFS but you may wish to use ext3 for example. The below will show you how to format the hard drive in XFS or ext3 using the /dev/hda example from above. ONLY DO ONE OF THE BELOW COMMANDS. XFS $ mkfs.xfs /dev/hda1 ext3 $ mkfs.ext3 /dev/hda1 This will format your root partition and now make it usable. Next you will format your swap partition. $ mkswap /dev/hda2 5. Mounting the hard drive -------------------------------- In order to be able to install BSL to your hard drive you need to mount it first. To do that you first need to make a mount point. The first command creates a mount point called "drive" under the "/mount" directory. The second command mount your target drive of /dev/hda1 to this. If you used ext3 instead of XFS replace "xfs" with "ext3" in the second command. $ mkdir -v /mount/drive $ mount -t xfs /dev/hda1 /mount/drive 6. Running the scripts -------------------------------- There are shell scripts that will install BSL located inside /root/scripts and the one that you will use is called "install.sh". This is the master script with runs all of the others and sets important variables. There are two ways to run the script. With DESTDIR: $ DESTDIR=/mount/drive /root/scripts/install.sh Without DESTDIR: $ /root/scripts/install.sh # Please enter the mount point you wish to install Blue Square Linux to (e.g. /mnt/hda) : At this point you should now enter "/mount/drive" because this is your mount point. During the scripts you will be asked for a hostname, this is the name you wish to call your computer by. The hostname must not contain any spaces or symbols. You will also be asked for your root partition (/dev/hda1), your root file system (xfs) and your swap partition (/dev/hda2). These should have been noted down from step 2. After this the script will finish the installation itself. 7. Setting up the boot loader ------------------------------- If you are installing BSL to a blank hard drive please follow step 6a. If you want to add BSL as a boot option under another linux distribution follow step 6b. 7a. Installing the boot loader -------------------------------- Before your installation can be booted into you need to install GRUB. GRUB is the boot loader used by BSL and in order to install it you first need to mount /dev and /proc in your installation. $ mount -v --bind /dev /mount/drive/dev $ mount -t proc proc /mount/drive/proc Now you can chroot into your installation. Without /dev and /proc mounted you will not be able to install GRUB to your MBR. To chroot into your installation run the below command. $ chroot /mount/drive Once inside the chroot you should now open up the GRUB console. $ grub Tell grub what hard drive you want to use as your root partition. GRUB uses it's own naming structure for drives and partitions so /dev/hda1 becomes (hd0,0) because hda is your first hard drive, "o" (zero) and the "1" (one) is your first partition (also zero). > root (hd0,0) The last stage in the installation of GRUB is to write the boot loader to your MBR. This will be (hd0) for /dev/hda. > setup (hd0) > quit Now your GRUB is installed to the MBR is complete you will now exit the chroot and unmount the /dev and /proc devices that you mounted earlier. At this point you will also unmount the installation point $ exit $ umount /mount/drive/proc $ umount /mount/drive/dev $ umount /mount/drive 7b. Adding BSL to another distribution ------------------------------- You will need to add the following lines to the bottom of /boot/grub/menu.lst . This is the grub configuration files and is read at boot time and listed the boot options installed. This option is for advanced users because you will have to substitute the values of "root" and "root=" . title Blue Square Linux 2008.08 Felix root (hd0,0) kernel /boot/vmlinuz root=/dev/hda1 vga=789 8. First boot ------------------------------ When you first boot your BSL system you will be asked to login, because you have not created any users you should login as the "root" user. There is no password yet but once you login you should see a file called "first_boot.sh". Run this file and it will rebuild the RPM database and will also ask you to set a root password. 9. License -------------------------------- Dated: 04.01.2011 Refer to LICENSE file for new lisence. felix-scripts/LICENSE0000644000175000017500000000272711510612675013333 0ustar natenateCopyright (c) 2008, 2011, Jonathan G. Norman Redistribution and use of the install scripts, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Blue Square Linux nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. felix-scripts/bootscripts.sh0000755000175000017500000000110711510611431015214 0ustar natenate#!/bin/sh echo -e "\nInstalling the bootscripts\n" echo -e "Installting Linux From Scratch bootscripts...\c " tar xf $TOP/lfs-bootscripts.tar.bz2 cd lfs-bootscripts-20080522 make install > /dev/null cd .. rm -rf lfs-bootscripts-20080522 echo -e "\tDone" tar xf $TOP/bootscripts-cross-lfs-1.1-pre10.tar.bz2 cd bootscripts-cross-lfs echo -e "Installing General Purpose Mouse bootscript...\c " make install-gpm > /dev/null echo -e "\tDone" echo -e "Installing DHCP bootscript...\c " make install-service-dhclient > /dev/null echo -e "\t\t\tDone" cd .. rm -rf bootscripts-cross-lfs felix-scripts/chroot.sh0000644000175000017500000000126411510611431014140 0ustar natenate#!/bin/zsh echo -e "This script will now complete the installation\n" #change shadow default settings sed -i 's/yes/no/' /etc/default/useradd sed -i 's/bash/zsh/' /etc/default/useradd #enable shadow user and group pwconv grpconv # Set root password passwd -d root > /dev/null # get RPM db error rpm -qa > /dev/null 2>&1 #rebuild DB after error rpm --rebuilddb --root=/ #add first boot scripts cat > /root/first_boot.sh << "EOF" #!/bin/bash #rebuild RPM DB rpm --rebuilddb --root=/ # set root password echo "Now enter the root password or leave blank for none." passwd root # remove this file rm /root/first_boot.sh EOF chmod +x /root/first_boot.sh # remove this script rm chroot.sh felix-scripts/create-things.sh0000755000175000017500000020541211510611431015403 0ustar natenate#!/bin/bash # Copyright 2008 Jonathan Norman # # Last updated 06.09.2008 (DD.MM.YYYY) # echo -e "\nCreating essential directories and nodes\n" # Create basic kernel directories if [ ! -d $DESTDIR/dev ];then echo -e "Creating /dev...\c " mkdir $DESTDIR/dev echo -e "\t\tDone" fi if [ ! -d $DESTDIR/proc ];then echo -e "Creating /proc...\c " mkdir $DESTDIR/proc echo -e "\t\tDone" fi if [ ! -d $DESTDIR/sys ];then echo -e "Creating /sys...\c " mkdir $DESTDIR/sys echo -e "\t\tDone" fi # make nodes if [ ! -e $DESTDIR/dev/console ];then echo -e "Creating /dev/console...\c " mknod -m 600 $DESTDIR/dev/console c 5 1 echo -e "\tDone" fi if [ ! -e $DESTDIR/dev/null ];then echo -e "Creating /dev/null ...\c " mknod -m 666 $DESTDIR/dev/null c 1 3 echo -e "\t\tDone" fi # Create FH echo -e "\nCreating OS File Hierarchy\n" if [ ! -d $DESTDIR/bin ];then echo -e "Creating /bin...\c " mkdir $DESTDIR/bin echo -e "\t\tDone" fi if [ ! -d $DESTDIR/boot ];then echo -e "Creating /boot...\c " mkdir $DESTDIR/boot echo -e "\t\tDone" fi if [ ! -d $DESTDIR/etc ];then echo -e "Creating /etc...\c " mkdir $DESTDIR/etc echo -e "\t\tDone" fi if [ ! -d $DESTDIR/home ];then echo -e "Creating /home...\c " mkdir $DESTDIR/home echo -e "\t\tDone" fi if [ ! -d $DESTDIR/lib ];then echo -e "Creating /lib...\c " mkdir $DESTDIR/lib echo -e "\t\tDone" fi if [ ! -d $DESTDIR/mount ];then echo -e "Creating /mount...\c " mkdir $DESTDIR/mount echo -e "\t\tDone" fi if [ ! -d $DESTDIR/sbin ];then echo -e "Creating /sbin...\c " mkdir $DESTDIR/sbin echo -e "\t\tDone" fi if [ ! -d $DESTDIR/srv ];then echo -e "Creating /srv...\c " mkdir $DESTDIR/srv echo -e "\t\tDone" fi if [ ! -d $DESTDIR/var ];then echo -e "Creating /var...\c " mkdir $DESTDIR/var echo -e "\t\tDone" fi if [ ! -d $DESTDIR/root ];then echo -e "Creating /root...\c " install -d -m 0750 $DESTDIR/root echo -e "\t\tDone" fi install -d -m 1777 $DESTDIR/tmp $DESTDIR/var/tmp > /dev/null 2>&1 2>&1 mkdir -pv $DESTDIR/usr/{,local/}{bin,include,lib,sbin,src} > /dev/null 2>&1 mkdir -pv $DESTDIR/usr/{,local/}share/{doc,info,locale,man} > /dev/null 2>&1 mkdir -v $DESTDIR/usr/{,local/}share/{misc,terminfo,zoneinfo} > /dev/null 2>&1 mkdir -pv $DESTDIR/usr/{,local/}share/man/man{1..8} > /dev/null 2>&1 for dir in $DESTDIR/usr $DESTDIR/usr/local; do ln -sv share/{man,doc,info} $dir > /dev/null 2>&1 done mkdir -v $DESTDIR/var/{lock,log,mail,run,spool} > /dev/null 2>&1 mkdir -pv $DESTDIR/var/{cache,lib/{misc,locate},local} > /dev/null 2>&1 if [ ! -d $DESTDIR/etc/sysconfig ];then echo -e "Creating /etc/sysconfig...\c " mkdir $DESTDIR/etc/sysconfig echo -e "\tDone" fi if [ ! -d $DESTDIR/etc/zsh ];then echo -e "Creating /etc/zsh...\c " mkdir $DESTDIR/etc/zsh echo -e "\t\tDone" fi if [ ! -d $DESTDIR/etc/skel ];then echo -e "Creating /etc/skel...\c " mkdir $DESTDIR/etc/skel echo -e "\t\tDone" fi if [ ! -d $DESTDIR/lib/udev ];then echo -e "Creating /lib/udev...\c " install -d $DESTDIR/lib/udev echo -e "\t\tDone" fi if [ ! -d $DESTDIR/lib/udev/devices ];then echo -e "Creating /lib/udev/devices...\c " install -d $DESTDIR/lib/udev/devices echo -e "\tDone" fi if [ ! -d $DESTDIR/lib/udev/devices/pts ];then echo -e "Creating udev/devices/pts...\c " install -d $DESTDIR/lib/udev/devices/pts echo -e "\tDone" fi if [ ! -d $DESTDIR/lib/udev/devices/shm ];then echo -e "Creating /udev/devices/shm...\c " install -d $DESTDIR/lib/udev/devices/shm echo -e "\tDone" fi if [ ! -e $DESTDIR/lib/udev/devices/null ];then echo -e "Creating udev null node...\c " mknod -m0666 $DESTDIR/lib/udev/devices/null c 1 3 echo -e "\tDone" fi if [ ! -e $DESTDIR/lib/udev/devices/kmsg ];then echo -e "Creating udev kmsg node...\c " mknod -m0600 $DESTDIR/lib/udev/devices/kmsg c 1 11 echo -e "\tDone" fi # End FH echo -e "\nCreating configuration files\n" # Weclome message if [ ! -f $DESTDIR/etc/motd ];then echo -e "Creating MOTD...\c " echo "Welcome to Blue Square Linux" > $DESTDIR/etc/motd echo -e "\t\tDone" fi # Shells if [ ! -f $DESTDIR/etc/shells ];then echo -e "Creating shell list... \c " cat > $DESTDIR/etc/shells << "EOF" # List of installed shells. /bin/sh /bin/zsh /bin/bash EOF echo -e "\t\tDone" fi # create release version echo -e "Creating release name...\c " echo "$RELEASE_VER $RELEASE_NAME" > $DESTDIR/etc/bsl-release echo -e "\tDone" # mtab, passwd and group if [ ! -e $DESTDIR/etc/mtab ];then echo -e "Creating /etc/mtab...\c " touch $DESTDIR/etc/mtab echo -e "\t\tDone" fi if [ ! -e $DESTDIR/etc/group ];then echo -e "Creating /etc/group...\c " cat > $DESTDIR/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: uucp:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: mail:x:34: nogroup:x:99: EOF echo -e "\t\tDone" fi if [ ! -e $DESTDIR/etc/passwd ];then echo -e "Creating basic passwd file...\c " cat > $DESTDIR/etc/passwd << "EOF" root:x:0:0:root:/root:/bin/zsh nobody:x:99:99:Unprivileged User:/dev/null:/bin/false EOF echo -e "\tDone" fi # utmp, lastlog, btmp and wtmp files if [ ! -e $DESTDIR/var/run/utmp ];then echo -e "Creating /var/run/utmp...\c " touch $DESTDIR/var/run/utmp chgrp utmp $DESTDIR/var/run/utmp chmod 664 $DESTDIR/var/run/utmp echo -e "\tDone" fi if [ ! -e $DESTDIR/var/log/lastlog ];then echo -e "Creating /var/log/lastlog...\c " touch $DESTDIR/var/log/lastlog chgrp utmp $DESTDIR/var/log/lastlog chmod 664 $DESTDIR/var/log/lastlog echo -e "\tDone" fi if [ ! -e $DESTDIR/var/log/btmp ];then echo -e "Creating /var/log/btmp...\c " touch $DESTDIR/var/log/btmp echo -e "\tDone" fi if [ ! -e $DESTDIR/var/log/wtmp ];then echo -e "Creating /var/log/wtmp...\c " touch $DESTDIR/var/log/wtmp echo -e "\tDone" fi # nsswitch.conf and ld.so.conf if [ ! -e $DESTDIR/etc/nsswitch.conf ];then echo -e "Creating /etc/nsswitch.conf...\c " cat > $DESTDIR/etc/nsswitch.conf << "EOF" # Begin /etc/nsswitch.conf passwd: files group: files shadow: files hosts: files dns networks: files protocols: files services: files ethers: files rpc: files # End /etc/nsswitch.conf EOF echo -e "\tDone" fi if [ ! -e $DESTDIR/etc/ld.so.conf ];then echo -e "Creating /etc/ld.so.conf...\c " cat > $DESTDIR/etc/ld.so.conf << "EOF" # Begin /etc/ld.so.conf /usr/local/lib /usr/X11R7/lib # End /etc/ld.so.conf EOF echo -e "\tDone" fi # sysklogd config if [ ! -e $DESTDIR/etc/syslog.conf ];then echo -e "Creating /etc/syslog.conf...\c " cat > $DESTDIR/etc/syslog.conf << "EOF" # Begin /etc/syslog.conf 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 * # End /etc/syslog.conf EOF echo -e "\tDone" fi #sysvinit config if [ ! -e $DESTDIR/etc/inittab ];then echo -e "Creating /etc/inittab...\c " cat > $DESTDIR/etc/inittab << "EOF" # Begin /etc/inittab 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 # Local console 1:2345:respawn:/sbin/agetty -I '\033(K' tty1 9600 2:2345:respawn:/sbin/agetty -I '\033(K' tty2 9600 3:2345:respawn:/sbin/agetty -I '\033(K' tty3 9600 4:2345:respawn:/sbin/agetty -I '\033(K' tty4 9600 5:2345:respawn:/sbin/agetty -I '\033(K' tty5 9600 6:2345:respawn:/sbin/agetty -I '\033(K' tty6 9600 # Serial port # c0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 # End /etc/inittab EOF echo -e "\tDone" fi # setclock script if [ ! -e $DESTDIR/etc/sysconfig/clock ];then echo -e "Creating /etc/sysconfig/clock\c " cat > $DESTDIR/etc/sysconfig/clock << "EOF" # Begin /etc/sysconfig/clock UTC=1 # End /etc/sysconfig/clock EOF echo -e "\tDone" fi # inputrc if [ ! -e $DESTDIR/etc/inputrc ];then echo -e "Creating /etc/inputrc...\c " cat > /etc/inputrc << "EOF" # Begin /etc/inputrc # Modified by Chris Lynn # 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 # End /etc/inputrc EOF echo -e "\tDone" fi if [ ! -e $DESTDIR/etc/zsh/zprofile ];then echo -e "Creating zprofile...\c " cat > $DESTDIR/etc/zsh/zprofile << "EOF" PATH="/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/X11R7/bin" LANG="en_US.UTF-8" PS1="%{%}%U%n@%m%u%{%}[%B%h%b]:%{%}%B%~%b%{%}% $ " export PATH LANG PS1 # key bindings bindkey "\e[1~" beginning-of-line bindkey "\e[4~" end-of-line bindkey "\e[5~" beginning-of-history bindkey "\e[6~" end-of-history bindkey "\e[3~" delete-char bindkey "\e[2~" quoted-insert bindkey "\e[5C" forward-word bindkey "\eOc" emacs-forward-word bindkey "\e[5D" backward-word bindkey "\eOd" emacs-backward-word bindkey "\e\e[C" forward-word bindkey "\e\e[D" backward-word bindkey "^H" backward-delete-word # for rxvt bindkey "\e[8~" end-of-line bindkey "\e[7~" beginning-of-line # for non RH/Debian xterm, can't hurt for RH/DEbian xterm bindkey "\eOH" beginning-of-line bindkey "\eOF" end-of-line # for freebsd console bindkey "\e[H" beginning-of-line bindkey "\e[F" end-of-line # completion in the middle of a line bindkey '^i' expand-or-complete-prefix EOF echo -e "\t\tDone" fi if [ ! -f $DESTDIR/etc/skel/.zshrc ];then echo -e "Creating skel/.zshrc...\c " touch $DESTDIR/etc/skel/.zshrc echo -e "\t\tDone" fi if [ ! -f $DESTDIR/etc/skel/.zsh_history ];then echo -e "Creating skel/.zsh_history...\c " touch $DESTDIR/etc/skel/.zsh_history echo -e "\tDone" fi # Sets up the network and DHCP client configure if [ ! -d $DESTDIR/etc/sysconfig/network-devices ];then echo -e "Creating network-devices...\c " mkdir $DESTDIR/etc/sysconfig/network-devices echo -e "\tDone" fi if [ ! -d $DESTDIR/etc/sysconfig/network-devices/ifconfig.eth0 ];then echo -e "Creating ifconfig.eth0...\c " mkdir $DESTDIR/etc/sysconfig/network-devices/ifconfig.eth0 echo -e "\tDone" fi if [ ! -d $DESTDIR/etc/sysconfig/network-devices/services ];then echo -e "Creating services...\c " mkdir $DESTDIR/etc/sysconfig/network-devices/services echo -e "\tDone" fi if [ ! -f $DESTDIR/etc/sysconfig/network-devices/ifconfig.eth0/dhclient ];then echo -e "Creating dhclient file...\c " cat > $DESTDIR/etc/sysconfig/network-devices/ifconfig.eth0/dhclient << "EOF" ONBOOT="yes" SERVICE="dhclient" DHCP_START="-q" DHCP_STOP="-q -r" PRINTIP="yes" PRINTALL="no" EOF echo -e "\tDone" fi if [ ! -f $DESTDIR/etc/dhclient.conf ]; then echo -e "Creating dhclient.conf...\c " cat > $DESTDIR/etc/dhclient.conf << "EOF" # dhclient.conf interface "eth0"{ prepend domain-name-servers 127.0.0.1 request subnet-mask, broadcast-address, time-offset routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; } # end dhclient.conf EOF echo -e "\tDone" fi # Creates RPM file hierarchy and macros file. (this is huge) mkdir -pv $DESTDIR/usr/src/rpm/{SPECS,SOURCES,BUILD,RPMS/{noarch,$(uname -m)},SRPM} $DESTDIR/usr/lib/rpm > /dev/null if [ ! -f $DESTDIR/usr/lib/rpm/macros ];then cat > $DESTDIR/usr/lib/rpm/macros << "EOF" #/*! \page config_macros Default configuration: /usr/lib/rpm/macros # \verbatim # # $Id: macros.in,v 1.241.2.2 2008/06/04 22:46:07 jbj Exp $ # # This is a global RPM configuration file. All changes made here will # be lost when the rpm package is upgraded. Any per-system configuration # should be added to %{_etcrpm}/macros, while per-user configuration should # be added to ~/.rpmmacros. # #============================================================================== # Macro naming conventions: # # Macros that begin with an underscore are "local" in the sense that # they (if used) will not be exported in rpm headers. Some macros # that don't start with an underscore (but look like they should) # are compatible with macros generated by rpm-2.5.x and will be made # more consistent in a future release. # %_rpmversion 5.1.4 #============================================================================== # ---- A macro that expands to nothing. # %nil %{!?nil} #============================================================================== # ---- filesystem macros. # %_usr /usr %_usrsrc %{_usr}/src %_var /var %_usrlibrpm /usr/lib/rpm %_etcrpm /etc/rpm %__objext o %__libext a %__shlibext so %__exeext %{nil} %_rpmhome %{_usrlibrpm} #============================================================================== # ---- Generally useful path macros. # %__awk gawk %__bash /bin/bash %__bzip2 /bin/bzip2 %__cat /bin/cat %__chgrp /bin/chgrp %__chmod /bin/chmod %__chown /bin/chown %__cp /bin/cp %__cpio /bin/cpio %__curl %{_bindir}/curl %__cvs %{_bindir}/cvs %__diff /usr/bin/diff %__ditto %{_bindir}/ditto %__file /usr/bin/file %__find /bin/find %__gpg %{_bindir}/gpg %__grep /bin/grep %__gzip /bin/gzip %__hg %{_bindir}/hg %__id /usr/bin/id %__install /usr/bin/install %__install_info /usr/bin/install-info %__ldconfig /sbin/ldconfig %__lua %{_bindir}/lua %__ln_s ln -s %__lzma %{_bindir}/lzma %__lzop %{_bindir}/lzop %__make /usr/bin/make %make %{__make} %__mkdir /bin/mkdir %__mkdir_p /bin/mkdir -p %__mv /bin/mv %__patch /usr/bin/patch %__pax %{_bindir}/pax %__perl /usr/bin/perl %__pgp %{_bindir}/pgp %__php %{_bindir}/php %__python /usr/bin/python %__rm /bin/rm %__rsh /usr/bin/rsh %__sed /bin/sed %__sh /bin/sh %__ssh /usr/bin/ssh %__svn %{_bindir}/svn %__tar /bin/tar %__tclsh %{_bindir}/tclsh %__unzip /usr/bin/unzip %__vcheck %{__perl} %{_rpmhome}/vcheck %__wget /usr/bin/wget %__xar %{_bindir}/xar #============================================================================== # ---- Build system path macros. # %__ar ar %__as /usr/bin/as %__cc gcc %__cpp gcc -E %__cxx @CXX@ %__ld /usr/bin/ld %__nm /usr/bin/nm %__objcopy /usr/bin/objcopy %__objdump /usr/bin/objdump %__ranlib ranlib %__remsh %{__rsh} %__strip /usr/bin/strip # XXX avoid failures if tools are not installed when rpm is built. %__libtoolize libtoolize %__aclocal aclocal %__autoheader autoheader %__automake automake %__autoconf autoconf #============================================================================== # Conditional build stuff. # Check if symbol is defined. # Example usage: %if %{defined with_foo} && %{undefined with_bar} ... %defined() %{expand:%%{?%{1}:1}%%{!?%{1}:0}} %undefined() %{expand:%%{?%{1}:0}%%{!?%{1}:1}} # Shorthand for %{defined with_...} %with() %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}} %without() %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}} # Handle conditional builds. %bcond_with is for case when feature is # default off and needs to be activated with --with ... command line # switch. %bcond_without is for the dual case. # # %bcond_with foo defines symbol with_foo if --with foo was specified on # command line. # %bcond_without foo defines symbol with_foo if --without foo was *not* # specified on command line. # # For example (spec file): # # (at the beginning) # %bcond_with extra_fonts # %bcond_without static # (and later) # %if %{with extra_fonts} # ... # %else # ... # %endif # %if ! %{with static} # ... # %endif # %ifdef %{with static} # ... # %endif # %{?with_static: ... } # %{!?with_static: ... } # %{?with_extra_fonts: ... } # %{!?with_extra_fonts: ... } # # The bottom line: never use without_foo, _with_foo nor _without_foo, only # with_foo. This way changing default set of bconds for given spec is just # a matter of changing single line in it and syntax is more readable. %bcond_with() %{expand:%%{?_with_%{1}:%%global with_%{1} 1}} %bcond_without() %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}} # #============================================================================== # ---- Required macros. # Macros that used to be initialized as a side effect of parsing. # These are the default values that can be overridden by other # (e.g. per-platform, per-system, per-packager, per-package) macros. # # The directory where sources/patches will be unpacked and built. %_builddir %{_topdir}/BUILD # The interpreter used for build scriptlets. %_buildshell /bin/bash # The location of the rpm database file(s). %_dbpath %{_var}/lib/rpm # The location of the rpm database file(s) after "rpm --rebuilddb". %_dbpath_rebuild %{_dbpath} # # Path to script that creates debug symbols in a /usr/lib/debug # shadow tree. # # A spec file can %%define _find_debuginfo_opts to pass options to # the script. See the script for details. # %__debug_install_post \ %{_rpmhome}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\ %{nil} # Template for debug information sub-package. %debug_package \ %ifnarch noarch\ %global __debug_package 1\ %package debug\ Summary: Debug information for package %{name}\ Group: Development/Debug\ AutoReqProv: 0\ %description debug\ This package provides debug information for package %{name}.\ Debug information is useful when developing applications that use this\ package or when debugging this package.\ %files debug -f debugfiles.list\ %defattr(-,root,root)\ %endif\ %{nil} %_defaultdocdir %{_usr}/doc # The path to the pgp executable (legacy, use %{__pgp} instead). %_pgpbin %{__pgp} # The directory where newly built binary packages will be written. %_rpmdir %{_topdir}/RPMS # A template used to generate the output binary package file name # (legacy). %_rpmfilename %{_build_name_fmt} # The default signature type. %_signature gpg # The directories where sources/patches/icons from a source package will # be installed. This is also where sources/patches/icons are found # when building. %_sourcedir %{_topdir}/SOURCES %_patchdir %{_sourcedir} %_icondir %{_sourcedir} # The directory where the spec file from a source package will be # installed. %_specdir %{_topdir}/SPECS # The directory where newly built source packages will be written. %_srcrpmdir %{_topdir}/SRPMS # Directory where temporaray files can be created. %_tmppath %{_var}/tmp %tmpdir %{_tmppath} # Path to top of build area. %_topdir %{_usr}/src/rpm #============================================================================== # ---- Optional macros. # Macros that are initialized as a side effect of spec # file parsing. # # Configurable build root path, same as BuildRoot: in a specfile. # (Note: the configured macro value will override the spec file value). # %buildroot %{_tmppath}/%{name}-root # The sub-directory (relative to %{_builddir}) where sources are compiled. # This macro is set after processing %setup, either explicitly from the # value given to -n or the default name-version. # #%buildsubdir # Truncate changelogs to no. of entries or date. # <=0 disables # <1000 truncates to no. of entries # Otherwise, a get_date string (e.g. "2 years ago") may be entered, # and changelog entries older than that date will not be added to headers. %_changelog_truncate 1 year ago # Configurable distribution information, same as Distribution: tag in a # specfile. # #%distribution # Configurable distribution URL, same as DistURL: tag in a specfile. # The URL will be used to supply reliable information to tools like # rpmfind. # # Note: You should not configure with disturl (or build packages with # the DistURL: tag) unless you are willing to supply content in a # yet-to-be-determined format at the URL specified. # #%disturl # Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files # marked as %doc should be installed. #%_excludedocs # The port and machine name of a FTP proxy host running TIS firewall. # #%_ftpport #%_ftpproxy # The signature to use and the location of configuration files for # signing packages with GNU gpg. # #%_gpg_name #%_gpg_path # The port and machine name of an HTTP proxy host. # #%_httpport #%_httpproxy # The PATH put into the environment before running %pre/%post et al. # %_install_script_path /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin # A colon separated list of desired locales to be installed; # "all" means install all locale specific files. # %_install_langs all # The value of CLASSPATH in build scriptlets (iff configured). # #%_javaclasspath all # Import packaging conventions from jpackage.org (prefixed with _ # to avoid name collisions). # %_javadir %{_datadir}/java %_javadocdir %{_datadir}/javadoc # # Deprecated. # #%_langpatt # A colon separated list of paths where files should *not* be installed. # Usually, these are network file system mount points. # #%_netsharedpath # (experimental) # The type of pattern match used on rpmdb iterator selectors: # "default" simple glob-like regex, periods will be escaped, # splats will have period prepended, full "^...$" match # required. Also, file path tags will use glob(7). # "strcmp" compare strings # "regex" regex(7) patterns using regcomp(3)/regexec(3) # "glob" glob(7) patterns using fnmatch(3) # %_query_selector_match default # Configurable packager information, same as Packager: in a specfile. # #%packager # Compression type and level for source/binary package payloads. # "w9.gzdio" gzip level 9 (default). # "w9.bzdio" bzip2 level 9. # "w7.lzdio" lzma level 7. # #%_source_payload w9.gzdio %_binary_payload w9.bzdio # Archive formats to use for source/binary package payloads. # "cpio" cpio archive (default) # "ustar" tar archive # #%_source_payload_format cpio #%_binary_payload_format cpio # The signature to use and the location of configuration files for # signing packages with PGP. # #%_pgp_name #%_pgp_path # Configurable vendor information, same as Vendor: in a specfile. # #%vendor #============================================================================== # ---- Build configuration macros. # # Package version macro. # The type of package to produce, for compatibility with legacy # versions of rpm. # # This is an rpm version, e.g. 30005 means to produce packaging compatible # with rpm-3.0.5. At the moment, values < 30005 (i.e. compatibility with # version before rpm-3.0.5) are not supported. The only incompatible change # in rpm packaging since rpm-3.0.5 has been to replace a 3 with a 4 in the # rpmlead, so there's little need to use any value greater than 30005. # %_package_version 30005 # # The patch macro writes 1 line of shell code to (optionally) uncompress # a file and apply using patch(1). # %patch(b:p:P:REz:F:d:) %{shrink:\ %define __patch_number %{-P:%{-P*}}%{!-P:0} \ %define __patch_file %{P:%{__patch_number}} \ %define __patch_suffix %{-b:-b --suffix %{-b*}} %{-z:--suffix %{-z*}} \ %define __patch_options -s %{-p:-p%{-p*}} %{-F:-F%{-F*}} %{-d:-d%{-d*}} %{-R} %{-E} %{__patch_suffix} \ echo "Patch #%{__patch_number} (%{basename:%{__patch_file}}):" && %{uncompress:%{__patch_file}} | %{__patch} %{__patch_options}\ } # # Script gets packaged file list on input and buildroot as first parameter. # Returns list of unpackaged files, i.e. files in $RPM_BUILD_ROOT not packaged. # # Note: Disable (by commenting out) for legacy compatibility. %__check_files %{_rpmhome}/check-files %{buildroot} # # Should unpackaged files in a build root terminate a build? # # Note: The default value should be 0 for legacy compatibility. %_unpackaged_files_terminate_build 1 # # Should missing %doc files in the build directory terminate a build? # # Note: The default value should be 0 for legacy compatibility. %_missing_doc_files_terminate_build 1 # # Should an ELF file processed by find-debuginfo.sh having no build ID # terminate a build? This is left undefined to disable it and defined to # enable. # #%_missing_build_ids_terminate_build 1 # # Use internal dependency generator rather than external helpers? %_use_internal_dependency_generator 2 # # Disabler for adding /bin/sh scriptlet interpreter dependencies. %_disable_shell_interpreter_deps 0 # # Filter GLIBC_PRIVATE Provides: and Requires: %_filter_GLIBC_PRIVATE 0 # Desired selinux policy tree %__policy_tree %{expand:%%global __policy_tree %{lua:\ t="targeted"\ f = io.open("/etc/selinux/config")\ if f then\ for l in f:lines() do\ if "SELINUXTYPE=" == string.sub(l,0,12) then t=string.sub(l,13); end\ end\ f:close()\ end\ print (t)\ }}%{__policy_tree} # Path to selinux file context patterns. %__file_context_path /etc/selinux/%{__policy_tree}/contexts/files/file_contexts # # Path to selinux file context patterns used to add # RPMTAG_FILECONTEXTS to packages when building. # # Undefined, missing or %{nil} will disable. %_build_file_context_path %{nil} # # Path to selinux file context patterns used to set # (or override package content) file contexts when installing. # # Undefined, missing or %{nil} will use package content (if available). %_install_file_context_path %{__file_context_path} # # Path to selinux file context patterns used to verify # file contexts on file system. # # Undefined, missing or %{nil} will use package content (if available). %_verify_file_context_path %{__file_context_path} # # Path to scripts to autogenerate package dependencies, # # Note: Used iff _use_internal_dependency_generator is zero. #%__find_provides %{_rpmhome}/rpmdeps --provides #%__find_requires %{_rpmhome}/rpmdeps --requires %__find_provides %{_rpmhome}/find-provides %__find_requires %{_rpmhome}/find-requires #%__find_conflicts ??? #%__find_obsoletes ??? # # fixowner, fixgroup, and fixperms are run at the end of hardcoded setup # These macros are necessary only for legacy compatibility, and have moved # to per-platform macro configuration (i.e. %{_usrlibrpm}/arch>-/macros) # # Note: These are no longer enabled by default. #%__id_u %{__id} -u #%__chown_Rhf %{__chown} -Rhf #%__chgrp_Rhf %{__chgrp} -Rhf #%_fixowner [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root #%_fixgroup [ `%{__id_u}` = '0' ] && %{__chgrp_Rhf} root #%_fixperms %{__chmod} -Rf a+rX,u+w,g-w,o-w # # # Choose metadata file digest algorithm: # 1 MD5 # 2 SHA1 # 3 RIPEMD-160 # 5 MD2 # 6 TIGER-192 # 8 SHA256 # 9 SHA384 # 10 SHA512 # 104 MD4 # 105 RIPEMD-128 # 106 CRC-32 # 107 ADLER-32 # 108 CRC-64 (ECMA-182 polynomial, untested uint64_t problems) # 109 Jenkins lookup3.c hashlittle() # # Note: choosing anything but MD5 introduces instant legacy incompatibility. %_build_file_digest_algo 1 %_build_binary_file_digest_algo %{_build_file_digest_algo} %_build_source_file_digest_algo %{_build_file_digest_algo} # # Path to magic file used for file classification. %_rpmfc_magic_path %{_rpmhome}/magic # # Colon separated list of permitted arbitrary tag names %_arbitrary_tags Class:Track:Trackprog:Foo:Bar:Baz # # Byte size of line buffer for .spec file parsing %_spec_line_buffer_size 100000 # # Maximum Icon: graphic file size (undefined or < 2048 uses 2048). %_build_iconsize 2048 #============================================================================== # ---- Database configuration macros. # Macros used to configure Berkley db parameters. # # rpmdb macro configuration values are a colon (or white space) separated # list of tokens, with an optional '!' negation to explicitly disable bit # values, or a "=value" if a parameter. A per-tag value is used (e.g. # %_dbi_config_Packages) if defined, otherwise a per-rpmdb default # (e.g. %_dbi_config). The configuration is also conditioned on the # existence of an internal %{_rpmdb_rebuild} switch to permit changing # the configuration while rebuilding an rpmdb database. # # The rpmdb configuration tokens are in a popt table in rpmdb/dbconfig.c, # see that for the latest gory details. Note carefully that, unless you # are writing an rpm installer, you shouldn't have to touch *any* of these # parameters. # # Here's a short list of the tokens, with a guess of whether the option is # useful: # (nothing) currently used in rpm, known to work. # "+++" under development, will be supported in rpm eventually. # "???" I have no clue, you're mostly on your own. # # If you do find yourself inclined to fiddle, here's what I see (shrug): # 1) Only the value of mp_size has any serious impact on overall performance, # and you will need ~256Kb to handle a typical machine install. # 2) Only the Packages hash, because of the size of the values (i.e. headers), # will ever need tuning. Diddle the pagesize if you're interested, although # I believe that you will find pagesize=512 "best". # 3) Adding nofsync increases speed, but risks total data loss. Fiddle shared # and/or mp_size instead. # 4) btree is faster than hash, but would require some painful rpm release # engineering to convert everbody's databases to btree, not gonna happen # soon. # # See the db3-devel package, or http://www.sleepycat.com for Berkeley db-3.x # documentation. # # token works? Berkeley db flag or value #================================================== #---------------------- DBENV->open parameters and tunable values: # mmapsize=16Mb DBENV->set_mp_mmapsize # cachesize=1Mb DBENV->set_cachesize, DB->set_cachesize #---------------------- DBENV->open and DB->open common bits: # create DB_CREATE # thread ??? DB_THREAD (useless w/o posix mutexes on linux) #---------------------- DBENV->open bits: # joinenv DB_JOIN_ENV # mpool DB_INIT_MPOOL # cdb +++ DB_INIT_CDB # txn ??? DB_INIT_TXN # log ??? DB_INIT_LOG # lock ??? DB_INIT_LOCK # recover ??? DB_RECOVER # recover_fatal ??? DB_RECOVER_FATAL # use_environ ??? DB_USE_ENVIRON # use_environ_root ??? DB_USE_ENVIRON_ROOT # private +++ DB_PRIVATE # lockdown ??? DB_LOCKDOWN # shared +++ DB_SYSTEM_MEM #---------------------- DB->open parameters and tunable values: # pagesize=512 +++ DB->set_pagesize #---------------------- DB->open bits: # excl ??? DB_EXCL # nommap ??? DB_NOMMAP # rdonly DB_RDONLY #---------------------- DB->open types: # btree DB_BTREE # hash DB_HASH # recno ??? DB_RECNO # queue ??? DB_QUEUE # unknown +++ DB_UNKNOWN #---------------------- DB->set_flags bits: # bt_dup +++ (btree only) DB_DUP # bt_dupsort +++ (btree only) DB_DUPSORT # ht_dup +++ (hash only) DB_DUP # ht_dupsort +++ (hash only) DB_DUPSORT #----------------------- rpmdb specific configuration: # usedbenv (always on) Use db3 environment? # verify (db3 only) Verify Packages db after RW close? # lockdbfd (always on for Packages) Use fcntl(2) locking ? # nofsync Disable fsync(2) call performed after db3 writes? # temporary Unlink file when closing. # # XXX Use transactions and logs for rpmdb durability (no clue yet): #%__dbi_other create joinenv mpool txn log \ # mp_mmapsize=8Mb mp_size=512Kb # Use a CDB database model for concurrent access. %__dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb \ thread_count=64 %__dbi_other %{?_tmppath:tmpdir=%{_tmppath}} %{?__dbi_cdb} # Note: adding nofsync here speeds up --rebuilddb a lot. %__dbi_rebuild nofsync !log !txn !cdb %__dbi_transient %{__dbi_rebuild} temporary private %__dbi_perms perms=0644 # database configuration: Berkeley-DB, Hash %__dbi_htconfig \ hash \ %{__dbi_other}\ %{__dbi_perms}\ %{nil} %__dbi_htconfig_current %{__dbi_htconfig} %__dbi_htconfig_rebuild %{__dbi_htconfig} %{__dbi_rebuild} %_dbi_htconfig \ %{?_rpmdb_rebuild:%{__dbi_htconfig_rebuild}}\ %{!?_rpmdb_rebuild:%{__dbi_htconfig_current}}\ %{nil} # database configuration: Berkeley-DB, Btree %__dbi_btconfig \ btree \ %{__dbi_other}\ %{__dbi_perms}\ %{nil} %__dbi_btconfig_current %{__dbi_btconfig} %__dbi_btconfig_rebuild %{__dbi_btconfig} %{__dbi_rebuild} %_dbi_btconfig \ %{?_rpmdb_rebuild:%{__dbi_btconfig_rebuild}}\ %{!?_rpmdb_rebuild:%{__dbi_btconfig_current}}\ %{nil} # database configuration: SQLite %__dbi_sqlconfig_current perms=0644 %{?_tmppath:tmpdir=%{_tmppath}} %__dbi_sqlconfig_rebuild %{__dbi_sqlconfig_current} nofsync %_dbi_sqlconfig \ %{?_rpmdb_rebuild:%{__dbi_sqlconfig_rebuild}}\ %{!?_rpmdb_rebuild:%{__dbi_sqlconfig_current}}\ %{nil} # database tag configuration %_dbi_tags %{expand:%%{_dbi_tags_%{_dbapi_used}}} %_dbi_tags_3 Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filedigests:Pubkeys:Packagecolor:Nvra:Sourcepkgid %_dbi_tags_4 Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filedigests:Pubkeys:Packagecolor:Nvra:Sourcepkgid # database configuration: Berkeley-DB [dbapi 3 hooks] %_dbi_config_3 %{_dbi_btconfig} %_dbi_config_3_Dirnames %{_dbi_btconfig} %_dbi_config_3_Requireversion %{_dbi_btconfig} %_dbi_config_3_Provideversion %{_dbi_btconfig} %_dbi_config_3_Installtid %{_dbi_btconfig} %_dbi_config_3_Removetid %{_dbi_btconfig} %_dbi_config_3_Basenames %{_dbi_btconfig} %_dbi_config_3_Conflictname %{_dbi_btconfig} %_dbi_config_3_Filedigests %{_dbi_htconfig} %_dbi_config_3_Group %{_dbi_btconfig} %_dbi_config_3_Name %{_dbi_btconfig} %_dbi_config_3_Packagecolor %{_dbi_htconfig} %_dbi_config_3_Providename %{_dbi_btconfig} %_dbi_config_3_Pubkeys %{_dbi_htconfig} %_dbi_config_3_Requirename %{_dbi_btconfig} %_dbi_config_3_Sha1header %{_dbi_htconfig} %_dbi_config_3_Sigmd5 %{_dbi_htconfig} %_dbi_config_3_Triggername %{_dbi_btconfig} %_dbi_config_3_Packages %{_dbi_btconfig} lockdbfd %_dbi_config_3_Depends %{_dbi_btconfig} temporary private %_dbi_config_3_Nvra %{_dbi_btconfig} noload %_dbi_config_3_Sourcepkgid %{_dbi_btconfig} # database configuration: SQLite [dbapi 4 hooks] %_dbi_config_4 %{_dbi_sqlconfig} %_dbi_config_4_Dirnames %{_dbi_sqlconfig} %_dbi_config_4_Requireversion %{_dbi_sqlconfig} %_dbi_config_4_Provideversion %{_dbi_sqlconfig} %_dbi_config_4_Installtid %{_dbi_sqlconfig} %_dbi_config_4_Removetid %{_dbi_sqlconfig} %_dbi_config_4_Basenames %{_dbi_sqlconfig} %_dbi_config_4_Conflictname %{_dbi_sqlconfig} %_dbi_config_4_Filedigests %{_dbi_sqlconfig} %_dbi_config_4_Group %{_dbi_sqlconfig} %_dbi_config_4_Name %{_dbi_sqlconfig} %_dbi_config_4_Packagecolor %{_dbi_sqlconfig} %_dbi_config_4_Providename %{_dbi_sqlconfig} %_dbi_config_4_Pubkeys %{_dbi_sqlconfig} %_dbi_config_4_Requirename %{_dbi_sqlconfig} %_dbi_config_4_Sha1header %{_dbi_sqlconfig} %_dbi_config_4_Sigmd5 %{_dbi_sqlconfig} %_dbi_config_4_Triggername %{_dbi_sqlconfig} %_dbi_config_4_Packages %{_dbi_sqlconfig} %_dbi_config_4_Depends %{_dbi_sqlconfig} temporary private %_dbi_config_4_Nvra %{_dbi_sqlconfig} noload %_dbi_config_4_Sourcepkgid %{_dbi_sqlconfig} # database configuration [code entry hooks] %_dbi_config %{expand:%%{_dbi_config_%{_dbapi_used}}} %_dbi_config_Dirnames %{expand:%%{_dbi_config_%{_dbapi_used}_Dirnames}} %_dbi_config_Requireversion %{expand:%%{_dbi_config_%{_dbapi_used}_Requireversion}} %_dbi_config_Provideversion %{expand:%%{_dbi_config_%{_dbapi_used}_Provideversion}} %_dbi_config_Installtid %{expand:%%{_dbi_config_%{_dbapi_used}_Installtid}} %_dbi_config_Removetid %{expand:%%{_dbi_config_%{_dbapi_used}_Removetid}} %_dbi_config_Basenames %{expand:%%{_dbi_config_%{_dbapi_used}_Basenames}} %_dbi_config_Conflictname %{expand:%%{_dbi_config_%{_dbapi_used}_Conflictname}} %_dbi_config_Filedigests %{expand:%%{_dbi_config_%{_dbapi_used}_Filedigests}} %_dbi_config_Group %{expand:%%{_dbi_config_%{_dbapi_used}_Group}} %_dbi_config_Name %{expand:%%{_dbi_config_%{_dbapi_used}_Name}} %_dbi_config_Packagecolor %{expand:%%{_dbi_config_%{_dbapi_used}_Packagecolor}} %_dbi_config_Providename %{expand:%%{_dbi_config_%{_dbapi_used}_Providename}} %_dbi_config_Pubkeys %{expand:%%{_dbi_config_%{_dbapi_used}_Pubkeys}} %_dbi_config_Requirename %{expand:%%{_dbi_config_%{_dbapi_used}_Requirename}} %_dbi_config_Sha1header %{expand:%%{_dbi_config_%{_dbapi_used}_Sha1header}} %_dbi_config_Sigmd5 %{expand:%%{_dbi_config_%{_dbapi_used}_Sigmd5}} %_dbi_config_Triggername %{expand:%%{_dbi_config_%{_dbapi_used}_Triggername}} %_dbi_config_Packages %{expand:%%{_dbi_config_%{_dbapi_used}_Packages}} %_dbi_config_Depends %{expand:%%{_dbi_config_%{_dbapi_used}_Depends}} %_dbi_config_Nvra %{expand:%%{_dbi_config_%{_dbapi_used}_Nvra}} %_dbi_config_Sourcepkgid %{expand:%%{_dbi_config_%{_dbapi_used}_Sourcepkgid}} # Database API configuration: # # 0,1: Berkeley-DB 1.x API (no longer supported) # 2: Berkeley-DB 2.x API (no longer supported) # 3: Berkeley-DB 3.x/4.x API (default) # 4: SQLite 3.x API (alternative) # # There are different macros so that --rebuilddb can convert the # database between formats (usually for upgrading purposes) # %_dbapi 3 %_dbapi_rebuild 3 %_dbapi_used %{?_rpmdb_rebuild:%{_dbapi_rebuild}}%{!?_rpmdb_rebuild:%{_dbapi}} # # Export package NEVRA (stamped with install tid) info for HRMIB on this path. # # XXX Note: escaped %% for use in headerSprintf() #%_hrmib_path /var/cache/hrmib/%{___NVRA} #============================================================================== # ---- GPG/PGP/PGP5 signature macros. # Macro(s) to hold the arguments passed to GPG/PGP for package # signing and verification. # %__gpg_check_password_cmd %{__gpg} \ gpg --batch --no-verbose --passphrase-fd 3 -u "%{_gpg_name}" -so - %__pgp_check_password_cmd %{__pgp} \ pgp +batchmode=on +verbose=0 "%{_pgp_name}" -sf %__pgp5_check_password_cmd %{__pgp} \ pgps +batchmode=on +verbose=0 +armor=off "%{_pgp_name}" -f %__gpg_sign_cmd %{__gpg} \ gpg --batch --no-verbose --no-armor --passphrase-fd 3 --no-secmem-warning \ -u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename} %__pgp_sign_cmd %{__pgp} \ pgp +batchmode=on +verbose=0 +armor=off \ "+myname=%{_pgp_name}" -sb %{__plaintext_filename} %{__signature_filename} %__pgp5_sign_cmd %{__pgp} \ pgps +batchmode=on +verbose=0 +armor=off \ "+myname=%{_pgp_name}" -b %{__plaintext_filename} -o %{__signature_filename} # rpm-4.1 and later verifies signatures using beecrypt. #%__gpg_verify_cmd %{__gpg} \ # gpg --batch --no-verbose --verify --no-secmem-warning \ # %{__signature_filename} %{__plaintext_filename} #%__pgp_verify_cmd %{__pgp} \ # pgp +batchmode=on +verbose=0 \ # %{__signature_filename} %{__plaintext_filename} #%__pgp5_verify_cmd %{__pgp} \ # pgpv +batchmode=on +verbose=0 \ # +OutputInformationFD=1 +OutputWarningFD=1 \ # -o %{__signature_filename} %{__plaintext_filename} # # XXX rpm-4.1 verifies prelinked libraries using a prelink undo helper. # Normally this macro is defined in %{_etcrpm}/macros.prelink, installed # with the prelink package. If the macro is undefined, then prelinked # shared libraries contents are MD5 digest verified (as usual), rather # than MD5 verifying the output of the prelink undo helper. # # Note: The 2nd token is used as argv[0] and "library" is a # placeholder that will be deleted and replaced with the appropriate # library file path. #%__prelink_undo_cmd /usr/sbin/prelink prelink -y library # Horowitz Key Protocol server configuration # %_hkp_keyserver hkp://subkeys.pgp.net %_hkp_keyserver_query %{_hkp_keyserver}/pks/lookup?op=get&search=0x #============================================================================== # ---- Transaction macros. # Macro(s) used to parameterize transactions. # # The output binary package file name template used when building # binary packages. # # XXX Note: escaped %% for use in headerSprintf() %_build_name_fmt %%{ARCH}/%{___NVRA}.rpm # The default transaction color. This value is a set of bits to # determine file and dependency affinity for this arch. # 0 uncolored (i.e. use only arch as install hint) # 1 Elf32 permitted # 2 Elf64 permitted %_transaction_color 3 # A default autorelocation path prefixed to file paths of packages # that have an incompatible arch. This is used on ia64 to prefix # /emul/ia32 to i386 file paths, and nowhere else (yet). # # XXX Note: escaped %% for use in headerSprintf() %_autorelocate_path %{nil} # A default directory color to choose when directories are # auto-relocated. %_autorelocate_dcolor 0 # Open all indices before doing chroot(2). # %_openall_before_chroot 0 # The path to the dependency universe database. The default value # is the rpmdb-vendor location. The macro is usually defined in # %{_etcrpm}/macros.solve, installed with the rpmdb-vendor package. #%_solve_dbpath /usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/rpm # The path to the dependency universe packages. This should # be a path to the packages contained in the solve database. # # XXX Note: needs a pesky trailing / #%_solve_pkgsdir /mnt/rpm/test/latest-i386/RedHat/RPMS/ # The output binary package file name template used when suggesting # binary packages that solve a dependency. The macro is usually defined # in %{_etcrpm}/macros.solve, installed with the rpmdb-vendor package. # # XXX Note: escaped %% for use in headerSprintf() #%_solve_name_fmt %{?_solve_pkgsdir}%{___NVRA}.rpm # The output binary package file name template used when repackaging # erased packages. # # XXX Note: escaped %% for use in headerSprintf() %_repackage_name_fmt %{___NVRA}.rpm # The "transactional rollback" directory in which erased packages will # be saved when using the --repackage option. %_repackage_dir %{_var}/spool/repackage # A path (i.e. URL) prefix that is pre-pended to %{_repackage_dir}. %_repackage_root %{nil} # If non-zero, all erasures will be automagically repackaged. %_repackage_all_erasures 1 # Prevent pure erasure transactions with --rollback. Pure # erasure rollback transactions will undo an anaconda install, # for example, which %_unsafe_rollbacks tries to prevent. # # Set this to non-zero at your own risk, it's dangerous. %_unsafe_rollbacks 0 # Automate transaction rollbacks on upgrade failure. # # Set this to non-zero at your own risk, it's dangerous. %_rollback_transaction_on_failure 0 # Verify digest/signature flags for various rpm modes: # 0x30300 (_RPMVSF_NODIGESTS) --nohdrchk if set, don't check digest(s) # 0xc0c00 (_RPMVSF_NOSIGNATURES) --nosignature if set, don't check signature(s) # 0xf0000 (_RPMVSF_NOPAYLOAD) --nolegacy if set, check header+payload (if possible) # 0x00f00 (_RPMVSF_NOHEADER) --nohdrchk if set, don't check rpmdb headers # # For example, the value 0xf0c00 (=0xf0000+0xc0c00) disables legacy # digest/signature checking, disables signature checking, but attempts # digest checking, also when retrieving headers from the database. # # The checking overhead was ~11ms per header for digests/signatures on # a 600 Mhz Dell SMP server circa 1998. # # Each header from the database is checked only when first encountered # for each database open. # # Note: the %_vsflags_erase applies to --upgrade/--freshen modes as # well as --erase. # %__vsflags 0xf0000 %_vsflags_build %{__vsflags} %_vsflags_erase %{__vsflags} %_vsflags_install %{__vsflags} %_vsflags_query %{__vsflags} %_vsflags_rebuilddb %{__vsflags} %_vsflags_verify %{__vsflags} # Relations between package names that cause dependency loops # with legacy packages that cannot be fixed. Relations are # specified as # p>q # where package p has a Requires: on something that package q Provides: # # XXX Note: that there cannot be any whitespace within the string "p>q", # and that both p and q are package names (i.e. no version/release). # %_dependency_whiteout_caos_core \ glibc-common>glibc \ glibc>nscd %_dependency_whiteout \ %{?_dependency_whiteout_caos_core} \ %{?_dependency_whiteout_system} \ %{nil} # # Default path used for serializing transactions with a fcntl lock. # # The original, FHS clompliant, path was /var/lock/run/transaction, # but the transaction lock needs to be finer grained, at least # per-database, not global, for many rpm operations with transaction sets. # # The fcntl lock is now off by default, posix mutexes (or equiv) are sufficient. # to protect Berkeley DB data, and using multiple databases with concurrent # access is a more important feature to rpm than serializing transaction # sets. Change your configuration if you disagree. # # XXX Note: the suggested file name is __db.000 to expedite # support issues, because users typically do "rm -f /var/lib/rpm/__db*", # which will clean up the fcntl lock. #%_rpmlock_path %{_dbpath}/__db.000 #============================================================================== # ---- Query macros. # # Default query format string for displaying package names everywhere %___NVRA %%{NAME}-%%{VERSION}-%%{RELEASE}%%|ARCH?{.%%|SOURCERPM?{%%{ARCH}}:{src}|}:{}| # Default headerSprintf() output format string for rpm -qa # # XXX Note: escaped %% for use in headerSprintf() %_query_all_fmt %{___NVRA} # # Path for rpm -qH (default is /usr/share/comps/%{_arch}/hdlist) %_query_hdlist_path %{_datadir}/comps/%{_arch}/hdlist # # Permit network access? (".fdio" prohibits network access) %_rpmgio .fdio # # Pattern matching for installation via "+N-V-R.A" CLI arguments #%_rpmgi_pattern_glob() %{_rpmdir}/%1-*-*.*.rpm %_rpmgi_pattern_glob %{_rpmdir}/*/ %_rpmgi_pattern_regex() ^.+/%1-[^-]+-[^-]+\\.[^.]+\\.rpm$ # # UUIDv3/UUIDv5 namespace URI macros. The complete canonical path is # %_uuid_uri %{?_uuid_auth}/%{?_uuid_path}/Tagname/Tagvalue %_uuid_auth http://rpm5.org/ %_uuid_path /package #============================================================================== # ---- Run-time probe dependency macros. # %_rpmds_filter_name archfilter # %_rpmds_cpuinfo_path /proc/cpuinfo # %_rpmds_sysinfo_path %{_etcrpm}/sysinfo # %_rpmds_ldconfig_cmd /sbin/ldconfig -p %_rpmds_ldconfig_cache /etc/ld.so.cache # A colon-separated list of directories which should match the rld's # (runtime loader) list of directories it searches for shared objects. # Only used on platforms that don't have a configurable loader search # path via ldconfig, crle, or something similar. %_rpmds_rld_search_path /lib:/usr/lib # # Full path and arguments to Solaris' command to list what directories # the runtime loader searches. Needs to include `-64' for LP64 Solaris # systems. %_rpmds_crle_cmd /usr/bin/crle # %_rpmds_getconf_path / # %_rpmds_perldeps_cmd %{__find} %{_libdir}/perl5 | %{_rpmhome}/perl.prov # %_varrun /var/run #============================================================================== # ---- Cache configuration macros. # Macro(s) used to configure the universe of headers used to # solve dependencies using rpmcache(8). # # Note: These values were specific to my machine, and most certainly # are incorrect for any other machine. The macros are # included here only to document the macro names and usage. #%_bhpath file://localhost/mnt/dist #%_bhcoll @(7.3|7.2|7.1|7.1sbe|7.1k|7.0|7.01j|7.0j|7.0sbe|7.0tc|6.2|6.2ha|6.2ee|6.1|6.0|5.2|5.1|5.0) #%_bhN @(SRPMS|i386|alpha|sparc|s390|ia64) #%_bhVR @(RedHat|Fedora) #%_bhA RPMS # # A configuration to build an rpmdb from yum package hierarchy %_bhpath file:///var/cache/yum %_bhcoll @(updates) %_bhN @(packages) %_bhVR %{nil} %_bhA %{nil} # The cache database directory. %_cache_dbpath /var/cache/yum/rpmdb #============================================================================== # ---- per-platform macros. # Macros that are specific to an individual platform. The values here # will be used if the per-platform macro file does not exist.. # %_arch i386 %_build_arch i386 %_vendor pc %_os linux %_gnu -gnu %_host_platform %{_host_cpu}-%{_host_vendor}-%{_host_os}%{?_gnu} %_build_platform %{_build_cpu}-%{_build_vendor}-%{_build_os}%{?_gnu} %_target_platform %{_target_cpu}-%{_target_vendor}-%{_target_os}%{?_gnu} # # Define a generic value for optflags. Normally overridden by per-target macros. %optflags -O2 # # Define per-arch and per-os defaults. Normally overridden by per-target macros. %__arch_install_post %{nil} %__os_install_post %{___build_post} #============================================================================== # ---- Scriptlet template templates. # Global defaults used for building scriptlet templates. # %___build_shell %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh} %___build_args -e %___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args} %___build_pre \ RPM_SOURCE_DIR=\"%{u2p:%{_sourcedir}}\"\ RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\ RPM_OPT_FLAGS=\"%{optflags}\"\ RPM_ARCH=\"%{_arch}\"\ RPM_OS=\"%{_os}\"\ export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\ RPM_DOC_DIR=\"%{_docdir}\"\ export RPM_DOC_DIR\ RPM_PACKAGE_NAME=\"%{name}\"\ RPM_PACKAGE_VERSION=\"%{version}\"\ RPM_PACKAGE_RELEASE=\"%{release}\"\ export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\ %{?buildroot:RPM_BUILD_ROOT=\"%{u2p:%{buildroot}}\"\ export RPM_BUILD_ROOT}\ %{?_javaclasspath:CLASSPATH=\"%{_javaclasspath}\"\ export CLASSPATH}\ unset PERL_MM_OPT || :\ LANG=C\ export LANG\ unset DISPLAY || :\ \ %{verbose:set -x}%{!verbose:exec > /dev/null}\ umask 022\ cd "%{u2p:%{_builddir}}"\ #%___build_body %{nil} %___build_post exit 0 %___build_template #!%{___build_shell}\ %{___build_pre}\ %{nil} #%{___build_body}\ #%{___build_post}\ #%{nil} #============================================================================== # ---- Scriptlet templates. # Macro(s) that expand to a command and script that is executed. # CAVEAT: All macro expansions must fit in a BUFSIZ (8192 byte) buffer. # %__spec_prep_shell %{___build_shell} %__spec_prep_args %{___build_args} %__spec_prep_cmd %{___build_cmd} %__spec_prep_pre %{___build_pre} %__spec_prep_body %{___build_body} %__spec_prep_post %{___build_post} %__spec_prep_template #!%{__spec_prep_shell}\ %{__spec_prep_pre}\ %{nil} #%{__spec_prep_body}\ #%{__spec_prep_post}\ #%{nil} %__spec_build_shell %{___build_shell} %__spec_build_args %{___build_args} %__spec_build_cmd %{___build_cmd} %__spec_build_pre %{___build_pre} %__spec_build_body %{___build_body} %__spec_build_post %{___build_post} %__spec_build_template #!%{__spec_build_shell}\ %{__spec_build_pre}\ %{nil} #%{__spec_build_body}\ #%{__spec_build_post}\ #%{nil} %__spec_install_shell %{___build_shell} %__spec_install_args %{___build_args} %__spec_install_cmd %{___build_cmd} %__spec_install_pre %{___build_pre}\ %{?buildroot:%{__rm} -rf '%{buildroot}'; %{__mkdir_p} '%{buildroot}'} %__spec_install_body %{___build_body} %__spec_install_post\ %{?__debug_package:%{__debug_install_post}}\ %{__arch_install_post}\ %{__os_install_post}\ %{nil} %__spec_install_template #!%{__spec_install_shell}\ %{__spec_install_pre}\ %{nil} #%{__spec_install_body}\ #%{__spec_install_post}\ #%{nil} %__spec_check_shell %{___build_shell} %__spec_check_args %{___build_args} %__spec_check_cmd %{___build_cmd} %__spec_check_pre %{___build_pre} %__spec_check_body %{___build_body} %__spec_check_post %{___build_post} %__spec_check_template #!%{__spec_check_shell}\ %{__spec_check_pre}\ %{nil} #%{__spec_check_body}\ #%{__spec_check_post}\ #%{nil} #%__spec_autodep_shell %{___build_shell} #%__spec_autodep_args %{___build_args} #%__spec_autodep_cmd %{___build_cmd} #%__spec_autodep_pre %{___build_pre} #%__spec_autodep_body %{___build_body} #%__spec_autodep_post %{___build_post} #%__spec_autodep_template #!%{__spec_autodep_shell}\ #%{__spec_autodep_pre}\ #%{nil} #%{__spec_autodep_body}\ #%{__spec_autodep_post}\ #%{nil} %__spec_clean_shell %{___build_shell} %__spec_clean_args %{___build_args} %__spec_clean_cmd %{___build_cmd} %__spec_clean_pre %{___build_pre} %__spec_clean_body %{?buildroot:%{__rm} -rf '%{buildroot}'}\ %{nil} %__spec_clean_post %{nil} %__spec_clean_template #!%{__spec_clean_cmd}\ %{__spec_clean_pre}\ %{nil} #%{__spec_clean_body}\ #%{__spec_clean_post}\ #%{nil} %__spec_track_shell %{___build_shell} %__spec_track_args %{___build_args} %__spec_track_cmd %{___build_cmd} %__spec_track_pre %{__vcheck} %{verbose:--verbose}%{!verbose:--noverbose} -f - << GO_SYSIN_DD %__spec_track_body %{___build_body} %__spec_track_post GO_SYSIN_DD\ %{nil} %__spec_track_template #!%{__spec_track_shell}\ %{__spec_track_pre}\ %{nil} %__spec_sanitycheck_shell %{___build_shell} %__spec_sanitycheck_args %{___build_args} %__spec_sanitycheck_cmd %{___build_cmd} %__spec_sanitycheck_pre %{___build_pre} %__spec_sanitycheck_body %{___build_body} %__spec_sanitycheck_post %{___build_post} %__spec_sanitycheck_template #!%{__spec_sanitycheck_shell}\ %{__spec_sanitycheck_pre}\ %{nil} %__spec_rmbuild_shell %{___build_shell} %__spec_rmbuild_args %{___build_args} %__spec_rmbuild_cmd %{___build_cmd} %__spec_rmbuild_pre %{___build_pre} %__spec_rmbuild_body %{___build_body} %__spec_rmbuild_post %{___build_post} %__spec_rmbuild_template #!%{__spec_rmbuild_shell}\ %{__spec_rmbuild_pre}\ %{nil} #%{__spec_rmbuild_body}\ #%{__spec_rmbuild_post}\ #%{nil} # XXX We don't expand pre/post install scriptlets (yet). #%__spec_pre_pre %{nil} #%__spec_pre_post %{nil} #%__spec_post_pre %{nil} #%__spec_post_post %{nil} #%__spec_preun_pre %{nil} #%__spec_preun_post %{nil} #%__spec_postun_pre %{nil} #%__spec_postun_post %{nil} #%__spec_triggerpostun_pre %{nil} #%__spec_triggerpostun_post %{nil} #%__spec_triggerun_pre %{nil} #%__spec_triggerun_post %{nil} #%__spec_triggerin_pre %{nil} #%__spec_triggerin_post %{nil} #============================================================================== # ---- configure macros. # Macro(s) slavishly copied from autoconf's config.status. # %_prefix /usr %_exec_prefix %{_prefix} %_bindir %{_exec_prefix}/bin %_sbindir %{_exec_prefix}/sbin %_libexecdir %{_exec_prefix}/libexec %_datadir %{_prefix}/share %_sysconfdir %{_prefix}/etc %_sharedstatedir %{_prefix}/com %_localstatedir %{_prefix}/var %_lib lib %_libdir %{_exec_prefix}/%{_lib} %_includedir %{_prefix}/include %_oldincludedir /usr/include %_infodir %{_prefix}/info %_mandir %{_prefix}/man %_localedir %{_datadir}/locale #============================================================================== # ---- config.guess platform macros. # Macro(s) similar to the tokens used by configure. # %_build %{_host} %_build_alias %{_host_alias} %_build_cpu %{_host_cpu} %_build_vendor %{_host_vendor} %_build_os %{_host_os} %_host i686-pc-linux-gnu %_host_alias %{nil} %_host_cpu i686 %_host_vendor pc %_host_os linux-gnu %_target %{_host} %_target_alias %{_host_alias} %_target_cpu %{_host_cpu} %_target_vendor %{_host_vendor} %_target_os %{_host_os} #============================================================================== # ---- specfile macros. # Macro(s) here can be used reliably for reproducible builds. # (Note: Above is the goal, below are the macros under development) # # The configure macro does the following: # optionally change to a subdirectory (not implemented). # attempt to update config.guess and config.sub. # run configure with correct prefix, platform, and CFLAGS. # optionally restore current directory (not implemented). # The configure macro should be invoked as %configure (rather than %{configure}) # because the rest of the arguments will be expanded using %*. # # This is the version of %configure used through rpm-3.0.4. #%configure \ # %{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} \ # CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} # #------------------------------------------------------------------------------ # This is an improved version of %configure (from PLD team). %configure \ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ ./configure --host=%{_host} --build=%{_build} \\\ --target=%{_target_platform} \\\ --program-prefix=%{?_program_prefix} \\\ --prefix=%{_prefix} \\\ --exec-prefix=%{_exec_prefix} \\\ --bindir=%{_bindir} \\\ --sbindir=%{_sbindir} \\\ --sysconfdir=%{_sysconfdir} \\\ --datadir=%{_datadir} \\\ --includedir=%{_includedir} \\\ --libdir=%{_libdir} \\\ --libexecdir=%{_libexecdir} \\\ --localstatedir=%{_localstatedir} \\\ --sharedstatedir=%{_sharedstatedir} \\\ --mandir=%{_mandir} \\\ --infodir=%{_infodir} #------------------------------------------------------------------------------ # The make install analogue of %configure: %makeinstall \ make \\\ prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\ exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\ bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\ sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\ sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\ datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\ includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\ libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\ libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\ localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\ sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\ mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\ infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\ install #------------------------------------------------------------------------------ # The GNUconfigure macro does the following: # update config.guess and config.sub. # regenerate all autoconf/automake files # optionally change to a directory (make the directory if requested). # run configure with correct prefix, platform, and CFLAGS. # optionally restore current directory. # # Based on autogen.sh from GNOME and orginal GNUconfigure # %GNUconfigure(MCs:) \ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS; \ LDFLAGS="${LDFLAGS:-%{-s:-s}}" ; export LDFLAGS; \ %{-C:_mydir="`pwd`"; %{-M: %{__mkdir} -p "%{-C*}";} cd "%{-C*}"} \ dirs="`find ${_mydir} -name 'configure.[ai][cn]' -print`"; export dirs; \ for coin in `echo ${dirs}` \ do \ dr=`dirname ${coin}`; \ if test -f ${dr}/NO-AUTO-GEN; then \ : \ else \ macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < ${coin}`; \ ( cd "${dr}"; \ aclocalinclude="${ACLOCAL_FLAGS}"; \ for k in ${macrodirs}; do \ if test -d ${k}; then \ aclocalinclude="${aclocalinclude} -I ${k}"; \ ##else \ ## echo "**Warning**: No such directory \`${k}'. Ignored." \ fi \ done \ if grep "^AM_GNU_GETTEXT" configure.[ai][cn] >/dev/null; then \ if grep "sed.*POTFILES" configure.[ai][cn] >/dev/null; then \ : do nothing -- we still have an old unmodified configure.[ai][cn] \ else \ test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4; \ echo "no" | gettextize --force --copy; \ test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4; \ fi \ fi \ if grep "^AM_PROG_LIBTOOL" configure.[ai][cn] >/dev/null; then \ %{__libtoolize} --force --copy; \ fi \ aclocal ${aclocalinclude}; \ if grep "^AM_CONFIG_HEADER" configure.[ai][cn] >/dev/null; then \ %{__autoheader}; \ fi \ echo "Running automake --gnu ${am_opt} ..."; \ %{__automake} --add-missing --gnu ${am_opt}; \ %{__autoconf}; \ ); \ fi \ done \ %{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} --infodir=%{_infodir} %* ; \ %{-C:cd "${_mydir}"; unset _mydir} %patches %{lua: for i, p in ipairs(patches) do print(p.." ") end} %sources %{lua: for i, s in ipairs(sources) do print(s.." ") end} #------------------------------------------------------------------------------ # arch macro for all Intel i?86 compatibile processors # (Note: This macro (and it's analogues) will probably be obsoleted when # rpm can use regular expressions against target platforms in macro # conditionals. # %ix86 i386 i486 i586 i686 pentium3 pentium4 athlon # same thing for arm %arm arm armv3 armv3l armv3b armv4 armv4l armv4b armv5 armv5l armv5b armv5te armv5tel armv5teb xscale armv6 armv6l # same for alpha %alpha alpha alphaev56 alphaev6 alphaev67 # and sparc %sparc sun4 sun4m sun4c sun4d sun4u sparc sparcv8 sparcv9 sparc64 sparc64v sparcv9b sparcv9v sparcv9v2 #------------------------------------------------------------------------ # Use in %install to generate locale specific file lists. For example, # # %install # ... # %find_lang %{name} # ... # %files -f %{name}.lang # %find_lang %{_rpmhome}/find-lang.sh %{buildroot} #------------------------------------------------------------------------ # lua macros # %rpm_license_check %{expand:%%define rpm_license_check %{lua:\ f = io.open("/dev/tty", "w")\ if f then\ f:write ("\\nJust checking to see who is using rpm-5.1.4.\\nThe RPM Package Manager license is LGPL, as always.\\nRelax ...\\n")\ f:close()\ end\ }1}%{rpm_license_check} #------------------------------------------------------------------------ # perl(...) configuration # # Path to scripts to autogenerate perl package dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. #%__perl_provides %{_rpmhome}/perldeps.pl --provides #%__perl_requires %{_rpmhome}/perldeps.pl --requires %__perl_provides %{_rpmhome}/perl.prov %__perl_requires %{_rpmhome}/perl.req # Useful macros for building *.rpm perl packages. # (from Artur Frysiak ) # # For example, these can be used as (from ImageMagick.spec from PLD site) # [...] # BuildPrereq: perl # [...] # %package perl # Summary: libraries and modules for access to ImageMagick from perl # Group: Development/Languages/Perl # Requires: %{name} = %{version} # %requires_eq perl # [...] # %install # rm -fr $RPM_BUILD_ROOT # install -d $RPM_BUILD_ROOT/%{perl_sitearch} # [...] # %files perl # %defattr(644,root,root,755) # %{perl_sitearch}/Image # %dir %{perl_sitearch}/auto/Image # %requires_eq() %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") %perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) %perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) %perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) %perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) %perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) %perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) %perl_version %(eval "`%{__perl} -V:version`"; echo $version) #------------------------------------------------------------------------ # python(...) configuration. # # Path to scripts to autogenerate python package dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__python_provides %{_rpmhome}/pythondeps.sh --provides %__python_requires %{_rpmhome}/pythondeps.sh --requires # Useful macros for building *.rpm python packages (for python > 1.6). # %python_sitearch %(%{__python} -c "import os; from distutils.sysconfig import get_python_lib; lib=get_python_lib(1); print os.path.islink(lib) and os.path.abspath(os.path.join(os.path.dirname(lib),os.readlink(lib))) or lib") %python_sitelib %(%{__python} -c "import os; from distutils.sysconfig import get_python_lib; lib=get_python_lib(); print os.path.islink(lib) and os.path.abspath(os.path.join(os.path.dirname(lib),os.readlink(lib))) or lib") %python_version %(%{__python} -c "import sys; print(sys.version[0:3])") %py_compile(O) \ find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \ %{__python} %{?O:-O} -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \ %py_requires(d) \ %define maxver %(%{__python} -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \ BuildRequires: python %{-d:python-devel} \ PreReq: python >= %{python_version}, python < %{maxver} #------------------------------------------------------------------------ # php(...) configuration. # # Path to scripts to autogenerate php package dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. #%__php_provides %{_rpmhome}/phpdeps.sh --provides #%__php_requires %{_rpmhome}/phpdeps.sh --requires #%__php_provides %{_rpmhome}/php.prov #%__php_requires %{_rpmhome}/php.req #------------------------------------------------------------------------ # java(...) configuration. # # Path to scripts to autogenerate java package dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__java_provides %{_rpmhome}/javadeps.sh --provides %__java_requires %{_rpmhome}/javadeps.sh --requires #------------------------------------------------------------------------ # libtool(...) configuration. # # Path to scripts to autogenerate libtool package dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__libtool_provides %{_rpmhome}/libtooldeps.sh --provides %{buildroot} %{name} %__libtool_requires %{_rpmhome}/libtooldeps.sh --requires %{buildroot} %{name} #------------------------------------------------------------------------ # pkgconfig(...) configuration. # # Path to scripts to autogenerate pkgconfig package dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__pkgconfig_provides %{_rpmhome}/pkgconfigdeps.sh --provides %__pkgconfig_requires %{_rpmhome}/pkgconfigdeps.sh --requires #------------------------------------------------------------------------ # mono(...) configuration. # # Path to scripts to autogenerate mono package dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__mono_provides %{_rpmhome}/mono-find-provides %__mono_requires %{_rpmhome}/mono-find-requires #------------------------------------------------------------------------ # executable(...) configuration. # # Path to scripts to autogenerate executable(foo) script dependencies, # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. #%__executable_provides %{_rpmhome}/executabledeps.sh --provides #%__executable_requires %{_rpmhome}/executabledeps.sh --requires %__scriptlet_requires /bin/bash --rpm-requires # \endverbatim #*/ EOF fi felix-scripts/install.sh0000755000175000017500000000141511510611431014311 0ustar natenate#!/bin/zsh # # Copyright Jonathan Norman 2008 # export RELEASE_NAME="Felix" export RELEASE_VER="2008.08" export RPMS_TOP="/root/RPMS" export ARCH=i686 export TOP="/root/scripts" if [ ! $DESTDIR ];then echo -e "Please enter the mount point you wish to install Blue Square Linux to (e.g. /mnt/hda) : \c " read DESTDIR if [ ! $DESTDIR ];then echo "Destination is not set. Quiting the installation script..." exit 1 else export DESTDIR=$DESTDIR echo "Running the installation script in $DESTDIR" fi else echo "Running the installation script in $DESTDIR" fi $TOP/create-things.sh $TOP/interactive.sh $TOP/rpm-install.sh $TOP/bootscripts.sh cp $TOP/chroot.sh $DESTDIR chmod +x $DESTDIR/chroot.sh chroot $DESTDIR /chroot.sh echo "The installation scripts have finished." felix-scripts/interactive.sh0000755000175000017500000000356611510611431015171 0ustar natenate#!/bin/bash # # Copyright Jonathan Norman 2008 # Updated 06.09.2008 # # Interactive part of the install # echo -e "\nEntering interactive stage\n" # hostname and hosts file if [ ! -e $DESTDIR/etc/sysconfig/network ];then echo -e "Please enter a hostname: \c " read hostname echo "HOSTNAME=$hostname" > $DESTDIR/etc/sysconfig/network echo -e "Hostname set to \"$hostname\"" fi if [ ! -e $DESTDIR/etc/hosts ];then echo -e "Creating /etc/hosts...\c " cat > $DESTDIR/etc/hosts << EOF # Begin /etc/hosts 127.0.0.1 $hostname localhost # End /etc/hosts EOF echo -e "\t\tDone\n" fi # fstab and grub installation with config if [ ! -e $DESTDIR/etc/fstab ];then # Get root file system echo -e "Please enter your root device [/dev/hda1]: \c " read hdd if [ ! $hdd ];then hdd=/dev/hda1 fi # get format type echo -e "Please enter your root file system [xfs]: \c " read rootfs if [ ! $rootfs ];then rootfs=xfs fi # get swap device echo -e "Please enter your swap device [/dev/hda2]: \c " read swaphd if [ ! $swaphd ];then swaphd=/dev/hda2 fi echo -e "Creating /etc/fstab...\c " cat > $DESTDIR/etc/fstab << EOF # /etc/fstab # FS mount type options dump fsck $hdd / $rootfs defaults 1 1 $swaphd swap swap pri=1 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts gid=4,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 EOF echo -e "\t\tDone" fi # Grub configure for i686 if [ $(uname -m) == "i686" ];then if [ ! -d $DESTDIR/boot/grub ];then echo -e "Creating /boot/grub...\c " mkdir $DESTDIR/boot/grub echo -e "\t\tDone" fi if [ ! -e $DESTDIR/boot/grub/menu.lst ];then echo -e "Creating menu.lst \c " cat > $DESTDIR/boot/grub/menu.lst << EOF default 0 timeout 3 color red/black light-green/black title Blue Square Linux ${RELEASE_VER} ${RELEASE_NAME} root (hd0,0) kernel /boot/vmlinuz root=${hdd} vga=789 EOF echo -e "\t\tDone" fi fi felix-scripts/rpm-install.sh0000755000175000017500000000743611510611431015116 0ustar natenate# Updated 06.09.2008 (DD.MM.YYYY) # Packages made by Jonathan Norman 2008 echo -e "\nInstalling the RPM packages\n" rpm -ivh --nodeps --root=${DESTDIR} \ ${RPMS_TOP}/${ARCH}/ncurses-5.6-5.${ARCH}.rpm \ rpm -ivh --nodeps --root=${DESTDIR} \ ${RPMS_TOP}/${ARCH}/autoconf-2.62-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/automake-1.10.1-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/bash-3.2-3.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/beecrypt-4.1.2-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/berkeley-4.7.25-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/binutils-2.18.50-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/bison-2.3-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/bzip2-1.0.5-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/coreutils-6.12-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/cracklib-2.8.12-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/cups-1.3.8-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/diffutils-2.8.7-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/distcc-2.18.3-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/e2fsprogs-1.40.11-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/file-4.24-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/findutils-4.4.0-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/flex-2.5.35-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/gawk-3.1.6-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/gcc-4.2.4-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/gettext-0.17-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/glibc-2.8-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/grep-2.5.3-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/groff-1.19.2-3.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/grub-0.97-3.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/gzip-1.3.12-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/inetutils-1.5-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/iproute2-2.6.26-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/kbd-1.14.1-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/kernel-headers-2.6.25.10-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/kernel-image-2.6.25.10-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/less-418-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/lex-2.5.35-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/libjpg-6b-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/libpng-1.2.31-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/libtiff-3.8.2-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/libtool-2.2.4-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/libxml2-2.6.27-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/m4-1.4.11-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/make-3.81-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/man-db-2.5.2-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/mktemp-1.5-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/module-init-tools-3.4-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/neon-0.28.2-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/openssh-5.1p1-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/openssl-0.9.8h-3.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/patch-2.5.9-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/perl-5.10.0-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/popt-1.14-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/procps-3.2.7-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/psmisc-22.6-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/python-2.5.2-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/readline-5.2-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/rpm-5.1.4-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/sed-4.1.5-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/shadow-4.1.2.1-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/sqlite-3.6.1-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/sudo-1.6.9p17-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/sysklogd-1.5-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/sysvinit-2.86-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/tar-1.20-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/tcl-8.5.4-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/texinfo-4.12-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/udev-126-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/util-linux-ng-2.14-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/vim-7.2b-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/wget-1.11.4-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/xfsprogs-2.9.8-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/zlib-1.2.3-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/zsh-4.3.6-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/gpm-1.20.5-1.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/dhcp-3.1.0-2.${ARCH}.rpm \ ${RPMS_TOP}/${ARCH}/links-2.1pre37-1.${ARCH}.rpm \ ${RPMS_TOP}/noarch/iana-etc-2.30-1.noarch.rpm \ ${RPMS_TOP}/noarch/man-pages-3.02-1.noarch.rpm \