Package: apt-show-versions Version: 0.22.11 Severity: normal Dear Maintainer,
apt-show-versions assumes that the name and values of control file fields are separated by ": ". Control files that use tabs instead of spaces after the colon will result in the following message upon execution: Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 597, <FILE> line 1172 It's not clear to me exactly what consequences this has, but at least that data field won't be correctly processed. According to §5.1 of the Debian Policy Manual, Each field consists of the field name followed by a colon and then the data/value associated with that field. [...] Horizontal whitespace (spaces and tabs) may occur immediately before or after the value and is ignored there; it is conventional to put a single space after the colon. it's valid to have ":\t" between the field name and its value. Looking at lines 596-597 of apt-show-versions it clearly assumes ": ": ($key, $value) = split /: /, $_; $value =~ s/\n//; I suggest that - the regexp is changed to ":\s+" to remove the warning, - that you consider ignoring trailing whitespace in the value, and - that values containing ": " are handled correctly. The two last bullets might be moot depending on which fields are actually used for further processing. Can't Dpkg::Control::Info from libdpkg-perl be used to avoid the parsing altogether? -- System Information: Debian Release: 8.11 APT prefers oldoldstable APT policy: (500, 'oldoldstable') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-0.bpo.5-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE= (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Init: systemd (via /run/systemd/system) Versions of packages apt-show-versions depends on: ii apt 1.0.9.8.5 ii libapt-pkg-perl 0.1.29+b2 ii perl [libstorable-perl] 5.20.2-3+deb8u12 pn perl:any | perl-5.005 | perl-5.004 <none> apt-show-versions recommends no packages. apt-show-versions suggests no packages. -- no debconf information