[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r1135 - trunk/web/cdscripts



Author: rmh
Date: 2006-02-05 18:09:39 +0000 (Sun, 05 Feb 2006)
New Revision: 1135

Modified:
   trunk/web/cdscripts/netinst.sh
Log:
Make netinst.sh usable for gentoo as well.

Modified: trunk/web/cdscripts/netinst.sh
===================================================================
--- trunk/web/cdscripts/netinst.sh	2006-02-05 17:52:59 UTC (rev 1134)
+++ trunk/web/cdscripts/netinst.sh	2006-02-05 18:09:39 UTC (rev 1135)
@@ -7,9 +7,16 @@
 
 set -ex
 
+if [ "$1" = "" ] ; then
+  distribution=Debian
+else
+  distribution="$1"
+fi
+distribution_lowcase=`echo ${distribution} | tr [A-Z] [a-z] | tr " " "_"`
+
 version=`date +%Y%m%d`
 cpu=i386
-cdname=debian-${version}-kfreebsd-${cpu}-install.iso
+cdname=${distribution_lowcase}-${version}-kfreebsd-${cpu}-install.iso
 
 if [ "$UID" != "0" ] ; then
   sudo $0 $@
@@ -17,7 +24,7 @@
 fi
 
 for i in mkisofs ; do
-  if ! dpkg -s ${i} | grep -q "^Status: .* installed$" > /dev/null ; then
+  if ! which mkisofs > /dev/null ; then
     echo Install ${i} and try again
     exit 1
   fi
@@ -32,12 +39,24 @@
 # get kernel and loader (this must be before loader.conf, so that it gets overwritten)
 tmp1=`mktemp -d`
 tar -C ${tmp1} -xzf base.tgz
-dpkg --extract ${tmp1}/var/cache/apt/archives/kfreebsd-loader_*_kfreebsd-i386.deb ${tmp}/
-kfreebsd_image=`echo ${tmp1}/var/cache/apt/archives/kfreebsd-image-5.*-486_*_kfreebsd-i386.deb`
-dpkg --extract ${kfreebsd_image} ${tmp}/
-kfreebsd_version=`echo ${kfreebsd_image} | sed -e "s,.*/kfreebsd-image-,,g" -e "s,_.*,,g"`
-gzip -9 ${tmp}/boot/kernel/kernel
-rm -rf ${tmp1}
+case ${distribution_lower} in
+  debian)
+    dpkg --extract ${tmp1}/var/cache/apt/archives/kfreebsd-loader_*_kfreebsd-i386.deb ${tmp}/
+    kfreebsd_image=`echo ${tmp1}/var/cache/apt/archives/kfreebsd-image-5.*-486_*_kfreebsd-i386.deb`
+    dpkg --extract ${kfreebsd_image} ${tmp}/
+    kfreebsd_version=`echo ${kfreebsd_image} | sed -e "s,.*/kfreebsd-image-,,g" -e "s,_.*,,g"`
+  ;;
+  *)
+    # assume it's already in the tarball
+    cp -a ${tmp1}/boot ${tmp}/
+    echo -n "kfreebsd_version: "
+    read kfreebsd_version
+  ;;
+esac
+rm -rf ${tmp1} &
+if test -e ${tmp}/boot/kernel/kernel ; then
+  gzip -9 ${tmp}/boot/kernel/kernel
+fi
 
 # put mfsroot and other extras
 echo "CD_VERSION = ${kfreebsd_version}" > ${tmp}/cdrom.inf
@@ -47,7 +66,10 @@
 mfsroot_name="/boot/mfsroot"
 loader_color="YES"
 EOF
-cp mfsroot.gz ${tmp}/boot/
+case ${distribution_lowcase} in
+  gentoo) zcat mfsroot.gz | sed -e "s/Debian/Gentoo/g" | gzip -c9 > ${tmp}/boot/mfsroot.gz ;;
+  *) cp mfsroot.gz ${tmp}/boot/ ;;
+esac
 
 # copy our base into it
 mkdir ${tmp}/base/
@@ -61,7 +83,7 @@
 #################################
 # -V argument *must* be 32 char long at most, we have 18 chars for $version + $cpu
 (cd ${tmp} && mkisofs -b boot/cdboot -no-emul-boot \
-  -r -J -V "Debian $version $cpu Bin-1" \
+  -r -J -V "${distribution} ${version} ${cpu} Bin-1" \
   -o ${pwd}/${cdname} .)
 
 rm -rf ${tmp} &



Reply to: