Skip to content

Commit

Permalink
Make deb scripts more compliant with Debian policy
Browse files Browse the repository at this point in the history
  • Loading branch information
baby-gnu committed Jul 3, 2024
1 parent e4c1da4 commit 6732121
Show file tree
Hide file tree
Showing 7 changed files with 237 additions and 5 deletions.
35 changes: 34 additions & 1 deletion pkg/debian/salt-api.postinst
Original file line number Diff line number Diff line change
@@ -1,10 +1,43 @@
#!/bin/sh
# postinst script for salt-api
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <postinst> 'configure' <most-recently-configured-version>
# * <old-postinst> 'abort-upgrade' <new version>
# * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
# <new-version>
# * <postinst> 'abort-remove'
# * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
# <failed-install-package> <version> 'removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.


case "$1" in
configure)
if [ ! -e "/var/log/salt/api" ]; then
touch /var/log/salt/api
chmod 640 /var/log/salt/api
fi
chown salt:salt /var/log/salt/api
if command -v systemctl; then systemctl enable salt-api; fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;

*)
echo "postinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
34 changes: 34 additions & 0 deletions pkg/debian/salt-cloud.postinst
Original file line number Diff line number Diff line change
@@ -1,6 +1,40 @@
#!/bin/sh
# postinst script for salt-cloud.
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <postinst> 'configure' <most-recently-configured-version>
# * <old-postinst> 'abort-upgrade' <new version>
# * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
# <new-version>
# * <postinst> 'abort-remove'
# * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
# <failed-install-package> <version> 'removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.


case "$1" in
configure)
PY_VER=$(/opt/saltstack/salt/bin/python3 -c "import sys; sys.stdout.write('{}.{}'.format(*sys.version_info)); sys.stdout.flush;")
chown -R salt:salt /etc/salt/cloud.deploy.d /opt/saltstack/salt/lib/python${PY_VER}/site-packages/salt/cloud/deploy
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;

*)
echo "postinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
38 changes: 37 additions & 1 deletion pkg/debian/salt-common.postinst
Original file line number Diff line number Diff line change
@@ -1,4 +1,40 @@
#!/bin/sh
# postinst script for salt-common.
#
# See: dh_installdeb(1).

set -e

/opt/saltstack/salt/bin/python3 -m compileall -qq /opt/saltstack/salt/lib
# Summary of how this script can be called:
# * <postinst> 'configure' <most-recently-configured-version>
# * <old-postinst> 'abort-upgrade' <new version>
# * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
# <new-version>
# * <postinst> 'abort-remove'
# * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
# <failed-install-package> <version> 'removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.


case "$1" in
configure)
/opt/saltstack/salt/bin/python3 -m compileall -qq /opt/saltstack/salt/lib
;;

abort-upgrade|abort-remove|abort-deconfigure)
;;

*)
echo "postinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
31 changes: 31 additions & 0 deletions pkg/debian/salt-common.preinst
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
#!/bin/sh
# preinst script for salt-common.
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <new-preinst> 'install'
# * <new-preinst> 'install' <old-version>
# * <new-preinst> 'upgrade' <old-version>
# * <old-preinst> 'abort-upgrade' <new-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.


case "$1" in
install|upgrade)
[ -z "$SALT_HOME" ] && SALT_HOME=/opt/saltstack/salt
Expand Down Expand Up @@ -36,4 +52,19 @@ case "$1" in
test -d /etc/logrotate.d/salt && rm -r /etc/logrotate.d/salt || /bin/true

;;

abort-upgrade)
;;

*)
echo "preinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
39 changes: 37 additions & 2 deletions pkg/debian/salt-common.prerm
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
#!/bin/sh
# prerm script for salt-common.
#
# See: dh_installdeb(1).

set -e

dpkg -L salt-common | perl -ne 's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $! foreach glob($_)'
find /opt/saltstack/salt -type d -name __pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir
# Summary of how this script can be called:
# * <prerm> 'remove'
# * <old-prerm> 'upgrade' <new-version>
# * <new-prerm> 'failed-upgrade' <old-version>
# * <conflictor's-prerm> 'remove' 'in-favour' <package> <new-version>
# * <deconfigured's-prerm> 'deconfigure' 'in-favour'
# <package-being-installed> <version> 'removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.


case "$1" in
remove|upgrade|deconfigure)
dpkg -L salt-common | perl -ne 's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $! foreach glob($_)'
find /opt/saltstack/salt -type d -name __pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir
;;

failed-upgrade)
;;

*)
echo "prerm called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
34 changes: 33 additions & 1 deletion pkg/debian/salt-master.postinst
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
#!/bin/sh
# postinst script for salt-master
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package

case "$1" in
configure)
if [ ! -e "/var/log/salt/master" ]; then
Expand All @@ -9,6 +28,19 @@ case "$1" in
chmod 640 /var/log/salt/key
fi
chown -R salt:salt /etc/salt/pki/master /etc/salt/master.d /var/log/salt/master /var/log/salt/key /var/cache/salt/master /var/run/salt/master
if command -v systemctl; then systemctl enable salt-master; fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;

*)
echo "postinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
31 changes: 31 additions & 0 deletions pkg/debian/salt-master.preinst
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
#!/bin/sh
# preinst script for salt-package.
#
# See: dh_installdeb(1).

set -e

# Summary of how this script can be called:
# * <new-preinst> 'install'
# * <new-preinst> 'install' <old-version>
# * <new-preinst> 'upgrade' <old-version>
# * <old-preinst> 'abort-upgrade' <new-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package.


case "$1" in
install|upgrade)
[ -z "$SALT_HOME" ] && SALT_HOME=/opt/saltstack/salt
Expand All @@ -15,4 +31,19 @@ case "$1" in
test -d /etc/ufw/applications.d/salt-master && rm -rf /etc/ufw/applications.d/salt-master || /bin/true

;;

abort-upgrade)
;;

*)
echo "preinst called with unknown argument '$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0

0 comments on commit 6732121

Please sign in to comment.