=================================================================== RCS file: /cvs/openbsd/update_openbsd/update_openbsd,v retrieving revision 1.116 retrieving revision 1.123 diff -u -r1.116 -r1.123 --- openbsd/update_openbsd/update_openbsd 2018/12/16 20:55:24 1.116 +++ openbsd/update_openbsd/update_openbsd 2019/03/02 01:05:59 1.123 @@ -1,5 +1,5 @@ #!/bin/sh -# $AFresh1: update_openbsd,v 1.115 2018/12/16 20:55:03 andrew Exp $ +# $AFresh1: update_openbsd,v 1.122 2019/03/02 01:04:52 andrew Exp $ # # Copyright (c) 2012 Andrew Fresh # @@ -172,7 +172,7 @@ if [ X"" != X"${MIRROR}" -a X"" == X"${_v}" ]; then if [ X"No" != X"${FORCE_DIR}" ]; then _dir=${FORCE_DIR} - elif sysctl kern.version | grep -q -- '-current '; then + elif sysctl kern.version | grep -q -e '-current ' -e '-beta '; then _dir=snapshots FORCE_DIR=snapshots else @@ -251,10 +251,13 @@ fi cd $KERNEL_ROOT - BOOT_KERNEL=$( find_boot_kernel ) - BOOT_KERNEL_VERSION=$( kernel_file_version $BOOT_KERNEL ) - if [ $(sysctl -n hw.ncpufound) -gt 1 ] || kernel_is_multiprocessor $BOOT_KERNEL; then + BOOTED_KERNEL=$( find_boot_kernel ) + BOOT_KERNEL_VERSION=$( kernel_file_version $BOOTED_KERNEL ) + + if [ $(sysctl -n hw.ncpufound) -gt 1 ] || kernel_is_multiprocessor $BOOTED_KERNEL; then BOOT_KERNEL=bsd.mp + else + BOOT_KERNEL=$BOOTED_KERNEL fi BOOTED_KERNEL_VERSION=`sysctl -n kern.version` @@ -486,7 +489,7 @@ [ $_d != / ] && mount | grep -q " on ${_d%/} .* msdos" && mount_is_msdos=1 if [ "$EFI_BOOT" -a -d /mnt/efi/boot ]; then - echo "Copying $EFI_BOOT to /mnt/efi/boot/$EFI_BOOT" + echo "Copying $EFI_BOOT to /mnt/efi/boot/" ( cd /mnt/efi/boot \ && cp "$RELEASEDIR/$EFI_BOOT" "n$EFI_BOOT" \ && mv "n$EFI_BOOT" "$EFI_BOOT" @@ -494,11 +497,11 @@ fi if [ X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then - echo "===> Backing up ${_d}$BOOT_KERNEL to ${_d}obsd" + echo "===> Backing up ${_d}$BOOTED_KERNEL to ${_d}obsd" if [ $mount_is_msdos ]; then - cp ${_d}$BOOT_KERNEL ${_d}obsd + cp ${_d}$BOOTED_KERNEL ${_d}obsd else - ln -f ${_d}$BOOT_KERNEL ${_d}obsd + ln -f ${_d}$BOOTED_KERNEL ${_d}obsd fi if [ $? -ne 0 ]; then echo "Error copying old kernel!" >&2 @@ -715,7 +718,7 @@ echo "===> Last booted:\n$BOOTED_KERNEL_VERSION" if [ X"$BOOT_KERNEL_VERSION" != X"$BOOTED_KERNEL_VERSION" \ -a X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then - echo "Next boot (unless replaced):\n$BOOT_KERNEL_VERSION" + echo "Next boot $BOOTED_KERNEL (unless replaced):\n$BOOT_KERNEL_VERSION" fi if [ -n "$NEW_KERNEL_VERSION" ]; then echo "===> New $BOOT_KERNEL:\n$NEW_KERNEL_VERSION"; @@ -760,6 +763,11 @@ echo Removing /sbin/oreboot rm -f /sbin/oreboot fi + + echo "===> Relinking to create unique kernel..." + sha256 -h /var/db/kernel.SHA256 /bsd + /usr/libexec/reorder_kernel + update_etc OPENUP=$( which openup 2>/dev/null ) @@ -767,6 +775,10 @@ echo "==> UPDATING WITH $OPENUP" $OPENUP else + if [ X"snapshots" != X"$FORCE_DIR" ]; then + echo '==> RUNNING SYSPATCH' + syspatch + fi echo '==> UPDATING PACKAGES' pkg_add -u fi