diff --git a/.cargo/config b/pve-rs/.cargo/config similarity index 100% rename from .cargo/config rename to pve-rs/.cargo/config diff --git a/pve-rs/Makefile b/pve-rs/Makefile index 8428f45..16c3907 100644 --- a/pve-rs/Makefile +++ b/pve-rs/Makefile @@ -1,5 +1,4 @@ include /usr/share/dpkg/pkg-info.mk -include /usr/share/dpkg/default.mk PACKAGE=libpve-rs-perl export PERLMOD_PRODUCT=PVE @@ -10,10 +9,11 @@ export GITVERSION:=$(shell git rev-parse HEAD) PERL_INSTALLVENDORARCH != perl -MConfig -e 'print $$Config{installvendorarch};' PERL_INSTALLVENDORLIB != perl -MConfig -e 'print $$Config{installvendorlib};' -MAIN_DEB=${PACKAGE}_${DEB_VERSION}_${ARCH}.deb -DBGSYM_DEB=${PACKAGE}-dbgsym_${DEB_VERSION}_${ARCH}.deb +MAIN_DEB=$(PACKAGE)_$(DEB_VERSION)_$(ARCH).deb +DBGSYM_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(ARCH).deb DEBS=$(MAIN_DEB) $(DBGSYM_DEB) -DSC=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}.dsc +DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc +BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM) DESTDIR= @@ -39,13 +39,11 @@ TARGET_DIR=debug endif all: PVE -ifneq ($(BUILD_MODE), skip) cargo build $(CARGO_BUILD_ARGS) mkdir -p test/Proxmox/Lib sed -r -e \ - 's@^sub libdirs.*$$@sub libdirs { return ("../target/$(TARGET_DIR)", "../../target/$(TARGET_DIR)"); }@' \ + 's@^sub libdirs.*$$@sub libdirs { return ("./target/$(TARGET_DIR)", "./../target/$(TARGET_DIR)"); }@' \ Proxmox/Lib/PVE.pm >test/Proxmox/Lib/PVE.pm -endif PVE: Proxmox/Lib/PVE.pm Proxmox/Lib/PVE.pm: @@ -55,37 +53,44 @@ check: all $(MAKE) -C test test .PHONY: install -install: ../target/release/libpve_rs.so Proxmox/Lib/PVE.pm PVE +install: target/release/libpve_rs.so Proxmox/Lib/PVE.pm PVE install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto - install -m644 ../target/release/libpve_rs.so $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto/libpve_rs.so + install -m644 target/release/libpve_rs.so $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto/libpve_rs.so install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB) install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB)/Proxmox/Lib install -m644 Proxmox/Lib/PVE.pm $(DESTDIR)$(PERL_INSTALLVENDORLIB)/Proxmox/Lib/PVE.pm find $(PM_DIR) \! -type d -print -exec install -Dm644 '{}' $(DESTDIR)$(PERL_INSTALLVENDORLIB)'/{}' ';' -distclean: clean - clean: cargo clean - rm -rf *.deb *.dsc *.tar.gz *.buildinfo *.changes Cargo.lock + rm -rf *.deb *.dsc *.tar.gz *.buildinfo *.changes Cargo.lock *.tar.?z *.build + rm -rf $(PACKAGE)-[0-9]*/ find . -name '*~' -exec rm {} ';' .PHONY: dinstall -dinstall: ${DEBS} - dpkg -i ${DEBS} +dinstall: $(DEBS) + dpkg -i $(DEBS) .PHONY: upload upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION) -upload: ${DEBS} +upload: $(DEBS) # check if working directory is clean git diff --exit-code --stat && git diff --exit-code --stat --staged - tar cf - ${DEBS} | ssh -X repoman@repo.proxmox.com upload --product pve --dist $(DEB_DISTRIBUTION) + tar cf - $(DEBS) | ssh -X repoman@repo.proxmox.com upload --product pve --dist $(DEB_DISTRIBUTION) + +$(BUILDDIR): src debian test common/src Cargo.toml Makefile .cargo/config + rm -rf $(BUILDDIR) $(BUILDDIR).tmp + mkdir $(BUILDDIR).tmp + mkdir $(BUILDDIR).tmp/common + cp -a -t $(BUILDDIR).tmp src debian test Cargo.toml Makefile .cargo + cp -a -t $(BUILDDIR).tmp/common common/src + mv $(BUILDDIR).tmp $(BUILDDIR) .PHONY: dsc -dsc: ${DSC} -${DSC}: ${BUILDDIR} - cd ${BUILDDIR}; dpkg-buildpackage -S -us -uc -d - lintian ${DSC} +dsc: $(DSC) +$(DSC): $(BUILDDIR) + cd $(BUILDDIR); PATH="/usr/local/bin:/usr/bin" dpkg-buildpackage -S -us -uc -d + lintian $(DSC) sbuild: $(DSC) sbuild $(DSC) diff --git a/pve-rs/debian/compat b/pve-rs/debian/compat deleted file mode 100644 index f599e28..0000000 --- a/pve-rs/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/pve-rs/debian/control b/pve-rs/debian/control index fed874c..90bdd5d 100644 --- a/pve-rs/debian/control +++ b/pve-rs/debian/control @@ -2,7 +2,7 @@ Source: libpve-rs-perl Section: perl Priority: optional Build-Depends: - debhelper (>= 12), + debhelper-compat (= 13), dh-cargo (>= 24), perlmod-bin, cargo:native ,