From 901889aa5c484bd6ab46906243dc3c95a5924f87 Mon Sep 17 00:00:00 2001 From: tschettervictor <85497460+tschettervictor@users.noreply.github.com> Date: Thu, 15 May 2025 08:06:48 -0600 Subject: [PATCH 1/3] upgrade: Grab release from fstab on thin jails if not present in jail.conf --- usr/local/share/bastille/upgrade.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr/local/share/bastille/upgrade.sh b/usr/local/share/bastille/upgrade.sh index f22099a8..d2e77f38 100644 --- a/usr/local/share/bastille/upgrade.sh +++ b/usr/local/share/bastille/upgrade.sh @@ -164,7 +164,9 @@ jail_upgrade() { # Upgrade a thin jail if grep -qw "${bastille_jailsdir}/${_jailname}/root/.bastille" "${bastille_jailsdir}/${_jailname}/fstab"; then - local _oldrelease="$(grep osrelease ${bastille_jailsdir}/${_jailname}/jail.conf | awk -F"= " '{print $2}' | sed 's/;//g')" + if [ -z "${_oldrelease}" ]; then + _oldrelease="$(grep "${bastille_releasesdir}.*\.bastille.*nullfs.*" "${bastille_jailsdir}/${_jailname}/fstab" | awk -F"/releases/" '{print $2}' | awk '{print $1}')" + fi local _newrelease="${NEWRELEASE}" # Update "osrelease" entry inside fstab sed -i '' "/.bastille/ s|${_oldrelease}|${_newrelease}|g" "${bastille_jailsdir}/${_jailname}/fstab" @@ -234,4 +236,4 @@ else fi info "\n[${TARGET}]:" jail_upgrade "${TARGET}" "${NEWRELEASE}" -fi \ No newline at end of file +fi From 64968b51d163bad73a702deb09ff5e42865d03d6 Mon Sep 17 00:00:00 2001 From: tschettervictor <85497460+tschettervictor@users.noreply.github.com> Date: Thu, 15 May 2025 08:20:00 -0600 Subject: [PATCH 2/3] =?UTF-8?q?upgrade:=20=E2=80=9Cnot=20set=E2=80=9D=20?= =?UTF-8?q?=3D=20=E2=80=9Cno=20release=E2=80=9D=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- usr/local/share/bastille/upgrade.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/local/share/bastille/upgrade.sh b/usr/local/share/bastille/upgrade.sh index d2e77f38..165e936d 100644 --- a/usr/local/share/bastille/upgrade.sh +++ b/usr/local/share/bastille/upgrade.sh @@ -164,7 +164,7 @@ jail_upgrade() { # Upgrade a thin jail if grep -qw "${bastille_jailsdir}/${_jailname}/root/.bastille" "${bastille_jailsdir}/${_jailname}/fstab"; then - if [ -z "${_oldrelease}" ]; then + if [ "${_oldrelease}" = "not set" ]; then _oldrelease="$(grep "${bastille_releasesdir}.*\.bastille.*nullfs.*" "${bastille_jailsdir}/${_jailname}/fstab" | awk -F"/releases/" '{print $2}' | awk '{print $1}')" fi local _newrelease="${NEWRELEASE}" From bb3d3a95aff6e8f4f34a6cee98e914bdf6e4ec40 Mon Sep 17 00:00:00 2001 From: tschettervictor <85497460+tschettervictor@users.noreply.github.com> Date: Thu, 15 May 2025 08:24:18 -0600 Subject: [PATCH 3/3] upgrade: Use config sub command to update osrelease --- usr/local/share/bastille/upgrade.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr/local/share/bastille/upgrade.sh b/usr/local/share/bastille/upgrade.sh index 165e936d..915f804d 100644 --- a/usr/local/share/bastille/upgrade.sh +++ b/usr/local/share/bastille/upgrade.sh @@ -170,8 +170,8 @@ jail_upgrade() { local _newrelease="${NEWRELEASE}" # Update "osrelease" entry inside fstab sed -i '' "/.bastille/ s|${_oldrelease}|${_newrelease}|g" "${bastille_jailsdir}/${_jailname}/fstab" - # Update "osrelease" inside jail.conf - sed -i '' "/osrelease/ s|${_oldrelease}|${_newrelease}|g" "${bastille_jailsdir}/${_jailname}/jail.conf" + # Update "osrelease" inside jail.conf using 'bastille config' + bastille config ${_jailname} set osrelease ${_newrelease} # Start jail if AUTO=1 if [ "${AUTO}" -eq 1 ]; then bastille start "${_jailname}" @@ -187,8 +187,8 @@ jail_upgrade() { -f "${_freebsd_update_conf}" \ -r "${_newrelease}" upgrade - # Update "osrelease" entry inside jail.conf - sed -i '' "/osrelease/ s|${_oldrelease}|${_newrelease}|g" "${bastille_jailsdir}/${_jailname}/jail.conf" + # Update "osrelease" inside jail.conf using 'bastille config' + bastille config ${_jailname} set osrelease ${_newrelease} warn "Please run 'bastille upgrade ${_jailname} install', restart the jail, then run 'bastille upgrade ${_jailname} install' again to finish installing updates." fi }