debian-ocaml-maint at debconf19 ?

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

debian-ocaml-maint at debconf19 ?

Ralf Treinen
Hello,

I was wondering who from the debian ocaml team is coming to Debconf
in Curitiba. That would be a good occassion to have a face-to-face
discussion about the future of ocaml in debian, maybe organise
a BOF session.

I'll arrive Saturday 20/7 and will stay until the end of the week.

-Ralf.

Reply | Threaded
Open this post in threaded view
|

Re: debian-ocaml-maint at debconf19 ?

Kyle Robbertze-3
Hi Ralf,

On 2019/07/06 11:17, Ralf Treinen wrote:
> Hello,
>
> I was wondering who from the debian ocaml team is coming to Debconf
> in Curitiba. That would be a good occassion to have a face-to-face
> discussion about the future of ocaml in debian, maybe organise
> a BOF session.
>
> I'll arrive Saturday 20/7 and will stay until the end of the week.

Sounds like a great idea. I will be there from 15/07 until 28/07

Cheers

--

⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Kyle Robbertze
⢿⡄⠘⠷⠚⠋⠀ Debian Developer
⠈⠳⣄⠀⠀⠀⠀ https://wiki.debian.org/KyleRobbertze

Reply | Threaded
Open this post in threaded view
|

Re: debian-ocaml-maint at debconf19 ?

Stéphane Glondu-3
In reply to this post by Ralf Treinen
Le 06/07/2019 à 11:17, Ralf Treinen a écrit :
> I was wondering who from the debian ocaml team is coming to Debconf
> in Curitiba. That would be a good occassion to have a face-to-face
> discussion about the future of ocaml in debian, maybe organise
> a BOF session.
>
> I'll arrive Saturday 20/7 and will stay until the end of the week.

Unfortunately, I won't be there...


Cheers,

--
Stéphane

Reply | Threaded
Open this post in threaded view
|

Re: debian-ocaml-maint at debconf19 ?

Ralf Treinen
In reply to this post by Kyle Robbertze-3
Hi Kyle,

On Tue, Jul 09, 2019 at 09:10:03AM +0200, Kyle Robbertze wrote:

> Hi Ralf,
>
> On 2019/07/06 11:17, Ralf Treinen wrote:
> > Hello,
> >
> > I was wondering who from the debian ocaml team is coming to Debconf
> > in Curitiba. That would be a good occassion to have a face-to-face
> > discussion about the future of ocaml in debian, maybe organise
> > a BOF session.
> >
> > I'll arrive Saturday 20/7 and will stay until the end of the week.
>
> Sounds like a great idea. I will be there from 15/07 until 28/07

Looks like it will be just the two of us, so probably not enough
to organise something official. Anyway, I'm looking forward to
meet you in Curitiba.

-Ralf.

Reply | Threaded
Open this post in threaded view
|

Re: debian-ocaml-maint at debconf19 ?

Ralf Treinen
In reply to this post by Stéphane Glondu-3
Salut Stéphane,

On Wed, Jul 10, 2019 at 10:17:47AM +0200, Stéphane Glondu wrote:
> Le 06/07/2019 à 11:17, Ralf Treinen a écrit :
> > I was wondering who from the debian ocaml team is coming to Debconf
> > in Curitiba. That would be a good occassion to have a face-to-face
> > discussion about the future of ocaml in debian, maybe organise
> > a BOF session.
> >
> > I'll arrive Saturday 20/7 and will stay until the end of the week.
>
> Unfortunately, I won't be there...

that is a pitty.

I see that you have uploaded ocaml 4.08 to experimental, so that is great
news. I suppose that means that an ocaml transition is upcoming, once
ocaml has made it through the NEW queue (which currently has a 5 month
backlog)?

-Ralf.

Reply | Threaded
Open this post in threaded view
|

OCaml 4.08.0 and later...

Stéphane Glondu-3
Le 11/07/2019 à 22:24, Ralf Treinen a écrit :
> I see that you have uploaded ocaml 4.08 to experimental, so that is great
> news. I suppose that means that an ocaml transition is upcoming, once
> ocaml has made it through the NEW queue (which currently has a 5 month
> backlog)?

It depends on when it will make through the NEW queue... Besides, there
is an ocaml 4.09.0~beta1, so I guess it's wiser to wait for 4.09.0 to do
the transition.

A few words about OCaml 4.08.0...

There has been many changes since unstable's version (4.05.0), which
dates back to two years ago (at least). In particular:
- the configure script has been changed to autoconf
- ocaml-mode has been dropped (now a separate project)
- the nums library has been dropped (probably also a separate project,
but there is also zarith)

Many debian/patches do not apply and are not obviously adapted; I chose
to drop them for this upload to experimental. In particular:
- a patch to allow compilation of ocaml-generated C files with a C++
compiler, submitted upstream but somehow forgotten (the error being
multiple declarations of the same name)
- a patch to change the behaviour of -custom, which has been rejected
upstream because they don't want people to use -custom (the error being
stripping such binaries would remove also the bytecode)
- a patch to use deterministic names for preprocessed files, never
submitted upstream it seems (the error being unreproducible builds)
- a patch to take into account hardening flags, never submitted

I may or may not rewrite those patches; if someone else does it, please
also submit upstream.

Now comments on the packaging...

- dh_autoreconf and dh_dwz fail miserably; it should be investigated
- I wrote a new script to dispatch the files to the binary packages. I
didn't find an easy way to dispatch manpages (the .3o ones, there are so
many of them and stdlib, otherlibs, compiler-libs are all mixed), so I
put them in a new binary package ocaml-man (hence the NEW processing)

About 4.09.0... (I'm writing the following as I am thinking about it)

The graph library has moved to a separate project. This means there is
no X any more in OCaml (the -nox distinction is no longer relevant). I
propose to review the binary package layout:
- put contents of /usr/lib/ocaml to libstdlib-ocaml{,-dev} and handle it
like other OCaml libraries (in particular w.r.t. dh_ocaml)
- put /usr/bin/ocamlrun* (and its manpages) to ocaml-base (and make it
depend on libstdlib-ocaml)
- put rest of /usr/bin (and its manpages) to ocaml (and make it depend
on libstdlib-ocaml-dev)
- put rest of /usr/share/man (.3o manpages) to libstdlib-ocaml-doc
- retire ocaml-interp, ocaml-compiler-libs, ocaml-base-nox and ocaml-nox
(i.e. make them transitional now and later remove them)

Rationale:
- ocaml-base/ocaml would be mostly empty with the current scheme
- ocaml-interp contains only "ocaml" these days and it's
counter-intuitive to not have "ocaml" installed when one installs the
"ocaml" package
- compiled-libs are now installed upstream, fully acknowledged by the
community, and under the same license as everything else

I expect these changes to break things in reverse-dependencies... but
isn't now (i.e. the beginning of a new release cycle) the right moment
to break things?

Any opinions?


Cheers,

--
Stéphane

Reply | Threaded
Open this post in threaded view
|

Re: OCaml 4.08.0 and later...

Ralf Treinen
Hello,

First: thanks a lot, Stéphane !

On Fri, Jul 12, 2019 at 10:26:35AM +0200, Stéphane Glondu wrote:
> Le 11/07/2019 à 22:24, Ralf Treinen a écrit :
> > I see that you have uploaded ocaml 4.08 to experimental, so that is great
> > news. I suppose that means that an ocaml transition is upcoming, once
> > ocaml has made it through the NEW queue (which currently has a 5 month
> > backlog)?
>
> It depends on when it will make through the NEW queue... Besides, there
> is an ocaml 4.09.0~beta1, so I guess it's wiser to wait for 4.09.0 to do
> the transition.

It seems that the NEW queue is being processed recently.

> A few words about OCaml 4.08.0...
> - ocaml-mode has been dropped (now a separate project)

I think that makes a lot of sense. It means that we should package it,
of course, and possibly use the occassion to migrate it to elpa.

> Many debian/patches do not apply and are not obviously adapted; I chose
> to drop them for this upload to experimental. In particular:
> - a patch to allow compilation of ocaml-generated C files with a C++
> compiler, submitted upstream but somehow forgotten (the error being
> multiple declarations of the same name)

no opinion about that

> - a patch to change the behaviour of -custom, which has been rejected
> upstream because they don't want people to use -custom (the error being
> stripping such binaries would remove also the bytecode)

Are we having packages that are built using -custom ? Otherwise it
is probably not that important.

> - a patch to use deterministic names for preprocessed files, never
> submitted upstream it seems (the error being unreproducible builds)

That would be useful to restore, and to submit upstream. I can imagine
that upstream would be willing to integrate a patch that ensures
reproducability for ocaml.

> - a patch to take into account hardening flags, never submitted

Probably useful, too.

> - dh_autoreconf and dh_dwz fail miserably; it should be investigated

I also had problems with dh_dwz in some of my packages. In these cases,
it was sufficient to overwrite like this:

override_dh_dwz:
ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
        dh_dwz --no-dwz-multifile
endif


I tried to build the ocaml package from experimental, and had
two test failures:

List of failed tests:
    tests/lib-systhreads/'threadsigmask.ml' with 1.1.2 (native)
    tests/lib-unix/common/'process_pid.ml' with 1.2 (native)

but I didn't try yet to investigate.

> About 4.09.0... (I'm writing the following as I am thinking about it)
>
> The graph library has moved to a separate project. This means there is
> no X any more in OCaml (the -nox distinction is no longer relevant). I
> propose to review the binary package layout:
> - put contents of /usr/lib/ocaml to libstdlib-ocaml{,-dev} and handle it
> like other OCaml libraries (in particular w.r.t. dh_ocaml)
> - put /usr/bin/ocamlrun* (and its manpages) to ocaml-base (and make it
> depend on libstdlib-ocaml)
> - put rest of /usr/bin (and its manpages) to ocaml (and make it depend
> on libstdlib-ocaml-dev)
> - put rest of /usr/share/man (.3o manpages) to libstdlib-ocaml-doc
> - retire ocaml-interp, ocaml-compiler-libs, ocaml-base-nox and ocaml-nox
> (i.e. make them transitional now and later remove them)

That sounds good to me.

-Ralf.

Reply | Threaded
Open this post in threaded view
|

Re: OCaml 4.08.0 and later...

Stéphane Glondu-3
Le 13/07/2019 à 20:03, Ralf Treinen a écrit :
>> A few words about OCaml 4.08.0...
>> - ocaml-mode has been dropped (now a separate project)
>
> I think that makes a lot of sense. It means that we should package it,
> of course, and possibly use the occassion to migrate it to elpa.

Thank you for submitting:

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

The "num" library also has been dropped. It is used at least by scilab
and z3. If anyone here wants to package it (I suggest "ocaml-num"),
please do it.

>> Many debian/patches do not apply and are not obviously adapted; I chose
>> to drop them for this upload to experimental. In particular:
>> - a patch to allow compilation of ocaml-generated C files with a C++
>> compiler, submitted upstream but somehow forgotten (the error being
>> multiple declarations of the same name)
>
> no opinion about that

IIRC, I added this patch to fix FTBFS of mldonkey.

>> - a patch to change the behaviour of -custom, which has been rejected
>> upstream because they don't want people to use -custom (the error being
>> stripping such binaries would remove also the bytecode)
>
> Are we having packages that are built using -custom ? Otherwise it
> is probably not that important.

I don't know. Are we OK to declare this as buggy from now on?

>> - a patch to use deterministic names for preprocessed files, never
>> submitted upstream it seems (the error being unreproducible builds)
>
> That would be useful to restore, and to submit upstream. I can imagine
> that upstream would be willing to integrate a patch that ensures
> reproducability for ocaml.

I agree. It's not urgent though (IMHO). I just have too many things on
my TODO-list to do that now. Moreover, I didn't find the previous patch
elegant.

>> - a patch to take into account hardening flags, never submitted
>
> Probably useful, too.

I managed to adapt the previous patch in 4.08.0-2, but that patch is not
suitable for upstream (IMHO).

>> - dh_autoreconf and dh_dwz fail miserably; it should be investigated
>
> I also had problems with dh_dwz in some of my packages. In these cases,
> it was sufficient to overwrite like this:
>
> override_dh_dwz:
> ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
>         dh_dwz --no-dwz-multifile
> endif

Isn't this a bug in dh_dwz that should be fixed instead of patching all
packages?

> I tried to build the ocaml package from experimental, and had
> two test failures:
>
> List of failed tests:
>     tests/lib-systhreads/'threadsigmask.ml' with 1.1.2 (native)
>     tests/lib-unix/common/'process_pid.ml' with 1.2 (native)
>
> but I didn't try yet to investigate.

Strange. 4.08.0-3 builds fine on my machine and on buildds on all
architectures:

  https://buildd.debian.org/status/package.php?p=ocaml&suite=experimental


Cheers,

--
Stéphane

Reply | Threaded
Open this post in threaded view
|

Re: OCaml 4.08.0 and later...

Stéphane Glondu-3
Le 02/08/2019 à 14:30, Stéphane Glondu a écrit :
>>> - a patch to change the behaviour of -custom, which has been rejected
>>> upstream because they don't want people to use -custom (the error being
>>> stripping such binaries would remove also the bytecode)
>>
>> Are we having packages that are built using -custom ? Otherwise it
>> is probably not that important.
>
> I don't know. Are we OK to declare this as buggy from now on?

There has been an interesting development on this topic.

It turns out dune uses -custom to generate executables on bytecode
architectures. I complained about that in [1] and miraculously the
feature is not deprecated any more. There is even an effort to integrate
my patch upstream now [2].

[1] https://github.com/ocaml/dune/issues/2505
[2] https://github.com/ocaml/ocaml/pull/8872


Cheers,

--
Stéphane

Reply | Threaded
Open this post in threaded view
|

Re: OCaml 4.08.0 and later...

Ralf Treinen
In reply to this post by Stéphane Glondu-3
On Fri, Aug 02, 2019 at 02:30:45PM +0200, Stéphane Glondu wrote:

> >> - a patch to change the behaviour of -custom, which has been rejected
> >> upstream because they don't want people to use -custom (the error being
> >> stripping such binaries would remove also the bytecode)
> >
> > Are we having packages that are built using -custom ? Otherwise it
> > is probably not that important.
>
> I don't know. Are we OK to declare this as buggy from now on?

Fine with me !

Since we are at it : I am also in favour of demanding debian/rules to
use dh, and not cdbs.

> > I tried to build the ocaml package from experimental, and had
> > two test failures:
> >
> > List of failed tests:
> >     tests/lib-systhreads/'threadsigmask.ml' with 1.1.2 (native)
> >     tests/lib-unix/common/'process_pid.ml' with 1.2 (native)
> >
> > but I didn't try yet to investigate.
>
> Strange. 4.08.0-3 builds fine on my machine and on buildds on all
> architectures:
>
>   https://buildd.debian.org/status/package.php?p=ocaml&suite=experimental

I tried it on a a different machine, and it compiled fine. No idea what
was happening.

-Ralf.

Reply | Threaded
Open this post in threaded view
|

Re: OCaml 4.08.0 and later...

Kyle Robbertze-3


On 2019/08/14 20:23, Ralf Treinen wrote:

> On Fri, Aug 02, 2019 at 02:30:45PM +0200, Stéphane Glondu wrote:
>
>>>> - a patch to change the behaviour of -custom, which has been rejected
>>>> upstream because they don't want people to use -custom (the error being
>>>> stripping such binaries would remove also the bytecode)
>>>
>>> Are we having packages that are built using -custom ? Otherwise it
>>> is probably not that important.
>>
>> I don't know. Are we OK to declare this as buggy from now on?
>
> Fine with me !
>
> Since we are at it : I am also in favour of demanding debian/rules to
> use dh, and not cdbs.

Sounds good. This is in-line with policy sentiment too. I'm slowly
working through the packages I look after and moving them over as new
uploads occur.

Cheers
Kyle
--

⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Kyle Robbertze
⢿⡄⠘⠷⠚⠋⠀ Debian Developer
⠈⠳⣄⠀⠀⠀⠀ https://wiki.debian.org/KyleRobbertze

Reply | Threaded
Open this post in threaded view
|

Re: OCaml 4.08.0 and later...

Stéphane Glondu-3
Le 14/08/2019 à 21:14, Kyle Robbertze a écrit :
>> Since we are at it : I am also in favour of demanding debian/rules to
>> use dh, and not cdbs.
>
> Sounds good. This is in-line with policy sentiment too. I'm slowly
> working through the packages I look after and moving them over as new
> uploads occur.

+1

--
Stéphane