ftp -o - https://jcs.org/move_in | sh -
at master 64 lines 1.5 kB view raw
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/