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

Fiona Ebner f.ebner at proxmox.com
Thu Oct 24 13:32:37 CEST 2024


It's the "qemu-server" repository, not "qemu".

Am 09.10.24 um 14:55 schrieb Maximiliano Sandoval:
> 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].
> 
> [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
> 

Can this cause issues for a brief time during upgrade/unpacking, i.e.

A) if the old QemuServer.pm is still loaded while the scripts get
removed from its old location (or to be more precise, a QEMU process
with the old parameter is started at that time)
B) if the new QemuServer.pm gets loaded before the scripts are extracted
to their new location (or to be more precise, a QEMU process with the
new parameter is started at that time)

?

Is there something preventing those from happening? Otherwise, we might
need to ship the scripts to both locations until the next major release
and drop them from the old location only then.

> Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
> ---
>  PVE/QemuServer.pm                     |  4 ++--
>  vm-network-scripts/Makefile           | 10 +++++-----
>  vm-network-scripts/pve-bridge-hotplug |  2 +-
>  3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index b26da505..88100638 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -1759,8 +1759,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..dc2c85ff 100644
> --- a/vm-network-scripts/Makefile
> +++ b/vm-network-scripts/Makefile
> @@ -1,12 +1,12 @@
>  DESTDIR=
> -VARLIBDIR=$(DESTDIR)/var/lib/qemu-server
> +LIBEXECDIR=$(DESTDIR)/usr/libexec/qemu-server
>  
>  .PHONY: install
>  install: pve-bridge pve-bridge-hotplug pve-bridgedown
> -	install -d ${VARLIBDIR}
> -	install -m 0755 pve-bridge ${VARLIBDIR}/pve-bridge
> -	install -m 0755 pve-bridge-hotplug ${VARLIBDIR}/pve-bridge-hotplug
> -	install -m 0755 pve-bridgedown ${VARLIBDIR}/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
>  
>  .PHONY: clean
>  clean:
> 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 "$@"




More information about the pve-devel mailing list