Package: pppoeconf Version: 1.20 Severity: serious Tags: patch Hi
pppoeconf depends on ifupdown and net-tools (ifconfig) without declaring an explicit dependency on either of these packages. Due to ifupdown having switched its own reliance on net-tools to iproute2, new jessie installs are particularly prone to this problem, as ifconfig is no longer guaranteed to be available. Rather than just declaring net-tools as a dependency, I've ported pppoeconf to use iproute2 instead, thereby following ifupdown and reducing the dependency chain as a whole. Existing configurations will not be migrated to iproute2 automatically, as doing so would be a policy violation, but existing -upgraded- installations should still have net-tools/ ifconfig available (and pppoeconf will adapt it when reconfiguring an interface). I'll follow up this bug with a, tested, 2-patch patch series (which also fixes the newly introduced i18n changes), once I receive the bug number, but the changes are basically these: *** Please apply the two patches mailed as follow-up to this bug, *** *** rather than this patch which is only meant for demonstrating *** *** the changes *** --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Standards-Version: 3.9.2 Package: pppoeconf Architecture: all -Depends: ${misc:Depends}, whiptail-provider | whiptail, ppp (>= 2.4.2+20040428-2) | pppoe (>= 3.0), ppp (>= 2.4.1.uus2-4), gettext-base (>= 0.13), sed (>= 3.95) +Depends: ${misc:Depends}, whiptail-provider | whiptail, ppp (>= 2.4.2+20040428-2) | pppoe (>= 3.0), ppp (>= 2.4.1.uus2-4), gettext-base (>= 0.13), sed (>= 3.95), ifupdown (>= 0.7.44~), iproute2 Recommends: locales Suggests: xdialog Description: configures PPPoE/ADSL connections --- a/pppoeconf +++ b/pppoeconf @@ -101,7 +101,7 @@ if test "$*" ; then list="$*" force_manual=1 else - list=$( LANG=C /sbin/ifconfig -a | grep "Ethernet" | grep -v irlan | cut -f1 -d" " ) + list=$( LANG=C /bin/ip -f link -o addr list | awk '/^[0-9]*\:.*link\/ether/{print $2}' | grep -v irlan | cut -f1 -d: ) fi if test "$list" ; then @@ -189,7 +189,7 @@ Webnetix: fi touch $TMP/pppoe.scan - ifconfig $iface up + ip link set $iface up ($DISCOVERY_PROGRAM $mmm -A -I $iface > $TMP/$iface.pppoe ; rm $TMP/pppoe.scan) & ( time=0 ; while test -f $TMP/pppoe.scan ; do time=`expr $time + 6`; echo $time; sleep 1; done ) | $DIALOG --title "$title" --gauge "$text $mmode" 10 60 0 @@ -253,9 +253,12 @@ Continue with configuration?') # interface activation code - this sucks here, pppd plugin should do it as needed #sed -i -e "s,pre-up /sbin/ifconfig[[:space:]]\+[^[:space:]]\+[[:space:]]\+up.#.line.maintained.by.pppoeconf,pre-up /sbin/ifconfig $ifacenocomma up # line maintained by pppoeconf," $INTFILE # FIXME: Make sure that it gets added to correct iface stanza! (Because it's not always added above) - PATTERN_PREUP_IFACE="pre-up /sbin/ifconfig[[:space:]]\+[^[:space:]]\+[[:space:]]\+up.#.line.maintained.by.pppoeconf" - REPLACE_PREUP_IFACE="pre-up /sbin/ifconfig $ifacenocomma up # line maintained by pppoeconf" - if grep -q "$PATTERN_PREUP_IFACE" $INTFILE; then + PATTERN_PREUP_IFACE_LEGACY="pre-up /sbin/ifconfig[[:space:]]\+[^[:space:]]\+[[:space:]]\+up.#.line.maintained.by.pppoeconf" + PATTERN_PREUP_IFACE="pre-up /bin/ip link set[[:space:]]\+[^[:space:]]\+[[:space:]]\+up.#.line.maintained.by.pppoeconf" + REPLACE_PREUP_IFACE="pre-up /bin/ip link set $ifacenocomma up # line maintained by pppoeconf" + if grep -q "$PATTERN_PREUP_IFACE_LEGACY" $INTFILE; then + sed -i -e "s,$PATTERN_PREUP_IFACE_LEGACY,$REPLACE_PREUP_IFACE," $INTFILE + elif grep -q "$PATTERN_PREUP_IFACE" $INTFILE; then sed -i -e "s,$PATTERN_PREUP_IFACE,$REPLACE_PREUP_IFACE," $INTFILE else sed -i -e "s,[^#]*\(iface dsl-provider.*\),\1\n$REPLACE_PREUP_IFACE," $INTFILE @@ -461,7 +464,7 @@ Note that this situation is not expected and you should consider submitting a bu cd / pon dsl-provider title=$(gettext 'CONNECTION INITIATED') - text=$(gettext 'The DSL connection has been triggered. You can use the "plog" command to see the status or "ifconfig ppp0" for general interface info.') + text=$(gettext 'The DSL connection has been triggered. You can use the "plog" command to see the status or "ip addr show ppp0" for general interface info.') $DIALOG --title "$title" --clear --msgbox "$text" 10 60 ;; 1) *** Please apply the two patches mailed as follow-up to this bug, *** *** rather than this patch which is only meant for demonstrating *** *** the changes *** Regards Stefan Lippers-Hollmann -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 3.11-6.slh.3-aptosid-amd64 (SMP w/8 CPU cores; PREEMPT) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
signature.asc
Description: This is a digitally signed message part.