based on those from pmg-rs. Signed-off-by: Fabian Ebner <f.eb...@proxmox.com> ---
Changes from v5: * adapt to new crate name/structure .gitignore | 5 ++++ Makefile | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ debian/changelog | 5 ++++ debian/compat | 1 + debian/control | 20 +++++++++++++ debian/copyright | 16 +++++++++++ debian/rules | 7 +++++ debian/triggers | 1 + 8 files changed, 128 insertions(+) create mode 100644 Makefile create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/rules create mode 100644 debian/triggers diff --git a/.gitignore b/.gitignore index 52e46cb..c8e72b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ /target Cargo.lock /PVE +/build +libpve-rs-perl-dbgsym_*.deb +libpve-rs-perl_*.buildinfo +libpve-rs-perl_*.changes +libpve-rs-perl_*.deb diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b8efdca --- /dev/null +++ b/Makefile @@ -0,0 +1,73 @@ +include /usr/share/dpkg/default.mk + +PACKAGE=libpve-rs-perl + +ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) +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 +DEBS=$(MAIN_DEB) $(DBGSYM_DEB) + +DESTDIR= + +PM_DIRS := \ + PVE/RS/APT + +PM_FILES := \ + PVE/RS/APT/Repositories.pm + +ifeq ($(BUILD_MODE), release) +CARGO_BUILD_ARGS += --release +endif + +all: +ifneq ($(BUILD_MODE), skip) + cargo build $(CARGO_BUILD_ARGS) +endif + +# always re-create this dir +# but also copy the local target/ and PVE/ dirs as a build-cache +.PHONY: build +build: + rm -rf build + cargo build --release + rsync -a debian Makefile Cargo.toml Cargo.lock src target PVE build/ + +.PHONY: install +install: target/release/libpve_rs.so + install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto + install -m644 target/release/libpve_rs.so $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto/libpve_rs.so + install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB)/PVE/RS + for i in $(PM_DIRS); do \ + install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB)/$$i; \ + done + for i in $(PM_FILES); do \ + install -m644 $$i $(DESTDIR)$(PERL_INSTALLVENDORLIB)/$$i; \ + done + +.PHONY: deb +deb: $(MAIN_DEB) +$(MAIN_DEB): build + cd build; dpkg-buildpackage -b -us -uc --no-pre-clean + lintian $(DEBS) + +distclean: clean + +clean: + cargo clean + rm -rf *.deb *.dsc *.tar.gz *.buildinfo *.changes Cargo.lock build + find . -name '*~' -exec rm {} ';' + +.PHONY: dinstall +dinstall: ${DEBS} + dpkg -i ${DEBS} + +.PHONY: upload +upload: ${DEBS} + # check if working directory is clean + git diff --exit-code --stat && git diff --exit-code --stat --staged + tar cf - ${DEBS} | ssh -X repo...@repo.proxmox.com upload --product pve --dist buster diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..c9a8855 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +libpve-rs-perl (0.1.0-1) unstable; urgency=medium + + * Initial release. + + -- Proxmox Support Team <supp...@proxmox.com> Thu, 27 May 2021 10:41:30 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..20ab5c7 --- /dev/null +++ b/debian/control @@ -0,0 +1,20 @@ +Source: libpve-rs-perl +Section: perl +Priority: optional +Maintainer: Proxmox Support Team <supp...@proxmox.com> +Build-Depends: debhelper (>= 10), + librust-perlmod-macro-dev, + librust-anyhow-dev, + librust-proxmox-apt-dev, + librust-perlmod-dev, + librust-serde-dev, +Standards-Version: 4.3.0 +Homepage: https://www.proxmox.com + +Package: libpve-rs-perl +Architecture: any +Depends: ${perl:Depends}, + ${shlibs:Depends}, +Description: Components of Proxmox Virtual Environment which have been ported to Rust. + Contains parts of Proxmox Virtual Environment which have been ported to, or + newly implemented in the Rust programming language. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..5661ef6 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,16 @@ +Copyright (C) 2021 Proxmox Server Solutions GmbH + +This software is written by Proxmox Server Solutions GmbH <supp...@proxmox.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..97aca06 --- /dev/null +++ b/debian/rules @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE=1 +export BUILD_MODE=skip + +%: + dh $@ diff --git a/debian/triggers b/debian/triggers new file mode 100644 index 0000000..59dd688 --- /dev/null +++ b/debian/triggers @@ -0,0 +1 @@ +activate-noawait pve-api-updates -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel