Control: retitle -1 screen: Should use /run/ instead of /var/run/ in many places

Hi Russell,

Russell Coker wrote:
> /usr/lib/tmpfiles.d/screen-cleanup.conf should create /run/screen not
> /var/run/screen.  /var/run has been a symlink to /run for years

Well, only since Wheezy actually. That doesn't feel that long ago at
all despite the introduction was already back in 2011 (in experimental
though).

The Debian Policy actually still contains the rule "Packages must not
assume the /run directory exists or is usable without a dependency on
initscripts (>= 2.88dsf-13.3) until the stable release of Debian
supports /run." See
https://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html#VARRUNRUNTIMEVARIABLEDATA

But thanks for pointing this out anyways. Will likely implement this
in Debian Experimental.

> so all configuration should use the canonical name.

This is only a single point where /var/run is hardcoded in Debian's
screen package. There are tons more, mostly in packaging, but not only:

→ git grep var/run
debian/NEWS:  On systems running systemd, the management of /var/run/screen 
previously
debian/README.Debian:  * Use /var/run/screen as socket directory
debian/README.Debian:Q: screen always complains about the permissions of 
/var/run/screen.
debian/README.Debian:   /usr/bin/screen setuid root -> /var/run/screen 0755
debian/README.Debian:   /usr/bin/screen setgid utmp -> /var/run/screen 0775
debian/README.Debian:   /usr/bin/screen without setid bits -> /var/run/screen 
0777
debian/README.Debian:] chmod 0755 /var/run/screen
debian/README.Debian:] echo 'd /var/run/screen 0755 root utmp' > 
/etc/tmpfiles.d/screen-cleanup.conf
debian/README.Debian:   even if a new version of the screen package is 
installed. /var/run/screen will
debian/README.Debian:] chmod 1777 /var/run/screen
debian/README.Debian:] echo 'd /var/run/screen 1777 root utmp' > 
/etc/tmpfiles.d/screen-cleanup.conf
debian/README.Debian:] chmod 0775 /var/run/screen
debian/changelog:  * screen-cleanup init.d script: Label /var/run/screen for SE 
Linux
debian/changelog:  * Set sticky bit on /var/run/screen if screen is not setuid 
or setgid
debian/changelog:  * Fix race condition when creating directories in 
/var/run/screen/.
debian/changelog:    * Restore original location /var/run/screen.
debian/changelog:  * Move fifo dir from /var/run/screen to /tmp/.screen. 
Closes: #214796.
debian/changelog:    * Stop trying to remove /var/run/screens - I couldn't find 
any reference
debian/changelog:    * Recreate /var/run/screen on install/reboot if necessary 
(e.g. tmpfs) with
debian/changelog:  * Changed screens directory from $HOME to /var/run/screen 
(closes: Bug#51088)
debian/changelog:  * Changed sockets from /tmp to /var/run (closes:Bug#6487)
debian/patches/11replace_doc_paths.patch:+If \*Q/var/run/utmp\*U is writable by
debian/patches/11replace_doc_paths.patch:+turns login mode on or off (for 
/var/run/utmp updating).
debian/patches/11replace_doc_paths.patch:+/tmp/screens or preferably to 
/var/run/screen chosen at compile-time. If
debian/patches/11replace_doc_paths.patch:+.IP /var/run/screen/S\-<login>
debian/patches/11replace_doc_paths.patch:+.IP /var/run/utmp
debian/patches/11replace_doc_paths.patch:+Special permission may also be 
required to write the file \*Q/var/run/utmp\*U.
debian/patches/11replace_doc_paths.patch:+Entries in \*Q/var/run/utmp\*U are 
not removed when
debian/patches/11replace_doc_paths.patch:+If @file{/var/run/utmp} is writable 
by @code{screen}, an appropriate record
debian/patches/11replace_doc_paths.patch:+Turn login mode on or off (for 
@file{/var/run/utmp} updating).  This option
debian/patches/11replace_doc_paths.patch:+Log the window in 
@file{/var/run/utmp}.  @xref{Login}.
debian/patches/11replace_doc_paths.patch:+* Login::                       
Control @file{/var/run/utmp} logging
debian/patches/11replace_doc_paths.patch:+Adds or removes the entry in 
@file{/var/run/utmp} for the current window.
debian/patches/11replace_doc_paths.patch:+@item /var/run/screen/S-@var{login}
debian/patches/11replace_doc_paths.patch:+@item /var/run/utmp
debian/patches/11replace_doc_paths.patch:+@file{/var/run/utmp}.
debian/patches/11replace_doc_paths.patch:+Entries in @file{/var/run/utmp} are 
not removed when @code{screen} is killed
debian/patches/11replace_doc_paths.patch:+@file{/tmp/screens} or preferably to 
@file{/var/run/screen} chosen at 
debian/rules:SCREEN_CONFIGURE=--with-socket-dir=/var/run/screen \
debian/screen.init:SCREENDIR=/var/run/screen
debian/screen.postinst:  if ! test -d /var/run/screen; then
debian/screen.postinst:    install -g utmp -m 0775 -d /var/run/screen
debian/screen.postinst:    chmod 0755 /var/run/screen
debian/screen.postinst:       echo 'd /var/run/screen 0755 root utmp' > 
$override
debian/screen.postinst:    chmod 1777 /var/run/screen
debian/screen.postinst:       echo 'd /var/run/screen 1777 root utmp' > 
$override
debian/screen.postrm:  rm -rf /var/run/screen
debian/screen.preinst:      ln -s /tmp/.screen /var/run/screen
debian/screen.screen-cleanup.tmpfile:d /var/run/screen 0775 root utmp
etc/completer.zsh:              '-l[Login mode on (update /var/run/utmp), -ln = 
off.]' \

                Regards, Axel
-- 
 ,''`.  |  Axel Beckert <[email protected]>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE

Reply via email to