From fe39148d0cd6ec9020883e8e2af9376412f8da86 Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 6 Mar 2019 15:23:42 -0500 Subject: WIP: waterfox dpkg --- waterfox/debian/waterfox.postinst | 116 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 waterfox/debian/waterfox.postinst (limited to 'waterfox/debian/waterfox.postinst') diff --git a/waterfox/debian/waterfox.postinst b/waterfox/debian/waterfox.postinst new file mode 100644 index 0000000..3418f39 --- /dev/null +++ b/waterfox/debian/waterfox.postinst @@ -0,0 +1,116 @@ +#!/bin/sh + +set -e + +MOZ_LIBDIR=/usr/lib/waterfox +MOZ_APP_NAME=waterfox +MOZ_PKG_NAME=waterfox + +# Move a conffile without triggering a dpkg question +finish_mv_conffile() { + local OLDCONFFILE="$1" + local NEWCONFFILE="$2" + + rm -f $OLDCONFFILE.dpkg-remove + + [ -e "$OLDCONFFILE" ] || return 0 + + echo "Preserving user changes to $NEWCONFFILE (renamed from $OLDCONFFILE)..." + mv -f "$NEWCONFFILE" "$NEWCONFFILE.dpkg-new" + mv -f "$OLDCONFFILE" "$NEWCONFFILE" +} + +finish_rm_conffile() { + local CONFFILE="$1" + + if [ -e "$CONFFILE.dpkg-backup" ]; then + mv -f "$CONFFILE.dpkg-backup" "$CONFFILE.dpkg-bak" + fi + if [ -e "$CONFFILE.dpkg-remove" ]; then + echo "Removing obsolete conffile $CONFFILE ..." + rm -f "$CONFFILE.dpkg-remove" + fi +} + +if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ] ; then + update-alternatives --install /usr/bin/gnome-www-browser \ + gnome-www-browser /usr/bin/$MOZ_APP_NAME 40 + + update-alternatives --install /usr/bin/x-www-browser \ + x-www-browser /usr/bin/$MOZ_APP_NAME 40 + + . /usr/share/debconf/confmodule + db_get waterfox/locales +fi + +if [ "$1" = "configure" ] ; then + # + # AppArmor + # + APP_PROFILE="/etc/apparmor.d/usr.bin.$MOZ_PKG_NAME" + if [ -f "$APP_PROFILE" ]; then + # Setup the extra include files + # Add the local/ include + LOCAL_APP_PROFILE="/etc/apparmor.d/local/usr.bin.$MOZ_PKG_NAME" + test -e "$LOCAL_APP_PROFILE" || { + tmp=`mktemp` + cat < "$tmp" +# Site-specific additions and overrides for usr.bin.waterfox +# For more details, please see /etc/apparmor.d/local/README. +EOM + mkdir `dirname $LOCAL_APP_PROFILE` 2>/dev/null || true + mv -f "$tmp" "$LOCAL_APP_PROFILE" + chmod 644 "$LOCAL_APP_PROFILE" + } + + # Add the addons include + ADDONS_APP_PROFILE="/etc/apparmor.d/abstractions/ubuntu-browsers.d/$MOZ_PKG_NAME" + test -e "$ADDONS_APP_PROFILE" || { + tmp=`mktemp` + cat < "$tmp" +# This file is updated by 'aa-update-browser' and may be overwritten on +# upgrades. +# +# For site-specific adjustments, please see /etc/apparmor.d/local/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +EOM + mkdir -p `dirname $ADDONS_APP_PROFILE` 2>/dev/null || true + mv -f "$tmp" "$ADDONS_APP_PROFILE" + chmod 644 "$ADDONS_APP_PROFILE" + } + + # Reload AppArmor profile + DISABLE_APP_PROFILE="/etc/apparmor.d/disable/usr.bin.$MOZ_PKG_NAME" + if [ ! -f "$DISABLE_APP_PROFILE" ] && aa-status --enabled 2>/dev/null; then + apparmor_parser -r -T -W "$APP_PROFILE" || true + fi + fi + # + # End AppArmor + # + + finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/bookmarks.html" + finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/localstore.rdf" + finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/mimeTypes.rdf" + finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/prefs.js" + finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/chrome/userChrome-example.css" + finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/chrome/userContent-example.css" + + finish_mv_conffile "/etc/${MOZ_PKG_NAME}/pref/waterfox.js" "/etc/${MOZ_PKG_NAME}/syspref.js" +fi + +echo "Please restart all running instances of $MOZ_APP_NAME, or you will experience problems." + +if [ -d /var/run ] ; then + touch /var/run/$MOZ_APP_NAME-restart-required +fi +#DEBHELPER# -- cgit