--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: pkg-rust-maintainers@alioth-lists.debian.net, team+pkg-mozilla@tracker.debian.org
Hi,
As usual, we need a newer cbindgen for the upcoming Firefox ESR / Thunderbird
releases. For bookworm though, we can't just upgrade cbindgen, because by
bundling its dependencies, we can't (easily) ship the librust-cbindgen-dev
packages, and that's gained a build-rdep in bookworm.
Thus, I've gone the new source route, building only bin:cbindgen-web, which
conflicts with cbindgen.
I've used this to rebuild firefox-esr_115.11.0esr-1~deb12u1 with success and
the resulting package worked fine on some testing. Thus I'm happy to ship
this now in the upcoming point release, even if the next ESR won't be pushed
to bookworm for a few months.
I'm attaching a debdiff from sid's rust-cbindgen applying this command:
$ debdiff rust-cbindgen_0.26.0-3.dsc rust-cbindgen-web_0.26.0-3~deb12u1.dsc | filterdiff -x '*/debian/vendor/*'
Cheers,
Emilio
diff -Nru rust-cbindgen-0.26.0/debian/cbindgen.manpages rust-cbindgen-web-0.26.0/debian/cbindgen.manpages
--- rust-cbindgen-0.26.0/debian/cbindgen.manpages 2024-02-11 03:08:44.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/cbindgen.manpages 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-debian/cbindgen.1
-
diff -Nru rust-cbindgen-0.26.0/debian/cbindgen-web.manpages rust-cbindgen-web-0.26.0/debian/cbindgen-web.manpages
--- rust-cbindgen-0.26.0/debian/cbindgen-web.manpages 1970-01-01 01:00:00.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/cbindgen-web.manpages 2024-02-11 03:08:44.000000000 +0100
@@ -0,0 +1,2 @@
+debian/cbindgen.1
+
diff -Nru rust-cbindgen-0.26.0/debian/changelog rust-cbindgen-web-0.26.0/debian/changelog
--- rust-cbindgen-0.26.0/debian/changelog 2024-02-11 03:08:44.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/changelog 2024-06-05 11:35:17.000000000 +0200
@@ -1,3 +1,16 @@
+rust-cbindgen-web (0.26.0-3~deb12u1) bookworm; urgency=medium
+
+ * Non-maintainer upload.
+ * Backport to bookworm as rust-cbindgen-web. Since we're vendoring
+ the dependencies, we can't easily ship a librust-cbindgen-dev package
+ as it's dependencies won't be available, and there are build-rdeps
+ for that binary now so we can't just disable it.
+ * Vendor dependencies, they are not available in bookworm.
+ * Only build the cbindgen binary.
+ * Build with rustc-web.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Wed, 05 Jun 2024 11:35:17 +0200
+
rust-cbindgen (0.26.0-3) unstable; urgency=medium
* Team upload.
diff -Nru rust-cbindgen-0.26.0/debian/control rust-cbindgen-web-0.26.0/debian/control
--- rust-cbindgen-0.26.0/debian/control 2024-02-11 03:08:44.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/control 2024-06-05 11:35:17.000000000 +0200
@@ -1,29 +1,12 @@
-Source: rust-cbindgen
+Source: rust-cbindgen-web
Section: utils
Priority: optional
Build-Depends: debhelper (>= 12),
dh-cargo (>= 25),
cargo:native,
- rustc:native (>= 1.64),
- libstd-rust-dev,
- librust-clap-3+default-dev (>= 3.1-~~),
- librust-heck-0.4+default-dev,
- librust-indexmap+default-dev (>= 1-~~),
- librust-log-0.4+default-dev,
- librust-proc-macro2-1+default-dev (>= 1.0.60-~~),
- librust-quote-1+default-dev,
- librust-serde-1+derive-dev (>= 1.0.103-~~),
- librust-serde-json-1+default-dev,
- librust-syn-1+clone-impls-dev (>= 1.0.88-~~),
- librust-syn-1+extra-traits-dev (>= 1.0.88-~~),
- librust-syn-1+fold-dev (>= 1.0.88-~~),
- librust-syn-1+full-dev (>= 1.0.88-~~),
- librust-syn-1+parsing-dev (>= 1.0.88-~~),
- librust-syn-1+printing-dev (>= 1.0.88-~~),
- librust-tempfile-3+default-dev,
- librust-toml-0.5+default-dev,
+ rustc-web:native (>= 1.64),
+ libstd-rust-web-dev,
help2man,
- librust-serial-test-dev,
cython3
Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Uploaders:
@@ -34,57 +17,7 @@
X-Cargo-Crate: cbindgen
Rules-Requires-Root: no
-Package: librust-cbindgen-dev
-Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- librust-heck-0.4+default-dev,
- librust-indexmap+default-dev (>= 1-~~),
- librust-log-0.4+default-dev,
- librust-proc-macro2-1+default-dev (>= 1.0.60-~~),
- librust-quote-1+default-dev,
- librust-serde-1+derive-dev (>= 1.0.103-~~),
- librust-serde-json-1+default-dev,
- librust-syn-1+clone-impls-dev (>= 1.0.88-~~),
- librust-syn-1+extra-traits-dev (>= 1.0.88-~~),
- librust-syn-1+fold-dev (>= 1.0.88-~~),
- librust-syn-1+full-dev (>= 1.0.88-~~),
- librust-syn-1+parsing-dev (>= 1.0.88-~~),
- librust-syn-1+printing-dev (>= 1.0.88-~~),
- librust-tempfile-3+default-dev,
- librust-toml-0.5+default-dev
-Recommends:
- librust-cbindgen+clap-dev (= ${binary:Version})
-Provides:
- librust-cbindgen-0-dev (= ${binary:Version}),
- librust-cbindgen-0.26-dev (= ${binary:Version}),
- librust-cbindgen-0.26.0-dev (= ${binary:Version})
-Description: Generating C bindings to Rust code - Rust source code
- Source code for Debianized Rust crate "cbindgen"
-
-Package: librust-cbindgen+clap-dev
-Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- librust-cbindgen-dev (= ${binary:Version}),
- librust-clap-3+default-dev (>= 3.1-~~)
-Provides:
- librust-cbindgen+default-dev (= ${binary:Version}),
- librust-cbindgen-0+clap-dev (= ${binary:Version}),
- librust-cbindgen-0+default-dev (= ${binary:Version}),
- librust-cbindgen-0.26+clap-dev (= ${binary:Version}),
- librust-cbindgen-0.26+default-dev (= ${binary:Version}),
- librust-cbindgen-0.26.0+clap-dev (= ${binary:Version}),
- librust-cbindgen-0.26.0+default-dev (= ${binary:Version})
-Description: Generating C bindings to Rust code - feature "clap" and 1 more
- This metapackage enables feature "clap" for the Rust cbindgen crate, by pulling
- in any additional dependencies needed by that feature.
- .
- Additionally, this package also provides the "default" feature.
-
-Package: cbindgen
+Package: cbindgen-web
Architecture: any
Multi-Arch: allowed
Section: utils
@@ -98,6 +31,8 @@
${cargo:Suggests}
Provides:
${cargo:Provides}
+Conflicts: cbindgen
+Replaces: cbindgen
Built-Using: ${cargo:Built-Using}
XB-X-Cargo-Built-Using: ${cargo:X-Cargo-Built-Using}
Description: Generates C bindings from Rust code
diff -Nru rust-cbindgen-0.26.0/debian/patches/series rust-cbindgen-web-0.26.0/debian/patches/series
--- rust-cbindgen-0.26.0/debian/patches/series 2024-02-11 03:08:44.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/patches/series 2024-05-07 10:23:47.000000000 +0200
@@ -1,3 +1,4 @@
use-cython3-for-tests.patch
relax-dep.diff
fix-tests-permission-denied.patch
+vendor-deps-config.patch
diff -Nru rust-cbindgen-0.26.0/debian/patches/vendor-deps-config.patch rust-cbindgen-web-0.26.0/debian/patches/vendor-deps-config.patch
--- rust-cbindgen-0.26.0/debian/patches/vendor-deps-config.patch 1970-01-01 01:00:00.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/patches/vendor-deps-config.patch 2024-05-07 10:23:47.000000000 +0200
@@ -0,0 +1,8 @@
+--- /dev/null
++++ b/.cargo/config
+@@ -0,0 +1,5 @@
++[source.crates-io]
++replace-with = "vendored-sources"
++
++[source.vendored-sources]
++directory = "vendor"
diff -Nru rust-cbindgen-0.26.0/debian/rules rust-cbindgen-web-0.26.0/debian/rules
--- rust-cbindgen-0.26.0/debian/rules 2024-02-11 03:08:44.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/rules 2024-06-04 14:10:00.000000000 +0200
@@ -2,11 +2,19 @@
%:
dh $@ --buildsystem cargo
+override_dh_auto_configure:
+ cp -a debian/vendor/ .
+ dh_auto_configure -O--buildsystem=cargo
+
+override_dh_clean:
+ dh_clean -O--buildsystem=cargo
+ rm -rf vendor/
+
override_dh_auto_test:
dh_auto_test -- test --all
override_dh_installman:
- help2man debian/cbindgen/usr/bin/cbindgen > debian/cbindgen.1
+ help2man debian/cbindgen-web/usr/bin/cbindgen > debian/cbindgen.1
dh_installman -O--buildsystem=cargo
execute_after_dh_testdir:
diff -Nru rust-cbindgen-0.26.0/debian/source/include-binaries rust-cbindgen-web-0.26.0/debian/source/include-binaries
--- rust-cbindgen-0.26.0/debian/source/include-binaries 1970-01-01 01:00:00.000000000 +0100
+++ rust-cbindgen-web-0.26.0/debian/source/include-binaries 2024-05-07 10:23:47.000000000 +0200
@@ -0,0 +1,2 @@
+debian/vendor/unicode-ident/tests/fst/xid_start.fst
+debian/vendor/unicode-ident/tests/fst/xid_continue.fst
Binary files /tmp/DGhDTEjYdn/rust-cbindgen-0.26.0/debian/vendor/unicode-ident/tests/fst/xid_continue.fst and /tmp/mhp6sesSsp/rust-cbindgen-web-0.26.0/debian/vendor/unicode-ident/tests/fst/xid_continue.fst differ
Binary files /tmp/DGhDTEjYdn/rust-cbindgen-0.26.0/debian/vendor/unicode-ident/tests/fst/xid_start.fst and /tmp/mhp6sesSsp/rust-cbindgen-web-0.26.0/debian/vendor/unicode-ident/tests/fst/xid_start.fst differ
--- End Message ---