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