Bug#931975: dpkg-checkbuilddeps don't allow multiple Vcs-Git statements
Hi!
On Sun, 2019-07-14 at 09:31:16 -0700, Russ Allbery wrote:
> Yeah, this just seems generally wrong to me. I assume the idea was that a
> package may have mirrors of its packaging repository in multiple VCS
> systems and list all of them, but I'm dubious there's much point. My
> leaning is to make the following change:
Right, the problem though is that I'm not even sure consumers of these
fields will behave properly and consistently when multiple Vcs-<type>
fields are present? (I'd assume they do not handle that case
gracefully.)
> diff --git a/policy/ch-controlfields.rst b/policy/ch-controlfields.rst
> index 81b3542..d491d57 100644
> --- a/policy/ch-controlfields.rst
> +++ b/policy/ch-controlfields.rst
> @@ -979,7 +979,10 @@ repository where the Debian source package is developed.
> or ``hg clone`` command. If no branch is specified, the packaging
> should be on the default branch.
>
> - More than one different VCS may be specified for the same package.
> + Only one ``Vcs-<type>`` field should be given for a package. If the
> + package is maintained in multple version control systems, the
> + maintainer should specify the one that they would prefer other people
> + to use as the basis for proposing changes to the package.
>
> For both fields, any URLs given should use a scheme that provides
> confidentiality (``https``, for example, rather than ``http`` or ``git``)
>
> Before we make that change it would be great if someone could check how
> many packages we would make buggy. (I'm sure there's some good way to do
> this with standard tools, but I don't know off-hand how to do it.)
Yeah, that's something that crossed my mind too before reassigning.
I've just done it now:
,--- grep-deb-sources ---
#!/bin/sh
set -e
set -u
Sources=$(apt-get indextargets --format '$(FILENAME)' 'Identifier: Sources')
/usr/lib/apt/apt-helper cat-file $Sources | grep-dctrl "$@"
`---
,---
$ grep-deb-sources -sPackage,Vcs-Arch,Vcs-Bzr,Vcs-Cvs,Vcs-Darcs,\
Vcs-Git,Vcs-Hg,Vcs-Mtn,Vcs-Svn Vcs- \
| awk -F "\n" -v RS="" '{ if (NF > 2) print $0, "\n" }'
Package: netselect
Vcs-Git: git://github.com/apenwarr/netselect.git
Vcs-Svn: svn://svn.debian.org/svn/collab-maint/deb-maint/netselect/trunk
`---
And that one instance seems to be "bogus" anyway as the Vcs-Svn URL
does not exist anymore. So I'd say the above change looks perfectly
fine to me, thanks! :)
So, «Seconded».
Thanks,
Guillem
Reply to: