Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: resolvconf

resolvconf (1.79ubuntu14) eoan; urgency=medium * bin/resolvconf: ensure /run/resolvconf exists before using. -- Alfonso Sanchez-Beato (email Canonical) <alfonso.sanchez-beato@canonical.com> Mon, 06 May 2019 10:39:40 +0200 resolvconf (1.79ubuntu13) disco; urgency=medium * bin/resolvconf: use flock so resolvconf can be called in parallel safely (LP: #1825194). -- Alfonso Sanchez-Beato (email Canonical) <alfonso.sanchez-beato@canonical.com> Wed, 17 Apr 2019 16:53:53 +0200 resolvconf (1.79ubuntu12) disco; urgency=medium * d/resolvconf.resolvconf-pull-resolved.path Revert last change, so we go back to using stub-resolv.conf again. * d/resolvconf.resolvconf-pull-resolved.service Instead hack out the 'edns0' option that systemd-resolved has recently added to its stub-resolv.conf. -- Dan Streetman <ddstreet@canonical.com> Thu, 14 Mar 2019 17:17:51 -0400 resolvconf (1.79ubuntu11) disco; urgency=medium * Pull systemd-resolved conf from non-stub file; the stub file should not be used unless all dns traffic goes to the local stub resolver. Specifically, now that stub-resolv.conf includes edns0 option, using the stub conf with non-local dns servers can break dns resolution. (LP: #1817903) -- Dan Streetman <ddstreet@canonical.com> Thu, 28 Feb 2019 13:20:48 +0000 resolvconf (1.79ubuntu10) bionic; urgency=medium * Fix race of not injecting resolved config into resolvconf on LXD container boot. LP: #1763108 -- Dimitri John Ledkov <xnox@ubuntu.com> Thu, 12 Apr 2018 12:46:24 +0100 resolvconf (1.79ubuntu9) bionic; urgency=medium * Move resolvconf & resolved integration system units from src:systemd to src:resolvconf. Also use a different unit name, to avoid breaks/replaces. -- Dimitri John Ledkov <xnox@ubuntu.com> Tue, 30 Jan 2018 14:17:27 +0000 resolvconf (1.79ubuntu8) artful; urgency=medium * Dereference /etc/resolf.conf when creating runtime configuration when migrating to resolvconf managed /etc/resolv.conf. The contents of /etc/resolv.conf (rather than the symlink target information) is needed in /run/resolvconf/resolv.conf and /run/resolvconf/interface/original.resolvconf during migration until resolvconf updates the config next. LP: #1713149 -- Dimitri John Ledkov <xnox@ubuntu.com> Tue, 29 Aug 2017 14:04:33 +0100 resolvconf (1.79ubuntu7) artful; urgency=medium * Drop ifupdown dependency. -- Dimitri John Ledkov <xnox@ubuntu.com> Sat, 19 Aug 2017 20:19:26 +0100 resolvconf (1.79ubuntu6) artful; urgency=medium * Drop upstart system job. -- Dimitri John Ledkov <xnox@ubuntu.com> Tue, 15 Aug 2017 04:05:05 +0100 resolvconf (1.79ubuntu5) artful; urgency=medium * debian/postrm debian/postinst: resurrect using readlink -m when checking if /etc/resolv.conf is managed by resolvconf or not. Change from 1.63ubuntu7 precise got lost somwhere along the way. Thus uninstalling resolvconf has been broken for a while. * debian/postrm: if resolved managed stub config is available, migrate to it upon resolvconf removal. -- Dimitri John Ledkov <xnox@ubuntu.com> Fri, 21 Jul 2017 11:47:26 +0100 resolvconf (1.79ubuntu4) zesty; urgency=medium * debian/resolvconf.service: Add missing Wants=network-pre.target. -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 08 Dec 2016 10:21:12 +0100 resolvconf (1.79ubuntu3) zesty; urgency=medium * debian/resolvconf.service: resolvconf service must run before any of the possible network configuration services (ifupdown, networkd, NetworkManager) so use network-pre.target instead of service names. (LP: #1636912) -- Ryan Harper <ryan.harper@canonical.com> Wed, 07 Dec 2016 03:30:55 -0600 resolvconf (1.79ubuntu2) zesty; urgency=medium * etc/resolvconf/resolv.conf.d/head: add comment about 'systemd-resolve --status', since systemd-resolved is now in use in all but the most unusual configurations, and expert users should be given guidance where to find the actual nameservers for debugging purposes. LP: #1638836. -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 28 Nov 2016 15:39:18 -0800 resolvconf (1.79ubuntu1) yakkety; urgency=medium * Merge with Debian unstable. Remaining Ubuntu changes: - debian/postinst: Make /etc/resolv.conf a relative symlink so that it works when setting up chroots. - 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. -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 08 Jun 2016 12:08:23 +0200

Modifications :
  1. Download patch bin/resolvconf

    --- 1.79/bin/resolvconf 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/bin/resolvconf 2019-05-06 08:39:40.000000000 +0000 @@ -7,10 +7,9 @@ set -e echo_usage() { echo "Usage: resolvconf (-d IFACE|-a IFACE|-u|--enable-updates|--disable-updates|--updates-are-enabled)" ; } -PATH=/sbin:/bin +PATH=/sbin:/bin:/usr/bin MYNAME="${0##*/}" -# Note that /etc/resolvconf/run may be (and generally is) a symlink -RUN_DIR=/etc/resolvconf/run +RUN_DIR=/run/resolvconf ENABLE_UPDATES_FLAGFILE="${RUN_DIR}/enable-updates" POSTPONED_UPDATE_FLAGFILE="${RUN_DIR}/postponed-update" @@ -55,6 +54,13 @@ esac [ -d "${RUN_DIR}/interface" ] || { report_err "${RUN_DIR}/interface either does not exist or is not a directory" ; exit 1 ; } cd "${RUN_DIR}/interface" +{ +# Make sure that we do not end up with a broken resolv.conf if resolvconf +# is invoked in parallel. +LOCK_WAIT_S=10 +flock -w $LOCK_WAIT_S 9 || + { report_err "Run lock held by another process for longer than $LOCK_WAIT_S seconds"; exit 1; } + update_and_exit() { rm -f "$POSTPONED_UPDATE_FLAGFILE" @@ -171,3 +177,5 @@ esac # Don't reach here exit 99 + +} 9>"${RUN_DIR}/run-lock"
  2. Download patch etc/resolvconf/resolv.conf.d/head

    --- 1.79/etc/resolvconf/resolv.conf.d/head 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/etc/resolvconf/resolv.conf.d/head 2016-11-28 23:37:41.000000000 +0000 @@ -1,2 +1,5 @@ # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# 127.0.0.53 is the systemd-resolved stub resolver. +# run "systemd-resolve --status" to see details about the actual nameservers. +
  3. Download patch debian/resolvconf.resolvconf-pull-resolved.service

    --- 1.79/debian/resolvconf.resolvconf-pull-resolved.service 1970-01-01 00:00:00.000000000 +0000 +++ 1.79ubuntu14/debian/resolvconf.resolvconf-pull-resolved.service 2019-03-14 21:17:51.000000000 +0000 @@ -0,0 +1,7 @@ +[Unit] +ConditionPathExists=/run/resolvconf/enable-updates +ConditionFileIsExecutable=/sbin/resolvconf + +[Service] +Type=oneshot +ExecStart=+-/bin/sh -c 'cat /run/systemd/resolve/stub-resolv.conf | grep -v edns0 | /sbin/resolvconf -a systemd-resolved'
  4. Download patch debian/rules

    --- 1.79/debian/rules 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/rules 2018-01-30 14:17:15.000000000 +0000 @@ -37,8 +37,10 @@ binary-indep: build dh_installman dh_installchangelogs dh_systemd_enable + dh_systemd_enable --name=resolvconf-pull-resolved dh_installinit --no-start dh_systemd_start -r + dh_systemd_start -r --name=resolvconf-pull-resolved dh_installppp --name=000resolvconf dh_installifupdown --name=resolvconf dh_installifupdown --name=000resolvconf
  5. Download patch debian/control

    --- 1.79/debian/control 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/control 2017-08-19 19:19:25.000000000 +0000 @@ -1,7 +1,8 @@ Source: resolvconf Section: net Priority: optional -Maintainer: resolvconf maintainers <resolvconf-devel@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: resolvconf maintainers <resolvconf-devel@lists.alioth.debian.org> Uploaders: Thomas Hood <jdthood@gmail.com>, Marco Nenciarini <mnencia@debian.org> Build-Depends: debhelper (>= 8), dh-systemd Homepage: http://alioth.debian.org/projects/resolvconf/ @@ -13,7 +14,7 @@ Package: resolvconf Architecture: all Enhances: isc-dhcp-client, dhcpcd, pump, udhcpc, ppp, ifupdown, network-manager, dnsmasq, pdnsd, libc6, nscd Pre-Depends: ${misc:Pre-Depends} -Depends: ifupdown, lsb-base (>= 4.1+Debian3), ${misc:Depends} +Depends: lsb-base (>= 4.1+Debian3), ${misc:Depends} Breaks: dnscache-run, dhcp3-client (<< 4.1.1-P1-15+squeeze1), sysv-rc (<< 2.88dsf-42) Description: name server information handler Resolvconf is a framework for keeping up to date the system's
  6. Download patch man/resolvconf.8

    --- 1.79/man/resolvconf.8 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/man/resolvconf.8 2016-06-08 10:08:12.000000000 +0000 @@ -196,7 +196,7 @@ that need to resolve domain names. When nameserver information is updated, the script .I /etc/resolvconf/update.d/libc generates a new version of the resolver configuration file, -.IR /etc/resolvconf/run/resolv.conf , +.IR /run/resolvconf/resolv.conf , as described below. If the new version of the file differs from the previously generated one @@ -251,7 +251,7 @@ this dynamically generated resolver conf the administrator should ensure that .I /etc/resolv.conf is a symbolic link to -.IR /etc/resolvconf/run/resolv.conf . +.IR /run/resolvconf/resolv.conf . This link is normally created on installation of the resolvconf package. The link is never modified by the .B resolvconf @@ -398,22 +398,6 @@ A deprecated synonym for this variable i .I /etc/default/resolvconf See the ENVIRONMENT VARIABLES section. .TP -.I /etc/resolvconf/run -This is a symbolic link to a location where nameserver information is stored. -The location must be on a filesystem that is writable -early in the boot sequence. -In Debian the default location is -.I /run/resolvconf -and -in the future this will be -the only supported location; -configurability of the location via -.I /etc/resolvconf/run -will be dropped. -Nevertheless, clients should not make any assumptions -about the location or the canonical path of this directory -or the hierarchy that is constructed under it. -.TP .I /etc/resolvconf/interface\-order Determines the order of precedence of nameserver addresses and search domain names. See above and
  7. Download patch debian/resolvconf.upstart

    --- 1.79/debian/resolvconf.upstart 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/resolvconf.upstart 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -# upstart script for resolvconf - -description "Initialize or finalize resolvconf" - -start on mounted MOUNTPOINT=/run - -stop on runlevel [06] - -pre-start script - mkdir -p /run/resolvconf/interface - # Request a postponed update (needed in case the base file has content). - touch /run/resolvconf/postponed-update - # Enable updates and perform the postponed update. - resolvconf --enable-updates -end script - -post-stop script - resolvconf --disable-updates -end script
  8. Download patch debian/preinst

    --- 1.79/debian/preinst 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/preinst 2016-06-08 10:08:12.000000000 +0000 @@ -28,47 +28,8 @@ case "$1" in # Ensure that /etc/resolvconf exists. mkdir -p /etc/resolvconf - if [ -L /etc/resolvconf/run ] ; then - # Make sure that the symlink is canonicalizable. - RUN_CANONICALPATH="$(readlink -f /etc/resolvconf/run || :)" - if [ -z "$RUN_CANONICALPATH" ] ; then - # It's not canonicalizable - report_warn "Deleting old symlink /etc/resolvconf/run, the canonical path of whose target could not be determined" - rm -f /etc/resolvconf/run - fi - fi - - # /etc/resolvconf/run is not a non-canonicalizable symlink. - - # Delete /etc/resolvconf/run if it exists but is neither a directory nor a link to one - if [ -e /etc/resolvconf/run ] && [ ! -d /etc/resolvconf/run ] ; then - report_warn "Deleting /etc/resolvconf/run which isn't a directory" - rm -f /etc/resolvconf/run - fi - - # OK, now /etc/resolvconf/run is either: - # * nonexistent, or - # * a dangling but canonicalizable symlink, or - # * a symlink to a directory, or - # * a directory. - - # Create subdirectory - if [ -d /etc/resolvconf/run ] ; then - # It's a directory or a symlink to one - [ -d /etc/resolvconf/run/interface ] || mkdir /etc/resolvconf/run/interface - elif [ -L /etc/resolvconf/run ] ; then - # It's a dangling but canonicalizable symlink - mkdir "$RUN_CANONICALPATH" "${RUN_CANONICALPATH}/interface" - else - # It's nonexistent. - # Make directory at the standard location. - if mkdir -p /run/resolvconf/interface ; then - ln -s /run/resolvconf /etc/resolvconf/run - else - report_err "Could not create run-time directories; aborting" - exit 1 - fi - fi + # Ensure that /run/resolvconf/interface exists. + mkdir -p /run/resolvconf/interface ;; # abort-upgrade) # Don't do anything because we don't anything in the postrm on upgrade or on failed-upgrade @@ -90,9 +51,9 @@ case "$1" in PACKAGES_TO_NOTIFY="${PACKAGES_TO_NOTIFY:+$PACKAGES_TO_NOTIFY }$PKG" fi done - rm -f /etc/resolvconf/run/packages-to-notify + rm -f /run/resolvconf/packages-to-notify if [ "$PACKAGES_TO_NOTIFY" ] ; then - echo "$PACKAGES_TO_NOTIFY" > /etc/resolvconf/run/packages-to-notify + echo "$PACKAGES_TO_NOTIFY" > /run/resolvconf/packages-to-notify fi fi ;;
  9. Download patch debian/resolvconf.service

    --- 1.79/debian/resolvconf.service 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/resolvconf.service 2016-12-08 09:21:10.000000000 +0000 @@ -2,7 +2,8 @@ Description=Nameserver information manager Documentation=man:resolvconf(8) DefaultDependencies=no -Before=networking.service +Before=network-pre.target +Wants=network-pre.target [Service] RemainAfterExit=yes
  10. Download patch debian/templates

    --- 1.79/debian/templates 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/templates 2016-06-08 10:08:12.000000000 +0000 @@ -14,7 +14,7 @@ _Description: Prepare /etc/resolv.conf f The resolvconf package contains the infrastructure required for dynamic updating of the resolver configuration file. Part of the necessary infrastructure is a symbolic link from /etc/resolv.conf to - /etc/resolvconf/run/resolv.conf. If you choose this option then this + /run/resolvconf/resolv.conf. If you choose this option then this link will be created; the existing /etc/resolv.conf file will be preserved as /etc/resolvconf/resolv.conf.d/original, and will be restored if this package is removed.
  11. Download patch debian/resolvconf.init

    --- 1.79/debian/resolvconf.init 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/resolvconf.init 2016-06-08 10:08:12.000000000 +0000 @@ -26,7 +26,7 @@ [ -x /sbin/resolvconf ] || exit 0 PATH=/sbin:/bin -RUN_DIR=/etc/resolvconf/run +RUN_DIR=/run/resolvconf ENABLE_UPDATES_FLAGFILE="${RUN_DIR}/enable-updates" POSTPONED_UPDATE_FLAGFILE="${RUN_DIR}/postponed-update"
  12. Download patch README

    --- 1.79/README 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/README 2016-06-08 10:08:12.000000000 +0000 @@ -234,7 +234,7 @@ configuration. /usr/share/doc/resolvconf/resolvconf-update-bind. 4. Install the resolvconf package if you have not already done so. If you have already done so then consider dpkg-reconfigure'ing it. - Agree to symlink /etc/resolv.conf to /etc/resolvconf/run/resolv.conf. + Agree to symlink /etc/resolv.conf to /run/resolvconf/resolv.conf. You can decline the offer to append the original static resolver configuration file to the end of the dynamically generated resolver configuration file because you have already modified @@ -242,10 +242,10 @@ configuration. 5. Reboot 6. Check /etc/resolv.conf to make sure that its contents make sense. -If /etc/resolv.conf is not symlinked to /etc/resolvconf/run/resolv.conf then +If /etc/resolv.conf is not symlinked to /run/resolvconf/resolv.conf then a warning message will be printed when /sbin/resolvconf is run. If you want to keep resolvconf installed but for some reason do not want /etc/resolv.conf -to be symlinked to /etc/resolvconf/run/resolv.conf then you can disable the +to be symlinked to /run/resolvconf/resolv.conf then you can disable the warning message by setting REPORT_ABSENT_SYMLINK=no in /etc/default/resolvconf. @@ -329,7 +329,7 @@ Technical overview Scripts to run when nameserver information is updated + update-libc.d/ Scripts to run when the resolv.conf file changes -* Symlink /etc/resolv.conf -> /etc/resolvconf/run/resolv.conf +* Symlink /etc/resolv.conf -> /run/resolvconf/resolv.conf * Configurers of interfaces call /sbin/resolvconf to provide resolv.conf-like information after the interface is brought up. They call it again to delete the information when the interface is brought
  13. Download patch debian/resolvconf.maintscript

    --- 1.79/debian/resolvconf.maintscript 1970-01-01 00:00:00.000000000 +0000 +++ 1.79ubuntu14/debian/resolvconf.maintscript 2017-08-15 03:05:43.000000000 +0000 @@ -0,0 +1 @@ +rm_conffile /etc/init/resolvconf.conf 1.79ubuntu6~
  14. Download patch bin/dump-debug-info

    --- 1.79/bin/dump-debug-info 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/bin/dump-debug-info 2016-06-08 10:08:12.000000000 +0000 @@ -12,8 +12,7 @@ dump_dir() echo "###### Start of debugging information for resolvconf ######" dump_dir /etc/resolvconf dump_dir /etc/resolvconf/resolv.conf.d -echo "### ls -l /etc/resolvconf/run" -ls -l /etc/resolvconf/run || : +echo "### ls -l /run/resolvconf" dump_dir /run/resolvconf dump_dir /run/resolvconf/interface echo "### ls -l /etc/resolv.conf"
  15. Download patch etc/resolvconf/update.d/libc

    --- 1.79/etc/resolvconf/update.d/libc 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/etc/resolvconf/update.d/libc 2016-06-08 10:08:12.000000000 +0000 @@ -29,7 +29,7 @@ RESOLVCONFDIR="${ETCRESOLVCONF}/resolv.c BASEFILE="${RESOLVCONFDIR}/base" HEADFILE="${RESOLVCONFDIR}/head" TAILFILE="${RESOLVCONFDIR}/tail" -DYNAMICRSLVCNFFILE="${ETCRESOLVCONF}/run/resolv.conf" +DYNAMICRSLVCNFFILE="/run/resolvconf/resolv.conf" TMPFILE="${DYNAMICRSLVCNFFILE}_new.$$" # Set unset variables to their defaults @@ -57,7 +57,7 @@ fi report_warning() { echo "$0: Warning: $*" >&2 ; } resolv_conf_is_symlinked_to_dynamic_file() { - [ -L ${ETC}/resolv.conf ] && [ "$(readlink ${ETC}/resolv.conf)" = "$DYNAMICRSLVCNFFILE" ] + [ -L ${ETC}/resolv.conf ] && [ "$(readlink -m ${ETC}/resolv.conf)" = "$DYNAMICRSLVCNFFILE" ] } if ! resolv_conf_is_symlinked_to_dynamic_file ; then
  16. Download patch debian/postinst

    --- 1.79/debian/postinst 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/postinst 2017-08-29 13:01:33.000000000 +0000 @@ -52,68 +52,6 @@ esac # case "$1" in configure) - if [ -L /etc/resolvconf/run ] ; then - # Make sure that the symlink is canonicalizable. - RUN_CANONICALPATH="$(readlink -f /etc/resolvconf/run || :)" - if [ -z "$RUN_CANONICALPATH" ] ; then - # It's not canonicalizable - report_warn "Deleting old symlink /etc/resolvconf/run, the canonical path of whose target could not be determined" - rm -f /etc/resolvconf/run - fi - fi - - # /etc/resolvconf/run is not a non-canonicalizable symlink. - - if [ -d /etc/resolvconf/run ] && ! [ -L /etc/resolvconf/run ] ; then - # It's a directory right in /etc/resolvconf - # Move to the new standard location. - # The initscripts package guarantees that the new standard location is available. - if mkdir -p /run/resolvconf/interface ; then - F="$(echo /etc/resolvconf/run/*)" - if [ "$F" ] && [ "$F" != '/etc/resolvconf/run/*' ] ; then - if cp -a /etc/resolvconf/run/* /run/resolvconf ; then - report_info "Migrated resolvconf run-time data from /etc/resolvconf/run to /run/resolvconf" - rm -rf /etc/resolvconf/run - fi - else - rm -rf /etc/resolvconf/run - fi - ln -nsf /run/resolvconf /etc/resolvconf/run - else - report_err "Could not create run-time directories; aborting" - exit 1 - fi - fi - - # Delete /etc/resolvconf/run if it exists but is neither a directory nor a link to one - if [ -e /etc/resolvconf/run ] && [ ! -d /etc/resolvconf/run ] ; then - report_warn "Deleting /etc/resolvconf/run which isn't a directory" - rm -f /etc/resolvconf/run - fi - - # OK, now /etc/resolvconf/run is either: - # * nonexistent, or - # * a dangling but canonicalizable symlink, or - # * a symlink to a directory - - # Create subdirectory - if [ -d /etc/resolvconf/run ] ; then - # It's a symlink to a directory - [ -d /etc/resolvconf/run/interface ] || mkdir /etc/resolvconf/run/interface - elif [ -L /etc/resolvconf/run ] ; then - # It's a dangling but canonicalizable symlink - mkdir "$RUN_CANONICALPATH" "${RUN_CANONICALPATH}/interface" - else - # It's nonexistent. - # Make directory in the standard location and link to it - if mkdir -p /run/resolvconf/interface ; then - ln -s /run/resolvconf /etc/resolvconf/run - else - report_err "Could not create run-time directories; aborting" - exit 1 - fi - fi - # Do linkify once again on dpkg-reconfigure if [ "$DEBCONF_RECONFIGURE" = 1 ] || [ "$1" = reconfigure ] ; then rm -f /var/lib/resolvconf/linkified @@ -148,7 +86,7 @@ case "$1" in [ -f /etc/resolv.conf ] \ && { [ ! -L /etc/resolv.conf ] \ - || [ ! "$(readlink /etc/resolv.conf)" = "/etc/resolvconf/run/resolv.conf" ] + || [ ! "$(readlink -m /etc/resolv.conf)" = "/run/resolvconf/resolv.conf" ] } then # Back up original file @@ -160,17 +98,19 @@ case "$1" in # Before creating the link, make sure that the original file is # at the target of the link. /sbin/resolvconf will overwrite # this when it does an update, of course. - if [ ! -e /etc/resolvconf/run/resolv.conf ] ; then - cp -a /etc/resolv.conf /etc/resolvconf/run/resolv.conf + if [ ! -e /run/resolvconf/resolv.conf ] ; then + cp -aH /etc/resolv.conf /run/resolvconf/resolv.conf fi # Add the original file to the database so that its contents # are included when resolvconf updates. # Yes, this is an ugly workaround for the problem that some # interface configurers haven't added a dpkg-event.d script. - cp -a /etc/resolv.conf /etc/resolvconf/run/interface/original.resolvconf + cp -aH /etc/resolv.conf /run/resolvconf/interface/original.resolvconf fi # Create the link - ln -nsf /etc/resolvconf/run/resolv.conf /etc/resolv.conf + # The link is relative to allow for cp from outside a chroot into a chroot + # to work without overwriting the file outside the chroot (or failing) + ln -nsf ../run/resolvconf/resolv.conf /etc/resolv.conf # Make a record that we have created it :> /var/lib/resolvconf/linkified fi @@ -204,9 +144,9 @@ is_installed() { case "$1" in configure) - if [ -f /etc/resolvconf/run/packages-to-notify ] ; then - PACKAGES_TO_NOTIFY="$(cat /etc/resolvconf/run/packages-to-notify)" - rm -f /etc/resolvconf/run/packages-to-notify + if [ -f /run/resolvconf/packages-to-notify ] ; then + PACKAGES_TO_NOTIFY="$(cat /run/resolvconf/packages-to-notify)" + rm -f /run/resolvconf/packages-to-notify for PKG in $PACKAGES_TO_NOTIFY ; do if is_installed "$PKG" ; then SCRPT="/usr/lib/resolvconf/dpkg-event.d/$PKG"
  17. Download patch debian/postrm

    --- 1.79/debian/postrm 2016-04-01 11:53:22.000000000 +0000 +++ 1.79ubuntu14/debian/postrm 2017-07-21 10:45:35.000000000 +0000 @@ -20,10 +20,7 @@ case "$1" in remove) if [ -L /etc/resolv.conf ] \ - && { - [ "$(readlink /etc/resolv.conf)" = "/etc/resolvconf/run/resolv.conf" ] \ - || [ "$(readlink /etc/resolv.conf)" = "resolvconf/run/resolv.conf" ] - } + && [ "$(readlink -m /etc/resolv.conf)" = "/run/resolvconf/resolv.conf" ] then # /etc/resolv.conf is a resolvconf symlink @@ -35,17 +32,23 @@ case "$1" in # # Put a file at /etc/resolv.conf with best available content # - # Best is latest dynamic content + # Best is systemd resolved stub config # - if [ -f /etc/resolvconf/run/resolv.conf ] ; then + if [ -f /run/systemd/resolve/stub-resolv.conf ] ; then + ln -s ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf + fi + # + # Next best is latest dynamic content + # + if [ ! -f /etc/resolv.conf ] && [ -f /run/resolvconf/resolv.conf ] ; then # (Remove "generated by resolvconf" comment which is no longer true) - grep -sv '^#' /etc/resolvconf/run/resolv.conf > /etc/resolv.conf || : - rm -f /etc/resolvconf/run/resolv.conf + grep -sv '^#' /run/resolvconf/resolv.conf > /etc/resolv.conf || : + rm -f /run/resolvconf/resolv.conf # If nothing is left over, remove the file entirely [ -s /etc/resolv.conf ] || rm -f /etc/resolv.conf fi # - # Second best is "original" content + # Third best is "original" content # if [ ! -f /etc/resolv.conf ] \ @@ -79,11 +82,6 @@ case "$1" in # # Remove all remaining cruft # - if [ -L /etc/resolvconf/run ] ; then - rm -f /etc/resolvconf/run - elif [ -d /etc/resolvconf/run ] ; then - rm -rf /etc/resolvconf/run - fi rm -f /etc/resolvconf/resolv.conf.d/tail rm -f /etc/resolvconf/resolv.conf.d/original rm -f /etc/resolvconf/update.d/bind @@ -102,7 +100,7 @@ case "$1" in # Don't do anything because we don't do anything here (in the postrm) on upgrade # ;; abort-install) - rm -f /etc/resolvconf/run/packages-to-notify + rm -f /run/resolvconf/packages-to-notify # In the preinst we create directories # but there is no immediate need to remove them if there is an error. ;;
  18. Download patch debian/resolvconf.resolvconf-pull-resolved.path

    --- 1.79/debian/resolvconf.resolvconf-pull-resolved.path 1970-01-01 00:00:00.000000000 +0000 +++ 1.79ubuntu14/debian/resolvconf.resolvconf-pull-resolved.path 2019-03-14 21:17:51.000000000 +0000 @@ -0,0 +1,7 @@ +[Path] +PathChanged=/run/systemd/resolve/stub-resolv.conf +PathExists=/run/systemd/resolve/stub-resolv.conf + +[Install] +WantedBy=systemd-resolved.service +
  1. resolvconf