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

Bug#767839: debhelper: support --link-doc arch:all <=> arch:any (was: Re: debhelper: Dependency added by dh_installdocs --link-doc breaks binary-only NMUs)



Control: severity 766711 wishlist
Control: retitle 766711 support --link-doc arch:all <=> arch:any

On 2015-01-08 23:19, Robert Luberda wrote:
> reopen 766711
> block 766711 by 767839
> thanks
> 
>>
>> I have taken the liberty of marking the bug as wontfix (read: "cantfix")
>> and closing it.
> 
> I'm re-opening it, as neither the bug has not been fixed, nor the Policy
> has been changed to explicitly disallow linking arch:any to arch:all
> (see #767839).
> 

Be that as it may, but does not change the fact that debhelper *does
not* support --link-doc between arch:all and arch:any packages.  Even if
it is deemed allowed, debhelper will not necessarily be able to support it.

>>
>> ~Niels
>>
>> [1] This is not limited to debhelper.  The reading of the policy
>> actually (implicitly) forbids link-doc between arch:all and arch:any
>> packages as the binNMU version is not the same as the source version.
> 
> The version of source package is actually the same for both binNMU-ed
> arch:any and originally built arch:all. I think this fulfils the `(same
> source package and version)' given in footnote 116 in the policy.
> 
> Additionally in my opinion those dummy `rebuild with ....' changelog
> entries are added only to bump the version of binary package in order to
> upload into archive, otherwise they are probably of little interest to
> users, especially that they are being later overridden by maintainers'
> uploads.
> 
> Regards,
> robert
> 
> [...]

If you bump the version of the binary, then it is no longer the same
version as the source package.  Which is why I believe it is a violation
of the footnote example.

Regardless, debhelper *cannot express* a dependency relation that
guarantees that binaries built from exactly that version of the source
(including binNMUs thereof) *AND* supporting arch:all <-> arch:any
--link-doc support *WITHOUT* breaking binNMU.

Consider:
  (= ${binary:Version}) => breaks binNMU
  (= ${source:Version}) => breaks binNMU
  (>= ${source:Version}), (<< ${source:Version}+c~) =>
    Allows binaries not built from ${source:Version} to match[1]
  (>= ${source:Version}), (<= ${binary:Version}) =>
    breaks binNMU as well (arch:all are not rebuilt, so binary:Version
    is the same as source:Version).


None of the above works and AFAICT, there exists no valid solution that
does not basically reduce the same conclusion as the above cases.

Thanks,
~Niels


[1] Assume source version 1.0, binNMU version 1.0+b1.  New source upload
1.0+a.  Binaries built from this satisfies the relation and thereby
violates the policy.


Reply to: