Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package obs-service-cargo for 
openSUSE:Factory checked in at 2024-03-17 22:15:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-cargo (Old)
 and      /work/SRC/openSUSE:Factory/.obs-service-cargo.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "obs-service-cargo"

Sun Mar 17 22:15:15 2024 rev:12 rq:1158489 version:1.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-cargo/obs-service-cargo.changes      
2024-03-02 23:24:36.061836424 +0100
+++ 
/work/SRC/openSUSE:Factory/.obs-service-cargo.new.1905/obs-service-cargo.changes
    2024-03-17 22:15:46.715891900 +0100
@@ -1,0 +2,6 @@
+Sat Mar  9 13:26:57 UTC 2024 - Soc Virnyl Estela 
<[email protected]>
+
+- Update to version 1.2.1:
+  * Add experimental vendor_filterer support
+
+-------------------------------------------------------------------

Old:
----
  obs-service-cargo-1.1.0.tar.gz

New:
----
  obs-service-cargo-1.2.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ obs-service-cargo.spec ++++++
--- /var/tmp/diff_new_pack.nR1Bok/_old  2024-03-17 22:15:48.963974372 +0100
+++ /var/tmp/diff_new_pack.nR1Bok/_new  2024-03-17 22:15:48.967974518 +0100
@@ -22,7 +22,7 @@
 Group:          Development/Tools/Building
 # Repository name subject to change
 URL:            https://github.com/openSUSE/obs-service-cargo_vendor
-Version:        1.1.0
+Version:        1.2.1
 Release:        0
 Source0:        
https://github.com/openSUSE/obs-service-cargo_vendor/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        vendor.tar.zst

++++++ obs-service-cargo-1.1.0.tar.gz -> obs-service-cargo-1.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.1.0/Cargo.lock 
new/obs-service-cargo_vendor-1.2.1/Cargo.lock
--- old/obs-service-cargo_vendor-1.1.0/Cargo.lock       2024-03-02 
18:49:39.000000000 +0100
+++ new/obs-service-cargo_vendor-1.2.1/Cargo.lock       2024-03-07 
05:29:23.000000000 +0100
@@ -76,9 +76,9 @@
 
 [[package]]
 name = "arc-swap"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+checksum = "7b3d0060af21e8d11a926981cc00c6c1541aa91dd64b9f881985c3da1094425f"
 
 [[package]]
 name = "arrayvec"
@@ -145,7 +145,7 @@
 checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
- "regex-automata 0.4.5",
+ "regex-automata 0.4.6",
  "serde",
 ]
 
@@ -160,7 +160,7 @@
 
 [[package]]
 name = "bulk-updater"
-version = "1.1.0"
+version = "1.2.0"
 dependencies = [
  "clap",
  "obs-service-cargo",
@@ -231,10 +231,11 @@
 
 [[package]]
 name = "cc"
-version = "1.0.88"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
+ "jobserver",
  "libc",
 ]
 
@@ -257,9 +258,9 @@
 
 [[package]]
 name = "clap"
-version = "4.5.1"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -267,9 +268,9 @@
 
 [[package]]
 name = "clap_builder"
-version = "4.5.1"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstream",
  "anstyle",
@@ -1401,9 +1402,9 @@
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -1523,10 +1524,19 @@
 checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
+name = "jobserver"
+version = "0.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1738,7 +1748,7 @@
 
 [[package]]
 name = "obs-service-cargo"
-version = "1.1.0"
+version = "1.2.0"
 dependencies = [
  "bzip2",
  "clap",
@@ -1974,7 +1984,7 @@
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.5",
+ "regex-automata 0.4.6",
  "regex-syntax 0.8.2",
 ]
 
@@ -1989,9 +1999,9 @@
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2796,9 +2806,9 @@
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2806,9 +2816,9 @@
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
@@ -2821,9 +2831,9 @@
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.41"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -2833,9 +2843,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2843,9 +2853,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2856,15 +2866,15 @@
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "web-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.1.0/Cargo.toml 
new/obs-service-cargo_vendor-1.2.1/Cargo.toml
--- old/obs-service-cargo_vendor-1.1.0/Cargo.toml       2024-03-02 
18:49:39.000000000 +0100
+++ new/obs-service-cargo_vendor-1.2.1/Cargo.toml       2024-03-07 
05:29:23.000000000 +0100
@@ -12,7 +12,7 @@
 resolver = "2"
 
 [workspace.package]
-version = "1.1.0"
+version = "1.2.0"
 description = "OBS Source Service and utilities for Rust software packaging."
 authors = [
   "Soc Virnyl Estela <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.1.0/bulk-updater/src/operations.rs 
new/obs-service-cargo_vendor-1.2.1/bulk-updater/src/operations.rs
--- old/obs-service-cargo_vendor-1.1.0/bulk-updater/src/operations.rs   
2024-03-02 18:49:39.000000000 +0100
+++ new/obs-service-cargo_vendor-1.2.1/bulk-updater/src/operations.rs   
2024-03-07 05:29:23.000000000 +0100
@@ -287,6 +287,7 @@
         let mut accept_risks: Vec<String> = Vec::new();
         let mut src: String = String::new();
         let mut tag: Option<String> = None;
+        let mut filter = false; // Still experimental, so default=false for now
         let outdir = package_path.to_path_buf();
         for param in params.iter() {
             if let Some(name) = param.name.clone() {
@@ -317,6 +318,11 @@
                         accept_risks.push(String::from(text));
                     }
                 };
+                if name == "filter" {
+                    if let Some(val) = param.text.as_ref().and_then(|t| 
t.parse::<bool>().ok()) {
+                        filter = val;
+                    }
+                };
             }
         }
         if compression.is_empty() || src.is_empty() {
@@ -346,6 +352,7 @@
             outdir,
             color: colorize,
             i_accept_the_risk: accept_risks,
+            filter,
         };
         srcpath
             .run_vendor(&new_opts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.1.0/cargo/src/cli.rs 
new/obs-service-cargo_vendor-1.2.1/cargo/src/cli.rs
--- old/obs-service-cargo_vendor-1.1.0/cargo/src/cli.rs 2024-03-02 
18:49:39.000000000 +0100
+++ new/obs-service-cargo_vendor-1.2.1/cargo/src/cli.rs 2024-03-07 
05:29:23.000000000 +0100
@@ -53,6 +53,8 @@
     pub cargotoml: Vec<PathBuf>,
     #[arg(long, default_value_t = true, action = clap::ArgAction::Set, help = 
"Update dependencies or not")]
     pub update: bool,
+    #[arg(long, default_value_t = false, action = clap::ArgAction::Set, help = 
"EXPERIMENTAL: Reduce vendor-tarball size by filtering out non-Linux 
dependencies.")]
+    pub filter: bool,
     #[arg(long, help = "Where to output vendor.tar* and cargo_config")]
     pub outdir: PathBuf,
     #[arg(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.1.0/cargo/src/utils/mod.rs 
new/obs-service-cargo_vendor-1.2.1/cargo/src/utils/mod.rs
--- old/obs-service-cargo_vendor-1.1.0/cargo/src/utils/mod.rs   2024-03-02 
18:49:39.000000000 +0100
+++ new/obs-service-cargo_vendor-1.2.1/cargo/src/utils/mod.rs   2024-03-07 
05:29:23.000000000 +0100
@@ -228,7 +228,13 @@
     process_reports(reports)?;
 
     if hasdeps {
-        vendor(prjdir, &cargo_config, &first_manifest, &manifest_files)?;
+        vendor(
+            prjdir,
+            &cargo_config,
+            &first_manifest,
+            &manifest_files,
+            args.filter,
+        )?;
 
         // Finally, compress everything together.
         let compression: &Compression = &args.compression;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.1.0/cargo/src/vendor.rs 
new/obs-service-cargo_vendor-1.2.1/cargo/src/vendor.rs
--- old/obs-service-cargo_vendor-1.1.0/cargo/src/vendor.rs      2024-03-02 
18:49:39.000000000 +0100
+++ new/obs-service-cargo_vendor-1.2.1/cargo/src/vendor.rs      2024-03-07 
05:29:23.000000000 +0100
@@ -52,27 +52,60 @@
     cargo_config: impl AsRef<Path>,
     manifest_path: impl AsRef<Path>,
     extra_manifest_paths: &[impl AsRef<Path>],
+    filter: bool,
 ) -> Result<(), OBSCargoError> {
-    let mut vendor_options: Vec<OsString> = vec![
-        "-vv".into(),
-        "--manifest-path".into(),
-        manifest_path.as_ref().into(),
-    ];
+    let mut vendor_options: Vec<OsString> =
+        vec!["--manifest-path".into(), manifest_path.as_ref().into()];
 
+    let mut using_sync = false;
     for ex_path in extra_manifest_paths {
         vendor_options.push("--sync".into());
         vendor_options.push(ex_path.as_ref().into());
+        using_sync = true;
     }
 
+    // cargo-vendor-filterer doesn't yet support `--sync` (will have it in the 
next release, hopefully).
+    // In the meantime, or, if filtering is explicitly disabled, use the 
normal vendor-subcommand.
+    let using_vendor_filterer = filter && !using_sync;
+    if filter && !using_vendor_filterer {
+        warn!(
+            "⚠️ Cannot use 'filter' in this crate yet. Falling back to 
regular, unfiltered vendoring."
+        );
+    }
+
+    let cargo_subcommand = if using_vendor_filterer {
+        info!("Filter set to true. Only vendoring crates for platforms 
*-unknown-linux-gnu and wasm32-*");
+        vendor_options.push("--platform=*-unknown-linux-gnu".into());
+        // Some crates compile their plugins to WASM, so we need those 
dependencies as well.
+        // Conservatively adding them everywhere, even if they are not needed 
everywhere.
+        // But the impact should be small.
+        vendor_options.push("--platform=wasm32-wasi".into());
+        vendor_options.push("--platform=wasm32-unknown-unknown".into());
+        // We are conservative here and vendor all possible features, even
+        // if they are not used in the spec. But we can't know.
+        // Maybe make this configurable?
+        vendor_options.push("--all-features=true".into());
+        // vendor-filterer could theoretically also create the tarballs for us,
+        // with using `--format=tar.zstd` for example. But we need to include
+        // additional files and it also doesn't support all 
compression-schemes.
+        vendor_options.push("--format=dir".into());
+        "vendor-filterer"
+    } else {
+        // cargo-vendor-filterer doesn't support `-vv`
+        vendor_options.push("-vv".into());
+        "vendor"
+    };
+
     debug!(?vendor_options);
 
-    let cargo_vendor_output = cargo_command("vendor", &vendor_options, 
&prjdir).map_err(|e| {
-        error!(err = %e);
-        OBSCargoError::new(
-            OBSCargoErrorKind::VendorError,
-            "Unable to execute cargo".to_string(),
-        )
-    })?;
+    let cargo_vendor_output =
+        cargo_command(cargo_subcommand, &vendor_options, &prjdir).map_err(|e| {
+            error!(err = %e);
+            OBSCargoError::new(
+                OBSCargoErrorKind::VendorError,
+                "Unable to execute cargo".to_string(),
+            )
+        })?;
 
     if let Some(p_path) = cargo_config.as_ref().parent() {
         fs::create_dir_all(p_path).map_err(|err| {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.1.0/cargo_vendor.service 
new/obs-service-cargo_vendor-1.2.1/cargo_vendor.service
--- old/obs-service-cargo_vendor-1.1.0/cargo_vendor.service     2024-03-02 
18:49:39.000000000 +0100
+++ new/obs-service-cargo_vendor-1.2.1/cargo_vendor.service     2024-03-07 
05:29:23.000000000 +0100
@@ -31,4 +31,9 @@
   <parameter name="cargotoml">
     <description>Specify a Cargo.toml to use. Can be specified multiple times. 
Default will autodetect.</description>
   </parameter>
+  <parameter name="filter">
+    <description>EXPERIMENTAL: Reduce vendor-tarball size by filtering out 
non-Linux dependencies.</description>
+    <allowedvalue>false</allowedvalue>
+    <allowedvalue>true</allowedvalue>
+  </parameter>
 </service>

++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.nR1Bok/_old and 
/var/tmp/diff_new_pack.nR1Bok/_new differ

Reply via email to