#1141806 rust-prio: FTBFS: error: failed to select a version for the requirement `hex-literal = "^0.4.1"`

#1141806#5
Date:
2026-07-10 10:40:20 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202607/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:rust-prio, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   dh_auto_clean --buildsystem=rust
	/usr/share/dh-rust/bin/cargo clean
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=2'] [] ['-j2'] 0
debian cargo wrapper: rust_type, gnu_type: x86_64-unknown-linux-gnu, x86_64-linux-gnu
debian cargo wrapper: running subprocess (['env', 'RUST_BACKTRACE=1', '/usr/bin/cargo', 'clean', '--verbose', '--verbose'],) {'check': True}
     Removed 0 files
   dh_clean -XCargo.toml.orig
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure --buildsystem=rust
	/usr/share/dh-rust/bin/cargo prepare-debian debian/cargo_registry
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=2'] [] ['-j2'] 0
debian cargo wrapper: rust_type, gnu_type: x86_64-unknown-linux-gnu, x86_64-linux-gnu
debian cargo wrapper: linking /usr/share/cargo/registry/* into /<<PKGBUILDDIR>>/debian/cargo_registry/
	cargo update
error: failed to select a version for the requirement `hex-literal = "^0.4.1"`
candidate versions found which didn't match: 1.1.0
location searched: directory source `/<<PKGBUILDDIR>>/debian/cargo_registry` (which is replacing registry `crates-io`)
required by package `prio v0.17.0 (/<<PKGBUILDDIR>>)`
perhaps a crate was updated and forgotten to be re-vendored?
dh_auto_configure: error: cargo update returned exit code 101
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1141806#10
Date:
2026-08-03 14:35:47 UTC
From:
To:
Hi,

I am looking at hex-literal regressions[1], and prepared a fix to your package.
I tried creating a merge request, but the salsa repo does not allow it.

Please, pull from my fork if you agree with the changes.
My fork:
https://salsa.debian.org/rcpassos/rust-prio

I relaxed the hex-literal dependency.
[1] https://tracker.debian.org/pkg/rust-hex-literal

Thanks,
Rafael Passos

#1141806#15
Date:
2026-08-03 17:55:49 UTC
From:
To:
As explained in my last email, hex-literal regressions afected rust-prio.
I was told by the folks in Matrix that you prefer to receive patches vie
email, so I prepared this patch-set.

In the changelog patch, I also added the generated lines about a few
unreleased changed in your tree.

hex-literal tracker: https://tracker.debian.org/pkg/rust-hex-literal
my tree: https://salsa.debian.org/rcpassos/rust-prio

Thanks,
Rafael

Rafael Passos (3):
  d/patch: relax hex dependency with patch 2004
  debian/control: relax hex-literal dependency
  Update changelog with dependency changes

 debian/changelog                                | 15 +++++++++++++++
 debian/control                                  |  2 +-
 .../2004-relax-hex-literal-dependency.patch     | 17 +++++++++++++++++
 debian/patches/series                           |  1 +
 4 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 debian/patches/2004-relax-hex-literal-dependency.patch

#1141806#20
Date:
2026-08-03 17:55:50 UTC
From:
To:
Signed-off-by: Rafael Passos <rafael@rcpassos.me>
---
 .../2004-relax-hex-literal-dependency.patch     | 17 +++++++++++++++++
 debian/patches/series                           |  1 +
 2 files changed, 18 insertions(+)
 create mode 100644 debian/patches/2004-relax-hex-literal-dependency.patch

diff --git a/debian/patches/2004-relax-hex-literal-dependency.patch b/debian/patches/2004-relax-hex-literal-dependency.patch
new file mode 100644
index 0000000..82e1b80
--- /dev/null
+++ b/debian/patches/2004-relax-hex-literal-dependency.patch
@@ -0,0 +1,17 @@
+Description: relax hex-literal dependency
+Author: Rafael Passos <rafael@rcpassos.me>
+Forwarded: not-needed
+Last-Update: 2026-08-03
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -39,7 +39,7 @@ thiserror = "2.0"
+ [dev-dependencies]
+ assert_matches = "1.5.0"
+ base64 = "0.22.1"
+-hex-literal = "0.4.1"
++hex-literal = ">=0.4, <1.2"
+ num-bigint = "0.4.6"
+ once_cell = "1.21.3"
+ prio = { path = ".", features = ["crypto-dependencies", "test-util"] }
diff --git a/debian/patches/series b/debian/patches/series
index 9af9ade..f1433ac 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 1002_newer_rand.patch
 2001_no_bench.patch
 2003_avoid_modinverse.patch
+2004-relax-hex-literal-dependency.patch

#1141806#25
Date:
2026-08-03 17:55:51 UTC
From:
To:
Signed-off-by: Rafael Passos <rafael@rcpassos.me>
---
 debian/control | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index d887122..bc99a5b 100644
--- a/debian/control
+++ b/debian/control
@@ -13,7 +13,7 @@ Build-Depends:
  librust-fiat-crypto-dev,
  librust-fixed-dev,
  librust-hex-dev,
- librust-hex-literal-0.4-dev,
+ librust-hex-literal-dev,
  librust-hmac-0.12-dev,
 # librust-modinverse-dev,
  librust-num-bigint-dev,

#1141806#30
Date:
2026-08-03 17:55:52 UTC
From:
To:
Signed-off-by: Rafael Passos <rafael@rcpassos.me>
---
 debian/changelog | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 1cee6fa..33986b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,18 @@
+rust-prio (0.17.0+ds-7) unstable; urgency=medium
+
+  * Team upload.
+
+  [ Jonas Smedegaard ]
+  * tighten (build-)dependency for crate aes; tighten build- and
+    autopkgtest-dependencies for crate hex-literal;closes: bug#1141806,
+    thanks to Santiago Vila
+  * tighten (build-)dependency for crate ctr
+
+  [ Rafael Passos ]
+  * relax hex-literal dependency
+
+ -- Rafael Passos <rafael@rcpassos.me>  Mon, 03 Aug 2026 10:07:36 -0300
+
 rust-prio (0.17.0+ds-6) unstable; urgency=medium

   * reorganize patch naming and numbering

#1141806#35
Date:
2026-08-05 06:32:01 UTC
From:
To:
Hi Rafael,

Quoting Rafael Passos (2026-08-03 19:55:49)

Thanks for your proposed patches.

It seems to me that the bug was already fixed in git, however, and
simply needed to get released. If I didn't miss something, then your
patches were not wrong but addressed the different and less urgent
issue of migrating to newest-in-Debian version of hex-literal. I have
chosen to go with my prepared work this time, but appreciate your
effort regardless.

It is true that I use salsa only for its git repository - I don't use
its extended features e.g. for exchanging merge requests. That said, I
am fine with fetching patches from a git repo, so your first approach
of pointing me to your fork was perfectly fine for me - I am sorry that
I was not more responsive, as that could have saved you the unneeded
work of trying to second-guess how to better please me.

Kind regards,

 - Jonas

#1141806#40
Date:
2026-08-05 06:35:47 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
rust-prio, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1141806@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jonas Smedegaard <dr@jones.dk> (supplier of updated rust-prio package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 05 Aug 2026 08:19:43 +0200
Source: rust-prio
Architecture: source
Version: 0.17.0+ds-7
Distribution: unstable
Urgency: medium
Maintainer: Jonas Smedegaard <dr@jones.dk>
Changed-By: Jonas Smedegaard <dr@jones.dk>
Closes: 1141806
Changes:
 rust-prio (0.17.0+ds-7) unstable; urgency=medium
 .
   * tighten (build-)dependencies for crates aes ctr;
     tighten build- and autopkgtest-dependencies for crate hex-literal;
     closes: bug#1141806, thanks to Santiago Vila
Checksums-Sha1:
 1a38c76fbfa5b87b341bb847d2a3c27cdd040697 2885 rust-prio_0.17.0+ds-7.dsc
 d6b0976a7d16f1bdcfaa346760cb184e43d31217 10308 rust-prio_0.17.0+ds-7.debian.tar.xz
 1d224d3a0c80a20d6aefdfe8f3b8bf3a36715b30 20547 rust-prio_0.17.0+ds-7_amd64.buildinfo
Checksums-Sha256:
 948a77bf8ac9127f9c567c89417b2c45e3868970e803a2f54fe3560a915158fe 2885 rust-prio_0.17.0+ds-7.dsc
 fa04913b6a640e6416b1ff5944e4c12edc7f6effec000fa7fffc7b6dcad96e2d 10308 rust-prio_0.17.0+ds-7.debian.tar.xz
 b9776cda1273317f072722eefa2fda4f5a3ac05bb206111184b70e77988aecaf 20547 rust-prio_0.17.0+ds-7_amd64.buildinfo
Files:
 b806770222ef3630fb7ff2d0acb8e467 2885 rust optional rust-prio_0.17.0+ds-7.dsc
 1d79ab0cd39d65ec9983bb29e0b5c034 10308 rust optional rust-prio_0.17.0+ds-7.debian.tar.xz
 9714a074bd522c45bfa4e9a4de5e4fea 20547 rust optional rust-prio_0.17.0+ds-7_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJABAEBCgAqFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmpy1kgMHGRyQGpvbmVz
LmRrAAoJECx8MUbBoAEhefoP/jGPitYOuEVMOksi802aDpybxPQzESxMnU1Y9k1E
/oEfzwieXxGinCa+tlVdkyS8F5xgk0eUY5YPtflFxRqWYfz3yfEfVITJ25irFz3B
pEZEdPXdcEUJsrRH3PSboYjGVfRJ6Gxl6xZPyvuQ7FLXyFguLRlZPFdDxuYcSnz1
OEZG/i+ctIgkA7QILTQsWgUMpiroOvqe4KZhyP9EbIeVSSoNNqvE9utZCR3mS3DV
fahVic9QZTc2jAeiYn6RIaV4yPRTScWEO7eFFvKi/2zUWy3b332IQ92MmhBv5D2c
VVySyNAxw5VazBOgaSiA8HlPvjZ2jlAKx0vXEvgYrZp6i26tQD0XvQqCBMwKFq1a
lhceP0JpglQi8l++3W84S/Z0qEJA0sJFrV5WI+0JkQUInCRwn2K0POIVPYnsO410
mXGPf1WWFmrETdXzAyk3EdFaOz2l/zHuZHft3VhYvpHUh/d4jAduGXmZBFQT5Nft
kYGbH3x4qgwS16GHLWkIUhTB8Rc2p7vwhiAmWvak352ZeSRoyL1cxXzP2vlf6ptN
ID2HC40TtaXqSaBxvAtVCtRiF6n2TLd5bX88IENRQ2w0M8k0f6L1wOpl8tKIsjF9
9C1mZCMd3RlxUWx1+mb8ajDJEikrVf2o1LeEHLTOu5uVa0V7n3EcWHQOXjmCzpag
3fe/
=HSu6
-----END PGP SIGNATURE-----