[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1001752: marked as done (buster-pu: package cargo-mozilla/0.47.0-3~deb10u1)



Your message dated Sat, 26 Mar 2022 12:02:22 +0000
with message-id <540de30a27d37c3ff416b94b1adf7ff2a2cab257.camel@adam-barratt.org.uk>
and subject line Closing requests for updates in 10.12
has caused the Debian Bug report #1001752,
regarding buster-pu: package cargo-mozilla/0.47.0-3~deb10u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1001752: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001752
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
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,

This update to cargo (with a renamed name to avoid disruption in the
rust/cargo ecosystem) is needed by the firefox / thunderbird updates.
It's a backport of the version in bullseye, which is enough for our
purposes. I've had to embed a newer version of libgit2, just like we've
done in previous cargo updates for buster and stretch. This time I've
used the tarball from a debian upload so that it's dfsg and easy to
verify.

I've used this to build and test firefox ESR 91.3 on amd64.

Cheers,
Emilio
diff -Nru cargo-0.47.0/debian/cargo.bash-completion cargo-mozilla-0.47.0/debian/cargo.bash-completion
--- cargo-0.47.0/debian/cargo.bash-completion	2019-01-24 05:34:05.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo.bash-completion	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-src/etc/cargo.bashcomp.sh cargo
diff -Nru cargo-0.47.0/debian/cargo.dirs cargo-mozilla-0.47.0/debian/cargo.dirs
--- cargo-0.47.0/debian/cargo.dirs	2018-11-04 12:47:23.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo.dirs	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/bin
diff -Nru cargo-0.47.0/debian/cargo-doc.docs cargo-mozilla-0.47.0/debian/cargo-doc.docs
--- cargo-0.47.0/debian/cargo-doc.docs	2018-11-04 12:47:23.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo-doc.docs	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-target/doc
diff -Nru cargo-0.47.0/debian/cargo.manpages cargo-mozilla-0.47.0/debian/cargo.manpages
--- cargo-0.47.0/debian/cargo.manpages	2018-11-04 12:47:23.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo.manpages	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-src/etc/man/cargo-*.1
-src/etc/man/cargo.1
diff -Nru cargo-0.47.0/debian/cargo-mozilla.bash-completion cargo-mozilla-0.47.0/debian/cargo-mozilla.bash-completion
--- cargo-0.47.0/debian/cargo-mozilla.bash-completion	1970-01-01 01:00:00.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo-mozilla.bash-completion	2019-01-24 05:34:05.000000000 +0100
@@ -0,0 +1 @@
+src/etc/cargo.bashcomp.sh cargo
diff -Nru cargo-0.47.0/debian/cargo-mozilla.dirs cargo-mozilla-0.47.0/debian/cargo-mozilla.dirs
--- cargo-0.47.0/debian/cargo-mozilla.dirs	1970-01-01 01:00:00.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo-mozilla.dirs	2018-11-04 12:47:23.000000000 +0100
@@ -0,0 +1 @@
+usr/bin
diff -Nru cargo-0.47.0/debian/cargo-mozilla-doc.docs cargo-mozilla-0.47.0/debian/cargo-mozilla-doc.docs
--- cargo-0.47.0/debian/cargo-mozilla-doc.docs	1970-01-01 01:00:00.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo-mozilla-doc.docs	2018-11-04 12:47:23.000000000 +0100
@@ -0,0 +1 @@
+target/doc
diff -Nru cargo-0.47.0/debian/cargo-mozilla.manpages cargo-mozilla-0.47.0/debian/cargo-mozilla.manpages
--- cargo-0.47.0/debian/cargo-mozilla.manpages	1970-01-01 01:00:00.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/cargo-mozilla.manpages	2018-11-04 12:47:23.000000000 +0100
@@ -0,0 +1,2 @@
+src/etc/man/cargo-*.1
+src/etc/man/cargo.1
diff -Nru cargo-0.47.0/debian/changelog cargo-mozilla-0.47.0/debian/changelog
--- cargo-0.47.0/debian/changelog	2020-12-08 02:43:58.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/changelog	2021-12-14 13:46:50.000000000 +0100
@@ -1,3 +1,16 @@
+cargo-mozilla (0.47.0-3~deb10u1) buster; urgency=medium
+
+  * Non-maintainer upload.
+  * Backport to buster.
+  * Vendor libgit2 1.0.1, the system one is too old.
+  * Build-dep on rustc-mozilla.
+  * Build-dep on libpcre3-dev, for libgit2.
+  * Fix tests that now have execution time in the output.
+  * Rename to cargo-mozilla to avoid disruption in the rustc/cargo ecosystem,
+    and don't build the doc package.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org>  Tue, 14 Dec 2021 13:46:50 +0100
+
 cargo (0.47.0-3) unstable; urgency=medium
 
   * Disable close_output test for now, it is flaky. This is a test problem not
diff -Nru cargo-0.47.0/debian/control cargo-mozilla-0.47.0/debian/control
--- cargo-0.47.0/debian/control	2020-12-06 13:32:13.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/control	2021-12-14 13:46:50.000000000 +0100
@@ -1,4 +1,4 @@
-Source: cargo
+Source: cargo-mozilla
 Section: devel
 Maintainer: Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
 Uploaders: Luca Bruno <lucab@debian.org>,
@@ -10,16 +10,17 @@
 Build-Depends: debhelper (>= 12~),
                dpkg-dev (>= 1.17.14),
                cargo:native    (>= 0.17.0),
-               rustc:native    (>= 1.16),
-               libstd-rust-dev (>= 1.16),
+               rustc-mozilla:native    (>= 1.16),
+               libstd-rust-mozilla-dev (>= 1.16),
                pkg-config,
                cmake,
                bash-completion,
                python3:native,
                libcurl4-gnutls-dev | libcurl4-openssl-dev,
                libssh2-1-dev,
-               libgit2-dev (>= 1),
+#               libgit2-dev (>= 1),
                libhttp-parser-dev,
+               libpcre3-dev,
                libssl-dev,
                zlib1g-dev,
                git <!nocheck>
@@ -28,7 +29,7 @@
 Vcs-Git: https://salsa.debian.org/rust-team/cargo.git
 Vcs-Browser: https://salsa.debian.org/rust-team/cargo
 
-Package: cargo
+Package: cargo-mozilla
 Architecture: any
 Multi-Arch: allowed
 Depends: ${shlibs:Depends}, ${misc:Depends},
@@ -36,6 +37,9 @@
          binutils,
          gcc | clang | c-compiler
 Suggests: cargo-doc, python3
+Conflicts: cargo
+Replaces: cargo
+Provides: cargo (= ${binary:Version})
 Description: Rust package manager
  Cargo is a tool that allows Rust projects to declare their various
  dependencies, and ensure that you'll always get a repeatable build.
@@ -50,25 +54,25 @@
  Cargo downloads your Rust project’s dependencies and compiles your
  project.
 
-Package: cargo-doc
-Section: doc
-Architecture: all
-Build-Profiles: <!nodoc>
-Depends: ${misc:Depends}
-Description: Rust package manager, documentation
- Cargo is a tool that allows Rust projects to declare their various
- dependencies, and ensure that you'll always get a repeatable build.
- .
- To accomplish this goal, Cargo does four things:
-  * Introduces two metadata files with various bits of project information.
-  * Fetches and builds your project's dependencies.
-  * Invokes rustc or another build tool with the correct parameters to build
-    your project.
-  * Introduces conventions, making working with Rust projects easier.
- .
- Cargo downloads your Rust project’s dependencies and compiles your
- project.
- .
- This package contains the documentation.
+#Package: cargo-mozilla-doc
+#Section: doc
+#Architecture: all
+#Build-Profiles: <!nodoc>
+#Depends: ${misc:Depends}
+#Description: Rust package manager, documentation
+# Cargo is a tool that allows Rust projects to declare their various
+# dependencies, and ensure that you'll always get a repeatable build.
+# .
+# To accomplish this goal, Cargo does four things:
+#  * Introduces two metadata files with various bits of project information.
+#  * Fetches and builds your project's dependencies.
+#  * Invokes rustc or another build tool with the correct parameters to build
+#    your project.
+#  * Introduces conventions, making working with Rust projects easier.
+# .
+# Cargo downloads your Rust project’s dependencies and compiles your
+# project.
+# .
+# This package contains the documentation.
 
 # TODO: add a cargo-src package
Binary files /tmp/8V2EEsxbJI/cargo-0.47.0/debian/libgit2_1.0.1+dfsg.1.orig.tar.xz and /tmp/AKgYiopGR_/cargo-mozilla-0.47.0/debian/libgit2_1.0.1+dfsg.1.orig.tar.xz differ
diff -Nru cargo-0.47.0/debian/patches/accept-test-execution-time.patch cargo-mozilla-0.47.0/debian/patches/accept-test-execution-time.patch
--- cargo-0.47.0/debian/patches/accept-test-execution-time.patch	1970-01-01 01:00:00.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/patches/accept-test-execution-time.patch	2021-12-03 13:17:58.000000000 +0100
@@ -0,0 +1,128 @@
+From 62ddaf343ef261a4da457f6334874d1413b64783 Mon Sep 17 00:00:00 2001
+From: Jakob Schikowski <jakob.schikowski@gmx.de>
+Date: Mon, 23 Nov 2020 00:25:46 +0100
+Subject: [PATCH] Relaxes expectation of `cargo test` tests to accept test
+ execution time
+
+---
+ tests/testsuite/test.rs | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/tests/testsuite/test.rs b/tests/testsuite/test.rs
+index 4ba9a4db833..55345c216c8 100644
+--- a/tests/testsuite/test.rs
++++ b/tests/testsuite/test.rs
+@@ -175,7 +175,7 @@ fn cargo_test_quiet_with_harness() {
+             "
+ running 1 test
+ .
+-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
++test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]
+ 
+ ",
+         )
+@@ -1552,7 +1552,7 @@ fn test_filtered_excludes_compiling_examples() {
+ running 1 test
+ test tests::foo ... ok
+ 
+-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
++test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]
+ 
+ ",
+         )
+@@ -3724,13 +3724,13 @@ pub fn foo() -> u8 { 1 }
+ running 1 test
+ test tests::it_works ... ok
+ 
+-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
++test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]
+ 
+ 
+ running 1 test
+ test src/lib.rs - foo (line 1) ... ok
+ 
+-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
++test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]
+ \n",
+         )
+         .run();
+@@ -3746,7 +3746,7 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
+ running 1 test
+ test tests::it_works ... ok
+ 
+-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
++test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]
+ \n",
+         )
+         .run();
+@@ -3763,7 +3763,7 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
+ running 1 test
+ test src/lib.rs - foo (line 1) ... ok
+ 
+-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
++test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]
+ 
+ ",
+         )
+@@ -3877,14 +3877,14 @@ fn cargo_test_doctest_xcompile_ignores() {
+     #[cfg(not(target_arch = "x86_64"))]
+     p.cargo("test")
+         .with_stdout_contains(
+-            "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out",
++            "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]",
+         )
+         .run();
+     #[cfg(target_arch = "x86_64")]
+     p.cargo("test")
+         .with_status(101)
+         .with_stdout_contains(
+-            "test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out",
++            "test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out[..]",
+         )
+         .run();
+ 
+@@ -3892,7 +3892,7 @@ fn cargo_test_doctest_xcompile_ignores() {
+     p.cargo("test -Zdoctest-xcompile")
+         .masquerade_as_nightly_cargo()
+         .with_stdout_contains(
+-            "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out",
++            "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]",
+         )
+         .run();
+ 
+@@ -3900,7 +3900,7 @@ fn cargo_test_doctest_xcompile_ignores() {
+     p.cargo("test -Zdoctest-xcompile")
+         .masquerade_as_nightly_cargo()
+         .with_stdout_contains(
+-            "test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out",
++            "test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out[..]",
+         )
+         .run();
+ }
+@@ -3940,7 +3940,7 @@ fn cargo_test_doctest_xcompile() {
+     ))
+     .masquerade_as_nightly_cargo()
+     .with_stdout_contains(
+-        "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out",
++        "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]",
+     )
+     .run();
+ }
+@@ -4020,7 +4020,7 @@ fn cargo_test_doctest_xcompile_runner() {
+     ))
+     .masquerade_as_nightly_cargo()
+     .with_stdout_contains(
+-        "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out",
++        "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]",
+     )
+     .with_stderr_contains("this is a runner")
+     .run();
+@@ -4064,7 +4064,7 @@ fn cargo_test_doctest_xcompile_no_runner() {
+     ))
+     .masquerade_as_nightly_cargo()
+     .with_stdout_contains(
+-        "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out",
++        "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out[..]",
+     )
+     .run();
+ }
diff -Nru cargo-0.47.0/debian/patches/series cargo-mozilla-0.47.0/debian/patches/series
--- cargo-0.47.0/debian/patches/series	2020-12-08 02:39:33.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/patches/series	2021-12-03 13:17:58.000000000 +0100
@@ -2,3 +2,5 @@
 1005_relax_deprecated_diagnostic_message_check.patch
 2002_disable-net-tests.patch
 2003_disable_close_output.patch
+use-vendored-libgit.patch
+accept-test-execution-time.patch
diff -Nru cargo-0.47.0/debian/patches/use-vendored-libgit.patch cargo-mozilla-0.47.0/debian/patches/use-vendored-libgit.patch
--- cargo-0.47.0/debian/patches/use-vendored-libgit.patch	1970-01-01 01:00:00.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/patches/use-vendored-libgit.patch	2021-12-03 13:17:58.000000000 +0100
@@ -0,0 +1,54 @@
+Author: Emilio Pozuelo Monfort <pochu@debian.org>
+
+Use vendored libgit
+
+--- a/vendor/libgit2-sys/build.rs
++++ b/vendor/libgit2-sys/build.rs
+@@ -9,7 +9,7 @@ fn main() {
+     let zlib_ng_compat = env::var("CARGO_FEATURE_ZLIB_NG_COMPAT").is_ok();
+ 
+     // To use zlib-ng in zlib-compat mode, we have to build libgit2 ourselves.
+-    if !zlib_ng_compat {
++    if false {
+         let mut cfg = pkg_config::Config::new();
+         if let Ok(lib) = cfg.probe("libgit2") {
+             for include in &lib.include_paths {
+@@ -51,8 +51,8 @@ fn main() {
+     add_c_files(&mut cfg, "libgit2/src/streams");
+ 
+     // Always use bundled http-parser for now
+-    cfg.include("libgit2/deps/http-parser")
+-        .file("libgit2/deps/http-parser/http_parser.c");
++    //cfg.include("libgit2/deps/http-parser")
++    //    .file("libgit2/deps/http-parser/http_parser.c");
+ 
+     // Use the included PCRE regex backend.
+     //
+@@ -61,7 +61,7 @@ fn main() {
+     // reasons, just define on the command-line for everything. Perhaps there
+     // is some way with cc to have different instructions per-file?
+     cfg.define("GIT_REGEX_BUILTIN", "1")
+-        .include("libgit2/deps/pcre")
++        //.include("libgit2/deps/pcre")
+         .define("HAVE_STDINT_H", Some("1"))
+         .define("HAVE_MEMMOVE", Some("1"))
+         .define("NO_RECURSE", Some("1"))
+@@ -75,7 +75,8 @@ fn main() {
+         .define("MAX_NAME_COUNT", Some("10000"));
+     // "no symbols" warning on pcre_string_utils.c is because it is only used
+     // when when COMPILE_PCRE8 is not defined, which is the default.
+-    add_c_files(&mut cfg, "libgit2/deps/pcre");
++    //add_c_files(&mut cfg, "libgit2/deps/pcre");
++    println!("cargo:rustc-link-lib=pcre");
+ 
+     cfg.file("libgit2/src/allocators/stdalloc.c");
+ 
+@@ -168,6 +169,8 @@ fn main() {
+ 
+     println!("cargo:root={}", dst.display());
+ 
++    println!("cargo:rustc-link-lib=http_parser");
++
+     if target.contains("windows") {
+         println!("cargo:rustc-link-lib=winhttp");
+         println!("cargo:rustc-link-lib=rpcrt4");
diff -Nru cargo-0.47.0/debian/rules cargo-mozilla-0.47.0/debian/rules
--- cargo-0.47.0/debian/rules	2020-12-08 01:27:26.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/rules	2021-12-14 13:46:50.000000000 +0100
@@ -36,11 +36,15 @@
 override_dh_auto_configure:
 	$(CARGO) prepare-debian $(CURDIR)/vendor
 
+	set -e; \
+		tar xf debian/libgit2_1.0.1+dfsg.1.orig.tar.xz; \
+		mv libgit2-1.0.1 vendor/libgit2-sys/libgit2
+
 override_dh_auto_build-arch:
 	$(CARGO) build
 
-override_dh_auto_build-indep:
-	$(CARGO) doc
+#override_dh_auto_build-indep:
+#	$(CARGO) doc
 
 override_dh_auto_test-arch:
 	CFG_DISABLE_CROSS_TESTS=1 $(CARGO) test $(CARGO_TEST_FLAGS)
@@ -49,11 +53,13 @@
 	# no arch-indep tests
 
 override_dh_auto_install:
-	DESTDIR=$(CURDIR)/debian/cargo $(CARGO) install
+	DESTDIR=$(CURDIR)/debian/cargo-mozilla $(CARGO) install
 
 override_dh_auto_clean:
 	$(CARGO) clean
 
+	-$(RM) -rf vendor/libgit2-sys/libgit2
+
 override_dh_clean:
 	# Upstream contains a lot of these
 	dh_clean -XCargo.toml.orig
diff -Nru cargo-0.47.0/debian/source/include-binaries cargo-mozilla-0.47.0/debian/source/include-binaries
--- cargo-0.47.0/debian/source/include-binaries	1970-01-01 01:00:00.000000000 +0100
+++ cargo-mozilla-0.47.0/debian/source/include-binaries	2021-12-03 13:17:58.000000000 +0100
@@ -0,0 +1 @@
+debian/libgit2_1.0.1+dfsg.1.orig.tar.xz

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 10.12

Hi,

The updates referenced in these requests were included in oldstable as
part of today's 10.12 point release.

Regards,

Adam

--- End Message ---

Reply to: