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

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: