From owner-svn-ports-all@freebsd.org Wed Jul 5 20:02:45 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 50042D90487; Wed, 5 Jul 2017 20:02:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2BDB26E556; Wed, 5 Jul 2017 20:02:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v65K2i6H080264; Wed, 5 Jul 2017 20:02:44 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v65K2ifw080263; Wed, 5 Jul 2017 20:02:44 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201707052002.v65K2ifw080263@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 5 Jul 2017 20:02:44 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r445095 - in head/sysutils/beadm: . files X-SVN-Group: ports-head X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: in head/sysutils/beadm: . files X-SVN-Commit-Revision: 445095 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Jul 2017 20:02:45 -0000 Author: bdrewery Date: Wed Jul 5 20:02:44 2017 New Revision: 445095 URL: https://svnweb.freebsd.org/changeset/ports/445095 Log: Restore /boot/entropy handling incorrectly lost in upstream 1.2.7 tag. PR: 219256 Added: head/sysutils/beadm/files/ head/sysutils/beadm/files/patch-beadm (contents, props changed) Modified: head/sysutils/beadm/Makefile Modified: head/sysutils/beadm/Makefile ============================================================================== --- head/sysutils/beadm/Makefile Wed Jul 5 19:36:36 2017 (r445094) +++ head/sysutils/beadm/Makefile Wed Jul 5 20:02:44 2017 (r445095) @@ -2,7 +2,7 @@ PORTNAME= beadm PORTVERSION= 1.2.7 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= GH \ http://mirror.shatow.net/freebsd/${PORTNAME}/ \ Added: head/sysutils/beadm/files/patch-beadm ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/beadm/files/patch-beadm Wed Jul 5 20:02:44 2017 (r445095) @@ -0,0 +1,83 @@ +diff --git beadm beadm +index 6a0e397..f817e40 100755 +--- beadm ++++ 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 '@' \