Thanks Colin for this draft!

On Thu, Oct 25, 2012 at 03:05:30PM +0100, Colin Watson wrote:
>      The Technical Committee has been asked to determine whether a
>      dependency of the form "package-in-main | package-in-non-free"
>      complies with this policy requirement, or whether virtual packages
>      must instead be used to avoid mentioning the non-free alternative.
[…]
> B 6. Virtual packages are a suitable existing mechanism for packages to
> B    declare the set of abstract features they provide, and allow
> B    packages in main to depend on such abstract features without
> B    needing to name every (free or non-free) alternative.
[…]
> B 8. We recommend that affected packages consider the use of virtual
> B    packages instead.

I've a concern about option (B), which I haven't seen addressed in this
draft, and that I think it should be addressed before voting (yes, I
realize this is a "discussion draft", but the sooner the better :-)).

It seems to me that the two alternative encodings being discussed have a
fundamental difference:

1) "package-in-main | package-in-non-free" encodes alternative *and*
   preference for the DFSG-free version

2) "virtual-package" only encodes alternative between a number of
   alternatives, some of which are free some of which are not

I think you should reword (2), so that the usage of virtual packages is
accompanied by an explicit preferences on the free alternative,
similarly to what we do for virtual packages when they're used as build
dependencies, i.e.:

  Package: package-in-main
  Provide: virtual-package

  Package: package-in-non-free
  Provide: virtual-package

  Package: client1
  Depends: package-in-main | virtual-package

  Package: client2
  Depends: package-in-main | virtual-package

I'm a bit on the extreme said perhaps, but I think we should *mandate*
that client packages use the "package-in-main |" alternative and use it
before "virtual-package" in the disjunction.  Otherwise we risk having a
significant regression. (I'm not sure if it is up to the tech-ctte to
mandate this or, say, to the Policy.)

I've skimmed briefly through policy, trying to find out whether package
managers are supposed to favor package in main over packages in other
suites, but haven't find it yet. If there is something like that
already, then probably the above is redundant. But even in that case,
I'd rather err on the safe side and at least recommend it in the ruling.

Cheers.
-- 
Stefano Zacchiroli  . . . . . . .  z...@upsilon.cc . . . . o . . . o . o
Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o
Debian Project Leader . . . . . . @zack on identi.ca . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »

Attachment: signature.asc
Description: Digital signature

Reply via email to