public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH proxmox-ve] apt hook: disable on remove
@ 2024-03-07  9:00 Fabian Grünbichler
  2024-04-16  9:46 ` Fiona Ebner
  0 siblings, 1 reply; 2+ messages in thread
From: Fabian Grünbichler @ 2024-03-07  9:00 UTC (permalink / raw)
  To: pve-devel

and (re-)enable on install. adapted from apt-listbugs/apt-listchanges, which
solve the issue of removing (instead of purging) the package keeping the
conffile while removing the hook binary in the same fashion.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
tested with:
- touch /please-remove-proxmox-ve
- remove proxmox-ve (works, hook config moved out of the way)
- purge proxmox-ve (works, disabled config removed)
- reinstall proxmox-ve (works, hook config reappears)

- touch /please-remove-proxmox-ve
- remove (works, hook config moved out of the way)
- reinstall (works, hook config reappears)

- touch /please-remove-proxmox-ve
- purge proxmox-ve (works, hook config removed)
- reinstall (works, hook config reappears)

 debian/proxmox-ve.postrm  | 33 +++++++++++++++++++++++++++++++++
 debian/proxmox-ve.preinst | 13 +++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 debian/proxmox-ve.postrm
 create mode 100644 debian/proxmox-ve.preinst

diff --git a/debian/proxmox-ve.postrm b/debian/proxmox-ve.postrm
new file mode 100644
index 0000000..f3eff33
--- /dev/null
+++ b/debian/proxmox-ve.postrm
@@ -0,0 +1,33 @@
+#! /bin/sh
+set -e
+
+hook=/etc/apt/apt.conf.d/10pveapthook
+
+case "$1" in
+    purge)
+        rm -f $hook.disabled
+        ;;
+
+    remove)
+        mv $hook $hook.disabled
+        ;;
+
+    abort-install)
+        if test "x$2" != "x" && test -f $hook
+        then
+            mv $hook $hook.disabled
+        fi
+        ;;
+
+    upgrade|failed-upgrade|abort-upgrade|disappear)
+        ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/proxmox-ve.preinst b/debian/proxmox-ve.preinst
new file mode 100644
index 0000000..e190c3d
--- /dev/null
+++ b/debian/proxmox-ve.preinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+hook=/etc/apt/apt.conf.d/10pveapthook
+if test -f $hook.disabled
+then
+    mv $hook.disabled $hook
+fi
+
+#DEBHELPER#
+
+exit 0
-- 
2.39.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pve-devel] [PATCH proxmox-ve] apt hook: disable on remove
  2024-03-07  9:00 [pve-devel] [PATCH proxmox-ve] apt hook: disable on remove Fabian Grünbichler
@ 2024-04-16  9:46 ` Fiona Ebner
  0 siblings, 0 replies; 2+ messages in thread
From: Fiona Ebner @ 2024-04-16  9:46 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fabian Grünbichler

Am 07.03.24 um 10:00 schrieb Fabian Grünbichler:
> and (re-)enable on install. adapted from apt-listbugs/apt-listchanges, which
> solve the issue of removing (instead of purging) the package keeping the
> conffile while removing the hook binary in the same fashion.
> 

Suggested-by: Fiona Ebner <f.ebner@proxmox.com>

> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>

With my comment below addressed:

Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>

> ---
> tested with:
> - touch /please-remove-proxmox-ve
> - remove proxmox-ve (works, hook config moved out of the way)
> - purge proxmox-ve (works, disabled config removed)
> - reinstall proxmox-ve (works, hook config reappears)
> 
> - touch /please-remove-proxmox-ve
> - remove (works, hook config moved out of the way)
> - reinstall (works, hook config reappears)
> 
> - touch /please-remove-proxmox-ve
> - purge proxmox-ve (works, hook config removed)
> - reinstall (works, hook config reappears)
> 
>  debian/proxmox-ve.postrm  | 33 +++++++++++++++++++++++++++++++++
>  debian/proxmox-ve.preinst | 13 +++++++++++++
>  2 files changed, 46 insertions(+)
>  create mode 100644 debian/proxmox-ve.postrm
>  create mode 100644 debian/proxmox-ve.preinst
> 
> diff --git a/debian/proxmox-ve.postrm b/debian/proxmox-ve.postrm
> new file mode 100644
> index 0000000..f3eff33
> --- /dev/null
> +++ b/debian/proxmox-ve.postrm
> @@ -0,0 +1,33 @@
> +#! /bin/sh
> +set -e
> +
> +hook=/etc/apt/apt.conf.d/10pveapthook
> +
> +case "$1" in
> +    purge)
> +        rm -f $hook.disabled
> +        ;;
> +
> +    remove)

We should check for existence first. While we don't expect the hook to
be missing, it could be for whatever reason and then both 'apt purge'
and 'apt remove' would fail.

> +        mv $hook $hook.disabled
> +        ;;
> +
> +    abort-install)
> +        if test "x$2" != "x" && test -f $hook
> +        then
> +            mv $hook $hook.disabled
> +        fi
> +        ;;
> +
> +    upgrade|failed-upgrade|abort-upgrade|disappear)
> +        ;;
> +
> +    *)
> +        echo "postrm called with unknown argument \`$1'" >&2
> +        exit 1
> +
> +esac
> +
> +#DEBHELPER#
> +
> +exit 0




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-16  9:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-07  9:00 [pve-devel] [PATCH proxmox-ve] apt hook: disable on remove Fabian Grünbichler
2024-04-16  9:46 ` Fiona Ebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal