diff options
Diffstat (limited to 'sysutils/beadm')
-rw-r--r-- | sysutils/beadm/Makefile | 4 | ||||
-rw-r--r-- | sysutils/beadm/distinfo | 6 | ||||
-rw-r--r-- | sysutils/beadm/files/patch-beadm | 126 | ||||
-rw-r--r-- | sysutils/beadm/files/patch-beadm.1 | 12 |
4 files changed, 15 insertions, 133 deletions
diff --git a/sysutils/beadm/Makefile b/sysutils/beadm/Makefile index a6e658521607..5faa00975bc0 100644 --- a/sysutils/beadm/Makefile +++ b/sysutils/beadm/Makefile @@ -1,8 +1,8 @@ # $FreeBSD$ PORTNAME= beadm -PORTVERSION= 1.2.7 -PORTREVISION= 4 +PORTVERSION= 1.2.8 +PORTREVISION= 0 CATEGORIES= sysutils MASTER_SITES= GH \ http://mirror.shatow.net/freebsd/${PORTNAME}/ \ diff --git a/sysutils/beadm/distinfo b/sysutils/beadm/distinfo index e9206f562605..12071c961df5 100644 --- a/sysutils/beadm/distinfo +++ b/sysutils/beadm/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1499152765 -SHA256 (vermaden-beadm-1.2.7_GH0.tar.gz) = 6982b4d495d954d971470a1b3bcc8bf886e0a412fdf70c034dbaf74f9216f866 -SIZE (vermaden-beadm-1.2.7_GH0.tar.gz) = 14924 +TIMESTAMP = 1530392877 +SHA256 (vermaden-beadm-1.2.8_GH0.tar.gz) = 6fd52954f7d4f55ad80d5838bdbd92992fc54210832ab3f18afd4ffc5542bc28 +SIZE (vermaden-beadm-1.2.8_GH0.tar.gz) = 15385 diff --git a/sysutils/beadm/files/patch-beadm b/sysutils/beadm/files/patch-beadm deleted file mode 100644 index 56b3f77b2f2e..000000000000 --- a/sysutils/beadm/files/patch-beadm +++ /dev/null @@ -1,126 +0,0 @@ ---- beadm.orig 2017-01-13 23:25:44 UTC -+++ beadm -@@ -128,6 +128,24 @@ __be_new() { # 1=SOURCE 2=TARGET - unset NAME_NEW - unset NAME_SANITY - local SOURCE=$( echo ${1} | cut -d '@' -f 1 ) -+ local ENTROPY=0 -+ # secure current /boot/entropy file -+ if [ -f /boot/entropy ] -+ then -+ if ! cp -p /boot/entropy /boot/entropy.OLD 1> /dev/null 2> /dev/null -+ then -+ echo "ERROR: Can not copy current '/boot/entropy' file" -+ exit 1 -+ fi -+ ENTROPY=1 -+ fi -+ # create new /boot/entropy file that would be used in new boot environment -+ if ! dd if=/dev/random of=/boot/entropy bs=4096 count=1 1> /dev/null 2> /dev/null -+ then -+ echo "ERROR: Can not generate new '/boot/entropy' file" -+ exit 1 -+ fi -+ # create snapshot that will be used as a base for new boot environment - if __be_snapshot ${1} - then - # create boot environment from snapshot -@@ -138,6 +156,13 @@ __be_new() { # 1=SOURCE 2=TARGET - if ! zfs list -H -o name ${FS}@${SNAPSHOT} 1> /dev/null 2> /dev/null - then - echo "ERROR: Child snapshot '${FS}@${SNAPSHOT}' does not exist" -+ if [ ${ENTROPY} -ne 0 ] -+ then -+ if ! mv /boot/entropy.OLD /boot/entropy 1> /dev/null 2> /dev/null -+ then -+ echo "WARNING: Can not bring back original '/boot/entropy' file" -+ fi -+ fi - exit 1 - fi - done -@@ -146,6 +171,13 @@ __be_new() { # 1=SOURCE 2=TARGET - if zfs list -H -o name ${1}@${2##*/} 1> /dev/null 2> /dev/null - then - echo "ERROR: Snapshot '${1}@${2##*/}' already exists" -+ if [ ${ENTROPY} -ne 0 ] -+ then -+ if ! mv /boot/entropy.OLD /boot/entropy 1> /dev/null 2> /dev/null -+ then -+ echo "WARNING: Can not bring back original '/boot/entropy' file" -+ fi -+ fi - exit 1 - fi - # snapshot format -@@ -153,9 +185,25 @@ __be_new() { # 1=SOURCE 2=TARGET - if ! zfs snapshot -r ${1}@${FMT} 1> /dev/null 2> /dev/null - then - echo "ERROR: Cannot create snapshot '${1}@${FMT}'" -+ if [ ${ENTROPY} -ne 0 ] -+ then -+ if ! mv /boot/entropy.OLD /boot/entropy 1> /dev/null 2> /dev/null -+ then -+ echo "WARNING: Can not bring back original '/boot/entropy' file" -+ fi -+ fi - exit 1 - fi - fi -+ # bring back secured /boot/entropy.OLD file -+ if [ -f /boot/entropy.OLD ] -+ then -+ if ! mv /boot/entropy.OLD /boot/entropy 1> /dev/null 2> /dev/null -+ then -+ echo "WARNING: Can not bring back original '/boot/entropy' file" -+ fi -+ fi -+ unset ENTROPY - # clone properties of source boot environment - zfs list -H -o name -r ${SOURCE} \ - | grep -v '@' \ -@@ -303,7 +351,7 @@ case ${1} in - while(CMD_ZFS_LIST BENAME_BEGINS_WITH | getline) { - if($1 != BENAME_BEGINS_WITH) { - FSNAME = $1 -- FSNAMES[length(FSNAME) + 1] = FSNAME -+ FSNAMES[length(FSNAMES) + 1] = FSNAME - USED = __normalize($2) - USEDBYDATASET = __normalize($3) - USEDBYSNAPSHOTS = __normalize($4) -@@ -492,6 +540,7 @@ case ${1} in - fi - fi - # do not change root (/) mounted boot environment mountpoint -+ HAVE_ZFSBE=0 - if [ "${ROOTFS}" != "${POOL}/${BEDS}/${2}" ] - then - TMPMNT=$( mktemp -d -t BE-${2} ) -@@ -519,6 +568,9 @@ EOF - else - TMPMNT=${MOUNT} - fi -+ if [ -f ${TMPMNT}/etc/rc.d/zfsbe ]; then -+ HAVE_ZFSBE=1 -+ fi - if [ -f /boot/zfs/zpool.cache ] - then - cp /boot/zfs/zpool.cache ${TMPMNT}/boot/zfs/zpool.cache -@@ -555,11 +607,16 @@ EOF - zfs set canmount=noauto ${NAME} - done - # enable automatic mount for active boot environment and promote it -+ if [ ${HAVE_ZFSBE} -eq 1 ]; then -+ ZFSBE_CANMOUNT=noauto -+ else -+ ZFSBE_CANMOUNT=on -+ fi - echo "${ZFS_LIST}" \ - | grep -E "^${POOL}/${BEDS}/${2}(/|$)" \ - | while read NAME - do -- zfs set canmount=on ${NAME} -+ zfs set canmount=${ZFSBE_CANMOUNT} ${NAME} - while __be_clone ${NAME} - do - zfs promote ${NAME} diff --git a/sysutils/beadm/files/patch-beadm.1 b/sysutils/beadm/files/patch-beadm.1 index e368213c3715..dc0dc69049b2 100644 --- a/sysutils/beadm/files/patch-beadm.1 +++ b/sysutils/beadm/files/patch-beadm.1 @@ -4,9 +4,9 @@ Date: Wed Sep 6 09:17:00 2017 -0600 Fix indentation in man page ---- beadm.1.orig 2017-01-13 23:25:44 UTC +--- beadm.1.orig 2018-06-13 03:53:03 UTC +++ beadm.1 -@@ -87,9 +87,11 @@ If the -e param is specified, the new environment will +@@ -89,9 +89,11 @@ If the -e param is specified, the new environment will Creates a snapshot of the existing boot environment named .Ar beName . .Pp @@ -20,3 +20,11 @@ Date: Wed Sep 6 09:17:00 2017 -0600 .Pp Destroys the given .Ar beName +@@ -151,6 +153,7 @@ will force the unmount if busy. + .Pp + .It Ic version + List the beadm version and exit. ++.El + .Sh EXAMPLES + .Bl -bullet + .It |