all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Christoph Heiss" <c.heiss@proxmox.com>
To: <pve-devel@lists.proxmox.com>
Subject: Re: [PATCH installer v2] buildsys: add static version of proxmox-auto-install-assistant
Date: Mon, 28 Sep 2026 11:37:38 +0200	[thread overview]
Message-ID: <DLQUKA27K99Y.2A94LDVUK6SO@proxmox.com> (raw)
In-Reply-To: <20260623130321.1425355-1-c.heiss@proxmox.com>

Ping, still applies.

On Tue Jun 23, 2026 at 3:00 PM CEST, Christoph Heiss wrote:
> This adds a separate debian package to the build, containing a
> statically-built version of `proxmox-auto-install-assistant`, as
> was suggested by Thomas.
>
> Similar how we ship a static variant of proxmox-backup-client.
>
> The binary is placed at /usr/bin/proxmox-auto-install-assistant-static,
> with a symlink to it at /usr/bin/proxmox-auto-install-assistant.
>
> Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
> ---
> Decided to pick this up again, as it recently came up in a discussion.
>
> lintian reports `shared-library-lacks-prerequisites` [0] for the
> resulting package, which seems rather irrelevant (or even bogus) in our
> case - thus the override.
>
> v1: https://lore.proxmox.com/pve-devel/20240816161942.2044889-1-c.heiss@proxmox.com/
>
> Changes v1 -> v2:
>   * rebased on latest master
>
> [0] https://lintian.debian.org/tags/shared-library-lacks-prerequisites
>
>  Makefile                                      | 21 +++++++++++++++++--
>  debian/control                                | 10 +++++++++
>  ...xmox-auto-install-assistant-static.install |  1 +
>  ...roxmox-auto-install-assistant-static.links |  1 +
>  ...install-assistant-static.lintian-overrides |  1 +
>  5 files changed, 32 insertions(+), 2 deletions(-)
>  create mode 100644 debian/proxmox-auto-install-assistant-static.install
>  create mode 100644 debian/proxmox-auto-install-assistant-static.links
>  create mode 100644 debian/proxmox-auto-install-assistant-static.lintian-overrides
>
> diff --git a/Makefile b/Makefile
> index bb5dc86..f7c25ec 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1,4 +1,5 @@
>  include /usr/share/dpkg/default.mk
> +include /usr/share/rustc/architecture.mk
>
>  PACKAGE = proxmox-installer
>  BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
> @@ -6,17 +7,26 @@ BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
>  DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
>  ASSISTANT_DEB=proxmox-auto-install-assistant_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
>  FIRST_BOOT_DEB=proxmox-first-boot_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
> +ASSISTANT_STATIC_DEB=proxmox-auto-install-assistant-static_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
>
> -ALL_DEBS = $(DEB) $(ASSISTANT_DEB) $(FIRST_BOOT_DEB)
> +ALL_DEBS = $(DEB) $(ASSISTANT_DEB) $(FIRST_BOOT_DEB) $(ASSISTANT_STATIC_DEB)
>
>  DSC=$(PACKAGE)_$(DEB_VERSION).dsc
>
>  CARGO ?= cargo
> +
> +CARGO_STATIC_TARGET_DIR := target/static
> +CARGO_STATIC_RUSTC_FLAGS := -C target-feature=+crt-static
> +CARGO_STATIC_BUILD_ARGS += --target $(DEB_HOST_RUST_TYPE) --target-dir $(CARGO_STATIC_TARGET_DIR)
> +
>  ifeq ($(BUILD_MODE), release)
>  CARGO_BUILD_ARGS += --release
>  CARGO_COMPILEDIR := target/release
> +CARGO_STATIC_BUILD_ARGS += --release
> +CARGO_STATIC_COMPILEDIR := $(CARGO_STATIC_TARGET_DIR)/$(DEB_HOST_RUST_TYPE)/release
>  else
>  CARGO_COMPILEDIR := target/debug
> +CARGO_STATIC_COMPILEDIR := $(CARGO_STATIC_TARGET_DIR)/$(DEB_HOST_RUST_TYPE)/debug
>  endif
>
>  INSTALLER_SOURCES=$(shell git ls-files) locale-info.json
> @@ -83,6 +93,7 @@ tidy:
>
>  deb: $(DEB)
>  $(ASSISTANT_DEB): $(DEB)
> +$(ASSISTANT_STATIC_DEB): $(DEB)
>  $(FIRST_BOOT_DEB): $(DEB)
>  $(DEB): $(BUILDDIR)
>  	cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
> @@ -122,7 +133,7 @@ VARLIBDIR=$(DESTDIR)/var/lib/proxmox-installer
>  HTMLDIR=$(VARLIBDIR)/html/common
>
>  .PHONY: install
> -install: $(INSTALLER_SOURCES) $(COMPILED_BINS)
> +install: $(INSTALLER_SOURCES) $(COMPILED_BINS) auto-install-assistant-static
>  	$(MAKE) -C banner install
>  	$(MAKE) -C Proxmox install
>  	$(MAKE) -C proxmox-first-boot install
> @@ -134,6 +145,7 @@ install: $(INSTALLER_SOURCES) $(COMPILED_BINS)
>  	install -D -m 755 proxinstall $(DESTDIR)/usr/bin/proxinstall
>  	install -D -m 755 proxmox-low-level-installer $(DESTDIR)/$(BINDIR)/proxmox-low-level-installer
>  	$(foreach i,$(USR_BIN), install -m755 $(CARGO_COMPILEDIR)/$(i) $(DESTDIR)$(BINDIR)/ ;)
> +	install -D -m 755 $(CARGO_STATIC_COMPILEDIR)/proxmox-auto-install-assistant $(DESTDIR)$(BINDIR)/proxmox-auto-install-assistant-static
>  	install -D -m 755 checktime $(DESTDIR)/usr/bin/checktime
>  	install -D -m 644 xinitrc $(DESTDIR)/.xinitrc
>  	install -D -m 755 spice-vdagent.sh $(DESTDIR)/.spice-vdagent.sh
> @@ -150,6 +162,11 @@ cargo-build:
>  		--package proxmox-post-hook --bin proxmox-post-hook \
>  		$(CARGO_BUILD_ARGS)
>
> +.PHONY: auto-install-assistant-static
> +auto-install-assistant-static:
> +	RUSTFLAGS="$(CARGO_STATIC_RUSTC_FLAGS)" \
> +	$(CARGO) build --package proxmox-auto-install-assistant $(CARGO_STATIC_BUILD_ARGS)
> +
>  %-banner.png: %-banner.svg
>  	rsvg-convert -o $@ $<
>
> diff --git a/debian/control b/debian/control
> index 7565c2a..95f695f 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -77,6 +77,16 @@ Description: Assistant to help with automated installations
>   installation of a Proxmox project, and preparing a official ISO image to use
>   this answer file.
>
> +Package: proxmox-auto-install-assistant-static
> +Architecture: any
> +Recommends: xorriso, ${misc:Depends},
> +Conflicts: proxmox-auto-install-assistant
> +Provides: proxmox-auto-install-assistant
> +Description: Assistant to help with automated installations - static build
> + Provides a helper that can assist with creating an answer file for a automated
> + installation of a Proxmox project, and preparing a official ISO image to use
> + this answer file.
> +
>  Package: proxmox-first-boot
>  Architecture: any
>  Depends: ${misc:Depends}, ${perl:Depends},
> diff --git a/debian/proxmox-auto-install-assistant-static.install b/debian/proxmox-auto-install-assistant-static.install
> new file mode 100644
> index 0000000..abd2c64
> --- /dev/null
> +++ b/debian/proxmox-auto-install-assistant-static.install
> @@ -0,0 +1 @@
> +usr/bin/proxmox-auto-install-assistant-static
> diff --git a/debian/proxmox-auto-install-assistant-static.links b/debian/proxmox-auto-install-assistant-static.links
> new file mode 100644
> index 0000000..28e003c
> --- /dev/null
> +++ b/debian/proxmox-auto-install-assistant-static.links
> @@ -0,0 +1 @@
> +usr/bin/proxmox-auto-install-assistant-static usr/bin/proxmox-auto-install-assistant
> diff --git a/debian/proxmox-auto-install-assistant-static.lintian-overrides b/debian/proxmox-auto-install-assistant-static.lintian-overrides
> new file mode 100644
> index 0000000..85efadd
> --- /dev/null
> +++ b/debian/proxmox-auto-install-assistant-static.lintian-overrides
> @@ -0,0 +1 @@
> +proxmox-auto-install-assistant-static: shared-library-lacks-prerequisites [usr/bin/proxmox-auto-install-assistant-static]






      reply	other threads:[~2026-09-28  9:37 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-23 13:00 [PATCH installer v2] buildsys: add static version of proxmox-auto-install-assistant Christoph Heiss
2026-09-28  9:37 ` Christoph Heiss [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DLQUKA27K99Y.2A94LDVUK6SO@proxmox.com \
    --to=c.heiss@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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