based on the termproxy packaging. Nothing fancy so far. Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> ---
Notes: I added the links to the repos even though they don't exist yet. So if the package and repo name is to change. make sure to adapt those :) Cargo.toml | 4 +- Makefile | 89 ++++++++++++++++++++++++++++++++++++++++++++ debian/changelog | 5 +++ debian/control | 27 ++++++++++++++ debian/copyright | 19 ++++++++++ debian/docs | 1 + debian/links | 1 + debian/rules | 30 +++++++++++++++ debian/source/format | 1 + 9 files changed, 175 insertions(+), 2 deletions(-) create mode 100644 Makefile create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100644 debian/links create mode 100755 debian/rules create mode 100644 debian/source/format diff --git a/Cargo.toml b/Cargo.toml index a24b79c..e2d49a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "proxmox_rrd_migration_8-9" -version = "0.1.0" +name = "proxmox-rrd-migration-tool" +version = "1.0.0" edition = "2021" authors = [ "Aaron Lauterer <a.laute...@proxmox.com>", diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..abce415 --- /dev/null +++ b/Makefile @@ -0,0 +1,89 @@ +include /usr/share/dpkg/default.mk + +PACKAGE="proxmox-rrd-migration-tool" +CRATENAME="proxmox-rrd-migration-tool" + +BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM) +ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz + +DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb +DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb +DSC=$(PACKAGE)_$(DEB_VERSION).dsc + +CARGO ?= cargo +ifeq ($(BUILD_MODE), release) +CARGO_BUILD_ARGS += --release +COMPILEDIR := target/release +else +COMPILEDIR := target/debug +endif + +PREFIX = /usr +LIBEXECDIR = $(PREFIX)/libexec +PROXMOX_LIBEXECDIR = $(LIBEXECDIR)/proxmox + +PROXMOX_RRD_MIGRATION_TOOL_BIN := $(addprefix $(COMPILEDIR)/,proxmox-rrd-migration-tool) + +all: + +install: $(PROXMOX_RRD_MIGRATION_TOOL_BIN) + install -dm755 $(DESTDIR)$(PROXMOX_LIBEXECDIR) + install -m755 $(PROXMOX_RRD_MIGRATION_TOOL_BIN) $(DESTDIR)$(PROXMOX_LIBEXECDIR)/ + +$(PROXMOX_RRD_MIGRATION_TOOL_BIN): .do-cargo-build +.do-cargo-build: + $(CARGO) build $(CARGO_BUILD_ARGS) + touch .do-cargo-build + + +.PHONY: cargo-build +cargo-build: .do-cargo-build + +$(BUILDDIR): + rm -rf $@ $@.tmp + mkdir $@.tmp + cp -a debian/ src/ Makefile Cargo.toml wrapper.h build.rs $@.tmp + echo "git clone git://git.proxmox.com/git/proxmox-rrd-migration-tool.git\\ngit checkout $$(git rev-parse HEAD)" \ + > $@.tmp/debian/SOURCE + mv $@.tmp $@ + + +$(ORIG_SRC_TAR): $(BUILDDIR) + tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR) + +.PHONY: deb +deb: $(DEB) +$(DEB) $(DBG_DEB) &: $(BUILDDIR) + cd $(BUILDDIR); dpkg-buildpackage -b -uc -us + lintian $(DEB) + @echo $(DEB) + +.PHONY: dsc +dsc: + rm -rf $(DSC) $(BUILDDIR) + $(MAKE) $(DSC) + lintian $(DSC) + +$(DSC): $(BUILDDIR) $(ORIG_SRC_TAR) + cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d + +sbuild: $(DSC) + sbuild $(DSC) + +.PHONY: upload +upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION) +upload: $(DEB) $(DBG_DEB) + tar cf - $(DEB) $(DBG_DEB) |ssh -X repo...@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH) + +.PHONY: clean distclean +distclean: clean +clean: + $(CARGO) clean + rm -rf $(PACKAGE)-[0-9]*/ build/ + rm -f *.deb *.changes *.dsc *.tar.* *.buildinfo *.build .do-cargo-build + rm -rf tmp_tests + rm -rf target + +.PHONY: dinstall +dinstall: deb + dpkg -i $(DEB) diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..b82648a --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +proxmox-rrd-migration-tool (1.0.0) unstable; urgency=medium + + * Initial release. + + -- Proxmox Support Team <supp...@proxmox.com> Mon, 21 Jul 2025 13:56:37 +0200 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..8f26878 --- /dev/null +++ b/debian/control @@ -0,0 +1,27 @@ +Source: proxmox-rrd-migration-tool +Section: admin +Priority: optional +Build-Depends: cargo:native, + debhelper-compat (= 13), + dh-cargo (>= 25), + librust-anyhow-1+default-dev, + librust-bindgen-dev, + librust-libc-0.2+default-dev (>= 0.2.107-~~), + librust-pico-args-0.5+default-dev, + librust-pkg-config-dev, + librust-proxmox-async-dev, + libstd-rust-dev, + rustc:native, +Maintainer: Proxmox Support Team <supp...@proxmox.com> +Standards-Version: 4.6.1 +Vcs-Git: git://git.proxmox.com/git/proxmox-rrd-migration-tool.git +Vcs-Browser: https://git.proxmox.com/?p=proxmox-rrd-migration-tool.git;a=summary +Homepage: https://www.proxmox.com +Rules-Requires-Root: no + +Package: proxmox-rrd-migration-tool +Architecture: any +Multi-Arch: allowed +Depends: ${misc:Depends}, ${shlibs:Depends}, +Description: Tool to migrate RRD data on Proxmox VE hosts from pre version 8 + to new version 9 files. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..451848c --- /dev/null +++ b/debian/copyright @@ -0,0 +1,19 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: https://git.proxmox.com/git/proxmox-rrd-migration-tool.git;a=summary + +Files: + * +Copyright: 2017 - 2025 Proxmox Server Solutions GmbH <supp...@proxmox.com> +License: AGPL-3.0-or-later + 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 <https://www.gnu.org/licenses/>. 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 diff --git a/debian/links b/debian/links new file mode 100644 index 0000000..9e59b57 --- /dev/null +++ b/debian/links @@ -0,0 +1 @@ +usr/libexec/proxmox/proxmox-rrd-migration-tool usr/bin/proxmox-rrd-migration-tool diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..ec264eb --- /dev/null +++ b/debian/rules @@ -0,0 +1,30 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +DH_VERBOSE = 1 + +include /usr/share/dpkg/pkg-info.mk +include /usr/share/rustc/architecture.mk + +export BUILD_MODE=release + +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 DEB_CARGO_CRATE=proxmox-rrd-migration-tool_$(DEB_VERSION_UPSTREAM) +export DEB_CARGO_PACKAGE=proxmox-rrd-migration-tool + +%: + dh $@ + +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 + dh_auto_configure + +override_dh_missing: + dh_missing --fail-missing diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel