Debian Bug report logs - #526713
[checks/fields] allow Vcs-* fields to be multiline

version graph

Package: lintian; Maintainer for lintian is Debian Lintian Maintainers <lintian-maint@debian.org>; Source for lintian is src:lintian.

Reported by: ansgar@debian.org

Date: Sat, 2 May 2009 22:57:01 UTC

Severity: minor

Found in version lintian/2.2.10

Fix blocked by 533495: [debcheckout] Support multiline Vcs-* fields

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Sat, 02 May 2009 22:57:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ansgar Burchardt <ansgar@2008.43-1.org>:
New Bug report received and forwarded. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Sat, 02 May 2009 22:57:04 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Ansgar Burchardt <ansgar@2008.43-1.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Sun, 03 May 2009 00:55:45 +0200
Package: lintian
Version: 2.2.10
Severity: minor

Hi,

several packages split the Vcs-* fields on two lines to avoid long
lines.  Lintian should not complain in this case.

See [1] for examples: most of the packages with "\n" in the Vcs-* fields
are false positives.

Regards,
Ansgar

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.29-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lintian depends on:
ii  binutils               2.19.1-1          The GNU assembler, linker and bina
ii  diffstat               1.46-1            produces graph of changes introduc
ii  dpkg-dev               1.14.26           Debian package development tools
ii  file                   5.00-1            Determines file type using "magic"
ii  gettext                0.17-6            GNU Internationalization utilities
ii  intltool-debian        0.35.0+20060710.1 Help i18n of RFC822 compliant conf
ii  libipc-run-perl        0.82-1            Perl module for running processes
ii  libparse-debianchangel 1.1.1-2           parse Debian changelogs and output
ii  libtimedate-perl       1.1600-9          Time and date functions for Perl
ii  liburi-perl            1.37+dfsg-1       Manipulates and accesses URI strin
ii  man-db                 2.5.5-1           on-line manual pager
ii  perl [libdigest-sha-pe 5.10.0-19         Larry Wall's Practical Extraction 

lintian recommends no packages.

Versions of packages lintian suggests:
pn  binutils-multiarch            <none>     (no description available)
pn  libtext-template-perl         <none>     (no description available)
ii  man-db                        2.5.5-1    on-line manual pager

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Sun, 03 May 2009 00:45:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Sun, 03 May 2009 00:45:03 GMT) Full text and rfc822 format available.

Message #10 received at 526713@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: Ansgar Burchardt <ansgar@2008.43-1.org>
Cc: 526713@bugs.debian.org
Subject: Re: Bug#526713: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Sat, 02 May 2009 17:41:31 -0700
Ansgar Burchardt <ansgar@2008.43-1.org> writes:

> several packages split the Vcs-* fields on two lines to avoid long
> lines.  Lintian should not complain in this case.
>
> See [1] for examples: most of the packages with "\n" in the Vcs-* fields
> are false positives.

Do all of the various programs that use Vcs fields support newlines in
the field value?  This is not a given; Policy says that newlines are
only allowed when specifically permitted by the specification for that
field.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Fri, 08 May 2009 21:00:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Fri, 08 May 2009 21:00:05 GMT) Full text and rfc822 format available.

Message #15 received at 526713@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: 526713@bugs.debian.org
Cc: Ansgar Burchardt <ansgar@2008.43-1.org>
Subject: Re: Bug#526713: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Fri, 08 May 2009 21:57:11 +0100
On Sat, 2009-05-02 at 17:41 -0700, Russ Allbery wrote:
> Ansgar Burchardt <ansgar@2008.43-1.org> writes:
> 
> > several packages split the Vcs-* fields on two lines to avoid long
> > lines.  Lintian should not complain in this case.
> >
> > See [1] for examples: most of the packages with "\n" in the Vcs-* fields
> > are false positives.
> 
> Do all of the various programs that use Vcs fields support newlines in
> the field value?  This is not a given; Policy says that newlines are
> only allowed when specifically permitted by the specification for that
> field.

debcheckout certainly doesn't.  Given the initial authorship of the
utility, I'd suggest that means that the field wasn't designed to be
multi-line.

Regards,

Adam




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Sat, 09 May 2009 13:54:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefano Zacchiroli <zack@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Sat, 09 May 2009 13:54:04 GMT) Full text and rfc822 format available.

Message #20 received at 526713@bugs.debian.org (full text, mbox):

From: Stefano Zacchiroli <zack@debian.org>
To: "Adam D. Barratt" <adam@adam-barratt.org.uk>
Cc: 526713@bugs.debian.org, Ansgar Burchardt <ansgar@2008.43-1.org>
Subject: Re: Bug#526713: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Sat, 9 May 2009 15:49:36 +0200
On Fri, May 08, 2009 at 09:57:11PM +0100, Adam D. Barratt wrote:
> > Do all of the various programs that use Vcs fields support newlines in
> > the field value?  This is not a given; Policy says that newlines are
> > only allowed when specifically permitted by the specification for that
> > field.

This is no longer the case. Starting from policy 3.7.0 (see
/usr/share/doc/debian-policy/upgrading-checklist.txt.gz) all fields
are:
- on a logical single line ...
- ... that can be split over several _physical_ lines

As a consequence, Vcs-* fields must be supported as multiple lines all
other fields ... and yes, I'm aware that the initial implementation
did not support that, even though I've realized only now that it can
be a problem in practice.

> debcheckout certainly doesn't.  Given the initial authorship of the
> utility, I'd suggest that means that the field wasn't designed to be
> multi-line.

So no, this is no a valid excuse. It should be supported a physically
spread over multiple lines. Actually, I'm a bit surprised that it is a
problem, because I thought the various archive management tools used
to normalize on a single physical lines all fields. Nevertheless, the
implementation should be fixed to support Vcs-* fields split over
several physical lines, if they occurs in practice.

Cheers.

-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..|  .  |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Sat, 09 May 2009 15:00:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Sat, 09 May 2009 15:00:06 GMT) Full text and rfc822 format available.

Message #25 received at 526713@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: Stefano Zacchiroli <zack@debian.org>, 526713@bugs.debian.org
Cc: Ansgar Burchardt <ansgar@2008.43-1.org>
Subject: Re: Bug#526713: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Sat, 09 May 2009 15:58:16 +0100
On Sat, 2009-05-09 at 15:49 +0200, Stefano Zacchiroli wrote:
> On Fri, May 08, 2009 at 09:57:11PM +0100, Adam D. Barratt wrote:
[Russ wrote:]
> > > Do all of the various programs that use Vcs fields support newlines in
> > > the field value?  This is not a given; Policy says that newlines are
> > > only allowed when specifically permitted by the specification for that
> > > field.
> 
> This is no longer the case. Starting from policy 3.7.0 (see
> /usr/share/doc/debian-policy/upgrading-checklist.txt.gz) all fields
> are:
> - on a logical single line ...
> - ... that can be split over several _physical_ lines

There appears to be some debate as to whether things are quite as clear
cut as that summary from the checklist suggests. :-/  In the discussion
of #372731, for which a fix was applied in Policy 3.7.2.1, Russ
indicated that it was intended to apply to the relationship fields, not
the file in general.

The discussion of #148194, which was the bug referred to in the
checklist entry you mentioned, also explicitly states that only those
fields mentioned in section 7.1 were intended to be affected.

In any case, since Russ wrote the wording in question, I'll assume he
knows what he intended it to mean :-)  The current wording obviously
isn't unambiguous though.

> Actually, I'm a bit surprised that it is a problem, because I thought
> the various archive management tools used to normalize on a single
> physical lines all fields.

dpkg-* do, for the fields mentioned in section 7.1.  For example,
comparing the Build-Depends, Recommends and Suggests fields of
devscripts in the source package with the results of "apt-cache
show{,src} devscripts" clearly shows that those fields have been
wrapped.

However, "apt-cache showsrc libtie-hash-regex-perl" still shows an
unwrapped Vcs-Browser field, which is what Lintian is complaining about.

Adam




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Sat, 09 May 2009 20:51:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Sat, 09 May 2009 20:51:05 GMT) Full text and rfc822 format available.

Message #30 received at 526713@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: Stefano Zacchiroli <zack@debian.org>
Cc: 526713@bugs.debian.org, "Adam D. Barratt" <adam@adam-barratt.org.uk>, Ansgar Burchardt <ansgar@2008.43-1.org>
Subject: Re: Bug#526713: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Sat, 09 May 2009 13:49:40 -0700
Stefano Zacchiroli <zack@debian.org> writes:

> This is no longer the case. Starting from policy 3.7.0 (see
> /usr/share/doc/debian-policy/upgrading-checklist.txt.gz) all fields
> are:
> - on a logical single line ...
> - ... that can be split over several _physical_ lines

upgrading-checklist is not canonical and tends to take short cuts in
wording.  It's really intended just to provide pointers to the sections
that you want to re-read.  Section 5.1 says:

    Many fields' values may span several lines; in this case each
    continuation line must start with a space or a tab. Any trailing
    spaces or tabs at the end of individual lines of a field value are
    ignored.

    In fields where it is specified that lines may not wrap, only a
    single line of data is allowed and whitespace is not significant in
    a field body.

It's really up to each individual field to specify its continuation
handling.  There are specific allowances in Policy for continuation
lines in relation fields and in Uploaders, but not elsewhere.  You can't
wrap Architecture across multiple lines, for example.

Of course, Vcs-* isn't in Policy at all, so you can't tell for sure by
reading Policy whether they support wrapping, which is why I was
wondering about the status of the tools.

(I'd really like to see Vcs-* standardized in Policy so that we have
some place to look for questions like this.)

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Sat, 09 May 2009 20:54:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Sat, 09 May 2009 20:54:05 GMT) Full text and rfc822 format available.

Message #35 received at 526713@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: "Adam D. Barratt" <adam@adam-barratt.org.uk>
Cc: 526713@bugs.debian.org, Stefano Zacchiroli <zack@debian.org>, Ansgar Burchardt <ansgar@2008.43-1.org>
Subject: Re: Bug#526713: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Sat, 09 May 2009 13:50:47 -0700
"Adam D. Barratt" <adam@adam-barratt.org.uk> writes:

> dpkg-* do, for the fields mentioned in section 7.1.  For example,
> comparing the Build-Depends, Recommends and Suggests fields of
> devscripts in the source package with the results of "apt-cache
> show{,src} devscripts" clearly shows that those fields have been
> wrapped.
>
> However, "apt-cache showsrc libtie-hash-regex-perl" still shows an
> unwrapped Vcs-Browser field, which is what Lintian is complaining
> about.

dpkg-* can't really unwrap fields in general without knowledge of the
semantics of the field, since the newlines may be significant.  (Think
Description, for instance.)

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Sun, 10 May 2009 14:03:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefano Zacchiroli <zack@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Sun, 10 May 2009 14:03:02 GMT) Full text and rfc822 format available.

Message #40 received at 526713@bugs.debian.org (full text, mbox):

From: Stefano Zacchiroli <zack@debian.org>
To: "Adam D. Barratt" <adam@adam-barratt.org.uk>, Russ Allbery <rra@debian.org>
Cc: 526713@bugs.debian.org, Ansgar Burchardt <ansgar@2008.43-1.org>
Subject: Re: Bug#526713: lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields
Date: Sun, 10 May 2009 15:58:05 +0200
[Message part 1 (text/plain, inline)]
On Sat, May 09, 2009 at 01:49:40PM -0700, Russ Allbery wrote:
> Stefano Zacchiroli <zack@debian.org> writes:
> > This is no longer the case. Starting from policy 3.7.0 (see
> > /usr/share/doc/debian-policy/upgrading-checklist.txt.gz) all fields
> upgrading-checklist is not canonical and tends to take short cuts in
> wording.  It's really intended just to provide pointers to the sections
> that you want to re-read.  Section 5.1 says:
> 
>     Many fields' values may span several lines; in this case each
>     continuation line must start with a space or a tab. Any trailing
>     spaces or tabs at the end of individual lines of a field value are
>     ignored.
> 
>     In fields where it is specified that lines may not wrap, only a
>     single line of data is allowed and whitespace is not significant in
>     a field body.

FWIW, I did not point to upgrading-checklist with the intention of
considering it the ultimate reference, but only at the quickest
reference I came up to. In the past I did refer to the actual policy
text (the context was an extension I've proposed for dctrl-tools,
which concerned multi-line values).

Apparently though, I was indeed convinced that all fields (except
Descriptions) were meant to be multi-lines. Even if this is not the
right context to raise the issue, I notice that from the wording
reported by Russ, the feeling is that the "majority" of fields is
meant to be multi-lines. I've no idea if this feeling is intentional
or not, but you might be interested in such a feedback.

BTW, I'm interested in knowing if the intention is to have opt-in or
opt-out multi-lineness for fields. To me, it seems reasonable to have
it opt-out (i.e. the default is multi-line).

Anyhow, back to the original topic, cause we are getting OT here
... :-)

On Sat, May 09, 2009 at 03:58:16PM +0100, Adam D. Barratt wrote:
<snipping discussion about multi-line fields _in general_>
> However, "apt-cache showsrc libtie-hash-regex-perl" still shows an
> unwrapped Vcs-Browser field, which is what Lintian is complaining
> about.

Vcs-* fields are logically single line.
That, to me, would be a "full stop sentence".

If physically they are split over multiple lines this is fine, but
logically they remain one line. Hence, debcheckout should cope with
that. Too bad that devscripts only Recommends dctrl-tools, otherwise
debcheckout could have been made to use grep-available which will soon
gain multi-line joining capabilities.

Cheers.

-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..|  .  |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
[signature.asc (application/pgp-signature, inline)]

Bug 526713 cloned as bug 533495. Request was from Russ Allbery <rra@debian.org> to control@bugs.debian.org. (Thu, 18 Jun 2009 02:27:01 GMT) Full text and rfc822 format available.

Blocking bugs of 526713 added: 533495 Request was from Russ Allbery <rra@debian.org> to control@bugs.debian.org. (Thu, 18 Jun 2009 02:27:05 GMT) Full text and rfc822 format available.

Changed Bug title to `[checks/fields] allow Vcs-* fields to be multiline' from `lintian: vcs-field-uses-unknown-uri-format should handle multi-line fields'. Request was from Russ Allbery <rra@debian.org> to control@bugs.debian.org. (Thu, 18 Jun 2009 02:27:07 GMT) Full text and rfc822 format available.

Forcibly Merged 526713 646985. Request was from Jakub Wilk <jwilk@debian.org> to control@bugs.debian.org. (Sat, 29 Oct 2011 07:45:05 GMT) Full text and rfc822 format available.

Changed Bug submitter to 'ansgar@debian.org' from 'Ansgar Burchardt <ansgar@2008.43-1.org>' Request was from Ansgar Burchardt <ansgar@43-1.org> to control@bugs.debian.org. (Sun, 11 Dec 2011 12:07:54 GMT) Full text and rfc822 format available.

Bug No longer marked as fixed in versions lintian/2.5.4 and reopened. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 26 Jan 2012 14:10:03 GMT) Full text and rfc822 format available.

Bug closed, send any further explanations to Niels Thykier <niels@thykier.net> Request was from Niels Thykier <niels@thykier.net> to control@bugs.debian.org. (Thu, 26 Jan 2012 14:10:17 GMT) Full text and rfc822 format available.

Bug Marked as fixed in versions lintian/2.5.4. Request was from Niels Thykier <niels@thykier.net> to control@bugs.debian.org. (Thu, 26 Jan 2012 14:10:19 GMT) Full text and rfc822 format available.

Bug No longer marked as fixed in versions lintian/2.5.4 and reopened. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 26 Jan 2012 14:18:13 GMT) Full text and rfc822 format available.

Disconnected #526713 from all other report(s). Request was from Niels Thykier <niels@thykier.net> to control@bugs.debian.org. (Thu, 26 Jan 2012 14:18:14 GMT) Full text and rfc822 format available.

Bug closed, send any further explanations to ansgar@debian.org Request was from Niels Thykier <niels@thykier.net> to control@bugs.debian.org. (Thu, 26 Jan 2012 14:18:19 GMT) Full text and rfc822 format available.

Bug Marked as fixed in versions lintian/2.5.4. Request was from Niels Thykier <niels@thykier.net> to control@bugs.debian.org. (Thu, 26 Jan 2012 14:18:24 GMT) Full text and rfc822 format available.

Bug No longer marked as fixed in versions lintian/2.5.4 and reopened. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 26 Jan 2012 14:24:39 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#526713; Package lintian. (Thu, 26 Jan 2012 16:39:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jakub Wilk <jwilk@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (Thu, 26 Jan 2012 16:39:04 GMT) Full text and rfc822 format available.

Message #71 received at 526713@bugs.debian.org (full text, mbox):

From: Jakub Wilk <jwilk@debian.org>
To: 526713@bugs.debian.org
Subject: Bug#533495: [debcheckout] Support multiline Vcs-* fields
Date: Thu, 26 Jan 2012 17:37:35 +0100
* Stefano Zacchiroli <zack@debian.org>, 2009-05-10, 15:58:
>Vcs-* fields are logically single line.
>That, to me, would be a "full stop sentence".
>
>If physically they are split over multiple lines this is fine, but 
>logically they remain one line.

If this is the case, then IMO it's dpkg-source job to unfold the field, 
so that it appears a single line in dsc. Then debcheckout wouldn't 
require any changes.

(dpkg is already aware of existence of Vcs-* fields, so it should be 
okay to teach it also a bit about their semantics.)

-- 
Jakub Wilk




Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sat Apr 19 14:35:06 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.