Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
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-
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
Hello, 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, 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. For instance, if I look for a TTS engine, I can use apt-cache search tts and find libttspico-dev - Small Footprint TTS (development files) which looks cool, so let's run apt-get install libttspico-dev The following additional packages will be installed: libttspico-data libttspico0 The following NEW packages will be installed: libttspico-data libttspico-dev libttspico0 0 upgraded, 3 newly installed, 0 to remove and 139 not upgraded. Need to get 4464 kB of archives. After this operation, 7510 kB of additional disk space will be used. Do you want to continue? [Y/n] Nothing tells me it's non-free software, until seeing Get:1 http://ftp.fr.debian.org/debian stretch/non-free amd64 libttspico-data all 1.0+git20130326-5 [4151 kB] which happens to be too late. Samuel
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
[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 Description: signature
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
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
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
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 Description: signature
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
Quoting Samuel Thibault (2017-12-13 19:54:59) > 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. I believe (as I just now posted in a separate mail) it is doable by first declaring with version and then without version. But possibly that is not strict enough, because recently APT gained support for versioned virtual packages. 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 - 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 Description: signature
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
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
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
On Wed, Dec 13, 2017 at 07:54:59PM +0100, Samuel Thibault wrote: > 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. The problem is that the package is both real and virtual, the proper solution would be to rename libsocl-1.2-0 to libsocl-free-1.2-0 and have it provide libsocl-1.2-0. After that the usual way of | dependency would work with libsocl-free-1.2-0 | libsocl-1.2-0. This is non-trivial to sort out right now, but please consider changing the package naming scheme the next time the soname changes. Related to that, what is actually the difference between the packages in main and the packages in contrib? The package descriptions are currently identical. > Samuel cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
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
Bug#884309: starpu-examples: depends indirectly on nonfree package libsocl-contrib-1.2-0
On Thu, Dec 14, 2017 at 06:48:33PM +0100, Samuel Thibault wrote: > 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. Sorry for being unclear on that. I do (at least right now) not personally care about that. But please make that somehow visible in the package descriptions. > Samuel cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed