Package: python-nemu Version: 0.1-1 Severity: grave Tags: patch upstream Justification: renders package unusable
Nemu depends on /bin/ip to get addresses of interfaces: ip -o addr list But recent iproute/iproute2 does not show link information anymore, making Nemu fail with following traceback: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nemu/protocol.py", line 272, in run cmd[0](cmd[1], *cmd[2]) File "/usr/lib/python2.7/dist-packages/nemu/protocol.py", line 480, in do_ADDR_ADD nemu.iproute.add_addr(ifnr, a) File "/usr/lib/python2.7/dist-packages/nemu/iproute.py", line 461, in add_addr addresses = get_addr_data()[1][ifname] File "/usr/lib/python2.7/dist-packages/nemu/iproute.py", line 440, in get_addr_data bynam[name].append(_parse_ip_addr(match.group(4))) KeyError: 'lo' iproute 20120521 is the latest version that lists addresses in expected format. So this bug does not affect Wheezy. Attached patch fixes parsing of /bin/ip output. -- System Information: Debian Release: 7.0 APT prefers unstable APT policy: (900, 'unstable'), (400, 'testing'), (300, 'experimental'), (200, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.10.10+ (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python-nemu depends on: ii bridge-utils 1.5-6 ii iproute 1:3.11.0-1 ii procps 1:3.3.4-2 ii python 2.7.3-5 ii python-passfd 0.2-1 ii python-unshare 0.1-2 python-nemu recommends no packages. Versions of packages python-nemu suggests: ii xauth 1:1.0.7-1 -- no debconf information
--- src/nemu/iproute.py 2012-04-02 05:00:00.000000000 +0200 +++ src/nemu/iproute.py 2013-10-04 13:46:16.318263897 +0200 @@ -434,9 +434,10 @@ raise RuntimeError("Invalid `ip' command output") idx = int(match.group(1)) name = match.group(2) - if match.group(3): + if name not in bynam: bynam[name] = byidx[idx] = [] - continue # link info + if match.group(3): # BBB: old iproute also shows link info + continue bynam[name].append(_parse_ip_addr(match.group(4))) return byidx, bynam