[Pkg-rust-maintainers] Bug#1007026: rust-weedle - needs nom 5

Peter Green plugwash at debian.org
Thu Mar 10 20:55:49 GMT 2022


Package: rust-weedle
Version: 0.12.0-1
Severity: serious
x-debbugs-cc: git at rxv.cc, jamessan at debian.org

James McCoy and I are currently working on updating the rust-nom package
in Debian from version 5 to version 7. Debian also has version 4 of
nom packaged as a separate source package.

The version of rust-weedle currently in testing, depends on version 5
of rust-nom and hence is a blocker for this transition. This was not
realized before starting the transition because the version of
rust-weedle in Debian at the time I did the pre-transition analysis
depended on nom 4.

The only reverse dependency of rust-weedle in Debian is
rust-wasm-bindgen-webidl. rust-wasm-bindgen-webidl has no reverse
dependencies.

I first tried relaxing the dependency to allow nom 7, unfortunately
it quickly became clear, that it was beyond my skill level to port
the crate to nom 7. I filed a bug upstream but have not yet received
any response.

I did not consider it appropriate to introduce yet another version
of nom to the Debian archive to support a crate that was not being
used by any applications. So I decided to patch weedle to use nom 4
which was already in the archive, by reverting the upstream changes
that switched from nom 4 to nom 5. This passed it's autopkgtests and
I uploaded it.

Unfortunately it turns out that reverting the nom 5 changes, changed
the API of the crate and broke rust-wasm-bindgen-webidl.

Possible ways forward:

1. Port weedle to nom 7. This beyond my skill level and it wouldn't
    surprise me if it caused API breaks of it's own.

2. Port weedle to nom 4 in a way that avoids the API break, I tried
    to do this, but it also turned out to be beyond my skill level.

3. Remove rust-weedle and rust-wasm-bindgen-webidl from testing,
    this is IMO the most appropriate option if there are no-longer
    any short to medium term plans to package software that depends
    on these crates.

4. Introduce a rust-nom-5 source package. This is probably what
    I would suggest if there are applications that people want to
    package that use weedle and/or wasm-bindgen-webidl.

5. Patch rust-wasm-bindgen-webidl to work with the API break, this
    is probably feasible from a code point of view, but i'm not sure
    how one would handle it from a dependency versioning point of view

6. Revert rust-weedle and rust-wasm-bindgen-webidl to earlier versions
    using "really" version numbers, this may cause some issues with
    dependency versioning (though I think the way rust dependencies
    use virtual packages will mitigate this)

If noone objects or prposes a different route, I intend to ask
the release team to remove rust-weedle and rust-wasm-bindgen-webidl
from testing after other blockers for the nom 7 transition are
cleared.



More information about the Pkg-rust-maintainers mailing list