all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper
@ 2024-07-10 11:57 Fabian Grünbichler
  2024-07-10 11:57 ` [pve-devel] [PATCH proxmox-offline-mirror v2 2/2] build: execute dh-cargo-built-using Fabian Grünbichler
  2024-07-22 17:03 ` [pve-devel] applied-series: [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2024-07-10 11:57 UTC (permalink / raw)
  To: pve-devel

for package builds to ensure all common flags are actually set.

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

Notes:
    v2: symlink wrapper config in place

 Makefile      |  9 +++++++--
 debian/rules  | 11 ++++++++---
 docs/Makefile |  4 ++--
 3 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index c652bda..ab23b73 100644
--- a/Makefile
+++ b/Makefile
@@ -19,10 +19,15 @@ DEBS = $(DEB) $(HELPER_DEB) $(DBG_DEB) $(HELPER_DBG_DEB) $(DOC_DEB)
 ifeq ($(BUILD_MODE), release)
 CARGO_BUILD_ARGS += --release
 COMPILEDIR := target/release
+else ifeq ($(BUILD_MODE), release-deb)
+CARGO_BUILD_ARGS += --release
+COMPILEDIR := target/$(DEB_HOST_RUST_TYPE)/release
 else
 COMPILEDIR := target/debug
 endif
 
+CARGO ?= cargo
+
 USR_BIN := \
 	proxmox-offline-mirror \
 	proxmox-offline-mirror-helper
@@ -34,7 +39,7 @@ all: cargo-build $(SUBDIRS)
 
 .PHONY: cargo-build
 cargo-build:
-	cargo build $(CARGO_BUILD_ARGS)
+	$(CARGO) build $(CARGO_BUILD_ARGS)
 
 .PHONY: $(SUBDIRS)
 $(SUBDIRS): cargo-build
@@ -98,7 +103,7 @@ distclean: clean
 
 .PHONY: clean
 clean:
-	cargo clean
+	$(CARGO) clean
 	rm -f *.deb *.build *.buildinfo *.changes *.dsc rust-$(PACKAGE)*.tar*
 	rm -rf $(PACKAGE)-[0-9]*/
 	find . -name '*~' -exec rm {} ';'
diff --git a/debian/rules b/debian/rules
index 58b733f..5a34545 100644
--- a/debian/rules
+++ b/debian/rules
@@ -3,13 +3,13 @@
 include /usr/share/dpkg/pkg-info.mk
 include /usr/share/rustc/architecture.mk
 
-export BUILD_MODE=release
+export BUILD_MODE=release-deb
 
-CARGO=/usr/share/cargo/bin/cargo
+export CARGO=/usr/share/cargo/bin/cargo
 
 export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
 export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE
-export CARGO_HOME = $(CURDIR)/debian/cargo_home
+export CARGO_HOME=$(CURDIR)/debian/cargo_home
 
 export DEB_CARGO_CRATE=proxmox-offline-mirror_$(DEB_VERSION_UPSTREAM)
 export DEB_CARGO_PACKAGE=proxmox-offline-mirror
@@ -24,6 +24,11 @@ override_dh_auto_configure:
 	@perl -ne 'if (/^version\s*=\s*"(\d+(?:\.\d+)+)"/) { my $$v_cargo = $$1; my $$v_deb = "$(DEB_VERSION_UPSTREAM)"; \
 	    die "ERROR: d/changelog <-> Cargo.toml version mismatch: $$v_cargo != $$v_deb\n" if $$v_cargo ne $$v_deb; exit(0); }' Cargo.toml
 	$(CARGO) prepare-debian $(CURDIR)/debian/cargo_registry --link-from-system
+	# `cargo build` and `cargo install` have different config precedence, symlink
+	# the wrapper config into a place where `build` picks it up as well..
+	# https://doc.rust-lang.org/cargo/commands/cargo-install.html#configuration-discovery
+	mkdir -p $(CURDIR)/.cargo
+	ln -s $(CARGO_HOME)/config.toml $(CURDIR)/.cargo/config.toml
 	dh_auto_configure
 
 override_dh_auto_test:
diff --git a/docs/Makefile b/docs/Makefile
index 973355a..fa52867 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -21,10 +21,10 @@ SPHINXBUILD   = sphinx-build
 BUILDDIR      = output
 
 ifeq ($(BUILD_MODE), release)
-COMPILEDIR := ../target/release
+COMPILEDIR := ../target/$release
 SPHINXOPTS    += -t release
 else ifeq ($(BUILD_MODE), release-deb)
-COMPILEDIR := ../target/$(DEB_TARGET_GNU_CPU)-unknown-$(DEB_TARGET_GNU_SYSTEM)/release
+COMPILEDIR := ../target/$(DEB_HOST_RUST_TYPE)/release
 SPHINXOPTS    += -t release
 else
 COMPILEDIR := ../target/debug
-- 
2.39.2



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

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

* [pve-devel] [PATCH proxmox-offline-mirror v2 2/2] build: execute dh-cargo-built-using
  2024-07-10 11:57 [pve-devel] [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper Fabian Grünbichler
@ 2024-07-10 11:57 ` Fabian Grünbichler
  2024-07-22 17:03 ` [pve-devel] applied-series: [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper Thomas Lamprecht
  1 sibling, 0 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2024-07-10 11:57 UTC (permalink / raw)
  To: pve-devel

this ensures the X-Cargo-Built-Using (and soon, Static-Built-Using) substvars
are actually filled with contents, and allow to find out which rustc version
and dependency versions were used to build a particular binary package.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
 debian/rules | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/rules b/debian/rules
index 5a34545..0d3c755 100644
--- a/debian/rules
+++ b/debian/rules
@@ -35,6 +35,9 @@ override_dh_auto_test:
 	# skip for now to avoid additional debug builds - no tests anyway
 	# dh_auto_test -- test --all
 
+execute_after_dh_auto_install:
+	/usr/share/cargo/bin/dh-cargo-built-using $(DEB_CARGO_PACKAGE)
+
 override_dh_missing:
 	dh_missing --fail-missing
 
-- 
2.39.2



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

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

* [pve-devel] applied-series: [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper
  2024-07-10 11:57 [pve-devel] [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper Fabian Grünbichler
  2024-07-10 11:57 ` [pve-devel] [PATCH proxmox-offline-mirror v2 2/2] build: execute dh-cargo-built-using Fabian Grünbichler
@ 2024-07-22 17:03 ` Thomas Lamprecht
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2024-07-22 17:03 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fabian Grünbichler

Am 10/07/2024 um 13:57 schrieb Fabian Grünbichler:
> for package builds to ensure all common flags are actually set.
> 
> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
> ---
> 
> Notes:
>     v2: symlink wrapper config in place
> 
>  Makefile      |  9 +++++++--
>  debian/rules  | 11 ++++++++---
>  docs/Makefile |  4 ++--
>  3 files changed, 17 insertions(+), 7 deletions(-)
> 
>

applied both patches, thanks!


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

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

end of thread, other threads:[~2024-07-22 17:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-10 11:57 [pve-devel] [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper Fabian Grünbichler
2024-07-10 11:57 ` [pve-devel] [PATCH proxmox-offline-mirror v2 2/2] build: execute dh-cargo-built-using Fabian Grünbichler
2024-07-22 17:03 ` [pve-devel] applied-series: [PATCH proxmox-offline-mirror v2 1/2] build: use cargo wrapper Thomas Lamprecht

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