@Bob: Thanks for the information. Interesting case.

* /etc/resolv.conf is not a symbolic link to ../run/resolvconf/resolv.conf
* Updates are not enabled
* A postponed update has been scheduled
* Nothing has been stored in the "interfaces" database

I can only guess how this set of conditions came about.  One possibility
is that the postinst failed to run or aborted early and then "resolvconf
-u" was run by something.

It would be nice if we knew the (original) answer to the "linkify-
resolvconf" debconf question; then we could easily rule out the
possibility that linkification (that is, creation of the symbolic link
/etc/resolv.conf -> ../run/resolvconf/resolv.conf) failed to occur
because the answer was negative. But it is impossible to know this after
the fact since the Ubuntu version of the postinst overwrites the
original answer. This should be fixed. I'll file a separate report about
this.

Another source of uncertainty is the "invoke-rc.d resolvconf start" code
added to the beginning of the postinst by dh_installinit. In the Debian
version of the package, dh_installinit is run with the --no-start option
and actions equivalent to "invoke-rc.d resolvconf start" are performed
later in the postinst after necessary preparation has been done. That
works correctly. While converting from sysvinit to Upstart the Ubuntu
developers replaced "--no-start" with the "-r" option but a few things
have gone wrong in the process.

First, the "#DEBHELPER#" token is in the wrong place. It should be
placed after the postinst code that linkifies and initializes the
database. Hmm. This bug was fixed at one point as indicated by the
following changelog entry

    - Move the #DEBHELPER# token in debian/postinst to after the resolv.conf
      symlink is set, so the init script can actually start (since it expects
      /etc/resolv.conf to be a symlink).

but the current version has the "#DEBHELPER#" token back up at the top
of the file. I will file a separate report about this.

Second, the comment in the postinst still says that "--no-start" is
used. I will mention this in the latter report.

Third, dh_installinit inserts code in the postinst that does

        invoke-rc.d resolvconf start || exit $?

This calls invoke-rc.d which calls /etc/init.d/resolvconf which is
/lib/init/upstart-job which runs "resolvconf --enable-updates" which
runs the resolvconf update scripts. If any of the scripts returns an
error then the postinst exits at the line quoted above — before
linkification has been done. This is very undesirable.  This would also
be fixed if the "#DEBCONF#" token were in the right place, at the bottom
of the postinst.

So to conclude, I can only guess about what happened in your case but
your information has led to the discovery of at least one bug that might
well be involved.  :)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1000244

Title:
  /etc/resolv.conf symlink does not exist after initial installation of
  resolvconf package

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1000244/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to