AlaK4X
Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64



Your IP : 3.147.51.72


Current Path : /var/lib/dpkg/info/
Upload File :
Current File : /var/lib/dpkg/info/unattended-upgrades.postinst

#!/bin/sh
# see: dh_installdeb(1)

set -e

# Do debconf stuff here
. /usr/share/debconf/confmodule

# 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 http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


rm_known () {
    if [ -e "$1" ]; then
        if egrep -q "^$(md5sum $1 | cut -d' ' -f1)" "$2"; then
           rm "$1"
        fi
    fi
}

# ensure the right permissions for the logdir (#757438)
if [ -d /var/log/unattended-upgrades ]; then
  chown root:adm /var/log/unattended-upgrades || true
  chmod 0750 /var/log/unattended-upgrades
fi

uu_running() {
    python3 -c 'import apt; import apt_pkg; import sys; sys.exit(1 if apt_pkg.get_lock("/var/run/unattended-upgrades.lock") >= 0 else 0)'
}

case "$1" in
    configure)
	# *sigh* typo in filename in version 0.51ubuntu1
	if [ -e /etc/pm/sleep.d/10_unatteded-upgrades-hibernate ]; then
	    rm -f /etc/pm/sleep.d/10_unatteded-upgrades-hibernate
	fi

        db_get unattended-upgrades/enable_auto_updates || true
	CONFIG="/etc/apt/apt.conf.d/20auto-upgrades"
        if [ "${RET}" = "true" ]; then
	    NEWFILE="/usr/share/unattended-upgrades/20auto-upgrades"
	    ucf --three-way --debconf-ok "$NEWFILE" "$CONFIG"
	    ucfr unattended-upgrades "$CONFIG"
        elif [ "${RET}" = "false" ] && [ -e "$CONFIG" ]; then
            # disable again
	    NEWFILE="/usr/share/unattended-upgrades/20auto-upgrades-disabled"
	    ucf --three-way --debconf-ok "$NEWFILE" "$CONFIG"
	    ucfr unattended-upgrades "$CONFIG"
        fi

	CONFIG="/etc/apt/apt.conf.d/50unattended-upgrades"
	NEWFILE="/usr/share/unattended-upgrades/50unattended-upgrades"
	dpkg-maintscript-helper rm_conffile $CONFIG 0.86.4~ -- "$@"
	# also fix conffile which was not properly migrated to ucf earlier
        if dpkg --compare-versions "$2" lt "1.8~" \
	        && [ -e $CONFIG.ucftmp ]; then
	    dpkg-maintscript-helper rm_conffile $CONFIG -- "$@"
	    mv $CONFIG.ucftmp $CONFIG
	    rm_known "$CONFIG.dpkg-bak" "$NEWFILE.md5sum"
	    rm_known "$CONFIG.ucf-old" "$NEWFILE.md5sum"
	fi
	ucf --three-way --debconf-ok "$NEWFILE" "$CONFIG"
	ucfr unattended-upgrades "$CONFIG"

        # Recover from broken dh_installinit override in versions < 0.93.1+nmu1 (or < 0.93.1ubuntu3 in Ubuntu)
        if ([ "$(lsb_release -i -s)" != "Ubuntu" ] \
                && ( dpkg --compare-versions "$2" lt "0.93.1+nmu1" \
                         || (dpkg --compare-versions "$2" ge "1.5~" \
                                 && dpkg --compare-versions "$2" lt "1.7~" ) ) ) || \
               ([ "$(lsb_release -i -s)" = "Ubuntu" ] \
                    && ( dpkg --compare-versions "$2" lt "0.93.1ubuntu3" \
                             || (dpkg --compare-versions "$2" ge "1.5ubuntu1~" \
                                     && dpkg --compare-versions "$2" lt "1.5ubuntu4~" ) \
                             || (dpkg --compare-versions "$2" ge "1.7~" \
                                     && dpkg --compare-versions "$2" lt "1.7ubuntu1~" ) ) ); then
            if [ -f /etc/rc0.d/K[0-9][0-9]unattended-upgrades ] \
            && [ -f /etc/rc6.d/K[0-9][0-9]unattended-upgrades ] ; then
            	update-rc.d -f unattended-upgrades remove
	    fi
	    # If running systemd, explicitely disable the service otherwise
	    # the shutdown.target symlink will remain (See Debian Bug #797108)
	    if [ -d /run/systemd/system ]; then
	        if deb-systemd-helper --quiet was-enabled unattended-upgrades.service \
                        || (dpkg --compare-versions "$2" ge "1.7~" \
                                && dpkg --compare-versions "$2" lt "1.7ubuntu1~"); then
	            deb-systemd-helper disable unattended-upgrades.service >/dev/null || true
	        fi
	    fi
	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.

# Automatically added by dh_systemd_enable/13.5.2ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	# This will only remove masks created by d-s-h on package removal.
	deb-systemd-helper unmask 'unattended-upgrades.service' >/dev/null || true

	# was-enabled defaults to true, so new installations run enable.
	if deb-systemd-helper --quiet was-enabled 'unattended-upgrades.service'; then
		# Enables the unit on first installation, creates new
		# symlinks on upgrades if the unit file has changed.
		deb-systemd-helper enable 'unattended-upgrades.service' >/dev/null || true
	else
		# Update the statefile to add new symlinks (if any), which need to be
		# cleaned up on purge. Also remove old symlinks.
		deb-systemd-helper update-state 'unattended-upgrades.service' >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_installinit/13.5.2ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -x "/etc/init.d/unattended-upgrades" ]; then
		update-rc.d unattended-upgrades defaults >/dev/null || exit 1
	fi
fi
# End automatically added section


# Explicitly enable and start the service. Debian Bug #797108 for 
# deb-systemd-helper fails to correctly enable the unit. It checks for 
# enablement using the content of the WantedBy= which has changed so it
# sees the service as disable and will not enable it.
case "$1" in
    configure)
        if ( ([ "$(lsb_release -i -s)" != "Ubuntu" ] \
                  && ( dpkg --compare-versions "$2" lt "0.93.1+nmu1" \
                           || (dpkg --compare-versions "$2" ge "1.5~" \
                                   && dpkg --compare-versions "$2" lt "1.7~" ) ) ) || \
                 ([ "$(lsb_release -i -s)" = "Ubuntu" ] \
                      && ( dpkg --compare-versions "$2" lt "0.93.1ubuntu3" \
                               || (dpkg --compare-versions "$2" ge "1.5ubuntu1~" \
                                       && dpkg --compare-versions "$2" lt "1.5ubuntu4~" ) \
                               || (dpkg --compare-versions "$2" ge "1.7~" \
                                       && dpkg --compare-versions "$2" lt "1.7ubuntu1~" ) ) ) ) \
	       && [ -d /run/systemd/system ]; then
                # workaround systemd bug with enable --now which
                # fails to start the unit
		systemctl enable unattended-upgrades >&2 || true
		if uu_running; then
			echo "Skipping starting unattended-upgrades.service because unattended-upgrades is running" >&2
		else
			deb-systemd-invoke start unattended-upgrades.service >&2 || true
		fi
	fi
    ;;
esac
exit 0