Bug#939387: Please provide a way to rebuild the package with debian/changelog-only changes

Stéphane Glondu glondu at debian.org
Thu Sep 5 09:07:26 BST 2019


Le 05/09/2019 à 08:42, Mattia Rizzolo a écrit :
>> When recompiling all packages that use OCaml with OCaml 4.08.0,
>> diffoscope failed with:
>>
>>> debian/rules:16: *** Version in debian/changelog does not match diffoscope version.  Stop.
>>
>> This is because my scripts generate a new changelog entry documenting
>> the recompilation, with a suffixed version, but otherwise does not
>> change the source package.
> 
> OOI, what kind of suffix do you use?

I used +o1 this time, but I also intend to use +o2, +o3, ... to
distinguish between different builds.

>> I believe this kind of changes-only-in-debian/changelog should be
>> supported by all Debian packages.
> 
> I disagree with this generalization.

Well... it's not policy so I guess you're free to disagree... And that's
why I've set severity to wishlist.

>> Maybe you could relax the version
>> check so that the version in diffoscope/__init__.py is only a prefix
>> of the version in debian/changelog?
> 
> So, the check is:
>  ifneq ($(DEB_DISTRIBUTION),UNRELEASED)
>   ifneq (,$(filter %-backports,$(DEB_DISTRIBUTION)))
>     ifeq ($(DEB_VERSION:~bpo10+1=),$(PY_VERSION))
>      $(info Building a Debian backport, accepting version mismatch $(PY_VERSION) <-> $(DEB_VERSION))
>     else
>      $(error Version in debian/changelog does not match diffoscope version or backport policy)
>     endif
>   else
>    $(error Version in debian/changelog does not match diffoscope version)
>   endif
>  endif
> i.e. if you use UNRELEASED you can use whatever version you want to.

Oh. I didn't pay attention to that (the UNRELEASED stuff). However, I
use "unstable-ocaml" as distribution for my generated changelog entries.

> I think in the past we did accidentally release with a mismatching
> version, and I really don't want it to happen again, so I'm somewhat
> worried about relaxing the check to "just allow all suffixes".

I see this is a native package. Why don't you use the version in
debian/changelog to generate diffoscope/__init__.py? If this was not a
native package, or if the version number would otherwise naturally split
in two parts, I would suggest to compare only the first part (upstream
version/major version/whatever).

> That said, it has also been annoying for ubuntu, where every time they
> have to to do a change they also have to tweak this check (usually it's
> me so it's not that much of a hassle, but I can see other developers
> being annoyed at it).

I was thinking about Ubuntu, and binNMUs (I know they don't apply to
arch:all packages but this kind of behaviour doesn't help).


Cheers,

-- 
Stéphane



More information about the Reproducible-builds mailing list