diff options
author | 2016-11-27 11:38:50 +0000 | |
---|---|---|
committer | 2016-11-27 11:38:50 +0000 | |
commit | 57aad2dc86c2c4c47df82a51fbefe76fad36722f (patch) | |
tree | 69383ce30313671a349c355976533320fcf1a4e5 /usr.sbin/syspatch | |
parent | uppercase for "the Reformation"; (diff) | |
download | wireguard-openbsd-57aad2dc86c2c4c47df82a51fbefe76fad36722f.tar.xz wireguard-openbsd-57aad2dc86c2c4c47df82a51fbefe76fad36722f.zip |
Remove the backup kernel in rollback_patch() instead of the cleanup
function.
Consistent use of install(1).
Diffstat (limited to 'usr.sbin/syspatch')
-rw-r--r-- | usr.sbin/syspatch/syspatch.sh | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/usr.sbin/syspatch/syspatch.sh b/usr.sbin/syspatch/syspatch.sh index 80083dbbb9e..78653c987ae 100644 --- a/usr.sbin/syspatch/syspatch.sh +++ b/usr.sbin/syspatch/syspatch.sh @@ -1,6 +1,6 @@ #!/bin/ksh # -# $OpenBSD: syspatch.sh,v 1.62 2016/11/27 08:55:48 ajacoutot Exp $ +# $OpenBSD: syspatch.sh,v 1.63 2016/11/27 11:38:50 ajacoutot Exp $ # # Copyright (c) 2016 Antoine Jacoutot <ajacoutot@openbsd.org> # @@ -35,7 +35,7 @@ apply_patch() [[ -n ${_patch} ]] _explodir=${_TMP}/${_patch} - mkdir -p ${_explodir} + install -d ${_explodir} _files="$(tar xvzphf ${_TMP}/${_patch}.tgz -C ${_explodir})" checkfs ${_files} @@ -241,7 +241,7 @@ rollback_patch() _explodir=${_TMP}/${_rbpatch%.tgz} echo "Reverting ${_patch}" - mkdir -p ${_explodir} + install -d ${_explodir} _files="$(tar xvzphf ${_PDIR}/${_REL}/${_rbpatch} -C ${_explodir})" checkfs ${_files} ${_PDIR}/${_REL} # check for ro /var/syspatch/${OSREV} @@ -250,6 +250,10 @@ rollback_patch() [[ ${_ret} == 0 ]] || break if [[ ${_file} == @(bsd|bsd.mp) ]]; then install_kernel ${_explodir}/${_file} || _ret=$? + # remove the backup kernel if all kernel syspatches have + # been reverted; non-fatal (`-f') + cmp -s /bsd /bsd.syspatch${_RELINT} && + rm -f /bsd.syspatch${_RELINT} else install_file ${_explodir}/${_file} /${_file} || _ret=$? fi @@ -260,8 +264,6 @@ rollback_patch() rm ${_PDIR}/${_REL}/${_rbpatch} && [[ ${_ret} == 0 ]] || sp_err "Failed to revert ${_patch}" ${_ret} - - sp_cleanup } sp_cleanup() @@ -280,9 +282,6 @@ sp_cleanup() [[ ${_k} == /bsd.syspatch${_RELINT} ]] || rm ${_k} done - # remove rollback kernel if all kernel syspatches have been reverted - ! cmp -s /bsd /bsd.syspatch${_RELINT} || rm /bsd.syspatch${_RELINT} - # in case a patch added a new directory (install -D); # non-fatal in case some mount point is read-only or remote for _m in 4.4BSD BSD.x11; do |