On 24/11/2020 19:04, Sylvestre Ledru wrote:
Hello,

Le 24/11/2020 à 19:06, Calum McConnell a écrit :
 > Package: debcargo
 > Severity: important
 > X-Debbugs-Cc: calumlikesapple...@gmail.com
 >
As the freeze approaches, it becomes more important to make sure that every 
package desired for the next release is actually
present in Debian.  Many of the important rust packages have not been in 
testing for several months, and must be fixed and updated soon.

Do you have a list of packages you have in mind?

Cargo is in testing (version 0.43.1)

AIUI the "cargo" crate is packaged twice in Debian.

The "cargo" source package uses embedded rust libraries (to avoid bootstrapping 
nightmares) and builds
the cargo tool. It is currently in testing, though it seems to have a FTBFS 
issue which is not yet
reported in the BTS.

the "rust-cargo" source package on the other hand builds the librust-cargo-dev 
and librust-cargo+openssl-dev
packages and is not in testing.


Debcargo indeed needs some love (i reported bug 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=963916).

As NEW is super fast lately,

Speed is all very well, but is there any resolution to the dispute over feature 
packages that has caused
a large number of uploads to be rejected recently after sitting in new for 
ages? I understand one of the ftpmasters
has proposed an archive split, but I don't think it's actually been implemented 
yet and I would be surprised if it
was implemented in time for bullseye.

peter, do you think you could have a new look?

I've been trying to help out a bit with getting rust in testing back into a 
healthy state
and trying to keep it that way, but I am NOT a rust expert and I am NOT 
comfortable taking responsibility for
major updates/transitions or packaging rust crates that are new to Debian.

Anyway with that disclaimer out of the way lets take a look at the issues with 
getting debcargo back into testing.

The first issue is that the autopkgtests in rust-cargo and rust-vte have never 
passed. Should they simply be marked
as broken?

The second issue is rust-core-foundation is currently 
uninstallable/unbuildable, due to a recent update of
rust-core-foundatoin-sys which in turn means rust-cargo and rust-debcargo are 
unbuildable. It looks like the new
version was marked as released in the vcs but not actually uploaded to the 
archive.

The third issue is what to do about rust-cargo itself. The version currently in 
Debian is quite some way behind
upstream and depends on the old version of rust-core-foundation. It looks like 
ximin was in the process of updating it
to 0.47.0 but stopped. I looked at building 0.47 (and before that 0.49) but 
quickly ran intodependency issues.
Tracking through I see.

* rust-cargo 0.47.0
  * rust-git2 0.13.12
    * rust-git2-sys 0.12.14
      * libgit2-dev -- currently in experimental
  * rust-im-rc 15.0.0
    * The featureset packages that I disabled to avoid new and because one of 
them
      had unsatisfiable dependencies have been re-enabled in git.
    * Neither refpool or metrohash seems to have been packaged, either in 
debian or in debcargo-conf
      the latter seems to be a hard dependency.
  * semver 0.11.0
    * Autopkgtests fail for most featuresets, the version currently in the 
archive doesn't have any
      autopkgtests though.

Plus outside of the direct dependency lines, several of those packages have 
other reverse dependencies.

In summary this is a far bigger set of changes than I am personally prepared to 
take responsibility
for in packages I have very little knowledge of.

So I looked at the less ambitious option of keeping rust-cargo at the version 
currently in sid
and figuring out the minimum changes relative to current sid to get things 
sane. I got as far as

* Update rust-core-foundation to 0.9.1
* Keep rust-vte at 0.3.3, mark the autpkgtest as broken and relax the 
dependency on rust-utf8parse.
* Keep rust-cargo at 0.43.1, mark the autpkgtest as broken and relax the 
dependency on rust-core-foundation
* Relax dependency on rust-semver-parser in rust-debcargo.

Unfortunately it seems that there have been API changes in semver-parser that 
actually effect debcargo

     Running `LD_LIBRARY_PATH='/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/debug/deps:/usr/lib' 
CARGO_PKG_VERSION_PATCH=3 CARGO_PKG_VERSION_MAJOR=2 CARGO_PKG_VERSION=2.4.3 
CARGO_PKG_NAME=debcargo CARGO=/usr/bin/cargo CARGO_PKG_DESCRIPTION='Create a Debian package from 
a Cargo crate.' CARGO_PKG_HOMEPAGE= 
CARGO_PKG_REPOSITORY='https://salsa.debian.org/rust-team/debcargo' CARGO_PKG_VERSION_PRE= 
CARGO_MANIFEST_DIR=/tmp/autopkgtest.Q6QoAY/build.Kd0/src CARGO_PKG_AUTHORS='Josh Triplett 
<j...@joshtriplett.org>:Ximin Luo <infini...@debian.org>:Vasudev Kamath 
<vasu...@copyninja.info>' CARGO_PKG_VERSION_MINOR=4 rustc --crate-name debcargo 
--edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib 
--emit=dep-info,metadata,link -C debuginfo=2 -C metadata=c8362fd769a53753 -C 
extra-filename=-c8362fd769a53753 --out-dir 
/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps --target 
x86_64-unknown-linux-gnu -C 
incremental=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/incremental
 -L dependency=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps 
-L dependency=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/debug/deps --extern 
ansi_term=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libansi_term-34e552010f828746.rmeta
 --extern 
anyhow=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libanyhow-c7e349a4163d139d.rmeta
 --extern 
cargo=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libcargo-e40a62f860023931.rmeta
 --extern 
chrono=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libchrono-654efa7ffc2482b4.rmeta
 --extern 
clap=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libclap-95deb79aeecc6040.rmeta
 --extern 
filetime=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libfiletime-dafc6a94d28e153e.rmeta
 --extern 
flate2=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libflate2-c81f64771f47481b.rmeta
 --extern 
git2=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libgit2-33f617a53d663e14.rmeta
 --extern 
glob=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libglob-dfd15eef4c26fca2.rmeta
 --extern 
itertools=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libitertools-bc3ee1b5879334bf.rmeta
 --extern 
regex=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libregex-275d6b997fc8f3bc.rmeta
 --extern 
semver=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libsemver-8ace63291457ddd1.rmeta
 --extern 
semver_parser=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libsemver_parser-99c41a2765c77dec.rmeta
 --extern 
serde=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libserde-a54cb3b7a5382044.rmeta
 --extern 
serde_derive=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/debug/deps/libserde_derive-7a8c3179645a5709.so
 --extern 
tar=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libtar-0d397838ec0fafc9.rmeta
 --extern 
tempfile=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libtempfile-45a9428073a120eb.rmeta
 --extern 
textwrap=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libtextwrap-36c4fddb155e8870.rmeta
 --extern 
toml=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libtoml-feb862549a36ab80.rmeta
 --extern 
walkdir=/tmp/autopkgtest.Q6QoAY/build.Kd0/src/target/x86_64-unknown-linux-gnu/debug/deps/libwalkdir-2858051cb98c19c8.rmeta
 -C debuginfo=2 --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro 
--remap-path-prefix 
/tmp/autopkgtest.Q6QoAY/build.Kd0/src=/usr/share/cargo/registry/debcargo-2.4.3 -L 
native=/usr/lib/x86_64-linux-gnu -L native=/usr/lib/x86_64-linux-gnu -L 
native=/usr/lib/x86_64-linux-gnu -L native=/usr/lib/x86_64-linux-gnu`
error[E0432]: unresolved import `semver_parser`
 --> src/debian/dependency.rs:3:5
  |
3 | use semver_parser;
  |     ^^^^^^^^^^^^^

error[E0433]: failed to resolve: use of undeclared type or module 
`WildcardVersion`
   --> src/debian/dependency.rs:300:20
    |
300 |         (&Wildcard(WildcardVersion::Minor), _) => {
    |                    ^^^^^^^^^^^^^^^ use of undeclared type or module 
`WildcardVersion`

error[E0433]: failed to resolve: use of undeclared type or module 
`WildcardVersion`
   --> src/debian/dependency.rs:304:20
    |
304 |         (&Wildcard(WildcardVersion::Patch), _) => {
    |                    ^^^^^^^^^^^^^^^ use of undeclared type or module 
`WildcardVersion`

error[E0412]: cannot find type `Predicate` in this scope
  --> src/debian/dependency.rs:22:16
   |
22 |     fn new(p: &Predicate) -> Result<Self> {
   |                ^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `Predicate` in `semver_parser::range`
   --> src/debian/dependency.rs:195:34
    |
195 |     p: &'a semver_parser::range::Predicate,
    |                                  ^^^^^^^^^ not found in 
`semver_parser::range`

error[E0425]: cannot find value `Gt` in this scope
   --> src/debian/dependency.rs:229:17
    |
229 |             Ok(&Gt)
    |                 ^^ not found in this scope
    |
help: consider importing one of these items
    |
1   | use crate::debian::dependency::semver_parser::Op::Gt;
    |
1   | use semver_parser::Op::Gt;
    |
1   | use semver_parser::lexer::Token::Gt;
    |

error[E0412]: cannot find type `Predicate` in `semver_parser::range`
   --> src/debian/dependency.rs:245:31
    |
245 |     p: &semver_parser::range::Predicate,
    |                               ^^^^^^^^^ not found in 
`semver_parser::range`

error[E0531]: cannot find tuple struct or tuple variant `Wildcard` in this scope
   --> src/debian/dependency.rs:300:11
    |
300 |         (&Wildcard(WildcardVersion::Minor), _) => {
    |           ^^^^^^^^ not found in this scope

error[E0531]: cannot find tuple struct or tuple variant `Wildcard` in this scope
   --> src/debian/dependency.rs:304:11
    |
304 |         (&Wildcard(WildcardVersion::Patch), _) => {
    |           ^^^^^^^^ not found in this scope

error[E0425]: cannot find function `parse` in `semver_parser::range`
   --> src/debian/dependency.rs:327:37
    |
327 |     let req = 
semver_parser::range::parse(&dep.version_req().to_string()).unwrap();
    |                                     ^^^^^ not found in 
`semver_parser::range`
    |
help: consider importing one of these items
    |
1   | use cargo::util::toml::parse;
    |
1   | use chrono::format::parse;
    |
1   | use crate::debian::chrono::format::parse;
    |
1   | use crate::debian::dependency::semver_parser::version::parse;
    |
      and 1 other candidate

error[E0603]: module `range` is private
  --> src/debian/dependency.rs:4:20
   |
4  | use semver_parser::range::Op::*;
   |                    ^^^^^ private module
   |
note: the module `range` is defined here

and a bunch more similar errors, I really have no idea where to start on fixing 
this.

Reply via email to