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

First draft of dh-coq



Hi,

here is some very preliminary code for dh-coq, which should avoid
breaking user systems with every upload. Indeed, each time I upload one
of the libcoq-* packages, it introduces inconsistent assumptions that
break other packages (none or all depending on the dep graph). The goal
here is that when I upload a new package, user systems see it will
break the rest and won't update until they have compatible versions for
all installed packages.

The trivial coq.pm should go to
/usr/share/perl5/Debian/Debhelper/Sequence/, and the less trivial
dh_coq should be executable and in $PATH.

After that, it should be possible to take one of the fourteen coq
packages and:
- in d/control add ${coq:Depends} to the libcoq-foo package's Depends ;
- in d/control add ${coq:Provides} to the libcoq-foo package's
Provides.
- in d/rules add "coq" to the "dh $@ --with" line.

It is then expected that the binary libcoq-foo packages contains a new
/var/lib/coq/md5sums/libcoq-foo.checksum with a short code ; the dpkg-
deb -I command should tell you that the package provides libcoq-foo-
<code> (and the code is the one in the .checksum), and in the depends,
you should see the libcoq-* your package build-depends on (un-
checksummed). Now cheat, create /var/lib/coq/md5sum/libcoq-bar.checksum
containing 314159, rebuild and (assuming libcoq-bar is indeed one of
the b-deps) the package should now depend on libcoq-bar-314159.

What's missing?

1. I learnt Perl today just to write this code, so it probably needs
review by a more experience developer ;
2. it isn't commented (I'll work on it next) ;
3. it isn't a Debian package yet (I'll work on it next next) ;
4. it doesn't auto-detect the real deps -- it merely parses d/control's
B-Deps -- for the moment it's not possible to do better as far as I
know.

Comments and suggestions are welcome,

J.Puydt

Attachment: coq.pm
Description: Perl program

Attachment: dh_coq
Description: Perl program


Reply to: