Re: Coq packages in Debian : difficult transitions

2022-08-07 Thread julien . puydt
Hi,

Le lundi 01 août 2022 à 14:20 +0200, Joachim Breitner a écrit :
> 
> it looks like you re-created the setup that the Haskell and Ocaml
> packages use, with the provides/depends and hashes.
> 

Yes, dh-ocaml was a great help. I learned Perl to write dh-coq...

> We have a tool that produces a file with the necessary commands to
> pass to wanna-build, see for example in 
> https://people.debian.org/~iliastsi/binNMUs-haskell.txt
> 
> I used to produce a file like this for Ocaml, but it’s gone since I
> disabled my account. It’s configured via a simple regex,
> libghc-(.*)-dev-([0-9.]+)-([0-9a-f]{5})
> in the case of Ocaml.
> 
> The source code is at 
> https://salsa.debian.org/haskell-team/tools/-/tree/master/binnmus
> 
> It may be useful to you too

The source code is very complex, and it looks like it can get the
hashes of the new packages -- something I'm incapable of doing! Indeed
that would mean building the whole stack on all architectures so the
computations happen. Indeed the hashes I have are arch-dependent...

I tried to write a simpler version, which might still be valuable ;
here is the wanna-build script I would get if I wanted to upload coq-
elpi 1.15.5-1 to unstable:

./wanna-build.py coq-elpi 1.15.5-1

 nmu coq-hierarchy-builder_1.3.0-1 . ANY . -m 'Rebuild due to new coq-
elpi 1.15.5-1'
 dw coq-hierarchy-builder_1.3.0-1 . ANY . -m 'coq-elpi => 1.15.5-1'
 nmu mathcomp-algebra-tactics_1.0.0-6+b1 . ANY . -m 'Rebuild due to new
coq-elpi 1.15.5-1'
 dw mathcomp-algebra-tactics_1.0.0-6+b1 . ANY . -m 'coq-elpi => 1.15.5-
1'
 nmu mathcomp-analysis_0.5.2-2 . ANY . -m 'Rebuild due to new coq-elpi
1.15.5-1'
 dw mathcomp-analysis_0.5.2-2 . ANY . -m 'coq-elpi => 1.15.5-1'
 dw mathcomp-analysis_0.5.2-2 . ANY . -m 'coq-hierarchy-builder =>
1.3.0-1+b1'

does that look correct?

How are automatic transitions generated? It would probably be much more
efficient if I could provide scripts to automatically provide
transition scripts such as above: they would only need to change when
the list of Coq-related packages changes.

Cheers,

J.Puydt




Re: Coq packages in Debian : difficult transitions

2022-08-03 Thread julien . puydt
Hi,

Le lundi 01 août 2022 à 14:20 +0200, Joachim Breitner a écrit :
> 
> Am Sonntag, dem 31.07.2022 um 12:33 +0200 schrieb
> julien.pu...@gmail.com:
> > 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?
> > 
> 
> it looks like you re-created the setup that the Haskell and Ocaml
> packages use, with the provides/depends and hashes.
> 

Yes, dh-ocaml has been a great inspiration. I didn't know any Perl
before...

> We have a tool that produces a file with the necessary commands to
> pass to wanna-build, see for example in 
> https://people.debian.org/~iliastsi/binNMUs-haskell.txt
> 
> I used to produce a file like this for Ocaml, but it’s gone since I
> disabled my account. It’s configured via a simple regex,
> libghc-(.*)-dev-([0-9.]+)-([0-9a-f]{5})
> in the case of Ocaml.
> 
> The source code is at 
> https://salsa.debian.org/haskell-team/tools/-/tree/master/binnmus
> 
> It may be useful to you too

Yes ; as I mentioned I have a tool that prints the steps to follow to
rebuild, so I might be able to make it evolve to produce wanna-build
scripts.

Cheers,

J.Puydt



Re: Coq packages in Debian : difficult transitions

2022-08-03 Thread julien . puydt
Le dimanche 31 juillet 2022 à 12:43 +0200, Sebastian Ramacher a écrit :
> On 2022-07-31 12:33:35 +0200, julien.pu...@gmail.com wrote:
> > Hi,
> > 
> > I tried to ask on debian-release because it seemed more sensible
> > but didn't get feedback. [1]
> 
> Please file a transition bug. The mailing list has a high volume and
> non-bug mails may be overlooked.

Bug 1016416, but that doesn't look that efficient.

J.Puydt



Re: Coq packages in Debian : difficult transitions

2022-08-02 Thread Holger Levsen
On Sun, Jul 31, 2022 at 01:00:03PM +0200, julien.pu...@gmail.com wrote:
> > Please file a transition bug. The mailing list has a high volume and
> > non-bug mails may be overlooked.
> Well, I would file a bug for a specific transition, but first I would
> like to discuss how to handle transitions for Coq-related packages in
> general.

file a general bug against release.debian.org then. The mailing list has a
high volume and non-bug mails may be overlooked. ;)


-- 
cheers,
Holger

 ⢀⣴⠾⠻⢶⣦⠀
 ⣾⠁⢠⠒⠀⣿⡁  holger@(debian|reproducible-builds|layer-acht).org
 ⢿⡄⠘⠷⠚⠋⠀  OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C
 ⠈⠳⣄

If you upload your address book to "the cloud", I don't want to be in it.


signature.asc
Description: PGP signature


Re: Coq packages in Debian : difficult transitions

2022-08-01 Thread Joachim Breitner
Hi,

Am Sonntag, dem 31.07.2022 um 12:33 +0200 schrieb
julien.pu...@gmail.com:
> 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?
> 

it looks like you re-created the setup that the Haskell and Ocaml
packages use, with the provides/depends and hashes.

We have a tool that produces a file with the necessary commands to pass
to wanna-build, see for example in 
https://people.debian.org/~iliastsi/binNMUs-haskell.txt

I used to produce a file like this for Ocaml, but it’s gone since I
disabled my account. It’s configured via a simple regex,
libghc-(.*)-dev-([0-9.]+)-([0-9a-f]{5})
in the case of Ocaml.

The source code is at 
https://salsa.debian.org/haskell-team/tools/-/tree/master/binnmus

It may be useful to you too

Cheers,
Joachim


-- 
Joachim “nomeata” Breitner • nome...@debian.org • https://j.oach.im/
  



Re: Coq packages in Debian : difficult transitions

2022-07-31 Thread julien . puydt
Le dimanche 31 juillet 2022 à 12:43 +0200, Sebastian Ramacher a écrit :
> On 2022-07-31 12:33:35 +0200, julien.pu...@gmail.com wrote:
> > Hi,
> > 
> > I tried to ask on debian-release because it seemed more sensible
> > but
> > didn't get feedback. [1]
> 
> Please file a transition bug. The mailing list has a high volume and
> non-bug mails may be overlooked.

Well, I would file a bug for a specific transition, but first I would
like to discuss how to handle transitions for Coq-related packages in
general.

Cheers,

J.Puydt



Re: Coq packages in Debian : difficult transitions

2022-07-31 Thread Sebastian Ramacher
On 2022-07-31 12:33:35 +0200, julien.pu...@gmail.com wrote:
> Hi,
> 
> I tried to ask on debian-release because it seemed more sensible but
> didn't get feedback. [1]

Please file a transition bug. The mailing list has a high volume and
non-bug mails may be overlooked.

Cheers

> 
> 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
> 

-- 
Sebastian Ramacher