[Bug 1012355] Re: /sbin/resolvconf shouldn't abort when /etc/resolv.conf is not a symlink

Launchpad Bug Tracker 1012355 at bugs.launchpad.net
Tue Jul 3 14:10:51 UTC 2012


This bug was fixed in the package resolvconf - 1.67ubuntu1

---------------
resolvconf (1.67ubuntu1) quantal; urgency=low

  * Merge from Debian. Remaining changes:
    (LP: #994575, LP: #999337, LP: #1012355)
    - Make /etc/resolv.conf a relative symlink so that it works when
      setting up chroots.
    - Instead of throwing an error that aborts the upgrade when
      /etc/resolv.conf is immutable, pop a debconf error message to let the
      user know what's happening, then clear the immutable flag and continue
      with the installation.  LP: #989585.
    - debian/config, debian/templates, debian/postinst: if we don't know that
      /etc/resolv.conf was being dynamically managed before install (in at
      least some cases), link the original contents of /etc/resolv.conf to
      /etc/resolvconf/resolv.conf.d/tail so that any statically configured
      nameservers aren't lost.  LP: #923685.
    - Use an upstart job instead of sysvinit script.
    - Pre-Depend on the /run-providing version of initscripts instead of
      depending, so that the preinst does the right thing when creating
      /run/resolvconf/interfaces instead of getting clobbered later by a bind
      mount on initscripts upgrade.  LP: #922491.
    - Completely drop the standard_run_subdirs_created helper function from
      debian/postinst, since it serves no purpose here.
    - postinst: Set resolvconf/linkify-resolvconf to false after initial
      conversion, ensuring upgrades won't convert /etc/resolv.conf to
      a symlink if the user manually converted it back to plain text.
      (LP: #922677)
    - 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).
    - Eliminate all references to /etc/resolvconf/run.  This should all be done
      directly in /run, there is no reason to support making any of this
      configurable with a symlink since we already have a versioned dependency
      on the version of initscripts that introduces the /run transition.
    - Also remove debian/triggers to avoid needlessly calling resolvconf's
      postinst. (LP: #931335)
 -- Stephane Graber <stgraber at ubuntu.com>   Fri, 22 Jun 2012 17:29:50 -0400

** Changed in: resolvconf (Ubuntu Quantal)
       Status: Fix Committed => Fix Released

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

Title:
  /sbin/resolvconf shouldn't abort when /etc/resolv.conf is not a
  symlink

Status in “resolvconf” package in Ubuntu:
  Fix Released
Status in “resolvconf” source package in Quantal:
  Fix Released

Bug description:
  In resolvconf up to at least 1.65ubuntu4 the /sbin/resolvconf program
  exits with status 0 if /etc/resolv.conf is not a symbolic link.  This
  behavior differs in Ubuntu compared with Debian.

      +[ -L /etc/resolv.conf ] || { report_err "/etc/resolv.conf isn't a
  symlink, not doing anything."; exit 0; }

  In the old days resolvconf exited at this point with status 1 which
  triggered NetworkManager to write /etc/resolv.conf directly.  This was
  not a great idea then (I wrote about this in
  https://bugs.launchpad.net/ubuntu/+source/network-
  manager/+bug/324233/comments/30) but at least it was a reason for
  exiting at this point.

  Now there is no reason for /sbin/resolvconf to exit at this point.
  Exiting here serves no purpose except perhaps to save a trivial number
  of cpu cycles.  It just prevents resolvconf from updating its database
  and running update scripts.  Even if the admin wants /etc/resolv.conf
  to be a static file, there still may be some point in running update
  scripts.  Imagine a case is where dnsmasq is running, listening on an
  external interface serving some special purpose, forwarding queries to
  another interface, while /etc/resolv.conf points statically somewhere
  else.

  There is no reason to prevent resolvconf from keeping its database up
  to date. Consider also the case where the admin decides later to
  restore the symlink to point to /run/resolvconf/resolv.conf.

  If there is a reason to prevent some specific update script from
  running in the case where /etc/resolv.conf is not a symlink, then
  *that* update script should exit early under those circumstances.
  /etc/resolvconf/update.d/libc, for example, already exits without
  running the update-libc.d/ scripts if /etc/resolv.conf is not a
  symlink to /run/resolvconf/resolv.conf.

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




More information about the foundations-bugs mailing list