all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec
@ 2025-06-25 12:20 Lukas Wagner
  2025-06-25 12:20 ` [pve-devel] [PATCH manager 1/1] d/postinst: remove old pvemailforward migration logic Lukas Wagner
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Lukas Wagner @ 2025-06-25 12:20 UTC (permalink / raw)
  To: pve-devel

proxmox-mail-forward is not intended to be called by regular users, so
installing it at /usr/libexec/proxmox-mail-forward is a better fit.

pve-manager:

Lukas Wagner (1):
  d/postinst: remove old pvemailforward migration logic

 debian/postinst | 10 ----------
 1 file changed, 10 deletions(-)


proxmox-mail-forward:

Lukas Wagner (1):
  install to /usr/libexec instead of /usr/bin

 Makefile                             |  2 --
 debian/lintian-overrides             |  2 +-
 debian/proxmox-mail-forward.postinst | 13 ++++++++++---
 debian/rules                         |  9 ++++++++-
 4 files changed, 19 insertions(+), 7 deletions(-)


Summary over all repositories:
  5 files changed, 19 insertions(+), 17 deletions(-)

-- 
Generated by git-murpp 0.8.1


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* [pve-devel] [PATCH manager 1/1] d/postinst: remove old pvemailforward migration logic
  2025-06-25 12:20 [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Lukas Wagner
@ 2025-06-25 12:20 ` Lukas Wagner
  2025-06-25 12:20 ` [pve-devel] [PATCH proxmox-mail-forward 1/1] install to /usr/libexec instead of /usr/bin Lukas Wagner
  2025-07-07 10:45 ` [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Fabian Grünbichler
  2 siblings, 0 replies; 5+ messages in thread
From: Lukas Wagner @ 2025-06-25 12:20 UTC (permalink / raw)
  To: pve-devel

Before the separate proxmox-mail-forward helper was split out into its
own package, pve-manager shipped its own pvemailforward script. Arguably
this is the reason why the code for migrating the path to the helper in
/root/.forward is part of pve-manager's d/postinst script, not
proxmox-mail-forward's.

The pvemailforward -> proxmox-mail-forward migration happened in
pve-manager 7.2-12. Since we don't support skipping major versions (e.g.
7 -> 9), we should be able to drop the migration code for PVE 9.

This also means that proxmox-mail-forward is now fully in charge of the
contents of /root/.forward.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
 debian/postinst | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/debian/postinst b/debian/postinst
index aba39904..6b706951 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -155,16 +155,6 @@ case "$1" in
         pveam update || true
     fi
 
-    # Always try to clean old entry, even when proxmox-mail-forward entry is already present.
-    # This ensures it will still be cleaned after an upgrade following a downgrade.
-    if test -f /root/.forward; then
-        sed -i '\!|/usr/bin/pvemailforward!d' /root/.forward
-    fi
-
-    if ! test -f /root/.forward || ! grep -q '|/usr/bin/proxmox-mail-forward' /root/.forward; then
-        echo '|/usr/bin/proxmox-mail-forward' >>/root/.forward
-    fi
-
     systemctl --system daemon-reload >/dev/null || true
 
     # same as dh_systemd_enable (code copied)
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* [pve-devel] [PATCH proxmox-mail-forward 1/1] install to /usr/libexec instead of /usr/bin
  2025-06-25 12:20 [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Lukas Wagner
  2025-06-25 12:20 ` [pve-devel] [PATCH manager 1/1] d/postinst: remove old pvemailforward migration logic Lukas Wagner
@ 2025-06-25 12:20 ` Lukas Wagner
  2025-07-07 10:45 ` [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Fabian Grünbichler
  2 siblings, 0 replies; 5+ messages in thread
From: Lukas Wagner @ 2025-06-25 12:20 UTC (permalink / raw)
  To: pve-devel

/usr/libexec is intended for binaries which are not intended to be
called by users manually. proxmox-mail-forwarded is only ever supposed
to be called by Postfix via the forwarding mechanism in /root/.forward,
so the binary should be located in /usr/libexec.

The postinst script will automatically migrate the contents of
/root/.forward if needed.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
 Makefile                             |  2 --
 debian/lintian-overrides             |  2 +-
 debian/proxmox-mail-forward.postinst | 13 ++++++++++---
 debian/rules                         |  9 ++++++++-
 4 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 719a865..8b0f728 100644
--- a/Makefile
+++ b/Makefile
@@ -53,9 +53,7 @@ cargo-build:
 	    --bin proxmox-mail-forward
 
 install: cargo-build
-	install -dm755 $(DESTDIR)/usr/bin
 	$(CARGO) install
-	chmod u+s $(DESTDIR)/usr/bin/$(PACKAGE)
 
 .PHONY: upload
 upload: $(DEBS)
diff --git a/debian/lintian-overrides b/debian/lintian-overrides
index bde570e..e8955c1 100644
--- a/debian/lintian-overrides
+++ b/debian/lintian-overrides
@@ -1 +1 @@
-proxmox-mail-forward: elevated-privileges 4755 root/root [usr/bin/proxmox-mail-forward]
+proxmox-mail-forward: elevated-privileges 4755 root/root [usr/libexec/proxmox-mail-forward]
diff --git a/debian/proxmox-mail-forward.postinst b/debian/proxmox-mail-forward.postinst
index c4b8741..af4af8f 100755
--- a/debian/proxmox-mail-forward.postinst
+++ b/debian/proxmox-mail-forward.postinst
@@ -4,9 +4,16 @@ set -e
 
 case "$1" in
     configure)
-        # pve-manager is responsible for switching over, so skip when detecting pvemailforward
-        if ! test -f /root/.forward || ! grep -E -q '\|/usr/bin/(proxmox-mail-|pvemail)forward' /root/.forward; then
-            echo '|/usr/bin/proxmox-mail-forward' >>/root/.forward
+        # Always try to clean old entry, even when the
+        # /usr/libexec/proxmox-mail-forward entry is already present. This
+        # ensures it will still be cleaned after an upgrade following a
+        # downgrade.
+        if test -f /root/.forward; then
+           sed -i '\!|/usr/bin/proxmox-mail-forward!d' /root/.forward
+        fi
+
+        if ! test -f /root/.forward || ! grep -q '|/usr/libexec/proxmox-mail-forward' /root/.forward; then
+            echo '|/usr/libexec/proxmox-mail-forward' >>/root/.forward
         fi
     ;;
 
diff --git a/debian/rules b/debian/rules
index c9fa5cd..cc2ec17 100755
--- a/debian/rules
+++ b/debian/rules
@@ -25,9 +25,16 @@ override_dh_auto_configure:
 	$(CARGO) prepare-debian $(CURDIR)/debian/cargo_registry --link-from-system
 	dh_auto_configure
 
+execute_after_dh_auto_install:
+	# Install the binary to /usr/libexec, not /usr/bin. Inspired by virtiofsd's d/rules
+	mkdir -p debian/proxmox-mail-forward/usr/libexec
+	mv debian/proxmox-mail-forward/usr/bin/proxmox-mail-forward debian/proxmox-mail-forward/usr/libexec/
+	chmod u+s debian/proxmox-mail-forward/usr/libexec/proxmox-mail-forward
+	rmdir debian/proxmox-mail-forward/usr/bin
+
 override_dh_fixperms:
 	dh_fixperms --exclude proxmox-mail-forward
 
 override_dh_strip:
 	dh_strip
-	patchelf --remove-needed librt.so.1 debian/proxmox-mail-forward/usr/bin/proxmox-mail-forward
+	patchelf --remove-needed librt.so.1 debian/proxmox-mail-forward/usr/libexec/proxmox-mail-forward
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* Re: [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec
  2025-06-25 12:20 [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Lukas Wagner
  2025-06-25 12:20 ` [pve-devel] [PATCH manager 1/1] d/postinst: remove old pvemailforward migration logic Lukas Wagner
  2025-06-25 12:20 ` [pve-devel] [PATCH proxmox-mail-forward 1/1] install to /usr/libexec instead of /usr/bin Lukas Wagner
@ 2025-07-07 10:45 ` Fabian Grünbichler
  2025-07-16  7:41   ` [pve-devel] superseded: " Lukas Wagner
  2 siblings, 1 reply; 5+ messages in thread
From: Fabian Grünbichler @ 2025-07-07 10:45 UTC (permalink / raw)
  To: Proxmox VE development discussion, Lukas Wagner

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

although the comment in the postinst (that got moved over)
could be shortened to just say that the entry is unconditionally
rewritten, IMHO ;)

> Lukas Wagner <l.wagner@proxmox.com> hat am 25.06.2025 14:20 CEST geschrieben:
> 
>  
> proxmox-mail-forward is not intended to be called by regular users, so
> installing it at /usr/libexec/proxmox-mail-forward is a better fit.
> 
> pve-manager:
> 
> Lukas Wagner (1):
>   d/postinst: remove old pvemailforward migration logic
> 
>  debian/postinst | 10 ----------
>  1 file changed, 10 deletions(-)
> 
> 
> proxmox-mail-forward:
> 
> Lukas Wagner (1):
>   install to /usr/libexec instead of /usr/bin
> 
>  Makefile                             |  2 --
>  debian/lintian-overrides             |  2 +-
>  debian/proxmox-mail-forward.postinst | 13 ++++++++++---
>  debian/rules                         |  9 ++++++++-
>  4 files changed, 19 insertions(+), 7 deletions(-)
> 
> 
> Summary over all repositories:
>   5 files changed, 19 insertions(+), 17 deletions(-)
> 
> -- 
> Generated by git-murpp 0.8.1


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

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

* [pve-devel] superseded: [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec
  2025-07-07 10:45 ` [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Fabian Grünbichler
@ 2025-07-16  7:41   ` Lukas Wagner
  0 siblings, 0 replies; 5+ messages in thread
From: Lukas Wagner @ 2025-07-16  7:41 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fabian Grünbichler

On  2025-07-07 12:45, Fabian Grünbichler wrote:
> Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
> 
> although the comment in the postinst (that got moved over)
> could be shortened to just say that the entry is unconditionally
> rewritten, IMHO ;)
> 

Thanks for the review :) I shortened the comment a bit for v2 and added your R-b tags.

https://lore.proxmox.com/pve-devel/20250716073759.40752-1-l.wagner@proxmox.com/T/#t


-- 
- Lukas



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

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

end of thread, other threads:[~2025-07-16  7:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-25 12:20 [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Lukas Wagner
2025-06-25 12:20 ` [pve-devel] [PATCH manager 1/1] d/postinst: remove old pvemailforward migration logic Lukas Wagner
2025-06-25 12:20 ` [pve-devel] [PATCH proxmox-mail-forward 1/1] install to /usr/libexec instead of /usr/bin Lukas Wagner
2025-07-07 10:45 ` [pve-devel] [PATCH manager/proxmox-mail-forward 0/2] install proxmox-mail-forward at /usr/libexec Fabian Grünbichler
2025-07-16  7:41   ` [pve-devel] superseded: " Lukas Wagner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal