From cd1671eca6eb9d8f8f22c17ef2617600fb6ec049 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Tue, 7 Jan 2025 13:36:16 -0600 Subject: [PATCH 1/4] Packaging: deb/pre-install.sh Remove dead code --- packaging/deb/scripts/pre-install.sh | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/packaging/deb/scripts/pre-install.sh b/packaging/deb/scripts/pre-install.sh index daf0adc88d..e4e5597350 100644 --- a/packaging/deb/scripts/pre-install.sh +++ b/packaging/deb/scripts/pre-install.sh @@ -16,7 +16,6 @@ set -e PACKS_GROUP=st2packs SYS_USER=stanley ST2_USER=st2 -ST2_CONFPATH="/etc/st2/st2.conf" ST2_UPGRADESTAMP="/tmp/.stamp-stackstorm-st2-deb-package" ## Permissions of directories which has to be reset on upgrade @@ -48,18 +47,6 @@ create_users() { fi } -## [NOT USED!] Get current system user from the st2.conf -config_sysuser() { - # exit hooked - return 0 - local sysuser= - if [ -f $ST2_CONFPATH ]; then - sysuser=$(cat $ST2_CONFPATH | - sed -n -e '/\[system_user\]/,/\[.*\]\|\$/ { /\[.*\]/d; /user\s*=/ { s/\s*user\s*=\s*//; p } }') - fi - echo $sysuser -} - ## Update logrotate configuration enable_logrotate() { [ -f /etc/logrotate.d/st2-pkgsaved.disabled ] && From 7905713247362499f086c41f75facc02138d5390 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Tue, 7 Jan 2025 13:49:02 -0600 Subject: [PATCH 2/4] Packaging: deb/*.sh Remove logrotate config handling /etc/logrotate.d/st2 is already recorded in conffiles, so let dpkg handle conf preservation and restoration. Besides, there was a bug in the code anyway rendering this logic useless. post-remove.sh should have had mv /etc/logrotate.d/st2 /etc/logrotate.d/st2-pkgsaved.disabled but was missing the first argument, so it did nothing. This was hidden by the '|| true' that made it always pass. Since the logic doesn't work, and it is not necessary, just drop it. --- packaging/deb/scripts/post-remove.sh | 14 +++++--------- packaging/deb/scripts/pre-install.sh | 8 -------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/packaging/deb/scripts/post-remove.sh b/packaging/deb/scripts/post-remove.sh index d966dc55cf..9cfe930fb7 100644 --- a/packaging/deb/scripts/post-remove.sh +++ b/packaging/deb/scripts/post-remove.sh @@ -18,11 +18,8 @@ set -e # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package -## Save st2 logrotate config on remove, but wipe it out on purge. -preserve_logrotate() { - if [ "$1" = remove ]; then - [ -f /etc/logrotate.d/st2 ] && mv /etc/logrotate.d/st2-pkgsaved.disabled 1>/dev/null 2>&1 || : - elif [ "$1" = purge ]; then +purge_files() { + # This -pkgsaved.disabled file might be left over from old (buggy) deb packages rm -f /etc/logrotate.d/st2-pkgsaved.disabled 1>/dev/null 2>&1 || : # Clean up other StackStorm related configs and directories rm -rf /etc/st2 1>/dev/null 2>&1 || : @@ -30,14 +27,13 @@ preserve_logrotate() { rm -rf /root/.st2 1>/dev/null 2>&1 || : rm -rf /var/log/st2 1>/dev/null 2>&1 || : rm -f /etc/sudoers.d/st2 1>/dev/null 2>&1 || : - fi } case "$1" in - remove|purge) - preserve_logrotate "$1" + purge) + purge_files ;; - upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 diff --git a/packaging/deb/scripts/pre-install.sh b/packaging/deb/scripts/pre-install.sh index e4e5597350..9cb0927b37 100644 --- a/packaging/deb/scripts/pre-install.sh +++ b/packaging/deb/scripts/pre-install.sh @@ -47,12 +47,6 @@ create_users() { fi } -## Update logrotate configuration -enable_logrotate() { - [ -f /etc/logrotate.d/st2-pkgsaved.disabled ] && - mv -f /etc/logrotate.d/st2-pkgsaved.disabled /etc/logrotate.d/st2 || : -} - ## Fix directories permissions on upgrade (different across maint scripts!) # NB! USED FOR COMPATIBILITY ON UPGRADE FROM PREVIOUS VERSIONS OF PACKAGES. # NB! In future package releases reseting permissions SHOULD BE REMOVED. @@ -77,11 +71,9 @@ set_permissions() { case "$1" in install) create_users - enable_logrotate ;; upgrade) create_users - enable_logrotate set_permissions "$RESET_PERMS" touch $ST2_UPGRADESTAMP ;; From 46c417ffd873b50e893494ef4e72c38d445163d4 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Tue, 7 Jan 2025 14:22:44 -0600 Subject: [PATCH 3/4] Packaging: Remove set_permissions functions A comment in the pre-install.sh files said: > Fix directories permissions on upgrade (different across maint scripts!) > NB! USED FOR COMPATIBILITY ON UPGRADE FROM PREVIOUS VERSIONS OF PACKAGES. > NB! In future package releases reseting permissions SHOULD BE REMOVED. This has been there for many releases. So, let's just remove this. Instead, we rely on the permissions that the st2 package provides, which are defined in BUILD nfpm_content_* metadata. This has the benefit of vastly simplifying the deb install scripts as the upgrade stamp file is no longer required. So, there is no longer a dependency between pre-install and post-install scripts. --- packaging/deb/scripts/post-install.sh | 35 ------------------------- packaging/deb/scripts/pre-install.sh | 35 ------------------------- packaging/rpm/scripts/pre-install.sh | 37 --------------------------- 3 files changed, 107 deletions(-) diff --git a/packaging/deb/scripts/post-install.sh b/packaging/deb/scripts/post-install.sh index 510b49fbfe..fd9007cd8a 100644 --- a/packaging/deb/scripts/post-install.sh +++ b/packaging/deb/scripts/post-install.sh @@ -17,43 +17,8 @@ set -e # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package -ST2_USER=st2 -PACKS_GROUP=st2packs -ST2_UPGRADESTAMP="/tmp/.stamp-stackstorm-st2-deb-package" -upgrading=0 - -## Permissions of files which should be set on install -SET_PERMS=$(cat </dev/null 2>&1 || true ;; diff --git a/packaging/deb/scripts/pre-install.sh b/packaging/deb/scripts/pre-install.sh index 9cb0927b37..5d327b21ae 100644 --- a/packaging/deb/scripts/pre-install.sh +++ b/packaging/deb/scripts/pre-install.sh @@ -16,18 +16,6 @@ set -e PACKS_GROUP=st2packs SYS_USER=stanley ST2_USER=st2 -ST2_UPGRADESTAMP="/tmp/.stamp-stackstorm-st2-deb-package" - -## Permissions of directories which has to be reset on upgrade -RESET_PERMS=$(cat < 1) -if [ "$1" -gt 1 ]; then - set_permissions "$RESET_PERMS" -fi From cc6b0f584299b4d6b34d261ff37f228731f5d72f Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Fri, 7 Mar 2025 11:52:02 -0600 Subject: [PATCH 4/4] add merge conflict magnet --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fca4143b62..ee78bf0f5a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -79,6 +79,7 @@ Added to pants' use of PEX lockfiles. This is not a user-facing addition. #6118 #6141 #6133 #6120 #6181 #6183 #6200 #6237 #6229 #6240 #6241 #6244 #6251 #6253 #6254 #6258 #6259 #6260 #6269 #6275 #6279 #6278 #6282 #6283 #6273 #6287 #6306 #6307 + #6314 Contributed by @cognifloyd * Build of ST2 EL9 packages #6153 Contributed by @amanda11