sysbuild - randomcrap - random crap programs of varying quality
 (HTM) git clone git://git.codemadness.org/randomcrap
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       sysbuild (903B)
       ---
            1 #!/bin/sh -e
            2 #
            3 # Script to build OpenBSD from source.
            4 #
            5 # Typical usage:
            6 #
            7 # sysbuild k && reboot
            8 # sysbuild w x && reboot
            9 
           10 finalize=0
           11 JOBS="-j3"
           12 
           13 upgradekernel() {
           14         rm -rf /usr/obj/sys
           15         cd /usr/src/sys/arch/$(machine)/compile/GENERIC.MP
           16         make obj $JOBS
           17         make config
           18         make $JOBS
           19         make install
           20         chmod 644 /bsd
           21 }
           22 
           23 upgradeworld() {
           24         rm -rf /usr/obj/*
           25         cd /usr/src
           26         make obj $JOBS
           27         make build $JOBS
           28         finalize=1
           29 }
           30 
           31 upgradexenocara() {
           32         rm -rf /usr/xobj/*
           33         cd /usr/xenocara
           34         make bootstrap
           35         make obj $JOBS
           36         make build $JOBS
           37 }
           38 
           39 finish() {
           40         cd /dev
           41         cp /usr/src/etc/etc.$(machine)/MAKEDEV ./
           42         ./MAKEDEV all
           43         sysmerge
           44         fw_update
           45 }
           46 
           47 usage() {
           48 cat << EOF
           49 usage: upgrade-obsd [k] [w] [x]
           50 k  Upgrade kernel
           51 w  Upgrade world
           52 x  Upgrade xenocara
           53 EOF
           54 exit 1
           55 }
           56 
           57 for arg in "$@"; do
           58         case "$arg" in
           59         k) upgradekernel ;;
           60         w) upgradeworld ;;
           61         x) upgradexenocara ;;
           62         *) usage ;;
           63         esac
           64 done
           65 
           66 test "$finalize" -eq 1 && finish