Add Debian packaging skeleton (5 component debs, debhelper-13)

This commit is contained in:
michael
2026-04-26 14:48:00 -07:00
parent 9627ca7533
commit 9e3090ca88
5 changed files with 119 additions and 0 deletions

5
debian/changelog vendored Normal file
View File

@@ -0,0 +1,5 @@
ubuntu-fido (0.1.0-1) UNRELEASED; urgency=low
* Initial packaging skeleton.
-- Dangerous Things <ops@dangerousthings.com> Sun, 26 Apr 2026 12:00:00 +0000

55
debian/control vendored Normal file
View File

@@ -0,0 +1,55 @@
Source: ubuntu-fido
Section: admin
Priority: optional
Maintainer: Dangerous Things <ops@dangerousthings.com>
Build-Depends:
debhelper-compat (= 13),
cargo,
rustc (>= 1.78),
libpam0g-dev,
libgtk-4-dev,
libadwaita-1-dev,
libfido2-dev,
pkg-config
Standards-Version: 4.6.2
Homepage: https://github.com/dangerousthings/ubuntu-fido
Vcs-Browser: https://github.com/dangerousthings/ubuntu-fido
Vcs-Git: https://github.com/dangerousthings/ubuntu-fido.git
Package: ubuntu-fido
Architecture: any
Depends: ubuntu-fido-daemon (= ${binary:Version}),
ubuntu-fido-pam (= ${binary:Version}),
ubuntu-fido-cli (= ${binary:Version}),
${misc:Depends}
Recommends: ubuntu-fido-gui (= ${binary:Version})
Suggests: ubuntu-fido-gnome-integration
Description: Turnkey FIDO2/U2F/TOTP MFA for Ubuntu (metapackage)
Installs the full ubuntu-fido stack: daemon, PAM module, CLI, and
(if recommended) GUI.
Package: ubuntu-fido-daemon
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libpam-u2f, libfido2-1
Description: System daemon for ubuntu-fido MFA management
Provides the privileged D-Bus service that orchestrates enrollment,
policy edits, and lockout-prevention checks.
Package: ubuntu-fido-pam
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libpam-runtime
Description: PAM module backstopping ubuntu-fido first-login enrollment
Refuses authentication when /var/lib/ubuntu-fido/pending/<user> exists
and the user has not completed first-login MFA setup.
Package: ubuntu-fido-cli
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ubuntu-fido-daemon
Description: CLI for ubuntu-fido (admin and fleet)
Configure policy, enroll on behalf of users, generate recovery codes.
Package: ubuntu-fido-gui
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ubuntu-fido-daemon
Description: GTK4/libadwaita UI for ubuntu-fido
End-user-facing settings panel for enrollment and policy.

24
debian/copyright vendored Normal file
View File

@@ -0,0 +1,24 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: ubuntu-fido
Upstream-Contact: Dangerous Things <ops@dangerousthings.com>
Source: https://github.com/dangerousthings/ubuntu-fido
Files: *
Copyright: 2026 Dangerous Things, LLC
License: Apache-2.0
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the complete text of the Apache License, Version 2.0
can be found in "/usr/share/common-licenses/Apache-2.0".

34
debian/rules vendored Executable file
View File

@@ -0,0 +1,34 @@
#!/usr/bin/make -f
export DH_VERBOSE = 1
export CARGO_HOME = $(CURDIR)/target/cargo-home
%:
dh $@
override_dh_auto_build:
cargo build --release --workspace
$(MAKE) -C pam
override_dh_auto_install:
# Daemon
install -D -m 0755 target/release/ubuntu-fidod \
debian/ubuntu-fido-daemon/usr/sbin/ubuntu-fidod
# CLI
install -D -m 0755 target/release/ubuntu-fidoctl \
debian/ubuntu-fido-cli/usr/bin/ubuntu-fidoctl
# GUI
install -D -m 0755 target/release/ubuntu-fido \
debian/ubuntu-fido-gui/usr/bin/ubuntu-fido
install -D -m 0644 gui/data/io.dangerousthings.UbuntuFido.desktop \
debian/ubuntu-fido-gui/usr/share/applications/io.dangerousthings.UbuntuFido.desktop
install -D -m 0644 gui/data/io.dangerousthings.UbuntuFido.svg \
debian/ubuntu-fido-gui/usr/share/icons/hicolor/scalable/apps/io.dangerousthings.UbuntuFido.svg
# PAM
$(MAKE) -C pam install DESTDIR=$(CURDIR)/debian/ubuntu-fido-pam
override_dh_auto_test:
cargo test --workspace --release
override_dh_auto_clean:
cargo clean
$(MAKE) -C pam clean

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (native)