From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 37ABA7391A; Fri, 28 May 2021 16:30:36 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 00D70B376; Fri, 28 May 2021 16:30:27 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 12745AC7C; Fri, 28 May 2021 16:30:11 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id D11794179F; Fri, 28 May 2021 16:30:10 +0200 (CEST) From: Fabian Ebner To: pve-devel@lists.proxmox.com, pbs-devel@lists.proxmox.com Date: Fri, 28 May 2021 16:29:56 +0200 Message-Id: <20210528143002.16190-18-f.ebner@proxmox.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210528143002.16190-1-f.ebner@proxmox.com> References: <20210528143002.16190-1-f.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.002 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_SHORT 0.001 Use of a URL Shortener for very short URL SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [repositories.pm, default.mk, gnu.org, proxmox.com] Subject: [pve-devel] [RFC v5 pve-rs 17/23] add files for Debian packaging X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 May 2021 14:30:36 -0000 adapted from pmg-rs Signed-off-by: Fabian Ebner --- New in v5. Makefile | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ debian/changelog | 5 ++++ debian/compat | 1 + debian/control | 20 +++++++++++++ debian/copyright | 16 +++++++++++ debian/rules | 7 +++++ debian/triggers | 1 + 7 files changed, 123 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/Makefile b/Makefile new file mode 100644 index 0000000..a8222b1 --- /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 perlmod 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 repoman@repo.proxmox.com upload --product pve --dist buster diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..1ac9e56 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +libpve-rs-perl (0.1-1) unstable; urgency=medium + + * Initial release. + + -- Proxmox Support Team 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 +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..477c305 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,16 @@ +Copyright (C) 2020-2021 Proxmox Server Solutions GmbH + +This software is written by Proxmox Server Solutions GmbH + +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 . 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