+++ /dev/null
-#!/bin/bash
-
-kernelrpm=$1
-vnetrpm=$2
-
-tmpdir=
-files=
-
-bail ()
-{
- rm -rf $tmpdir $files
- exit -1
-}
-
-usage ()
-{
- program=$(basename $0)
- echo "USAGE:"
- echo " $program kernel.rpm vnet.rpm"
- echo " where kernel.rpm and vnet.rpm are the corresponding rpm files,"
- echo " which might live in ./RPMS/..."
- exit -1
-}
-
-checkrpm ()
-{
- filename=$1
- if [ -f "$filename" -a $(rpm -qip $filename | wc -l) -eq 1 ] ; then
- echo "$filename not a valid rpm file"
- usage
- fi
-}
-
-[ -z "$kernelrpm" -o -z "$vnetrpm" ] && usage
-checkrpm $kernelrpm
-checkrpm $vnetrpm
-
-isofs=/plc/root/usr/share/bootcd/build/isofs
-tmpdir=$(mktemp -d /tmp/bootcd.XXXXXX)
-cur=`pwd`
-if [ -f ${cur}/merge_hw_tables.py ] ; then
- MERGE=${cur}/merge_hw_tables.py
- chmod +x ${cur}/merge_hw_tables.py
-else
- echo "fetching merge_hw_tables.py from cvs repository"
- cvs -d :pserver:anonymous@cvs.planet-lab.org:/cvs co -p bootmanager/source/merge_hw_tables.py > ${cur}/merge_hw_tables.py
- chmod +x ${cur}/merge_hw_tables.py
- MERGE=${cur}/merge_hw_tables.py
-fi
-
-myplcwebdir=/plc/data/var/www/html
-
-echo -n "Updating myplc planetlab yum repository with $kernelrpm"
-rm -f ${myplcwebdir}/install-rpms/planetlab/kernel-*
-cp $cur/$kernelrpm ${myplcwebdir}/install-rpms/planetlab
-
-echo -n " and $vnetrpm"
-rm -f ${myplcwebdir}/install-rpms/planetlab/vnet-*
-cp $cur/$vnetrpm ${myplcwebdir}/install-rpms/planetlab
-echo " ... done"
-
-trap "bail" ERR INT
-echo "Updating bootcd image with $kernelrpm"
-pushd $tmpdir
-mkdir bootcd
-pushd bootcd
-gzip -d -c $isofs/bootcd.img | cpio -diu
-rm -rf boot/*
-rm -rf lib/modules
-rpm2cpio $cur/$kernelrpm | cpio -diu
-version=$(cd ./boot && ls vmlinuz* | sed 's,vmlinuz-,,')
-depmod -b . $version
-pci_map_file=./lib/modules/${version}/modules.pcimap
-module_dep_file=./lib/modules/${version}/modules.dep
-pci_table=./usr/share/hwdata/pcitable
-$MERGE $module_dep_file $pci_map_file $pci_table ./etc/pl_pcitable
-cp boot/vmlinuz* ${tmpdir}/kernel
-find . | cpio --quiet -c -o | gzip -9 > ${tmpdir}/bootcd.img
-popd
-popd
-mv ${tmpdir}/kernel $isofs
-mv ${tmpdir}/bootcd.img $isofs
-rm -rf $tmpdir
-echo " ... done"
-trap - ERR
-
-echo -n "update PlanetLab-Bootstrap.tar.bz2 with $kernelrpm"
-tmpdir=$(mktemp -d ${myplcwebdir}/boot/bootstrap.XXXXXX)
-trap "bail" ERR INT
-cur=`pwd`
-cp $cur/$kernelrpm ${tmpdir}/kernel.rpm
-cp $cur/$vnetrpm ${tmpdir}/vnet.rpm
-echo -n " ... untarring PlanetLab-Bootstrap.tar.bz2"
-pushd $tmpdir
-tar -jxpf ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2
-popd
-chroot $tmpdir rpm -e --allmatches --nodeps --noscripts vnet
-chroot $tmpdir rpm -e --allmatches --nodeps kernel
-files="${tmpdir}/kernel.rpm ${tmpdir}/vnet.rpm"
-chroot $tmpdir rpm -Uvh kernel.rpm
-chroot $tmpdir rpm -Uvh vnet.rpm
-rm -f ./kernel.rpm
-rm -f ./vnet.rpm
-echo -n " ... tarring PlanetLab-Bootstrap.tar.bz2"
-pushd $tmpdir
-tar -jcpf ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2.new ./
-popd
-mv ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2.new ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2
-rm -rf $tmpdir
-echo " ... done"
-trap - ERR
-
-exit 0