Files
authforge/debian/rules
michael 9021ff0b3c feat(pkg): autostart .desktop entry running authforge --first-run on GNOME login
GNOME-only autostart entry installed to /etc/xdg/autostart/. Uses
X-GNOME-Autostart-Phase=Initialization so it runs before user
autostarts but after GDM hands the session off. NoDisplay=true keeps
it out of the apps menu — autostart-only.

Plan deviation: project uses debian/rules for installation (no
debian/authforge-gui.install file exists), so the install line goes
there instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 11:23:28 -07:00

55 lines
2.3 KiB
Makefile
Executable File

#!/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/authforged \
debian/authforge-daemon/usr/sbin/authforged
# CLI
install -D -m 0755 target/release/authforgectl \
debian/authforge-cli/usr/bin/authforgectl
# GUI
install -D -m 0755 target/release/authforge \
debian/authforge-gui/usr/bin/authforge
install -D -m 0644 gui/data/io.dangerousthings.AuthForge.desktop \
debian/authforge-gui/usr/share/applications/io.dangerousthings.AuthForge.desktop
install -D -m 0644 gui/data/io.dangerousthings.AuthForge.svg \
debian/authforge-gui/usr/share/icons/hicolor/scalable/apps/io.dangerousthings.AuthForge.svg
# First-run autostart entry (Phase 10): runs `authforge --first-run`
# at GNOME session start; binary exits ~immediately when no pending
# flag is set, so the per-session cost is one D-Bus round-trip.
install -D -m 0644 gui/data/authforge-firstrun.desktop \
debian/authforge-gui/etc/xdg/autostart/authforge-firstrun.desktop
# PAM
$(MAKE) -C pam install DESTDIR=$(CURDIR)/debian/authforge-pam
# D-Bus activation file
install -D -m 0644 debian/io.dangerousthings.AuthForge.service \
debian/authforge-daemon/usr/share/dbus-1/system-services/io.dangerousthings.AuthForge.service
# D-Bus system policy
install -D -m 0644 debian/io.dangerousthings.AuthForge.conf \
debian/authforge-daemon/usr/share/dbus-1/system.d/io.dangerousthings.AuthForge.conf
# polkit actions
install -D -m 0644 debian/io.dangerousthings.AuthForge.policy \
debian/authforge-daemon/usr/share/polkit-1/actions/io.dangerousthings.AuthForge.policy
# systemd unit (dh_installsystemd will enable it)
install -D -m 0644 debian/authforge-daemon.service \
debian/authforge-daemon/lib/systemd/system/authforge-daemon.service
# GNOME Settings Users-panel overlay (authforge-gnome-integration)
install -D -m 0644 gnome-integration/io.dangerousthings.AuthForge.UsersPanel.desktop \
debian/authforge-gnome-integration/usr/share/applications/io.dangerousthings.AuthForge.UsersPanel.desktop
override_dh_auto_test:
cargo test --workspace --release
override_dh_auto_clean:
cargo clean
$(MAKE) -C pam clean