Properly integrate sysusers and tmpfiles into debian packaging

This commit is contained in:
Jeremy Soller 2024-02-20 17:32:36 -07:00
parent 8fb7b9b294
commit af0a5fd456
5 changed files with 15 additions and 31 deletions

View file

@ -7,31 +7,6 @@ set -e
THIS_PACKAGE=cosmic-greeter
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
# creating cosmic-greeter group if it isn't already there
if ! getent group cosmic-greeter >/dev/null; then
addgroup --system --force-badname --quiet cosmic-greeter
fi
# creating cosmic-greeter user if it isn't already there
if ! getent passwd cosmic-greeter >/dev/null; then
adduser --system --force-badname --quiet \
--ingroup cosmic-greeter \
--home /var/lib/cosmic-greeter --no-create-home \
--shell /bin/false \
cosmic-greeter
usermod -c "COSMIC Greeter" cosmic-greeter
fi
# ensure cosmic-greeter user is part of the video group
adduser cosmic-greeter video
# create home directory if it does not exist and set permissions
if [ ! -d /var/lib/cosmic-greeter ]
then
mkdir /var/lib/cosmic-greeter
chown -R cosmic-greeter:cosmic-greeter /var/lib/cosmic-greeter
fi
# debconf is not a registry, so we only fiddle with the default file if
# the configure script requested an update
if [ -e $DEFAULT_DISPLAY_MANAGER_FILE.debconf-update ]; then

View file

@ -1,2 +1,3 @@
#Type Name ID GECOS Home directory Shell
u cosmic-greeter - "Cosmic Greeter Account" /var/lib/cosmic-greeter -
u cosmic-greeter - "Cosmic Greeter Account" /var/lib/cosmic-greeter -
m cosmic-greeter video

6
debian/rules vendored
View file

@ -19,8 +19,12 @@ override_dh_auto_build:
just build-vendored
override_dh_auto_install:
just rootdir=$(DESTDIR) install
just rootdir=$(DESTDIR) install-debian
execute_after_dh_install:
dh_installsysusers
override_dh_installsystemd:
dh_installsystemd -pcosmic-greeter --no-start -r cosmic-greeter.service
dh_installsystemd -pcosmic-greeter-daemon cosmic-greeter-daemon.service

View file

@ -15,10 +15,10 @@ bin-dst := base-dir / 'bin' / name
lib-dir := base-dir / 'lib'
# sysusers.d
sysusers-src := 'debian' / 'cosmic-greeter-sysusers.conf'
sysusers-src := 'debian' / name + '.sysusers'
sysusers-dst := lib-dir / 'sysusers.d' / name + '.conf'
# tmpfiles.d
tmpfiles-src := 'debian' / 'cosmic-greeter-tmpfiles.conf'
tmpfiles-src := 'debian' / name + '.tmpfiles'
tmpfiles-dst := lib-dir / 'tmpfiles.d' / name + '.conf'
daemon-src := 'target' / 'release' / name + '-daemon'
@ -59,11 +59,15 @@ check-json: (check '--message-format=json')
run *args:
env RUST_LOG=debug RUST_BACKTRACE=full cargo run --release {{args}}
# Installs files
install:
# Install only debian package required files
# The sysusers and tmpfiles files are automatically added
install-debian:
install -Dm0755 {{bin-src}} {{bin-dst}}
install -Dm0755 {{daemon-src}} {{daemon-dst}}
install -Dm0755 {{dbus-src}} {{dbus-dst}}
# Installs files
install: install-debian
install -Dm0644 {{sysusers-src}} {{sysusers-dst}}
install -Dm0644 {{tmpfiles-src}} {{tmpfiles-dst}}