packaging: Use cargo-deb multiarch support

This allows building all platforms from one definition,
assuming the --multiarch=foreign flag is used.
This commit is contained in:
Jinna Kiisuo 2025-03-08 14:51:24 +02:00
parent 23bb656c6b
commit 732cdec7b6
No known key found for this signature in database
GPG key ID: 5DF4EFA0C4E063C4
2 changed files with 4 additions and 40 deletions
unix_integration
nss_kanidm
pam_kanidm

View file

@ -27,8 +27,6 @@ lazy_static = { workspace = true }
cc = "^1.2.10"
## Debian packaging
# The base metadata does **not** work to build a functioning package!
# A target specific variant must be used to get the right multiarch path.
[package.metadata.deb]
name = "libnss-kanidm"
maintainer = "James Hodgkinson <james@terminaloutcomes.com>"
@ -36,27 +34,13 @@ depends = ""
section = "network"
priority = "optional"
assets = [
# Empty on purpose
]
[package.metadata.deb.variants.aarch64-unknown-linux-gnu]
merge-assets.append = [
[
"target/release/libnss_kanidm.so",
"usr/lib/aarch64-linux-gnu/libnss_kanidm.so.2",
# This is not the final path as cargo-deb needs to be run with --multiarch=foreign
"usr/lib/libnss_kanidm.so.2",
"644",
],
]
[package.metadata.deb.variants.x86_64-unknown-linux-gnu]
merge-assets.append = [
[
"target/release/libnss_kanidm.so",
"usr/lib/x86_64-linux-gnu/libnss_kanidm.so.2",
"644",
],
]
[package.metadata.cargo-machete]
ignored = ["cc", "lazy_static"]

View file

@ -27,8 +27,6 @@ time = { workspace = true }
pkg-config = { workspace = true }
## Debian packaging
# The base metadata does **not** work to build a functioning package!
# A target specific variant must be used to get the right multiarch path.
[package.metadata.deb]
name = "libpam-kanidm"
maintainer = "James Hodgkinson <james@terminaloutcomes.com>"
@ -37,28 +35,10 @@ section = "network"
priority = "optional"
maintainer-scripts = "debian/"
assets = [
# Empty on purpose
]
[package.metadata.deb.variants.aarch64-unknown-linux-gnu]
merge-assets.append = [
[
"target/release/libpam_kanidm.so",
"usr/lib/aarch64-linux-gnu/security/pam_kanidm.so",
"644",
],
[
"debian/kanidm.pam",
"usr/share/pam-configs/kanidm",
"644",
],
]
[package.metadata.deb.variants.x86_64-unknown-linux-gnu]
merge-assets.append = [
[
"target/release/libpam_kanidm.so",
"usr/lib/x86_64-linux-gnu/security/pam_kanidm.so",
# This is not the final path as cargo-deb needs to be run with --multiarch=foreign
"usr/lib/security/pam_kanidm.so",
"644",
],
[