add packaging

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
Fabian Grünbichler 2021-06-18 16:16:19 +02:00
parent dd0d18d5ce
commit 634e35489a
6 changed files with 133 additions and 0 deletions

View File

@ -3,6 +3,11 @@ name = "proxmox-openid"
version = "0.1.0"
authors = ["Dietmar Maurer <dietmar@proxmox.com>"]
edition = "2018"
license = "AGPL-3"
exclude = [
"build",
"debian",
]
[lib]
name = "proxmox_openid"

45
Makefile Normal file
View File

@ -0,0 +1,45 @@
.PHONY: all
all: check
.PHONY: check
check:
cargo test --all-features
.PHONY: dinstall
dinstall: deb
sudo -k dpkg -i build/librust-*.deb
.PHONY: build
build:
rm -rf build
rm -f debian/control
mkdir build
debcargo package \
--config "$(PWD)/debian/debcargo.toml" \
--changelog-ready \
--no-overlay-write-back \
--directory "$(PWD)/build/proxmox-openid" \
"proxmox-openid" \
"$$(dpkg-parsechangelog -l "debian/changelog" -SVersion | sed -e 's/-.*//')"
echo system >build/rust-toolchain
rm -f build/proxmox-openid/Cargo.lock
find build/proxmox-openid/debian -name '*.hint' -delete
cp build/proxmox-openid/debian/control debian/control
.PHONY: deb
deb: build
(cd build/proxmox-openid && CARGO=/usr/bin/cargo RUSTC=/usr/bin/rustc dpkg-buildpackage -b -uc -us)
lintian build/*.deb
.PHONY: clean
clean:
rm -rf build *.deb *.buildinfo *.changes *.orig.tar.gz
cargo clean
upload: deb
cd build; \
dcmd --deb rust-proxmox-openid_*.changes \
| grep -v '.changes$$' \
| tar -cf "rust-proxmox-openid-debs.tar" -T-; \
cat "rust-proxmox-openid-debs.tar" | ssh -X repoman@repo.proxmox.com upload --product devel --dist bullseye; \
rm -f rust-proxmox-openid-debs.tar

5
debian/changelog vendored Normal file
View File

@ -0,0 +1,5 @@
rust-proxmox-openid (0.1.0-1) devel; urgency=medium
* initial release
-- Proxmox Support Team <support@proxmox.com> Fri, 18 Jun 2021 16:05:49 +0200

54
debian/control vendored Normal file
View File

@ -0,0 +1,54 @@
Source: rust-proxmox-openid
Section: rust
Priority: optional
Build-Depends: debhelper (>= 12),
dh-cargo (>= 24),
cargo:native <!nocheck>,
rustc:native <!nocheck>,
libstd-rust-dev <!nocheck>,
librust-anyhow-1+default-dev <!nocheck>,
librust-curl-0.4+default-dev (>= 0.4.33-~~) <!nocheck>,
librust-http-0.2+default-dev <!nocheck>,
librust-nix-0.19+default-dev (>= 0.19.1-~~) <!nocheck>,
librust-openidconnect-2+curl-dev <!nocheck>,
librust-proxmox-0.11+api-macro-dev (>= 0.11.5-~~) <!nocheck>,
librust-proxmox-0.11+default-dev (>= 0.11.5-~~) <!nocheck>,
librust-proxmox-0.11+sortable-macro-dev (>= 0.11.5-~~) <!nocheck>,
librust-serde-1+default-dev <!nocheck>,
librust-serde-1+derive-dev <!nocheck>,
librust-serde-json-1+default-dev <!nocheck>,
librust-url-2+default-dev (>= 2.1-~~) <!nocheck>
Maintainer: Proxmox Support Team <support@proxmox.com>
Standards-Version: 4.5.1
Vcs-Git:
Vcs-Browser:
Rules-Requires-Root: no
Package: librust-proxmox-openid-dev
Architecture: any
Multi-Arch: same
Depends:
${misc:Depends},
librust-anyhow-1+default-dev,
librust-curl-0.4+default-dev (>= 0.4.33-~~),
librust-http-0.2+default-dev,
librust-nix-0.19+default-dev (>= 0.19.1-~~),
librust-openidconnect-2+curl-dev,
librust-proxmox-0.11+api-macro-dev (>= 0.11.5-~~),
librust-proxmox-0.11+default-dev (>= 0.11.5-~~),
librust-proxmox-0.11+sortable-macro-dev (>= 0.11.5-~~),
librust-serde-1+default-dev,
librust-serde-1+derive-dev,
librust-serde-json-1+default-dev,
librust-url-2+default-dev (>= 2.1-~~)
Provides:
librust-proxmox-openid+default-dev (= ${binary:Version}),
librust-proxmox-openid-0-dev (= ${binary:Version}),
librust-proxmox-openid-0+default-dev (= ${binary:Version}),
librust-proxmox-openid-0.1-dev (= ${binary:Version}),
librust-proxmox-openid-0.1+default-dev (= ${binary:Version}),
librust-proxmox-openid-0.1.0-dev (= ${binary:Version}),
librust-proxmox-openid-0.1.0+default-dev (= ${binary:Version})
Description: Rust crate "proxmox-openid" - Rust source code
This package contains the source for the Rust proxmox-openid crate, packaged by
debcargo for use with cargo and dh-cargo.

16
debian/copyright vendored Normal file
View File

@ -0,0 +1,16 @@
Copyright (C) 2020-2021 Proxmox Server Solutions GmbH
This software is written by Proxmox Server Solutions GmbH <support@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/>.

8
debian/debcargo.toml vendored Normal file
View File

@ -0,0 +1,8 @@
overlay = "."
crate_src_path = ".."
maintainer = "Proxmox Support Team <support@proxmox.com>"
[source]
# TODO: update once public
vcs_git = ""
vcs_browser = ""