Package: libsepol1
Version: 2.1.4-1
Severity: important

Hello!

After upgrading libsepol1 (2.1.0-1.2 -> 2.1.4-1 , for the record)
I noticed that checkrestart (from the debian-goodies package)
tells me I need to restart init!

  # checkrestart 
  Found 1 processes using old versions of upgraded files
  (1 distinct program)
  (1 distinct packages)
  These processes do not seem to have an associated init script to restart them:
  sysvinit:
          1       /sbin/init

OK, I cannot trivially restart init, but "telinit u" may be used to tell
init to re-execute itself in place, preserving its state.
But packages that need this to be done after an upgrade usually do it
by themselves in their postinst scripts...
What happened?
First of all, checkrestart confirms that the need to re-execute init
comes from the libsepol1 upgrade:

  # checkrestart -v
  Found 1 processes using old versions of upgraded files
  (1 distinct program)
  Process /sbin/init (PID: 1) 
  List of deleted files in use:
          /lib/x86_64-linux-gnu/libsepol.so.1
  (1 distinct packages)
  These processes do not seem to have an associated init script to restart them:
  sysvinit:
          1       /sbin/init

Why hasn't libsepol1.postinst managed to re-execute init?

If I understand correctly, the code that is supposed to take care of
this is:

            # Final sanity check. Make sure there is a /dev/initctl
            # for us to talk to
            if [ -e /dev/initctl ]; then
                # Use telinit if available, it is better form, according
                # to the sysvinit maintainer.
                if [ -x /sbin/telinit ]; then
                    (telinit u ; sleep 1)
                else
                    (init u ; sleep 1)
                fi
            fi

Well, I don't have any /dev/initctl on any of my boxes!

  # ls /dev/ini*
  ls: cannot access /dev/ini*: No such file or directory

That's probably the reason why init was not told to re-execute itself.

I don't know what /dev/initctl should be for, but other packages don't
seem to require its presence, in order to tell init to re-execute itself.
For instance, libc6.postinst seems to unconditionally run telinit u:

    # Restart init. If it fails, there is nothing we can do, so 
    # just ignore the error
    telinit u 2> /dev/null || true ; sleep 1


Please fix libsepol1.postinst so that it actually tells init to
re-execute itself after an upgrade.

Thanks for your time!


-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (800, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libsepol1 depends on:
ii  libc6              2.13-27
ii  multiarch-support  2.13-27

libsepol1 recommends no packages.

libsepol1 suggests no packages.

-- no debconf information



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to