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) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 9C2E66D068 for ; Thu, 4 Feb 2021 08:08:32 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 8ED1D20B10 for ; Thu, 4 Feb 2021 08:08:32 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id B4DC720AFE for ; Thu, 4 Feb 2021 08:08:30 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 81D0D4617E for ; Thu, 4 Feb 2021 08:08:30 +0100 (CET) Message-ID: <091040d8-d2fd-326f-fe50-02eb1b69ca79@proxmox.com> Date: Thu, 4 Feb 2021 08:08:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:86.0) Gecko/20100101 Thunderbird/86.0 Content-Language: en-US To: Proxmox VE development discussion , Mira Limbeck References: <20210203142536.28480-1-m.limbeck@proxmox.com> <20210203142536.28480-2-m.limbeck@proxmox.com> From: Thomas Lamprecht In-Reply-To: <20210203142536.28480-2-m.limbeck@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.025 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 NICE_REPLY_A -0.178 Looks like a legit reply (A) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust 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. [pkg-info.mk, gnu.org, architecture.mk, proxmox.com] Subject: Re: [pve-devel] [PATCH conntrack-tool v2 2/5] add packaging support 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: Thu, 04 Feb 2021 07:08:32 -0000 On 03.02.21 15:25, Mira Limbeck wrote: > Signed-off-by: Mira Limbeck > --- > v2: > - unchanged Some nits/comments inline. You probably adapted this from proxmox-backup so my comments may hold true there too. > > .cargo/config | 5 ++++ > Makefile | 63 ++++++++++++++++++++++++++++++++++++++++++++ > debian/changelog | 5 ++++ > debian/copyright | 16 +++++++++++ > debian/debcargo.toml | 17 ++++++++++++ > debian/docs | 1 + > 6 files changed, 107 insertions(+) > create mode 100644 .cargo/config > create mode 100644 Makefile > create mode 100644 debian/changelog > create mode 100644 debian/copyright > create mode 100644 debian/debcargo.toml > create mode 100644 debian/docs > > diff --git a/.cargo/config b/.cargo/config > new file mode 100644 > index 0000000..3b5b6e4 > --- /dev/null > +++ b/.cargo/config > @@ -0,0 +1,5 @@ > +[source] > +[source.debian-packages] > +directory = "/usr/share/cargo/registry" > +[source.crates-io] > +replace-with = "debian-packages" > diff --git a/Makefile b/Makefile > new file mode 100644 > index 0000000..8ea2f8a > --- /dev/null > +++ b/Makefile > @@ -0,0 +1,63 @@ > +include /usr/share/dpkg/pkg-info.mk > +include /usr/share/dpkg/architecture.mk > + > +PACKAGE=pve-conntrack-tool > + > +GITVERSION:=$(shell git rev-parse HEAD) > + > +DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_${DEB_BUILD_ARCH}.deb > +DSC=rust-${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}.dsc > + > +ifeq ($(BUILD_MODE), release) > +CARGO_BUILD_ARGS += --release > +COMPILEDIR := target/release > +else > +COMPILEDIR := target/debug > +endif > + > +all: cargo-build $(SUBDIRS) > + > +.PHONY: cargo-build > +cargo-build: > + cargo build $(CARGO_BUILD_ARGS) > + > +.PHONY: build > +build: We normally try to use a more Debian conform build directory, like: BUILDDIR ?= ${PACKAGE}-${DEB_VERSION_UPSTREAM} This way one can also easily set their own via a make parameter. > + rm -rf build > + debcargo package \ > + --config debian/debcargo.toml \ > + --changelog-ready \ > + --no-overlay-write-back \ > + --directory build \ > + $(PACKAGE) \ > + $(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//') > + rm build/Cargo.lock > + find build/debian -name "*.hint" -delete can we do all in a temporary directory and do a rename at the end? making this target actin a bit more "atomic". > + > +.PHONY: deb > +deb: $(DEB) > +$(DEB): build > + cd build; dpkg-buildpackage -b -us -uc --no-pre-clean --build-profiles=nodoc is the `nodoc` actually required? Is it always generated by debcargo, as I do not see any d/control like reference to it. > + lintian $(DEB) > + > +.PHONY: dsc > +dsc: $(DSC) > +$(DSC): build > + cd build; dpkg-buildpackage -S -us -uc -d -nc > + lintian $(DSC) > + > +.PHONY: dinstall > +dinstall: ${DEB} > + dpkg -i ${DEB} > + > +.PHONY: upload > +upload: ${DEB} ${DBG_DEB} > + tar cf - ${DEB} ${DBG_DEB}| ssh -X repoman@repo.proxmox.com -- upload --product pve --dist buster --arch ${DEB_BUILD_ARCH} > + > +.PHONY: distclean > +distclean: clean > + > +.PHONY: clean > +clean: > + rm -rf *.deb ${PACKAGE}-* *.buildinfo *.changes *.dsc rust-${PACKAGE}_*.tar.?z build/ > + find . -name '*~' -exec rm {} ';' > diff --git a/debian/changelog b/debian/changelog > new file mode 100644 > index 0000000..700e739 > --- /dev/null > +++ b/debian/changelog > @@ -0,0 +1,5 @@ > +rust-pve-conntrack-tool (1.0.0-1) pve; urgency=medium > + > + * Initial release. > + > + -- Mira Limbeck Thu, 08 Oct 2020 14:04:19 +0200 > diff --git a/debian/copyright b/debian/copyright > new file mode 100644 > index 0000000..4d6f36a > --- /dev/null > +++ b/debian/copyright > @@ -0,0 +1,16 @@ > +Copyright (C) 2020 Proxmox Server Solutions GmbH 2020 - 2021 > + > +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/debcargo.toml b/debian/debcargo.toml > new file mode 100644 > index 0000000..66c3e07 > --- /dev/null > +++ b/debian/debcargo.toml > @@ -0,0 +1,17 @@ > +overlay = "." > +crate_src_path = ".." > + > +[source] > +maintainer = "Proxmox Support Team " > +section = "admin" > +homepage = "http://www.proxmox.com" > +vcs_git = "git://git.proxmox.com/git/pve-conntrack-tool.git" > +vcs_browser = "https://git.proxmox.com/?p=pve-conntrack-tool.git;a=summary" > + > +[package] > +summary = "PVE Conntrack Tool" > +description = "Tool to dump and import conntracks" > + > +[packages.bin] > +build-depends = ["libmnl-dev", "libnetfilter-conntrack-dev"] > +depends = ["libmnl0", "libnetfilter-conntrack3"] > diff --git a/debian/docs b/debian/docs > new file mode 100644 > index 0000000..8696672 > --- /dev/null > +++ b/debian/docs > @@ -0,0 +1 @@ > +debian/SOURCE >