# Copyright 2005 Progeny Linux Systems, Inc.
#
# 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, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# Author: Marco La Rosa
# Based on CentOS script by: Sam Hart & Jake Tabke

suite_notes() {
    cat <<EOF
Scientfic Linux 4.0.2 Suite Script
----------------------------------
Builds a basic Scientific Linux (SL) 4.0.2 bootstrap.

SL is a Linux release put together by Fermilab, CERN, and various other
labs and universities around the world. Its primary purpose is to reduce
duplicated effort of the labs, and to have a common install base for the
various experimentors.

Author: Marco La Rosa & Sam Hart

EOF
}


work_out_mirror() {
    local big_mirror_list=""
    case $ARCH in
        i[3456]86)
            big_mirror_list=$(cat <<EOF
ftp://ftp.scientificlinux.org/linux/scientific/42/i386/SL/RPMS
http://mirror.cs.wisc.edu/pub/mirrors/linux/scientificlinux.org/304/i386/SL/RPMS/
http://mirror.phy.olemiss.edu/mirror/scientific/304/i386/SL/RPMS/
EOF
            )
            ;;
        *)
            die "Arch $ARCH is unsupported"
            ;;
    esac

    set_mirrors $big_mirror_list
}

work_out_rpms() {
    case $ARCH in
        i[3456]86)
            RPMS=$(cat <<EOF
0:libgcc-3.4.4-2.i386.rpm
1:setup-2.5.37-1.3.noarch.rpm
2:filesystem-2.3.0-1.i386.rpm
3:hwdata-0.146.12.EL-1.noarch.rpm
4:basesystem-8.0-4.noarch.rpm
5:tzdata-2005m-1.EL4.noarch.rpm
6:glibc-common-2.3.4-2.13.i386.rpm
7:glibc-2.3.4-2.13.i386.rpm
8:libselinux-1.19.1-7.i386.rpm
9:zlib-1.2.1.2-1.2.i386.rpm
10:chkconfig-1.3.13.2-1.i386.rpm
11:e2fsprogs-1.35-12.2.EL4.i386.rpm
12:mktemp-1.5-20.i386.rpm
13:popt-1.9.1-11_nonptl.i386.rpm
14:bzip2-libs-1.0.2-13.EL4.2.i386.rpm
15:elfutils-libelf-0.97-7.i386.rpm
16:audit-libs-1.0.3-6.EL4.i386.rpm
16:beecrypt-3.1.0-6.i386.rpm
16:rpm-libs-4.3.3-11_nonptl.i386.rpm
16:glib2-2.4.7-1.i386.rpm
16:gdbm-1.8.0-24.i386.rpm
16:libstdc++-3.4.4-2.i386.rpm
16:db4-4.2.52-7.1.i386.rpm
16:perl-5.8.5-16.RHEL4.i386.rpm
16:gmp-4.1.4-3.i386.rpm
16:elfutils-0.97-7.i386.rpm
16:file-4.10-2.i386.rpm
16:device-mapper-1.01.04-1.0.RHEL4.i386.rpm
16:pcre-4.5-3.2.RHEL4.i386.rpm
16:expat-1.95.7-4.i386.rpm
16:patch-2.5.4-20.i386.rpm
16:iputils-20020927-18.EL4.1.i386.rpm
16:libsepol-1.1.1-2.i386.rpm
16:ethtool-1.8-4.i386.rpm
16:mingetty-1.07-3.i386.rpm
16:libattr-2.4.16-3.i386.rpm
16:libacl-2.2.23-5.i386.rpm
16:tcp_wrappers-7.6-37.2.i386.rpm
16:usbutils-0.11-6.1.i386.rpm
16:termcap-5.4-3.noarch.rpm
16:libtermcap-2.0.8-39.i386.rpm
16:bash-3.0-19.2.i386.rpm
16:ncurses-5.4-13.i386.rpm
16:info-4.7-5.i386.rpm
16:grep-2.5.1-31.i386.rpm
16:readline-4.3-13.i386.rpm
16:sed-4.1.2-4.i386.rpm
16:findutils-4.1.20-7.i386.rpm
16:coreutils-5.2.1-31.2.i386.rpm
16:krb5-libs-1.3.4-17.i386.rpm
16:openssl-0.9.7a-43.4.i386.rpm
16:python-2.3.4-14.1.i386.rpm
16:shadow-utils-4.0.3-52.RHEL4.i386.rpm
16:rpm-4.3.3-11_nonptl.i386.rpm
16:module-init-tools-3.1-0.pre5.3.i386.rpm
16:openldap-2.2.13-4.i386.rpm
16:rpm-python-4.3.3-11_nonptl.i386.rpm
16:MAKEDEV-3.15-2.i386.rpm
16:urlgrabber-2.9.6-1.noarch.rpm
16:python-elementtree-1.2.6-4.i386.rpm
16:procps-3.2.3-8.2.i386.rpm
16:sqlite-3.1.2-3.i386.rpm
16:python-sqlite-1.1.6-1.i386.rpm
16:tar-1.14-8.RHEL4.i386.rpm
16:cpio-2.5-8.RHEL4.i386.rpm
16:gawk-3.1.3-10.1.i386.rpm
16:psmisc-21.4-4.i386.rpm
16:less-382-4.i386.rpm
16:gzip-1.3.3-15.rhel4.i386.rpm
16:iproute-2.6.9-3.i386.rpm
16:sl-release-4.2-7.noarch.rpm
16:net-tools-1.60-37.EL4.6.i386.rpm
16:libxml2-2.6.16-6.i386.rpm
16:libxml2-python-2.6.16-6.i386.rpm
16:apt-0.5.15cnc6-9.SL.i386.rpm
16:rpm-build-4.3.3-11_nonptl.i386.rpm
16:wget-1.10.2-0.40E.i386.rpm
16:sysklogd-1.4.1-26_EL.i386.rpm
16:nano-1.2.4-1.i386.rpm
16:binutils-2.15.92.0.2-15.i386.rpm
16:gpm-1.20.1-66.i386.rpm
16:bzip2-1.0.2-13.EL4.2.i386.rpm
16:rpmdb-SL-42-0.20051122.i386.rpm
16:vim-minimal-6.3.046-0.40E.7.i386.rpm
16:perl-Filter-1.30-6.i386.rpm
16:glib-1.2.10-15.i386.rpm
16:words-3.0-3.noarch.rpm
16:cracklib-dicts-2.7-29.i386.rpm
16:cracklib-2.7-29.i386.rpm
16:pam-0.77-66.13.i386.rpm
16:util-linux-2.12a-16.EL4.12.i386.rpm
16:libuser-0.52.5-1.i386.rpm
16:SysVinit-2.85-34.3.i386.rpm
16:passwd-0.68-10.1.i386.rpm
16:hotplug-2004_04_01-7.6.i386.rpm
16:lvm2-2.01.14-2.0.RHEL4.i386.rpm
16:udev-039-10.10.EL4.i386.rpm
16:mkinitrd-4.2.1.6-1.i386.rpm
16:initscripts-7.93.20.EL-1.i386.rpm
16:kernel-2.6.9-22.0.1.EL.i686.rpm
16:openssh-3.9p1-8.RHEL4.9.i386.rpm
16:cyrus-sasl-2.1.19-5.EL4.i386.rpm
16:yum-2.4.0-3.SL.noarch.rpm
16:cyrus-sasl-md5-2.1.19-5.EL4.i386.rpm
16:openssh-server-3.9p1-8.RHEL4.9.i386.rpm
16:openssh-clients-3.9p1-8.RHEL4.9.i386.rpm
16:yum-conf-42-3.SL.noarch.rpm
16:iptables-1.2.11-3.1.RHEL4.i386.rpm
16:which-2.16-4.i386.rpm
EOF
            )
            ;;
        *)
            # No clue
            ;;
esac
}

print_rpms() {
    local rpm_list=$(echo "$RPMS" | sed "s/[[:digit:]]\+://")

    echo "RPMs for suite $RPMSUITE and arch $ARCH"
    for a in $rpm_list
    do
        echo " : $a"
    done
}

install_rpms() {
    mkdir -p $TARGET/etc
    touch $TARGET/etc/fstab
    install_by_pass $RPMS
}

suite_details() {
    for a in $RPMS
    do
        echo $a
    done
}
