Package: hurd
Version: 1:0.8.git20160826-1

Richard Braun <rbr...@sceen.net> writes:

> This was famously shown with the example of the
> firmlink translator used in /tmp, which would cause the removal of
> any file targeted by the firmlink on /tmp cleanup during system
> startup.

That was already fixed in daemons/rc.sh as Debian bug #39925
(hurd: /libexec/rc waits for /tmp/* translators), likely in
version 19990714 of the Debian hurd package.  The bug has been
reintroduced: although the fixed script is still installed
(now as /etc/hurd/rc), it is no longer run by default.  Instead,
/lib/init/bootclean.sh in the initscripts package cleans /tmp.

I don't see an open bug report about this in the hurd or
initscripts package, and #39925 has been deleted,
so I'm filing a new one now.

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: hurd-i386 (i686-AT386)

Kernel: GNU-Mach 1.7+git20160809-486-dbg/Hurd-0.8
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages hurd depends on:
ii  hurd-libs0.3  1:0.8.git20160826-1
ii  libblkid1     2.28.1-1
ii  libbz2-1.0    1.0.6-8
ii  libc0.3       2.23-5
ii  libdaemon0    0.14-6
ii  libncursesw5  6.0+20160625-1+b1
ii  libtinfo5     6.0+20160625-1+b1
ii  libx11-6      2:1.6.3-1+b1
ii  netdde        0.0.20150828-3
ii  sysv-rc       2.88dsf-59.8
ii  xkb-data      2.17-1
ii  zlib1g        1:1.2.8.dfsg-2

Versions of packages hurd recommends:
pn  bf-utf-source  <none>

Versions of packages hurd suggests:
pn  hurd-doc  <none>

Versions of other related packages:
ii  initscripts    2.88dsf-59.8
ii  sysvinit-core  2.88dsf-59.8
ii  sysvinit-utils 2.88dsf-59.8
ii  coreutils      8.25-2+b1

-- Configuration Files:
/etc/default/hurd-console changed:
ENABLE='false'
DISPLAY='-d vga'
KBD='-d pc_kbd'
if [ -f /etc/default/keyboard ]
then
  . /etc/default/keyboard
fi
[ -z "$XKBLAYOUT" ] || KBD="$KBD --keymap $XKBLAYOUT"
KBD_REPEAT='--repeat=kbd'
MOUSE='-d pc_mouse --protocol=ps/2'
MOUSE_REPEAT='--repeat=mouse'

/etc/hurd/rc changed:
PATH=/bin:/sbin:/usr/bin:/usr/sbin
swapon -a
echo juu > /doh
if [ -r /fastboot ]
then
        # ... or don't.
        rm -f /fastboot
        echo Fast boot ... skipping disk checks
elif [ $1x = autobootx ]
then
        echo Automatic boot in progress...
        date
        fsysopts / --update --readonly
        /sbin/fsck -p -A
        case $? in
        # Successful completion
        0)
                fsysopts / --update --writable
                ;;
        # Filesystem modified (but ok now)
        1)
                fsysopts / --update --writable
                ;;
        # Filesystem modified, filesystem should be restarted
        # Ideally we would only restart the filesystem
        2 | 3)
                /sbin/reboot
                ;;
        # Fsck couldn't fix it.
        4 | 5 | 8 | 9)
                echo "Automatic boot failed... help!"
                exit 1
                ;;
        # Signal that really interrupted something
        20 | 130 | 131)
                echo "Boot interrupted"
                exit 1
                ;;
        # Special `let fsck finish' interruption (SIGQUIT)
        12)
                echo "Boot interrupted (filesystem checks complete)"
                exit 1
                ;;
        # Oh dear.
        *)
                echo "Unknown error during fsck (exit status $?)"
                exit 1
                ;;
        esac
fi
echo -n cleaning up left over files...
rm -f /etc/nologin
rm -f /var/lock/LCK.*
if test -d /tmp; then
  # Forcibly remove all translators in the directory.
  # It is then safe to attempt to remove files and descend directories.
  # All parameters must begin with "./".
  function remove_translators() {
    local f
    for f; do
      settrans -pagfS "$f"
      if [ -L "$f" ] || [ ! -d "$f" ]; then
        rm "$f"
      else
        remove_translators "$f"/* "$f"/.[!.] "$f"/.??*
        rmdir "$f"
      fi
    done
  }
  (cd /tmp
   shopt -s nullglob
   for f in * .[!.] .??*; do
     case "$f" in
     'lost+found'|'quotas') ;;
     *) remove_translators "./$f"
     esac
   done)
  unset -f remove_translators  # because it relies on nullglob
fi
if test -d /var/run; then
  (cd /var/run && {
    find . ! -type d ! -name utmp ! -name innd.pid \
      -exec rm -f -- {} \;
    cp /dev/null utmp
    if grep -q ^utmp: /etc/group
    then
        chmod 664 utmp
        chgrp utmp utmp
    fi; })
fi
rm -fr /run/*
mkdir -p /run/lock /run/shm
chmod 1777 /run/lock /run/shm
: > /run/utmp
echo done
if ! test -e /proc/cmdline ; then
  settrans -c /proc /hurd/procfs --compatible
fi
ln -s /proc/mounts /var/run/mtab
ln -sf /proc/mounts /etc/mtab
chmod 664 /etc/motd
(
        trap ":" INT QUIT TSTP
        if [ -d /etc/rc.boot ]
        then
                for i in /etc/rc.boot/S*
                do
                        [ ! -f $i ] && continue
                        $i start
                done
        fi
        if [ -d /etc/rc2.d ]
        then
                for i in /etc/rc2.d/S*
                do
                        [ ! -f $i ] && continue
                        $i start
                done
        fi
)
date


-- no debconf information

Reply via email to