On 2017-07-06 12:02 +0300, Adrian Bunk wrote: > On Thu, Jul 06, 2017 at 04:26:04AM +0200, Guillem Jover wrote: >> On Wed, 2017-07-05 at 23:02:52 +0300, Adrian Bunk wrote: >>... >> > 6) >> > >> > Package: a >> > Depends: p (>= 1), p (<< 2) >> > >> > Package: b >> > Provides: p (=1) >> > >> > Package: c >> > Provides: p (=2) >> > >> > When a and b are installed, can c be installed without removing a? >> >> Yes, because b is enough to satisfy the dependency. This is not a >> Conflicts/Breaks field after all. >>... > > But it is being used for that purpose in *many* packages. > > As an example, there are ~ 300 Python3 packages that have > "python3 (<< 3.7), python3 (>= 3.5~)" dependencies autogenerated using: > > Depends: ${python3:Depends} > > If this is considered a bug, then what is required is that dh-python adds > ${python3:Breaks}, and then each of these packages has to be changed to: > > Depends: ${python3:Depends} > Breaks: ${python3:Breaks}
This will only necessary when (or rather if) some contender for the python3 package comes along that is co-installable with the real python3 package and has a legitimate reason to "Provides: python3". Which is not totally inconceivable, but seems unlikely at the moment. Cheers, Sven