diff --git a/debian/phosh.service b/debian/phosh.service new file mode 100644 index 0000000000000000000000000000000000000000..2f5ed2cc262eb17a36477a0f66f0d283462edc16 --- /dev/null +++ b/debian/phosh.service @@ -0,0 +1,50 @@ +[Unit] +Description=Phosh, a shell for mobile phones +Documentation=https://source.puri.sm/Librem5/phosh + +# Make sure we are started after logins are permitted. +After=systemd-user-sessions.service +# If Plymouth is used, we want to start when it is on its way out. +After=plymouth-quit-wait.service + +# D-Bus is necessary for contacting logind. Logind is required. +Wants=dbus.socket +After=dbus.socket + +# This scope is created by pam_systemd when logging in as the user. +# This directive is a workaround to a systemd bug, where the setup of the +# user session by PAM has some race condition, possibly leading to a failure. +# See README for more details. +After=session-c1.scope + +# Since we are part of the graphical session, make sure we are started before +# it is complete. +Before=graphical.target + +# Prevent starting on systems without virtual consoles +ConditionPathExists=/dev/tty0 + +[Service] +ExecStart=/usr/lib/wlroots/rootston -E /usr/lib/phosh/phosh -C /usr/share/phosh/rootston.ini +TimeoutStartSec=60 +User=purism +PAMName=login +WorkingDirectory=/home/purism + +# A virtual terminal is needed. +TTYPath=/dev/tty7 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +# Fail to start if not controlling the tty. +StandardInput=tty-fail +StandardOutput=journal +StandardError=journal + +# Log this user with utmp, letting it show up with commands 'w' and 'who'. +UtmpIdentifier=tty7 +UtmpMode=user + +[Install] +WantedBy=graphical.target diff --git a/debian/rules b/debian/rules index cf867ddc4e12e94bff72f9a90539cce5d91c8488..8ef3d2e4664e2135268bd4ffd8f29cdb78733aa9 100755 --- a/debian/rules +++ b/debian/rules @@ -11,6 +11,9 @@ override_dh_auto_install: mkdir -p debian/phosh/usr/lib/phosh mv debian/phosh/usr/lib/*/phosh debian/phosh/usr/lib/phosh/phosh +override_dh_installsystemd: + dh_installsystemd --no-start --no-enable + override_dh_auto_test: ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),) xvfb-run ninja -C _build test