#!/bin/sh set -e #set -x SETS="bsd.mp bsd.rd comp man game xbase xshare xserv base" if [ `id -u` = "0" ]; then echo "don't run me as root" exit 1 fi T=`mktemp -t -d upsnap.XXXXXXX` cd $T fetch() { ftp `cat /etc/installurl`/snapshots/`machine`/$1 } fetch "SHA256" fetch "SHA256.sig" REL=`grep 'comp...tgz' ${T}/SHA256.sig | sed -e 's/.tgz.*//' -e 's/.*comp//'` if [ "${REL}" = "" ]; then echo "can't find release version in SHA256.sig" exit 1 fi # upgrade firmware first or wifi might not work on new kernel doas fw_update for f in $SETS; do fn="${f}${REL}.tgz" if [ $f = "bsd.rd" ] || [ $f = "bsd.mp" ]; then fn=$f fi fetch ${fn} signify -C -x SHA256.sig ${fn} || exit 1 if [ $f = "bsd.rd" ]; then doas cp -f $f / elif [ $f = "bsd.mp" ]; then doas cp -f $f /bsd.snap else doas tar -xpz -C / -f ${f}${REL}.tgz fi done # delete relink kit since we have our own objects in /usr/share/relink/kernel/ doas rm -f /usr/share/relink/kernel.tgz # rebuild/install my local changes cd /usr/src && git catchup && doas make includes cd /usr/src/sbin/sysctl && (make clean depend all && doas make install) cd /usr/src/bin/dd && (make clean depend all && doas make install) (cd /dev; doas sh MAKEDEV all) doas env USER=$USER sh /etc/X11/xenodm/GiveConsole doas sysmerge doas rm -vf /etc/fonts/conf.d/{11-lcdfilter-default.conf,30-metric-aliases.conf,31-nonmst.conf,60-generic.conf} doas pkg_add -u -Dsnap doas rm -rf /usr/local/share/vlc/skins2/