Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-05-02 Thread Stéphane Glondu

Dear Sebastian,

Le 23/04/2023 à 11:36, Sebastian Ramacher a écrit :

ocaml 4.13.1-4 causes the ABI to change for at least why3. Do you expect
that the ABI of ther ocaml packages also changes? If so, we should
rebuild the ocaml world before the release to not get any surprises if a
ocaml package gets a stable update.


See also:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030785

The ABI of ocaml-compiler-libs changed (only on native architectures), 
with no visible changes in virtual packages, so anything using that is 
potentially broken. I (thought I) binNMUed all affected packages (there 
were a lot of them), but missed why3 for some reason.


IMHO, the cleanest way to fix the issue for sure is to change the OCaml 
ABI advertised in the virtual package name. But that means an amount of 
work similar to an OCaml transition. Do we really work this kind of move 
at this stage of the freeze? I don't think so.


A pretty good approximation to checking that everything is fine is to 
mass-rebuild everything (as Lucas Nussbaum does regularly), identify the 
(few, I expect) packages that FTBFS, and binNMU them (+ maybe some of 
their dependencies). I suspect why3 is special because it embeds modules 
provided by ocaml in a plugin (dh_ocaml's --nodefined-map is suspicious 
in this context) but this situation should be rare.



Cheers,

--
Stéphane



Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-23 Thread Sebastian Ramacher
Hi Stéphane

On 2023-04-22 20:28:34 +0200, Jochen Sprickerhof wrote:
> * Sebastian Ramacher  [2023-04-22 16:06]:
> > Both why3 and frama-c have been rebuilt after the last ocaml ABI change.
> > From a quick between a build now and from the last why3, the following
> > packages changed (that appear to be relevant):
> > 
> > libcairo2-ocaml-dev (= [-0.6.2+dfsg-1+b1),-] {+0.6.4+dfsg-1),+}
> > ocaml (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-base (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-compiler-libs (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-findlib (= [-1.9.3-1),-] {+1.9.6-1+b1),+}
> > ocaml-interp (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-nox (= [-4.13.1-3),-] {+4.13.1-4),
> > 
> > So either the change in ocaml caused the ABI to change and we probably
> > need to rebuild the world of ocaml packages, or the ABI of why3 is
> > influenced by libcairo2-ocaml-dev but is missing the proper
> > dependencies.
> 
> I can recreate the old ABI hash by downgrading the src:ocaml packages, i.e.:
> 
> > ocaml (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-base (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-compiler-libs (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-interp (= [-4.13.1-3),-] {+4.13.1-4),+}
> > ocaml-nox (= [-4.13.1-3),-] {+4.13.1-4),
> 
> I leave the decision what to do with it to you.

ocaml 4.13.1-4 causes the ABI to change for at least why3. Do you expect
that the ABI of ther ocaml packages also changes? If so, we should
rebuild the ocaml world before the release to not get any surprises if a
ocaml package gets a stable update.

Cheers
-- 
Sebastian Ramacher



Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-22 Thread Jochen Sprickerhof

* Sebastian Ramacher  [2023-04-22 16:06]:

Both why3 and frama-c have been rebuilt after the last ocaml ABI change.
From a quick between a build now and from the last why3, the following
packages changed (that appear to be relevant):

libcairo2-ocaml-dev (= [-0.6.2+dfsg-1+b1),-] {+0.6.4+dfsg-1),+}
ocaml (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-base (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-compiler-libs (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-findlib (= [-1.9.3-1),-] {+1.9.6-1+b1),+}
ocaml-interp (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-nox (= [-4.13.1-3),-] {+4.13.1-4),

So either the change in ocaml caused the ABI to change and we probably
need to rebuild the world of ocaml packages, or the ABI of why3 is
influenced by libcairo2-ocaml-dev but is missing the proper
dependencies.


I can recreate the old ABI hash by downgrading the src:ocaml packages, 
i.e.:



ocaml (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-base (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-compiler-libs (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-interp (= [-4.13.1-3),-] {+4.13.1-4),+}
ocaml-nox (= [-4.13.1-3),-] {+4.13.1-4),


I leave the decision what to do with it to you.

Cheers Jochen


signature.asc
Description: PGP signature


Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-22 Thread Sebastian Ramacher
On 2023-04-22 11:30:48 +0200, Jochen Sprickerhof wrote:
> Control: tag -1 - moreinfo
> 
> Hi Sebastian,
> 
> * Sebastian Ramacher  [2023-04-22 11:10]:
> > On 2023-04-21 21:35:21 +0200, Jochen Sprickerhof wrote:
> > > Package: release.debian.org
> > > Severity: normal
> > > User: release.debian@packages.debian.org
> > > Usertags: binnmu
> > > X-Debbugs-Cc: w...@packages.debian.org
> > > Control: affects -1 + src:why3 src:frama-c
> > > 
> > > Hi release team,
> > > 
> > > can you please binNMU why3 to pick up the new ABI:
> > > 
> > > nmu why3_1.5.1-1+b1 . ANY . unstable . -m "Rebuild with new OCaml ABI"
> > > 
> > > And afterwards frama-c needs a rebuild against the new why3:
> > > 
> > > nmu frama-c_20220511-manganese-3-10 . ANY . unstable . -m "Rebuild with 
> > > new OCaml ABI (Closes: #1033701)"
> > 
> > why3 installs perfectly fine in both bookworm and unstable. Why is this
> > needed? We are past the point of doing transitions (especially
> > uncoordinated ones).
> 
> I don't know enough OCaml but rebuilding why3 and frama-c on top fixes
> frama-c and thus #1033701 for me.
> 
> My understanding is that dh-ocaml uses some hash to track the ABI of a
> library and encodes into a virtual package:
> 
> $ apt-cache show libwhy3-ocaml-dev | grep Provides
> Provides: libwhy3-ocaml-dev-mzlf3
> 
> And frama-c-base depends exactly on that:
> 
> apt-cache show frama-c-base | grep -o "libwhy3-ocaml-dev[^,]*"
> libwhy3-ocaml-dev-mzlf3
> 
> But rebuilding the package in testing generates a different hash:
> 
> $ sbuild -d testing why3 | grep Provides
> Provides: libwhy3-ocaml-dev-2bt20

Both why3 and frama-c have been rebuilt after the last ocaml ABI change.
>From a quick between a build now and from the last why3, the following
packages changed (that appear to be relevant):

 libcairo2-ocaml-dev (= [-0.6.2+dfsg-1+b1),-] {+0.6.4+dfsg-1),+}
 ocaml (= [-4.13.1-3),-] {+4.13.1-4),+}
 ocaml-base (= [-4.13.1-3),-] {+4.13.1-4),+}
 ocaml-compiler-libs (= [-4.13.1-3),-] {+4.13.1-4),+}
 ocaml-findlib (= [-1.9.3-1),-] {+1.9.6-1+b1),+}
 ocaml-interp (= [-4.13.1-3),-] {+4.13.1-4),+}
 ocaml-nox (= [-4.13.1-3),-] {+4.13.1-4),

So either the change in ocaml caused the ABI to change and we probably
need to rebuild the world of ocaml packages, or the ABI of why3 is
influenced by libcairo2-ocaml-dev but is missing the proper
dependencies.

Adding the OCaml maintainers to the loop to check the situation. But
overall this sounds liek a bug that we want to have fixed properly and
not paper over with a couple of rebuilds.

Cheers
-- 
Sebastian Ramacher



Processed: Re: Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-22 Thread Debian Bug Tracking System
Processing control commands:

> tag -1 - moreinfo
Bug #1034691 [release.debian.org] nmu: why3_1.5.1-1+b1 
frama-c_20220511-manganese-3-10
Removed tag(s) moreinfo.

-- 
1034691: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034691
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-22 Thread Jochen Sprickerhof

Control: tag -1 - moreinfo

Hi Sebastian,

* Sebastian Ramacher  [2023-04-22 11:10]:

On 2023-04-21 21:35:21 +0200, Jochen Sprickerhof wrote:

Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: binnmu
X-Debbugs-Cc: w...@packages.debian.org
Control: affects -1 + src:why3 src:frama-c

Hi release team,

can you please binNMU why3 to pick up the new ABI:

nmu why3_1.5.1-1+b1 . ANY . unstable . -m "Rebuild with new OCaml ABI"

And afterwards frama-c needs a rebuild against the new why3:

nmu frama-c_20220511-manganese-3-10 . ANY . unstable . -m "Rebuild with new OCaml 
ABI (Closes: #1033701)"


why3 installs perfectly fine in both bookworm and unstable. Why is this
needed? We are past the point of doing transitions (especially
uncoordinated ones).


I don't know enough OCaml but rebuilding why3 and frama-c on top fixes 
frama-c and thus #1033701 for me.


My understanding is that dh-ocaml uses some hash to track the ABI of a 
library and encodes into a virtual package:


$ apt-cache show libwhy3-ocaml-dev | grep Provides
Provides: libwhy3-ocaml-dev-mzlf3

And frama-c-base depends exactly on that:

apt-cache show frama-c-base | grep -o "libwhy3-ocaml-dev[^,]*"
libwhy3-ocaml-dev-mzlf3

But rebuilding the package in testing generates a different hash:

$ sbuild -d testing why3 | grep Provides
Provides: libwhy3-ocaml-dev-2bt20

So I assume this is not a new transition but a missing rebuild for an 
old transition. 


Cheers Jochen


signature.asc
Description: PGP signature


Processed: Re: Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-22 Thread Debian Bug Tracking System
Processing control commands:

> tags -1 moreinfo
Bug #1034691 [release.debian.org] nmu: why3_1.5.1-1+b1 
frama-c_20220511-manganese-3-10
Added tag(s) moreinfo.

-- 
1034691: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034691
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-22 Thread Sebastian Ramacher
Control: tags -1 moreinfo

Hi Jochen

On 2023-04-21 21:35:21 +0200, Jochen Sprickerhof wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian@packages.debian.org
> Usertags: binnmu
> X-Debbugs-Cc: w...@packages.debian.org
> Control: affects -1 + src:why3 src:frama-c
> 
> Hi release team,
> 
> can you please binNMU why3 to pick up the new ABI:
> 
> nmu why3_1.5.1-1+b1 . ANY . unstable . -m "Rebuild with new OCaml ABI"
> 
> And afterwards frama-c needs a rebuild against the new why3:
> 
> nmu frama-c_20220511-manganese-3-10 . ANY . unstable . -m "Rebuild with new 
> OCaml ABI (Closes: #1033701)"

why3 installs perfectly fine in both bookworm and unstable. Why is this
needed? We are past the point of doing transitions (especially
uncoordinated ones).

Cheers
-- 
Sebastian Ramacher



Bug#1034691: nmu: why3_1.5.1-1+b1 frama-c_20220511-manganese-3-10

2023-04-21 Thread Jochen Sprickerhof
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: binnmu
X-Debbugs-Cc: w...@packages.debian.org
Control: affects -1 + src:why3 src:frama-c

Hi release team,

can you please binNMU why3 to pick up the new ABI:

nmu why3_1.5.1-1+b1 . ANY . unstable . -m "Rebuild with new OCaml ABI"

And afterwards frama-c needs a rebuild against the new why3:

nmu frama-c_20220511-manganese-3-10 . ANY . unstable . -m "Rebuild with new 
OCaml ABI (Closes: #1033701)"

Thanks!

Jochen