Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0

Jonas Smedegaard
Package: starpu-examples
Version: 1.2.3+dfsg-3
Severity: serious
Justification: Policy 2.2.1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

starpu-examples depends on libsocl-1.2-0.

libsocl-1.2-0 is a regular package in Debian main, but is also provided
by nonfree package libsocl-contrib-1.2-0.

Debian Policy § 2.1.1 requires packages outside main be "only listed as
non-default choice":

> must not require or recommend a package outside of main for
> compilation or execution (thus, the package must not declare a
> Pre-Depends, Depends, Recommends, Build-Depends, Build-Depends-Indep,
> or Build-Depends-Arch relationship on a non-main package unless that
> package is only listed as a non-default alternative for a package in
> main)

A user enabling contrib and nonfree should only get such packages when
explicitly choosing to install them.  When multiple packages satisfy a
default dependency or recommendation, it is non-deterministic which of
them APT picks.

Please tighten to use a versioned dependency, which should make the
dependency deterministic - or (since I notice you maintain both) make
libsocl-contrib-1.2-0 stop provide 1.2.3+dfsg-3 (it seems used nowhere
else than here).

 - Jonas

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAloxT0kACgkQLHwxRsGg
ASEI1A/+MQFyJXA0nluS55kmChtqR/FFHz/6Edz7LgdlCUKKRZh5emqr9L+5CEB+
ZaOyNpx2nHPf3zDKPR2Pd0cwWJhW3+7kRchbzqe5n2j/ADIlZ+6xx6DHZP43/QWB
QE1bJf0POTCK7fxi3fz3Hm7+BdnYt06WmWmhCCI+vBLFvwDWkxgMKv73+cTkJXzw
/uXVEKdDLeN4Fx5IxWNHOleLoiKlYzTkZxJXUlEaHHR1Sy8TK/A6D7dkj1KNMsAl
DbbvHPguOZyVxz6+OoKhJ/vHuY6LSzftA9qiE6kpn2gOrtE9txPw/3P0bAktoV2o
hoaCWELgpjMqh//ErJ3kijQHffb0GGWNo5rTebx25XTB2rsn6c5XaQCS078U5IOh
YuhP9MyVXnaNUwSjxOLkuqWABe7/w7UCITnrT8bfPM3aKpv2hEhBr+zXjQwoL42V
0o6XxZajVwssNOVYLxO8xN1sG2bBT9CwQZsGHFS2vg4LsAzdtbHIzy/yPpteApZn
cz6XX22Vu/CkIrkQzpIjfPyDV7S8KPceWo0nlr/bgspb0lnrNg9lOXHnGCAFmAvp
5F8XPb6oSvpC7l0F3dbCMH0Qu77XWoIWlZFZknvcH8f13UJRTtUPKcS9f0QXXcZP
x0Z9bDNfmdcuBnlLWFKPhVXFXHwNMBmxFrRNptFDGZp+Fv/YfS4=
=L225
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0

Jonas Smedegaard
[re-posting, to bug this time - thanks for noticing, Samuel!]

Quoting Samuel Thibault (2017-12-13 17:15:55)

> Jonas Smedegaard, on mer. 13 déc. 2017 17:03:24 +0100, wrote:
>> Please tighten to use a versioned dependency, which should make the
>> dependency deterministic - or (since I notice you maintain both) make
>> libsocl-contrib-1.2-0 stop provide 1.2.3+dfsg-3 (it seems used
>> nowhere else than here).
>
> Err, the whole point of the libsocl-contrib package *is* to provide
> the libsocl package, so that a user can choose between running the
> free version or the contrib version (the fact that no other package in
> the archive uses starpu yet isn't an argument).
Sorry - I didn't mean to ruin flexibility, and I agree flexibility is
good even when not (yet?) embraced by other packages.


> I'd be happy to do whatever apt wants to avoid pulling
> libsocl-contrib-1.2-0 by misluck while keeping the Provides, but TBH
> I'd rather argue that apt should just always warn the user on any new
> installation of a contrib or non-free package.

I agree that APT could be improved to help avoid surprises when used
interactively.

...but that is future (and possibly addresses only interactive use
cases, depending on how it might be implemented).

The issue I raise here is more generally that the package dependencies
declared are not deterministic regarding main versus non-main packages.


 - Jonas

--
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0

Samuel Thibault-8
Re-answering :)

Jonas Smedegaard, on mer. 13 déc. 2017 19:36:47 +0100, wrote:
> The issue I raise here is more generally that the package dependencies
> declared are not deterministic regarding main versus non-main packages.

I understand, but I don't know how to express what we want: both
choice for the user, and main by default.

Samuel

Reply | Threaded
Open this post in threaded view
|

Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0

Jonas Smedegaard
In reply to this post by Jonas Smedegaard
Quoting Samuel Thibault (2017-12-13 17:15:55)

> Jonas Smedegaard, on mer. 13 déc. 2017 17:03:24 +0100, wrote:
>> Please tighten to use a versioned dependency, which should make the
>> dependency deterministic - or (since I notice you maintain both) make
>> libsocl-contrib-1.2-0 stop provide 1.2.3+dfsg-3 (it seems used
>> nowhere else than here).
>
> Err, the whole point of the libsocl-contrib package *is* to provide
> the libsocl package, so that a user can choose between running the
> free version or the contrib version (the fact that no other package in
> the archive uses starpu yet isn't an argument).
>
> I'd be happy to do whatever apt wants to avoid pulling
> libsocl-contrib-1.2-0 by misluck while keeping the Provides,
I believe this addresses the issue concretely:

Depends: libsocl-1.2-0 (= 1.2.3+dfsg-3) | libsocl-1.2-0


 - Jonas

--
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0

Samuel Thibault-8
In reply to this post by Jonas Smedegaard
Jonas Smedegaard, on mer. 13 déc. 2017 20:16:50 +0100, wrote:
> Better would be that you change to use a different name for the
> virtual package, and then declare that virtual package last - like
> this:
>
> Depends: libsocl-1.2-0 (= 1.2.3+dfsg-3) | libsocl-any-1.2-0

Ok, will do that, thanks.

Samuel

Reply | Threaded
Open this post in threaded view
|

Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0

Samuel Thibault-8
In reply to this post by Jonas Smedegaard
Adrian Bunk, on jeu. 14 déc. 2017 19:46:19 +0200, wrote:
> Related to that, what is actually the difference between the packages in
> main and the packages in contrib?

It happens that for libsocl there is no difference. For other starpu
packages, it's the availability of the CUDA support.

Samuel