Dear Bo,

Le 14/04/2024 à 16:30, Bo YU a écrit :
I would not override dh_dwz nor dh_strip. My opinion is that what you
are trying to fix are deficiencies of the toolchain that should be fixed
there.
First to address dh_strip issue. From what I've researched. The issue
was raised by the static library generated from bisect_ppx did not
obey the standard static library name scheme. The dh_strip[0] will
strip the static library with `lib-*` prefix. But as we can observe
the building:
```
I: libbisect-ppx-ocaml-dev: unstripped-static-library
(bisect__Runtime.o) [usr/lib/ocaml/bisect_ppx/runtime/bisect.a]
I: libbisect-ppx-ocaml-dev: unstripped-static-library
(bisect_common.o) [usr/lib/ocaml/bisect_ppx/common/bisect_common.a]
I: libbisect-ppx-ocaml-dev: unstripped-static-library
(bisect_ppx__Exclude.o bisect_ppx__Exclude_lexer.o
bisect_ppx__Exclude_parser.o bisect_ppx
__Exclusions.o bisect_ppx__Instrument.o bisect_ppx__Register.o)
[usr/lib/ocaml/bisect_ppx/bisect_ppx.a]
```
In fact, the original solution is that I refer to this[1]. But I am
not sure if this is a toolchain issue or not, so I have reported this
to upstream[2] also. The workaround for this issue I could think of:
1. Keep those lintian messages here and open a reportbug to track the
issue until upstream fix the issue;
2. Use the solution like [1] as my previous post and open a reportbug
to track the issue until upstream fix the issue;
3. Wait to upstream to fix this issue;
4. Persuading the maintainers of debhelper to strip static library
with broader name scheme.But I think this is not a good wishlist.:)
Personally I prefer to option 2 still.

Thank you for looking into this, I wasn't expecting that!

By a "toolchain issue", I meant an issue in debhelper or lintian (or maybe in dh-ocaml or ocaml itself). This is definitely not an upstream issue (of bisect-ppx), as all OCaml packages face it.

One possible fix would be to change dh_strip, for example by telling it to strip $FOO.a if $FOO.cmxa exists, if this is correct (I'm not sure: I don't know why lib*.a are stripped in the first place). That would be your option 4. Or fix lintian to not issue the warning for $FOO.a if $FOO.cmxa exists. Right now, I don't know which option is correct.

But this should not hinder bisect-ppx packaging, so I would go to option 1 first, then investigate which of my two options is the correct one.

For dh_dwz issue. It seems that the issue will be fixed by passing
`--no-dwz-multifile` arg. In my understanding, there is two ELF
binaries on the debug package, so the no-mutlifile arg can assure
dropping `../.dwz/../.debug`.

Again, I've seen this issue several times with OCaml packages, but I didn't bother to investigate. It looks like another toolchain issue, which should be fixed in a more central package, not in bisect-ppx itself. So just leave the lintian warnings as is.


Cheers,

--
Stéphane

Reply via email to