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

Coq packages in Debian : difficult transitions



Hi,

I tried to ask on debian-release because it seemed more sensible but
didn't get feedback. [1]

The Coq-related packages have a habit of breaking their ABI with almost
each upload, and until recently that meant broken user configurations:
installed packages stopped working because of an upgraded package down
the dependency line.

A few weeks ago, I wrote dh-coq. Basically, the idea is that the
src:coq-foo package builds a binary libcoq-foo package, which declares
it provides a libcoq-foo-1984az package, and when src:coq-bar builds
libcoq-bar, dh-coq makes it depend on libcoq-foo-1984az. When the next
upload provides libcoq-foo-d04ab7, apt won't install it because it
would break libcoq-bar: that finer-grained Depends/Provides
organisation means user systems don't get broken. I migrated all Coq-
related packages to this.

Now I took care of user comfort comes the time for mine: I need to
handle transitions correctly.

I have a little script that tells me the following packages needs to be
rebuilt when a transition has to be done ; for example:

$ ./planif_transition.py mathcomp-finmap
mathcomp-finmap
mathcomp-analysis mathcomp-multinomials
coqeal

(the lines are meaningful: same line means parallel build is possible)

So far, so good. But managing transitions is pretty annoying:

(1) The checksums are arch-dependent, which is annoying to write ben
transition scripts. I just need to trigger builds in the right order.
How do I tackle it?

(2) The other C-style lib* packages don't need maintainers to write
transitions: the automatic ones just work. How can I have libcoq-*
packages work like this?

Cheers,

J.Puydt

[1] https://lists.debian.org/debian-release/2022/07/msg00373.html


Reply to: