Support adding dns information to resolvconf that came from initramfs dhcp.
When initramfs configures networking with 'ip=' or 'ip6=' it writes files
named /run/net-<iface>.conf and /run/net6-<iface>.conf. Those files may
contain dns information variables named
IPV4DNS0 IPV4DNS1 IPV6DNS0 IPV6DNS1
DOMAINSEARCH IPV6DOMAINSEARCH
The lib/70-resolvconf-initramfs-copy.rules file invokes
lib/net-interface-handler on udev coldplug network events after transition
to the real root. net-interface-handler then reads the files in /run and
invokes resolvconf with the "program name" of 'rconf-initrd'.
net-interface-handler will exit without doing anything unless:
a.) there exist files /run/net-$INTERFACE.conf or /run/net6-$INTERFACE.conf
and these files have non-empty values for a variable mentioned above.
b.) this is not a container.
c.) there is no OPENISCSI_MARKER file (/run/initramfs/open-iscsi.interface)
if open-iscsi has written this file due to open-iscsi root, then it
will handle this functionality. resolvconf will get out of the way.
d.) /proc/cmdline contains cloud-config-url=* or 'rc-initrd-dns'
This lowers the scope of changes in runtime to cases with where either the
new flag is seen or cloud-config-url is passed. The MAAS use case will
contain this flag.
New changelog entries:
* debian/preinst: On 12.04 LTS the system works without /etc/resolv.conf.
Upon upgrading such a system to 14.04 LTS network stops working.
Therefore, create a symlink upon upgrade from resolvconf <= 1.64 in the
case that /etc/resolv.conf does not exist at all. (LP: #1308378)
New changelog entries:
* Merge from Debian. Remaining changes: (LP: #1085756)
- 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)
* Fix previous mis-merge of debian/postinst as well as the few other comments
from the bug report. (LP: #1085862)
New changelog entries:
* [276fc24] Bump Standards-Version; no changes required
* [6982da6] README: Name packages that clobber /etc/resolv.conf
* [4cb082a] README: Update
* [044e9a3] ip-up.d/000resolvconf: Do nothing if USEPEERDNS not set
* [d988a9e] if-up.d/000resolvconf: Silently (for now) accept option
name 'dns-nameserver' as a synonym for 'dns-nameservers' in
anticipation of support in ifupdown (no sooner than wheezy+1) for
duplicate options in a stanza, after which it will make sense to
specify multiple nameserver addresses on equally many
"dns-nameserver" lines
* [e0db2cb] Deal with obsolete conf files (Closes: #687507, #681623)