Comment 17 for bug 1942394

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Hi Seth,

Thanks for the feedback here!

As mentioned in https://bugs.launchpad.net/ubuntu/+source/mdevctl/+bug/1942394/comments/14, we updated the package in the PPA (https://launchpad.net/~athos-ribeiro/+archive/ubuntu/mdevctl-vendored-plus-lockfile/+packages) to the new version available in Debian (1.2.0).

This new version fixed the majority of the warnings we were seeing in 1.1.0.

Here is the new output for your grep snippet:

$ grep warning: buildlog_ubuntu-kinetic-amd64.mdevctl_1.2.0-1ubuntu1~ppa1_BUILDING.txt | sort | uniq -c | sort -nr
      2 warning: unknown lint: `unused_macro_rules`
      2 warning: `hashbrown` (lib) generated 1 warning
      1 warning: `proc-macro-error` (lib) generated 1 warning
      1 warning: panic message is not a string literal
      1 warning: field is never read: `start`
      1 warning: field is never read: `last_match_end`
      1 warning: field is never read: `config`
      1 warning: be sure to add `debian/mdevctl/usr/bin` to your PATH to be able to run the installed binaries
      1 warning: `aho-corasick` (lib) generated 3 warnings
      1 dpkg: warning: unable to delete old directory '/usr/lib/udev': Directory not empty
      1 dpkg-source: warning: cannot verify signature ./mdevctl_1.2.0-1ubuntu1~ppa1.dsc
      1 dpkg-gencontrol: warning: Suggests field of package mdevctl: substitution variable ${cargo:Suggests} used, but is not defined
      1 dpkg-gencontrol: warning: Recommends field of package mdevctl: substitution variable ${cargo:Recommends} used, but is not defined
      1 dpkg-gencontrol: warning: Provides field of package mdevctl: substitution variable ${cargo:Provides} used, but is not defined
      1 dpkg-gencontrol: warning: Depends field of package mdevctl: substitution variable ${cargo:Depends} used, but is not defined

Now, there are 2 different warnings being raised there:

- warning: panic message is not a string literal
This is related to this Rust 2021 change: https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html

kinetic ships with rustc 1.59.0, where this warning is not an error. Starting from rustc 1.60.0, this becomes an error and we will need to change that panic!(AbortNow) call to std::panic::panic_any(AbortNow). Since this warning is being issued for a vendorized dependency, I wonder if we should patch it right away and forward a patch upstream, or just patch it upstream and introduce the Delta when/if it is not fixed by the time rustc >= 1.60.0 lands (this would be a delta since the debian package does not vendorize the dependency).

- warning: field is never read: `start`
This is a warning for possible dead code detected by the compiler which could be dealt with upstream in mid/long term.

Finally, a new version of a BuildDep landed in Debian unstable and kinetic-proposed (not migrated yet by the time of this writing). rust-uuid (0.8.1-4 to 1.1.2-2) .

This changes some binary buildDependencies (not used for our build anyway) and leads to FTBFS.
I will forward a fix to Debian and change introduce it as a delta here. Would you also like me to introduce the delta to silence the warning mentioned above?

Thanks!