Dear Maintainer,
since the squeeze->wheezy upgrade, dpkg complains
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 22326 package 'am-utils':
| 'Replaces' field, reference to 'amd': error in version: version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 22329 package 'am-utils':
| 'Conflicts' field, reference to 'amd': error in version: version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 53160 package 'root-tail':
| 'Conflicts' field, reference to 'rt': error in version: version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 66098 package 'wmnetselect':
| 'Suggests' field, reference to 'mozilla': error in version: version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 69692 package 'e3':
| error in Version string 'e3-2.30-1': version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 76303 package 'tac-plus':
| error in Version string 'F4.0.4.alpha-9.1': version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 125623 package 'epic4-script-thirdeye':
| 'Depends' field, reference to 'epic4': error in version: version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 148287 package 'cnews':
| error in Version string 'cr.g7-31': version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 188240 package 'request-tracker1':
| 'Conflicts' field, reference to 'rt': error in version: version number does not start with digit
| dpkg: warning: parsing file '/var/lib/dpkg/available' near line 200258 package 'epic4':
| 'Conflicts' field, reference to 'epic4-help': error in version: version number does not start with digit
This is a really old system, installation was done almost ten years
ago using woody. And at that time, the rules about version numbers
were more relaxed than today. The first stanza mentioned is:
| Package: am-utils
| Priority: extra
| Section: net
| Installed-Size: 472
| Maintainer: Philippe Troin <phil@fifi.org>
| Architecture: i386
| Version: 6.0.7-6
! Replaces: amd (<= upl102-35)
| Depends: portmap, libc6 (>= 2.2.4-4), libgdbmg1, perl, debconf (>= 0.5.0)
| Suggests: nis, am-utils-dev, am-utils-doc
| Conflicts: amd (<= upl102-35)
| Filename: pool/main/a/am-utils/am-utils_6.0.7-6_i386.deb
| Size: 257132
| MD5sum: f7c086afbb93453b7f6058b47d232568
| Description: The 4.4BSD automounter.
| Amd is an automounter--it mounts file systems "on demand" when they
| are first referenced and unmounts them after a period of inactivity.
None of these packages is still installed, so I purged
/var/lib/dpkg/available manually. Howevery, please consider doing this
in a sensitive way during the upgrade, to avoid confusion for the
users.
Regards,
Christoph
Hi, when you only use dpkg and apt or aptitude and never use dselect is it safe to just clear the file /var/lib/dpkg/available with the command "dpkg --clear-avail" as a workaround for this bug? Or is this file used for anything else than dselect? Regards Uwe
Other things might use it, but it can (mostly) always be recreated w/o loss of data. If you are not using dselect, it's always safe to clear it. Maybe we should clear it on upgrade though, I'll think about it. Thanks, Guillem
Hi, although this is only remotely related to this bug's issue - several current packages of backtrack linux do not follow the version string policy, too.. namely I get a LOT of noise on any dpkg invocation, be it directly or via aptitude: Well I know I am sinning against the debian g0ds of purity, but well.. with free software, the choice should be mine to install packages which don't follow the policy. Right? So I have a deliberate "force-bad-version" in my /etc/dpkg/dpkg.cfg - but it doesn't shut up the warning, and frankly, I see no way to make it shoosh.. Any suggestions how to turn that NOIZE off? #Regards!Marcel
If found that one laying around here. No idea if I already sent it or why not: From ba00cfbdc68124d95836b86414f4ebca782875d1 Mon Sep 17 00:00:00 2001 From: "Bernhard R. Link" <brlink@debian.org> Date: Wed, 19 Sep 2012 15:49:16 +0200 Subject: [PATCH] silence warnings about versions in available file--- lib/dpkg/dpkg-db.h | 4 +++- lib/dpkg/parsehelp.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/dpkg/dpkg-db.h b/lib/dpkg/dpkg-db.h index ac37976..ddc2dd0 100644 --- a/lib/dpkg/dpkg-db.h +++ b/lib/dpkg/dpkg-db.h @@ -296,13 +296,15 @@ enum parsedbflags { pdb_lax_version_parser = DPKG_BIT(6), /** Perform laxer parsing, used to transition to stricter parsing. */ pdb_lax_parser = pdb_lax_version_parser, + /** Perform laxer version parsing and be silent about warnings. */ + pdb_very_lax_version_parser = DPKG_BIT(7), /* Standard operations. */ pdb_parse_status = pdb_lax_parser | pdb_weakclassification, pdb_parse_update = pdb_parse_status | pdb_deb_control, pdb_parse_available = pdb_recordavailable | pdb_rejectstatus | - pdb_lax_parser, + pdb_very_lax_version_parser, pdb_parse_binary = pdb_recordavailable | pdb_rejectstatus | pdb_deb_control, }; diff --git a/lib/dpkg/parsehelp.c b/lib/dpkg/parsehelp.c index d9a574e..432a85c 100644 --- a/lib/dpkg/parsehelp.c +++ b/lib/dpkg/parsehelp.c @@ -298,7 +298,9 @@ parse_db_version(struct parsedb_state *ps, struct dpkg_version *version, vsnprintf(buf, sizeof(buf), fmt, args); va_end(args); - if (err.type == DPKG_MSG_WARN && (ps->flags & pdb_lax_version_parser)) + if (err.type == DPKG_MSG_WARN && (ps->flags & pdb_very_lax_version_parser)) + ; + else if (err.type == DPKG_MSG_WARN && (ps->flags & pdb_lax_version_parser)) parse_warn(ps, "%s: %.250s", buf, err.str); else parse_error(ps, "%s: %.250s", buf, err.str); -- 1.7.10.4
Dear Maintainer,
*** Please consider answering these questions, where appropriate ***
* What led up to the situation?
upgrading from squeeze to wheezy having linux vserver installed
* What exactly did you do (or not do) that was effective (or
ineffective)?
edit available file
* What was the outcome of this action?
warnings go away
* What outcome did you expect instead?
That it would fail gracefully.
*** End of the template - remove these lines ***
which lines? those above? or below?
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 3661 package 'util-vserver-0.30.216-2918':
error in Version string 'pre2918-1': version number does not start with digit
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 7643 package 'util-vserver-0.30.216':
error in Version string 'pre2921-1': version number does not start with digit