[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#647917: UDD: Update lintian tag regex



Package: qa.debian.org
Severity: normal
User: qa.debian.org@packages.debian.org
Usertags: udd

Hi,

The coming version of lintian is changing output format for tags on
lintian.d.o.  The new format is

C: pkg type (version) [arch]: tag extra

(Where "extra" is the only optional value that may be left out).

I have attached the lintian code that examines this part of the log
file below[1].  The regex should be backwards compatible with the old
style log format, so UDD migration should be possible already now.

~Niels

[1]
"""

# Matches something like:  (1:2.0-3) [arch1 arch2]
# - captures the version and the architectures
my $verarchre = qr,(?: \s* \(( [^)]++ )\) \s* \[ ( [^]]++ ) \]),xo;
#                             ^^^^^^^^          ^^^^^^^^^^^^
#                           ( version   )      [architecture ]

# matches the full deal:
#    1  222 3333  4444444   5555   666  777
# -  T: pkg type (version) [arch]: tag [...]
#           ^^^^^^^^^^^^^^^^^^^^^
# Where the marked part(s) are optional values.  The numbers above the example
# are the capture groups.
my $fullre = qr/([EWIXOP]): (\S+)(?: (\S+)(?:$verarchre)?)?: (\S+)(?:\s+(.*))?/o;
while (<>) {
    chomp;
    next unless m/^$fullre/o;
    my ($code, $package, $type, $pver, $parch, $tag, $extra) = ($1, $2, $3, $4, $5, $6, $7);
"""



Reply to: