#!/bin/sh VER=0.0 # determine FreeBSD 4.11 or 8.x REL=`uname -r` case "$REL" in 9.*) echo "Using FreeBSD 9.x..." KERN=9.x SCRIPTVER=8.x ;; 8.*) echo "Using FreeBSD 8.x..." KERN=8.x SCRIPTVER=8.x ;; 4.11-RELEASE) echo "Using FreeBSD 4.11..." KERN=4.11 SCRIPTVER=4.11 ;; *) echo "What version of FreeBSD are you running (4.11/8.x) ?" exit 1 esac if [ "a$1" = "a" ] then echo "usage: ./core-kernel-release.sh 20080228 [clean]" echo a version number is required exit 1; else VER=$1 fi; if [ "a$2" = "aclean" ] then echo Cleaning up... rm -f core-kernel.pkglist.tmp rm -f core-kernel.pkglist rm -f core-kernel-${KERN}-${VER}.tbz exit fi; # check for /kernel.new on 4.11 if [ ${KERN} = "4.11" ] then if [ -e "/kernel.new" ] then echo Note: proceeding using this kernel... ls -al /kernel.new else echo "error: first copy the desired kernel to /kernel.new" exit fi; fi; # # build the packing list # echo @comment ORIGIN:net/core-kernel > core-kernel.pkglist if [ ${KERN} = "4.11" ] # FreeBSD 4.11 then echo @cwd / >> core-kernel.pkglist echo kernel.new >> core-kernel.pkglist find /modules \! -type d > core-kernel.pkglist.tmp find /sbin/vimage >> core-kernel.pkglist.tmp find /usr/share/man/man8/vimage.8.gz >> core-kernel.pkglist.tmp find /sbin/ngctl >> core-kernel.pkglist.tmp find /usr/share/man/man8/ngctl.8.gz >> core-kernel.pkglist.tmp # FreeBSD 8.x else echo @cwd /boot >> core-kernel.pkglist PWDOLD=${PWD} cd /boot find kernel \! -type d > ${PWDOLD}/core-kernel.pkglist.tmp cd ${PWDOLD} echo @cwd / >> core-kernel.pkglist.tmp find /usr/sbin/vimage >> core-kernel.pkglist.tmp find /usr/share/man/man8/vimage.8.gz >> core-kernel.pkglist.tmp fi; # remove leading '/' from lines sed -e "s,^/,," core-kernel.pkglist.tmp >> core-kernel.pkglist # # build the package # pkg_create -c core-kernel.pkgdesc -d core-kernel.pkgdesclong -f core-kernel.pkglist -i core-kernel-preinstall-${SCRIPTVER}.sh -K core-kernel-deinstall-${SCRIPTVER}.sh -v core-kernel-${KERN}-${VER}.tbz