Control: found -1 1.0~git20161221-1 Hi,
most of the issues are fixed, but one is remaining: On 2016-11-11 21:09, Julien Fortin wrote: >> 2. unconditionally install the diversions, installing bash-completion >> after ifupdown2 breaks right now with a file overwrite error since the >> diversions are not in place (this is how I noticed the problems) >> > > I tried to reinstall bash-completion, didn't see any issue. > Then remove + install, didn't see any issues. > Can you please provide me the steps you are following? remove bash-completion install ifupdown2 install bash-completion (best test this in a fresh minimal chroot) looking at ifupdown.preinst, I marked the wrong (i.e. superfluous) lines with #!!: preinst_divert() { diversions=$(dpkg-divert --list | grep "$1" | grep -v 'by ifupdown2$' | wc -l 2> /dev/null) if [ "$diversions" -gt 0 ]; then report_err "existing diversion for $1" else #!! if [ -e "$1" ] || [ -L "$1" ]; #!! then #!! if [ $(dpkg-query -L ifupdown2 | grep "^$1$" | wc -l) -eq 0 ]; #!! then dpkg-divert --add --package ifupdown2 --rename --divert "$1.disabled" "$1" #!! fi #!! fi #!! fi } You always want to install the diversion - it's a no-op if it is already there. You don't want to install the diversion only if a conflicting file is already present, but also to take care for the conflicting file to be installed later. And I'm pretty sure that you are missing an 'exit 1' in the report_err function - there is no point in continuing the installation if the system is in a broken state. Andreas