Timezone name in Debian changelog format

Guillem Jover guillem at debian.org
Fri Jun 26 02:40:58 UTC 2015


Hi!

The other day, while fixing some dpkg code, I noticed that the Debian
changelog trailer regex intended to support a timezone name inside
parenthesis, like this:

 -- Name <mail at example.org>  Sat, 30 May 2015 03:18:43 +0200 (CEST)

is bogus (since its inception in dpkg 1.3.0, 1996-08), and it only
accepts one character. As in:

 -- Name <mail at example.org>  Sat, 30 May 2015 03:18:43 +0200 (C)

(Which while also “valid”, as per RFC822, they are pretty much
useless as per RFC5322.)

I also checked, and it seems that several (most?) other changelog
parsers have just copied that regex (maintainers BCCed), and suffer
from the same issue:

  libdpkg-perl: scripts/Dpkg/Changelog/Entry/Debian.pm $regex_trailer
  libparse-debianchangelog-perl: Parse/DebianChangelog.pm
  python-debian: lib/debian/changelog.py endline and endline_nodetails
  po4a: lib/Locale/Po4a/Text.pm parse_debianchangelog
  root-system: build/package/lib/makerpmcl.pl

So given that the timezone name has never been accepted, many
time-parsing functions ignore it, it is redundant, declared obsolete
by RFC5322 and Debian policy dropped an explicit reference to it due
to bug 569174. I'd say we should just drop it instead of fixing the
regex. Comments?

Thanks,
Guillem



More information about the pkg-perl-maintainers mailing list