ftp -o - https://jcs.org/move_in | sh -
1#!/bin/sh
2
3set -e
4#set -x
5
6SETS="bsd.mp bsd.rd comp man game xbase xshare xserv base"
7
8if [ `id -u` = "0" ]; then
9 echo "don't run me as root"
10 exit 1
11fi
12
13T=`mktemp -t -d upsnap.XXXXXXX`
14cd $T
15
16fetch() {
17 ftp `cat /etc/installurl`/snapshots/`machine`/$1
18}
19
20fetch "SHA256"
21fetch "SHA256.sig"
22
23REL=`grep 'comp...tgz' ${T}/SHA256.sig | sed -e 's/.tgz.*//' -e 's/.*comp//'`
24
25if [ "${REL}" = "" ]; then
26 echo "can't find release version in SHA256.sig"
27 exit 1
28fi
29
30# upgrade firmware first or wifi might not work on new kernel
31doas fw_update
32
33for f in $SETS; do
34 fn="${f}${REL}.tgz"
35 if [ $f = "bsd.rd" ] || [ $f = "bsd.mp" ]; then
36 fn=$f
37 fi
38
39 fetch ${fn}
40 signify -C -x SHA256.sig ${fn} || exit 1
41
42 if [ $f = "bsd.rd" ]; then
43 doas cp -f $f /
44 elif [ $f = "bsd.mp" ]; then
45 doas cp -f $f /bsd.snap
46 else
47 doas tar -xpz -C / -f ${f}${REL}.tgz
48 fi
49done
50
51# delete relink kit since we have our own objects in /usr/share/relink/kernel/
52doas rm -f /usr/share/relink/kernel.tgz
53
54# rebuild/install my local changes
55cd /usr/src && git catchup && doas make includes
56cd /usr/src/sbin/sysctl && (make clean depend all && doas make install)
57cd /usr/src/bin/dd && (make clean depend all && doas make install)
58
59(cd /dev; doas sh MAKEDEV all)
60doas env USER=$USER sh /etc/X11/xenodm/GiveConsole
61doas sysmerge
62doas rm -vf /etc/fonts/conf.d/{11-lcdfilter-default.conf,30-metric-aliases.conf,31-nonmst.conf,60-generic.conf}
63doas pkg_add -u -Dsnap
64doas rm -rf /usr/local/share/vlc/skins2/