summaryrefslogtreecommitdiffstats
path: root/debian/screen.postinst
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/screen.postinst35
1 files changed, 35 insertions, 0 deletions
diff --git a/debian/screen.postinst b/debian/screen.postinst
new file mode 100644
index 0000000..687579f
--- /dev/null
+++ b/debian/screen.postinst
@@ -0,0 +1,35 @@
+#!/bin/sh
+set -e
+
+. /usr/share/debconf/confmodule
+
+if [ "$1" = configure ]; then
+ if ! test -d /run/screen; then
+ install -g utmp -m 0775 -d /run/screen
+ fi
+ perms="`stat -c%a /usr/bin/screen`"
+ override=/etc/tmpfiles.d/screen-cleanup.conf
+ if [ $perms -eq 4755 ]; then
+ chmod 0755 /run/screen
+ if [ ! -f $override ]; then
+ echo 'd /run/screen 0755 root utmp' > $override
+ fi
+ elif [ $perms -eq 755 ]; then
+ chmod 1777 /run/screen
+ if [ ! -f $override ]; then
+ echo 'd /run/screen 1777 root utmp' > $override
+ fi
+ fi
+
+ # LP #1462692
+ servicedir=/lib/systemd/system
+ servicefile=$servicedir/screen-cleanup.service
+ mkdir -p $servicedir
+ if [ ! -e $servicefile ]; then
+ ln -s /dev/null $servicefile
+ fi
+
+ add-shell /usr/bin/screen || true
+fi
+
+#DEBHELPER#