[pve-devel] [PATCH qemu-server v2 1/2] vm-network-scripts: move scripts to /usr/libexec

Maximiliano Sandoval m.sandoval at proxmox.com
Tue Feb 18 14:32:05 CET 2025


Moves the network scripts from /var/lib/qemu-server into
/usr/libexec/qemu-server.

/usr/libexec is described as binaries run by programs which are not
intended to be directly executed by the user on [FHS 4.7]. On the other
hand /var/lib corresponds to variable state information, which does not
fit the use case here, see [FHS 5.8].

For the sake of preventing race conditions we ship both versions until
version 9.

[FHS 4.7]: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html
[FHS 5.8]: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s08.html

Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---

Differences from v1:
 - Ship both versions until v9 to prevent race conditions.
 - Rebase

 PVE/QemuServer.pm                     | 4 ++--
 vm-network-scripts/Makefile           | 6 ++++++
 vm-network-scripts/pve-bridge-hotplug | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 808c0e1c..46b588b7 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -1674,8 +1674,8 @@ sub print_netdev_full {
     my $script = $hotplug ? "pve-bridge-hotplug" : "pve-bridge";
 
     if ($net->{bridge}) {
-	$netdev = "type=tap,id=$netid,ifname=${ifname},script=/var/lib/qemu-server/$script"
-	    .",downscript=/var/lib/qemu-server/pve-bridgedown$vhostparam";
+	$netdev = "type=tap,id=$netid,ifname=${ifname},script=/usr/libexec/qemu-server/$script"
+	    .",downscript=/usr/libexec/qemu-server/pve-bridgedown$vhostparam";
     } else {
         $netdev = "type=user,id=$netid,hostname=$vmname";
     }
diff --git a/vm-network-scripts/Makefile b/vm-network-scripts/Makefile
index 5ba537d0..61733e2d 100644
--- a/vm-network-scripts/Makefile
+++ b/vm-network-scripts/Makefile
@@ -1,8 +1,14 @@
 DESTDIR=
+LIBEXECDIR=$(DESTDIR)/usr/libexec/qemu-server
+# Remove with version 9
 VARLIBDIR=$(DESTDIR)/var/lib/qemu-server
 
 .PHONY: install
 install: pve-bridge pve-bridge-hotplug pve-bridgedown
+	install -d ${LIBEXECDIR}
+	install -m 0755 pve-bridge ${LIBEXECDIR}/pve-bridge
+	install -m 0755 pve-bridge-hotplug ${LIBEXECDIR}/pve-bridge-hotplug
+	install -m 0755 pve-bridgedown ${LIBEXECDIR}/pve-bridgedown
 	install -d ${VARLIBDIR}
 	install -m 0755 pve-bridge ${VARLIBDIR}/pve-bridge
 	install -m 0755 pve-bridge-hotplug ${VARLIBDIR}/pve-bridge-hotplug
diff --git a/vm-network-scripts/pve-bridge-hotplug b/vm-network-scripts/pve-bridge-hotplug
index f36ed408..3ae01ea5 100755
--- a/vm-network-scripts/pve-bridge-hotplug
+++ b/vm-network-scripts/pve-bridge-hotplug
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-exec /var/lib/qemu-server/pve-bridge --hotplug "$@"
+exec /usr/libexec/qemu-server/pve-bridge --hotplug "$@"
-- 
2.39.5





More information about the pve-devel mailing list