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 2025-10-11 22:51:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-cargo (Old)
 and      /work/SRC/openSUSE:Factory/.obs-service-cargo.new.5300 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "obs-service-cargo"

Sat Oct 11 22:51:03 2025 rev:46 rq:1310732 version:7.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-cargo/obs-service-cargo.changes      
2025-09-29 16:35:18.330172426 +0200
+++ 
/work/SRC/openSUSE:Factory/.obs-service-cargo.new.5300/obs-service-cargo.changes
    2025-10-11 22:52:20.278569048 +0200
@@ -1,0 +2,39 @@
+Sat Oct 04 14:01:17 UTC 2025 - Soc Virnyl Estela 
<[email protected]>
+
+- Update to version 7.2.0:
+  * chore: bump version to 7.2.0
+  * docs: only vendor method has a vendor directory inside the generated 
tarball
+  * fix: correct wording in README for setting CARGO_HOME
+  * ci: rename file to ci.yml
+  * fix: update README to improve clarity on obs-service-cargo functionality
+  * fix: remove rustup show command and let rustup select automagically
+  * Revert "fix: move checkout step to the beginning of each job in build 
workflow"
+  * fix: move checkout step to the beginning of each job in build workflow
+  * fix: run jobs in parallel for build, tests and style
+  * style: run cargo fmt
+  * fix: ensure vendor directory is copied only when dependencies exist
+  * docs: update README for clarity and additional instructions on vendoring 
without dependencies
+  * style: "collapsible-if" clippy suggestion applied
+  * Revert "tests: vendor path should exist as an empty directory if crate has 
no dependencies"
+  * refactor: revert back to no vendor directory.
+  * tests: vendor path should exist as an empty directory if crate has no 
dependencies
+  * refactor: remove outdated TODO comment in run_cargo_vendor function
+  * deps: update libroast version to 10.1
+  * add a todo here
+  * tests: vendor dir is not created
+  * tests: no dependency packages still produce vendored tarballs now.
+  * refactor: update cargo_vendor return signature to Result<Option<(PathBuf, 
String, bool)>>
+  * refactor: improve message about no dependencies
+  * refactor: still produce a registry.tar here
+  * fix: refactor to resolve "cannot find value `output_cargo_configuration` 
in this scope"
+  * format: run cargo fmt
+  * fix: ensure vendor.tar.<compression> is created even if no dependencies
+
+-------------------------------------------------------------------
+Fri Oct 03 14:24:10 UTC 2025 - Soc Virnyl Estela 
<[email protected]>
+
+- Update to version 7.1.2:
+  * chore: release v7.1.2
+  * deps: update libroast to v10.0.2 in Cargo.lock
+
+-------------------------------------------------------------------

Old:
----
  obs-service-cargo-7.1.1.tar.zst

New:
----
  obs-service-cargo-7.2.0.tar.zst

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

Other differences:
------------------
++++++ obs-service-cargo.spec ++++++
--- /var/tmp/diff_new_pack.86eK7u/_old  2025-10-11 22:52:21.066602360 +0200
+++ /var/tmp/diff_new_pack.86eK7u/_new  2025-10-11 22:52:21.070602529 +0200
@@ -22,7 +22,7 @@
 Group:          Development/Tools/Building
 # Repository name subject to change
 URL:            https://github.com/openSUSE-Rust/%{name}
-Version:        7.1.1
+Version:        7.2.0
 Release:        0
 Source0:        %{name}-%{version}.tar.zst
 Source1:        vendor.tar.zst

++++++ _service ++++++
--- /var/tmp/diff_new_pack.86eK7u/_old  2025-10-11 22:52:21.150605911 +0200
+++ /var/tmp/diff_new_pack.86eK7u/_new  2025-10-11 22:52:21.154606080 +0200
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <services>
   <service name="cargo_vendor" mode="manual">
     <param 
name="src">https://github.com/openSUSE-Rust/obs-service-cargo</param>
@@ -6,7 +7,7 @@
     <param name="versionrewriteregex">^v?(.*)</param>
     <param name="versionrewritepattern">${1}</param>
     <param name="changesgenerate">true</param>
-    <param name="revision">master</param>
+    <param name="revision">v7.2.0</param>
     <param name="changesauthor">Soc Virnyl Estela</param>
     <param name="changesemail">[email protected]</param>
   </service>

++++++ obs-service-cargo-7.1.1.tar.zst -> obs-service-cargo-7.2.0.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/CHANGELOG.md 
new/obs-service-cargo-7.2.0/CHANGELOG.md
--- old/obs-service-cargo-7.1.1/CHANGELOG.md    1970-01-01 01:00:00.000000000 
+0100
+++ new/obs-service-cargo-7.2.0/CHANGELOG.md    1970-01-01 01:00:00.000000000 
+0100
@@ -2,6 +2,65 @@
 
 All notable changes to this project will be documented in this file.
 
+## [7.2.0] - 2025-10-04
+
+### Bug Fixes
+
+- Correct wording in README for setting CARGO_HOME 
[be6ac9e](https://github.com/openSUSE-Rust/obs-service-cargo/commit/be6ac9ee6d05949e5d6390a3d0c4092fb1f02546)
+- Update README to improve clarity on obs-service-cargo functionality 
[5a153b4](https://github.com/openSUSE-Rust/obs-service-cargo/commit/5a153b4cd592100d387904927f79ad149b38e327)
+- Remove rustup show command and let rustup select automagically 
[69d467c](https://github.com/openSUSE-Rust/obs-service-cargo/commit/69d467ce316d349cbc0b8884e7c999a07240fac7)
+- Move checkout step to the beginning of each job in build workflow 
[c34e4e7](https://github.com/openSUSE-Rust/obs-service-cargo/commit/c34e4e79abc85cc2f4cd3a4185813c57f5461627)
+- Run jobs in parallel for build, tests and style 
[c82f29a](https://github.com/openSUSE-Rust/obs-service-cargo/commit/c82f29a23e769450f2ee24da0725ff954ce35b7b)
+- Ensure vendor directory is copied only when dependencies exist 
[f309811](https://github.com/openSUSE-Rust/obs-service-cargo/commit/f309811b5f9bcd2e7f4fe78b37cbbb87759d749d)
+- Refactor to resolve "cannot find value `output_cargo_configuration` in this 
scope" 
[9d18985](https://github.com/openSUSE-Rust/obs-service-cargo/commit/9d18985232d6aeb613d294afa872ff760803dc0b)
+- Ensure vendor.tar.<compression> is created even if no dependencies 
[e1de78e](https://github.com/openSUSE-Rust/obs-service-cargo/commit/e1de78e4fb187b1d7f093bb894df039f6991723d)
+
+### Continuous Integrations
+
+- Rename file to ci.yml 
[aae0031](https://github.com/openSUSE-Rust/obs-service-cargo/commit/aae0031d9147bd294ea388ecbef704b12ff7567b)
+
+### Dependencies
+
+- Update libroast version to 10.1 
[d6d7b23](https://github.com/openSUSE-Rust/obs-service-cargo/commit/d6d7b236af2529ed2c95927adbbd398ea4f756c2)
+
+### Documentation
+
+- Only vendor method has a vendor directory inside the generated tarball 
[1a49830](https://github.com/openSUSE-Rust/obs-service-cargo/commit/1a49830d2f798c1c866b20ea148887f95412d198)
+- Update README for clarity and additional instructions on vendoring without 
dependencies 
[5fc4ce9](https://github.com/openSUSE-Rust/obs-service-cargo/commit/5fc4ce96d4502ea67c028b68df58af3d991ac6be)
+
+### Other
+
+- Run cargo fmt 
[0798b2b](https://github.com/openSUSE-Rust/obs-service-cargo/commit/0798b2b68e1abc99af2bb4e9a626c70b289373dc)
+
+### Refactor
+
+- Revert back to no vendor directory. 
[525fa35](https://github.com/openSUSE-Rust/obs-service-cargo/commit/525fa356c2cc2afde69df9886cfa3838dde7bc27)
+- Remove outdated TODO comment in run_cargo_vendor function 
[85ef0e6](https://github.com/openSUSE-Rust/obs-service-cargo/commit/85ef0e6b8b4e8e777a6da8c30dfbd80a4c06890d)
+- Update cargo_vendor return signature to Result<Option<(PathBuf, String, 
bool)>> 
[e08586c](https://github.com/openSUSE-Rust/obs-service-cargo/commit/e08586c5301199f5ac99cba87293515052c4b79d)
+- Improve message about no dependencies 
[9d86210](https://github.com/openSUSE-Rust/obs-service-cargo/commit/9d86210a7e4310d4dc4ce3335d53555b54a4fb25)
+- Still produce a registry.tar here 
[6634761](https://github.com/openSUSE-Rust/obs-service-cargo/commit/663476127033fd5e3d0de74065a160adc91b5826)
+
+### Styling
+
+- Run cargo fmt 
[0ad66bc](https://github.com/openSUSE-Rust/obs-service-cargo/commit/0ad66bc7a9c0144713db803e4352df43d73c6b15)
+- "collapsible-if" clippy suggestion applied 
[0fb8927](https://github.com/openSUSE-Rust/obs-service-cargo/commit/0fb89272bae62aff68a62bcb8981c9507e297f58)
+
+### Testing
+
+- Vendor path should exist as an empty directory if crate has no dependencies 
[a1da422](https://github.com/openSUSE-Rust/obs-service-cargo/commit/a1da42228183e989bc5c73a6e43de375dd69d8ff)
+- Vendor dir is not created 
[ae0be4e](https://github.com/openSUSE-Rust/obs-service-cargo/commit/ae0be4e4e665874f7d4c19e1ea6c7571230f67ec)
+- No dependency packages still produce vendored tarballs now. 
[f7c33e7](https://github.com/openSUSE-Rust/obs-service-cargo/commit/f7c33e7992ebe08edee3598d0e0e02a809df192a)
+
+## [7.1.2] - 2025-09-26
+
+### Dependencies
+
+- Update libroast to v10.0.2 in Cargo.lock 
[ef54bea](https://github.com/openSUSE-Rust/obs-service-cargo/commit/ef54bead96208ab4bfead4aee86a332c90c06f59)
+
+### Miscellaneous Tasks
+
+- Release v7.1.2 
[856bc29](https://github.com/openSUSE-Rust/obs-service-cargo/commit/856bc29180969cb575cf8fff25f23c6ccddfbcab)
+
 ## [7.1.1] - 2025-09-21
 
 ### Bug Fixes
@@ -10,6 +69,7 @@
 
 ### Miscellaneous Tasks
 
+- Release v7.1.1 
[3a85227](https://github.com/openSUSE-Rust/obs-service-cargo/commit/3a85227e653aa94538d66876d635a21f33253607)
 - Update Cargo.lock 
[c957a8e](https://github.com/openSUSE-Rust/obs-service-cargo/commit/c957a8ea9a71a5b945ef1716dc70b862a72c0db0)
 - Ignore workspace vscode config 
[08db61e](https://github.com/openSUSE-Rust/obs-service-cargo/commit/08db61e0caf8b195fc4ac96d22bccb13a2fd579a)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/Cargo.lock 
new/obs-service-cargo-7.2.0/Cargo.lock
--- old/obs-service-cargo-7.1.1/Cargo.lock      1970-01-01 01:00:00.000000000 
+0100
+++ new/obs-service-cargo-7.2.0/Cargo.lock      1970-01-01 01:00:00.000000000 
+0100
@@ -4,9 +4,9 @@
 
 [[package]]
 name = "addr2line"
-version = "0.24.2"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
+checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b"
 dependencies = [
  "gimli",
 ]
@@ -46,9 +46,9 @@
 
 [[package]]
 name = "anstream"
-version = "0.6.20"
+version = "0.6.21"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192"
+checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -61,9 +61,9 @@
 
 [[package]]
 name = "anstyle"
-version = "1.0.11"
+version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd"
+checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
 
 [[package]]
 name = "anstyle-parse"
@@ -114,9 +114,9 @@
 
 [[package]]
 name = "async-compression"
-version = "0.4.30"
+version = "0.4.32"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "977eb15ea9efd848bb8a4a1a2500347ed7f0bf794edf0dc3ddcf439f43d36b23"
+checksum = "5a89bce6054c720275ac2432fbba080a66a2106a44a1b804553930ca6909f4e0"
 dependencies = [
  "compression-codecs",
  "compression-core",
@@ -161,9 +161,9 @@
 
 [[package]]
 name = "backtrace"
-version = "0.3.75"
+version = "0.3.76"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
+checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6"
 dependencies = [
  "addr2line",
  "cfg-if",
@@ -171,7 +171,7 @@
  "miniz_oxide",
  "object",
  "rustc-demangle",
- "windows-targets 0.52.6",
+ "windows-link 0.2.0",
 ]
 
 [[package]]
@@ -267,9 +267,9 @@
 
 [[package]]
 name = "camino"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e1de8bc0aa9e9385ceb3bf0c152e3a9b9544f6c4a912c8ae504e80c1f0368603"
+checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609"
 
 [[package]]
 name = "cargo-lock"
@@ -285,9 +285,9 @@
 
 [[package]]
 name = "cc"
-version = "1.2.38"
+version = "1.2.40"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "80f41ae168f955c12fb8960b057d70d0ca153fb83182b57d86380443527be7e9"
+checksum = "e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb"
 dependencies = [
  "find-msvc-tools",
  "jobserver",
@@ -382,9 +382,9 @@
 
 [[package]]
 name = "compression-codecs"
-version = "0.4.30"
+version = "0.4.31"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "485abf41ac0c8047c07c87c72c8fb3eb5197f6e9d7ded615dfd1a00ae00a0f64"
+checksum = "ef8a506ec4b81c460798f572caead636d57d3d7e940f998160f52bd254bf2d23"
 dependencies = [
  "compression-core",
  "flate2",
@@ -502,12 +502,12 @@
 
 [[package]]
 name = "deranged"
-version = "0.5.3"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc"
+checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071"
 dependencies = [
  "powerfmt",
- "serde",
+ "serde_core",
 ]
 
 [[package]]
@@ -586,7 +586,7 @@
 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
 dependencies = [
  "libc",
- "windows-sys 0.61.0",
+ "windows-sys 0.61.1",
 ]
 
 [[package]]
@@ -619,9 +619,9 @@
 
 [[package]]
 name = "find-msvc-tools"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959"
+checksum = "0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3"
 
 [[package]]
 name = "flate2"
@@ -762,9 +762,9 @@
 
 [[package]]
 name = "gimli"
-version = "0.31.1"
+version = "0.32.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
+checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
 
 [[package]]
 name = "git2"
@@ -1629,9 +1629,9 @@
 
 [[package]]
 name = "hifitime"
-version = "4.2.0"
+version = "4.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6bcc71d459e299e045d3328cc4be250c80f2cf87a73c309d562e8afc52c88a23"
+checksum = "8ca4780c17998a6d7089dac984f76aa860324dbf7451f11cf915d7f199846bec"
 dependencies = [
  "js-sys",
  "lexical-core",
@@ -2002,9 +2002,9 @@
 
 [[package]]
 name = "js-sys"
-version = "0.3.80"
+version = "0.3.81"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "852f13bec5eba4ba9afbeb93fd7c13fe56147f055939ae21c43a29a0ecb2702e"
+checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305"
 dependencies = [
  "once_cell",
  "wasm-bindgen",
@@ -2027,9 +2027,9 @@
 
 [[package]]
 name = "lexical-core"
-version = "1.0.5"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b765c31809609075565a70b4b71402281283aeda7ecaf4818ac14a7b2ade8958"
+checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594"
 dependencies = [
  "lexical-parse-float",
  "lexical-parse-integer",
@@ -2038,39 +2038,34 @@
 
 [[package]]
 name = "lexical-parse-float"
-version = "1.0.5"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "de6f9cb01fb0b08060209a057c048fcbab8717b4c1ecd2eac66ebfe39a65b0f2"
+checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56"
 dependencies = [
  "lexical-parse-integer",
  "lexical-util",
- "static_assertions",
 ]
 
 [[package]]
 name = "lexical-parse-integer"
-version = "1.0.5"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "72207aae22fc0a121ba7b6d479e42cbfea549af1479c3f3a4f12c70dd66df12e"
+checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34"
 dependencies = [
  "lexical-util",
- "static_assertions",
 ]
 
 [[package]]
 name = "lexical-util"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5a82e24bf537fd24c177ffbbdc6ebcc8d54732c35b50a3f28cc3f4e4c949a0b3"
-dependencies = [
- "static_assertions",
-]
+checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17"
 
 [[package]]
 name = "libc"
-version = "0.2.175"
+version = "0.2.176"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
+checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174"
 
 [[package]]
 name = "libgit2-sys"
@@ -2105,9 +2100,9 @@
 
 [[package]]
 name = "libroast"
-version = "10.0.1"
+version = "10.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "228d33cf192a3d4b72e9e051d5427b1393c8256048c7d532d87382dd977ce387"
+checksum = "9b3b5fd0b46600cc268fb2a1e9704ae4c26f78188d9f01d08f6c8666d6eb77b1"
 dependencies = [
  "bzip2",
  "clap",
@@ -2178,11 +2173,10 @@
 
 [[package]]
 name = "lock_api"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
+checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
 dependencies = [
- "autocfg",
  "scopeguard",
 ]
 
@@ -2231,9 +2225,9 @@
 
 [[package]]
 name = "memchr"
-version = "2.7.5"
+version = "2.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
+checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
 
 [[package]]
 name = "memmap2"
@@ -2330,16 +2324,16 @@
 
 [[package]]
 name = "object"
-version = "0.36.7"
+version = "0.37.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
+checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "obs-service-cargo"
-version = "7.1.1"
+version = "7.2.0"
 dependencies = [
  "blake3",
  "clap",
@@ -2420,9 +2414,9 @@
 
 [[package]]
 name = "parking_lot"
-version = "0.12.4"
+version = "0.12.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
+checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
 dependencies = [
  "lock_api",
  "parking_lot_core",
@@ -2430,15 +2424,15 @@
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.11"
+version = "0.9.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
+checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
 dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-targets 0.52.6",
+ "windows-link 0.2.0",
 ]
 
 [[package]]
@@ -2637,9 +2631,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.40"
+version = "1.0.41"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
 dependencies = [
  "proc-macro2",
 ]
@@ -2725,9 +2719,9 @@
 
 [[package]]
 name = "regex"
-version = "1.11.2"
+version = "1.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912"
+checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2737,9 +2731,9 @@
 
 [[package]]
 name = "regex-automata"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6"
+checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2842,7 +2836,7 @@
  "errno",
  "libc",
  "linux-raw-sys",
- "windows-sys 0.61.0",
+ "windows-sys 0.61.1",
 ]
 
 [[package]]
@@ -2868,7 +2862,7 @@
  "openssl-probe",
  "rustls-pki-types",
  "schannel",
- "security-framework 3.4.0",
+ "security-framework 3.5.1",
 ]
 
 [[package]]
@@ -2883,9 +2877,9 @@
 
 [[package]]
 name = "rustls-webpki"
-version = "0.103.6"
+version = "0.103.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb"
+checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf"
 dependencies = [
  "ring",
  "rustls-pki-types",
@@ -2940,7 +2934,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1"
 dependencies = [
- "windows-sys 0.61.0",
+ "windows-sys 0.61.1",
 ]
 
 [[package]]
@@ -2964,9 +2958,9 @@
 
 [[package]]
 name = "security-framework"
-version = "3.4.0"
+version = "3.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640"
+checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef"
 dependencies = [
  "bitflags",
  "core-foundation 0.10.1",
@@ -2997,9 +2991,9 @@
 
 [[package]]
 name = "serde"
-version = "1.0.226"
+version = "1.0.228"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd"
+checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
 dependencies = [
  "serde_core",
  "serde_derive",
@@ -3007,18 +3001,18 @@
 
 [[package]]
 name = "serde_core"
-version = "1.0.226"
+version = "1.0.228"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ba2ba63999edb9dac981fb34b3e5c0d111a69b0924e253ed29d83f7c99e966a4"
+checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.226"
+version = "1.0.228"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8db53ae22f34573731bafa1db20f04027b2d25e02d8205921b569171699cdb33"
+checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3285,15 +3279,15 @@
 
 [[package]]
 name = "tempfile"
-version = "3.22.0"
+version = "3.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53"
+checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
 dependencies = [
  "fastrand",
  "getrandom 0.3.3",
  "once_cell",
  "rustix",
- "windows-sys 0.61.0",
+ "windows-sys 0.61.1",
 ]
 
 [[package]]
@@ -3342,18 +3336,18 @@
 
 [[package]]
 name = "thiserror"
-version = "2.0.16"
+version = "2.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0"
+checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "2.0.16"
+version = "2.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960"
+checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3468,9 +3462,9 @@
 
 [[package]]
 name = "tokio-rustls"
-version = "0.26.3"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "05f63835928ca123f1bef57abbcd23bb2ba0ac9ae1235f1e65bda0d06e7786bd"
+checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
 dependencies = [
  "rustls",
  "tokio",
@@ -3683,9 +3677,9 @@
 
 [[package]]
 name = "typenum"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
+checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
 
 [[package]]
 name = "uluru"
@@ -3820,9 +3814,9 @@
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.103"
+version = "0.2.104"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ab10a69fbd0a177f5f649ad4d8d3305499c42bab9aef2f7ff592d0ec8f833819"
+checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -3833,9 +3827,9 @@
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.103"
+version = "0.2.104"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0bb702423545a6007bbc368fde243ba47ca275e549c8a28617f56f6ba53b1d1c"
+checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19"
 dependencies = [
  "bumpalo",
  "log",
@@ -3847,9 +3841,9 @@
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.53"
+version = "0.4.54"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a0b221ff421256839509adbb55998214a70d829d3a28c69b4a6672e9d2a42f67"
+checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3860,9 +3854,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.103"
+version = "0.2.104"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "fc65f4f411d91494355917b605e1480033152658d71f722a90647f56a70c88a0"
+checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3870,9 +3864,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.103"
+version = "0.2.104"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ffc003a991398a8ee604a401e194b6b3a39677b3173d6e74495eb51b82e99a32"
+checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3883,18 +3877,18 @@
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.103"
+version = "0.2.104"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "293c37f4efa430ca14db3721dfbe48d8c33308096bd44d80ebaa775ab71ba1cf"
+checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "web-sys"
-version = "0.3.80"
+version = "0.3.81"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "fbe734895e869dc429d78c4b433f8d17d95f8d05317440b4fad5ab2d33e596dc"
+checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -3932,7 +3926,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
 dependencies = [
- "windows-sys 0.61.0",
+ "windows-sys 0.61.1",
 ]
 
 [[package]]
@@ -4006,14 +4000,14 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
 dependencies = [
- "windows-targets 0.53.3",
+ "windows-targets 0.53.4",
 ]
 
 [[package]]
 name = "windows-sys"
-version = "0.61.0"
+version = "0.61.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa"
+checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f"
 dependencies = [
  "windows-link 0.2.0",
 ]
@@ -4036,11 +4030,11 @@
 
 [[package]]
 name = "windows-targets"
-version = "0.53.3"
+version = "0.53.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
+checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b"
 dependencies = [
- "windows-link 0.1.3",
+ "windows-link 0.2.0",
  "windows_aarch64_gnullvm 0.53.0",
  "windows_aarch64_msvc 0.53.0",
  "windows_i686_gnu 0.53.0",
@@ -4170,9 +4164,9 @@
 
 [[package]]
 name = "xattr"
-version = "1.6.0"
+version = "1.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3dcb0141bd8bbcb13a2051a31d73a30033997fc22dfb5a2d1e1ee4bf2d2b2b01"
+checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156"
 dependencies = [
  "libc",
  "rustix",
@@ -4254,9 +4248,9 @@
 
 [[package]]
 name = "zeroize"
-version = "1.8.1"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
+checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
 
 [[package]]
 name = "zerotrie"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/Cargo.toml 
new/obs-service-cargo-7.2.0/Cargo.toml
--- old/obs-service-cargo-7.1.1/Cargo.toml      1970-01-01 01:00:00.000000000 
+0100
+++ new/obs-service-cargo-7.2.0/Cargo.toml      1970-01-01 01:00:00.000000000 
+0100
@@ -4,7 +4,7 @@
 resolver = "2"
 
 [workspace.package]
-version = "7.1.1"
+version = "7.2.0"
 description = "OBS Source Service and utilities for Rust software packaging."
 authors = [
         "Soc Virnyl Estela <[email protected]>",
@@ -15,7 +15,7 @@
 
 [workspace.dependencies]
 rustsec = "0.30"
-libroast = { version = "10", features = ["obs"] }
+libroast = { version = "10.1", features = ["obs"] }
 clap = "4.4"
 glob = "0.3"
 tracing = { version = "0.1", features = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/README.md 
new/obs-service-cargo-7.2.0/README.md
--- old/obs-service-cargo-7.1.1/README.md       1970-01-01 01:00:00.000000000 
+0100
+++ new/obs-service-cargo-7.2.0/README.md       1970-01-01 01:00:00.000000000 
+0100
@@ -3,14 +3,16 @@
 [![Build OBS Service 
Cargo](https://github.com/openSUSE/obs-service-cargo_vendor/actions/workflows/build.yml/badge.svg)](https://github.com/openSUSE/obs-service-cargo_vendor/actions/workflows/build.yml)
 [![build 
result](https://build.opensuse.org/projects/devel:languages:rust/packages/obs-service-cargo/badge.svg?type=percent)](https://build.opensuse.org/package/show/devel:languages:rust/obs-service-cargo)
 
+`obs-service-cargo` is an Open Build Service source service that automates 
Cargo vendoring for Rust projects. It streamlines packaging for packagers by 
auditing lockfiles, resolving dependencies, and vendoring crates. With tight 
OBS integration, packagers can ship Rust software quickly with a single command 
and minimal configuration.
+
 > [!IMPORTANT]
 > The original obs-service-cargo_audit is now deprecated as the vendoring 
 > process now
 > includes audit.
 
 > [!IMPORTANT]
-> An informative tutorial for packaging Rust software in openSUSE can be found 
at https://en.opensuse.org/openSUSE:Packaging_Rust_Software.
+> An informative tutorial for packaging Rust software in openSUSE can be found 
at <https://en.opensuse.org/openSUSE:Packaging_Rust_Software>.
 
-## A quick example on how to run this service
+## Quick Start
 
 A Rust project has a root manifest, usually located at
 the top-most level directory of the project.
@@ -46,8 +48,9 @@
 with the filename `vendor.tar.zst` since **zstd** is the default compression 
format.
 
 The files inside the vendored tarball contains the following:
+
 - a lockfile `Cargo.lock`. Sometimes it does not exist if the project 
directory is super different e.g. flux
-- other lockfiles and their respective directories. See more 
[here](#about-lockfiles)
+- other lockfiles and their respective directories. [See more 
here](#about-lockfiles)
 - a `.cargo/config`
 - the crates that were fetched during the vendor process.
 
@@ -70,7 +73,7 @@
 ```
 
 No need to copy a `cargo_config` or a lockfile to somewhere else or add it as 
part of
-the sources in the specfile. *They are all part of the vendored tarball now*.
+the sources in the specfile. _They are all part of the vendored tarball now_.
 
 The **registry** method uses `cargo fetch` under the hood, generating vendored 
tarballs
 with the filename `registry.tar.zst` since **zstd** is the default compression 
format.
@@ -85,10 +88,37 @@
 └── Cargo.lock
 ```
 
+The prep section will still be similar to **vendor** method.
+
+> [!IMPORTANT]
+> In this scenario, **it is required** to set `$CARGO_HOME` where `.cargo` is 
located.
+> Hence, the build section, the check section and the install section of your 
specfile should look similar to this.
+>
+> ```
+> %build
+> export CARGO_HOME=%{_builddir}/%{buildsubdir}/.cargo  # even just 
$PWD/.cargo is enough
+> %cargo_build
+>
+> %check
+> export CARGO_HOME=%{_builddir}/%{buildsubdir}/.cargo  # even just 
$PWD/.cargo is enough
+> %cargo_test
+>
+> %install
+> export CARGO_HOME=%{_builddir}/%{buildsubdir}/.cargo  # even just 
$PWD/.cargo is enough
+> %cargo_install
+> ```
+
 > [!WARNING]
 > The example `tree` output are what you should expect from projects that have 
 > a common top-level `Cargo.toml`. More configurations below are discussed
 > such as subprojects or monorepo scenarios where a `Cargo.toml` is not at the 
 > top-most level directory of a project.
 
+### No dependencies
+
+We have updated the behaviour of this tool. If there are no dependencies then 
we will ship a vendored tarball from either
+methods with the **vendor** method having no `vendor` directory inside. 
However, we will ship the `Cargo.lock` for both methods. The only
+difference would be the **registry** method still having the cached registry 
located at `$CARGO_HOME/registry` where
+`CARGO_HOME` is a directory pointing to the directory joined with `.cargo`.
+
 ### `cargotoml` behaviours
 
 `cargotoml` is a flag/parameter that is available for **vendor** and 
**registry** methods. However, it's good to know that `cargotoml`
@@ -115,6 +145,7 @@
 ## The `src` parameter
 
 The `src` parameter can be in three types:
+
 - a source directory
 - a source tarball
 - a Git URL
@@ -179,12 +210,12 @@
 for updating specific crates are as follows:
 
 - To pass a `--precise` flag to `cargo-update`, just add `@` and then a
-valid version string e.g. `[email protected]`.
+  valid version string e.g. `[email protected]`.
 - To pass a `--recursive` flag to `cargo-update`, just add `@` and then the
-word `recursive` e.g. `foo@recursive`.
+  word `recursive` e.g. `foo@recursive`.
 - To pass a specific manifest path that depends on the crate
-dependency, just add `+` and then add the specific manifest path
-e.g. `[email protected]+foo/path/Cargo.toml`.
+  dependency, just add `+` and then add the specific manifest path
+  e.g. `[email protected]+foo/path/Cargo.toml`.
 
 > [!IMPORTANT]
 > Note that you cannot combine `--precise` and `--recursive` as stated in 
 > `cargo-help update`.
@@ -226,16 +257,16 @@
 at the top-most level directory of the project.
 
 Since this flag is can be used repeatedly, it's good to know that the 
**first** `cargotoml` flag is considered to be the location of the main 
`Cargo.toml`. Other
-`Cargo.toml` files are passed for ***syncing***.
+`Cargo.toml` files are passed for **_syncing_**.
 
-When adding a `cargotoml` parameter, make sure *it is after the root folder*. 
For example, your project has a top-level directory named `s390-tools`, and 
then you should
+When adding a `cargotoml` parameter, make sure _it is after the root folder_. 
For example, your project has a top-level directory named `s390-tools`, and 
then you should
 omit `s390-tools` and proceed to the files or subdirectories next to it. So a 
manifest file located at `s390-tools/rust/utils/Cargo.toml` will have
 the following `cargotoml` parameter value of `rust/utils/Cargo.toml`.
 
 > [!WARNING]
-> Certain projects may not have a root manifest file, thus, each directory may 
be a separate subproject e.g. https://github.com/ibm-s390-linux/s390-tools 
+> Certain projects may not have a root manifest file, thus, each directory may 
be a separate subproject e.g. https://github.com/ibm-s390-linux/s390-tools
 > and may need some thinking.
-> 
+>
 > ```xml
 > <services>
 >   <service name="cargo_vendor" mode="manual">
@@ -307,6 +338,7 @@
 # Versioned Dirs
 
 The `--versioned-dirs` flag is used when you
+
 - want to know the version quickly
 - prefer this configuration
 
@@ -339,7 +371,7 @@
 # Filter
 
 You can filter platform-specific crates and features
-using `filter` option.  It's still **experimental** and it uses
+using `filter` option. It's still **experimental** and it uses
 [cargo-vendor-filterer](https://github.com/coreos/cargo-vendor-filterer)
 under the hood.
 
@@ -393,7 +425,6 @@
 > [!WARNING]
 > As long as the manifest file contains dependencies or the manifest file is a 
 > workspace
 > that either has workspace dependencies or member crates that have 
 > dependencies, it will produce a vendored tarball. Otherwise, it won't 
 > proceed to produce a tarball.
->
 
 ## With the registry method
 
@@ -429,6 +460,7 @@
 The [flux project](https://github.com/influxdata/flux) can have three 
different configurations below.
 
 **Registry method variant 1**
+
 ```xml
 <services>
   <service name="download_files" mode="manual" />
@@ -451,6 +483,7 @@
 > that the "root" manifest is not at the top-most level of the directory.
 
 **Registry method variant 2**
+
 ```xml
 <services>
   <service name="download_files" mode="manual" />
@@ -465,10 +498,10 @@
 
 > [!NOTE]
 > The second registry method variant is cleaner, as it avoids setting 
 > `no-root-manifest`
-> and it's pretty clear that we are actually defining a **custom**
-> **root** here.
+> and it's pretty clear that we are actually defining a **custom** > **root** 
here.
 
 **Vendor method**
+
 ```xml
 <services>
   <service name="download_files" mode="manual" />
@@ -479,6 +512,7 @@
   </service>
 </services>
 ```
+
 > [!NOTE]
 > The **vendor method** is cleaner than the previous. As we said before, there 
 > is a clear
 > location of where our "root" manifest is.
@@ -525,7 +559,7 @@
 popd
 ```
 
-One caveat with **vendor** method is it can only do *one* thing, so we ended 
up littered with many
+One caveat with **vendor** method is it can only do _one_ thing, so we ended 
up littered with many
 vendored tarballs. While for **registry**, we can have one registry tarball 
and that's it.
 You can see how advantageous it is when you look back at the s390-tools. The 
previous example can be converted to something like this
 if using the **registry** method:
@@ -714,10 +748,10 @@
 OBS Cargo Vendor does a boring way to check for lockfiles:
 
 1. If a manifest is not a workspace manifest, it's likely the lockfile
-is in the directory of where the manifest is
+   is in the directory of where the manifest is
 2. If a manifest is part or a member of a workspace manifest, then it's
-likely that the lockfile is on the path of where the workspace manifest
-is.
+   likely that the lockfile is on the path of where the workspace manifest
+   is.
 
 So we just eagerly take all manifest paths from the parameters, and
 just check if there are any lockfiles there. And then we slap their full
@@ -729,9 +763,11 @@
 > [!IMPORTANT]
 > If a source does not ship a lockfile, we attempt to regenerate it by
 > running the command
+>
 > ```bash
 > cargo generate-lockfile
 > ```
+>
 > This ensures that there will be no errors during a `cargo update` or
 > a build when update is set to false but there was no lockfile originally.
 > Therefore, we check if there is a lockfile **twice**.
@@ -760,8 +796,8 @@
 try to investigate those in the best of our abilities. The goal of this
 project is to help automate some tasks when packaging Rust software. We
 won't assume we can automate where we can a locate a project's root manifest
-file `Cargo.toml`.  Thus, at best, please indicate it with `cargotoml`
-parameter. In the mean time, this will work, *hopefully*, in most projects
+file `Cargo.toml`. Thus, at best, please indicate it with `cargotoml`
+parameter. In the mean time, this will work, _hopefully_, in most projects
 since most projects have a root manifest file.
 
 ## Reproducibility
@@ -777,4 +813,3 @@
 > caught with reproducible builds. Although, the tainted sources can be 
 > identified using
 > reproducible / deterministic generation of the tarballs, those tainted 
 > sources
 > are **only known AFTER a successful malicious attempt**.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/cargo/src/cargo_commands.rs 
new/obs-service-cargo-7.2.0/cargo/src/cargo_commands.rs
--- old/obs-service-cargo-7.1.1/cargo/src/cargo_commands.rs     1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-service-cargo-7.2.0/cargo/src/cargo_commands.rs     1970-01-01 
01:00:00.000000000 +0100
@@ -91,7 +91,7 @@
     update: bool,
     crates: &[String],
     respect_lockfile: bool,
-) -> io::Result<Option<(PathBuf, String)>> {
+) -> io::Result<Option<(PathBuf, String, bool)>> {
     let which_subcommand = if filter { "vendor-filterer" } else { "vendor" };
     let mut default_options: Vec<String> = vec![];
     if versioned_dirs {
@@ -270,19 +270,20 @@
     }
     info!("🛡️🙂 All lockfiles are audited");
 
-    if !global_has_deps {
-        info!("🎉 Nothing to vendor.");
-        return Ok(None);
-    }
-
     match res {
         Ok(output_cargo_configuration) => {
+            if !global_has_deps {
+                info!(
+                    "🎉 No dependencies! Still, we need to regenerate the 
lockfile to ensure cargo works."
+                );
+            }
             info!("🏪 `cargo {}` finished.", &which_subcommand);
             Ok(Some((
                 possible_lockfile
                     .canonicalize()
                     .unwrap_or(possible_lockfile),
                 output_cargo_configuration,
+                global_has_deps,
             )))
         }
         Err(err) => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/cargo/src/lib.rs 
new/obs-service-cargo-7.2.0/cargo/src/lib.rs
--- old/obs-service-cargo-7.1.1/cargo/src/lib.rs        1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-service-cargo-7.2.0/cargo/src/lib.rs        1970-01-01 
01:00:00.000000000 +0100
@@ -11,5 +11,5 @@
 pub mod cli;
 pub mod consts;
 pub mod registry;
-pub mod vendor;
 pub(crate) mod toml_manifest;
+pub mod vendor;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/cargo/src/registry.rs 
new/obs-service-cargo-7.2.0/cargo/src/registry.rs
--- old/obs-service-cargo-7.1.1/cargo/src/registry.rs   1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-service-cargo-7.2.0/cargo/src/registry.rs   1970-01-01 
01:00:00.000000000 +0100
@@ -296,8 +296,9 @@
             info!(
                 "🙂 If you think this is a BUG 🐞, please open an issue at 
<https://github.com/openSUSE-Rust/obs-service-cargo/issues>."
             );
-            info!("🎉 Nothing to vendor.");
-            return Ok(());
+            info!(
+                "🎉 No dependencies! Still, we need to regenerate the lockfile 
to ensure cargo works."
+            );
         }
 
         let registry_src_dir = 
&home_registry_dot_cargo.join("registry").join("src");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/cargo/src/toml_manifest.rs 
new/obs-service-cargo-7.2.0/cargo/src/toml_manifest.rs
--- old/obs-service-cargo-7.1.1/cargo/src/toml_manifest.rs      1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-service-cargo-7.2.0/cargo/src/toml_manifest.rs      1970-01-01 
01:00:00.000000000 +0100
@@ -1,11 +1,11 @@
 use glob::glob;
+use serde::Deserialize;
+use serde::Serialize;
 use std::collections::BTreeMap;
 use std::fs;
 use std::io;
 use std::path::Path;
 use std::path::PathBuf;
-use serde::Deserialize;
-use serde::Serialize;
 
 #[allow(unused_imports)]
 use tracing::{Level, debug, error, info, trace, warn};
@@ -120,23 +120,24 @@
                                     return 
Err(io::Error::new(io::ErrorKind::NotFound, msg));
                                 }
                             } else if member_path_from_glob.is_file()
-                                && let Some(filename) = 
member_path_from_glob.file_name() {
-                                    let filename = filename.to_string_lossy();
-                                    if filename == *"Cargo.toml" {
-                                        info!(?member_path_from_glob, "🐈 Found 
a membered path.");
-                                        let is_workspace = 
is_workspace(&member_path_from_glob)?;
-                                        if is_workspace {
-                                            global_has_deps = global_has_deps
-                                                || workspace_has_dependencies(
-                                                    workdir,
-                                                    &member_path_from_glob,
-                                                )?;
-                                        } else {
-                                            global_has_deps = global_has_deps
-                                                || 
has_dependencies(&member_path_from_glob)?;
-                                        }
+                                && let Some(filename) = 
member_path_from_glob.file_name()
+                            {
+                                let filename = filename.to_string_lossy();
+                                if filename == *"Cargo.toml" {
+                                    info!(?member_path_from_glob, "🐈 Found a 
membered path.");
+                                    let is_workspace = 
is_workspace(&member_path_from_glob)?;
+                                    if is_workspace {
+                                        global_has_deps = global_has_deps
+                                            || workspace_has_dependencies(
+                                                workdir,
+                                                &member_path_from_glob,
+                                            )?;
+                                    } else {
+                                        global_has_deps = global_has_deps
+                                            || 
has_dependencies(&member_path_from_glob)?;
                                     }
                                 }
+                            }
                         }
                     } else {
                         warn!("⚠️ Workspace has membered itself at the root of 
the project.");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/cargo/src/vendor.rs 
new/obs-service-cargo-7.2.0/cargo/src/vendor.rs
--- old/obs-service-cargo-7.1.1/cargo/src/vendor.rs     1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-service-cargo-7.2.0/cargo/src/vendor.rs     1970-01-01 
01:00:00.000000000 +0100
@@ -48,7 +48,7 @@
         .as_ref()
         .unwrap_or_default();
     let res = {
-        if let Some((lockfile, cargo_config_output)) = cargo_vendor(
+        if let Some((lockfile, cargo_config_output, global_has_deps)) = 
cargo_vendor(
             custom_root,
             vendor_specific_args.versioned_dirs,
             vendor_specific_args.filter,
@@ -71,7 +71,7 @@
                 .join(".cargo");
             // NOTE: It's always in the same directory as Cargo.lock.
             let path_to_vendor_dir = lockfile_parent.join("vendor");
-            if !path_to_vendor_dir.is_dir() {
+            if !path_to_vendor_dir.is_dir() && global_has_deps {
                 let msg = "🫠 Vendor directory not found... Aborting process. 
Please report a bug to 
<https://github.com/openSUSE-Rust/obs-service-cargo/issues>.";
                 error!(msg);
                 return Err(io::Error::new(io::ErrorKind::NotFound, msg));
@@ -81,7 +81,11 @@
                 .join("vendor");
             fs::create_dir_all(target_archive_path_for_dot_cargo)?;
             fs::copy(lockfile, target_archive_path_for_lockfile)?;
-            utils::copy_dir_all(path_to_vendor_dir, 
target_archive_path_for_vendor_dir)?;
+            if !global_has_deps {
+                info!("🎉 Project has no dependencies.");
+            } else {
+                utils::copy_dir_all(path_to_vendor_dir, 
target_archive_path_for_vendor_dir)?;
+            }
             // NOTE maybe in the future, we might need to respect import
             // an existing `cargo.toml` but I doubt that's necessary?
             let path_to_dot_cargo_cargo_config =
@@ -89,9 +93,6 @@
             let mut cargo_config_file = 
fs::File::create(path_to_dot_cargo_cargo_config)?;
             cargo_config_file.write_all(cargo_config_output.as_bytes())?;
             debug!(?cargo_config_file);
-        } else {
-            info!("🎉 Project has no dependencies.");
-            return Ok(());
         }
         let outfile = match &vendor_opts.tag {
             Some(v) => format!("vendor-{v}"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo-7.1.1/cargo/tests/behaviour.rs 
new/obs-service-cargo-7.2.0/cargo/tests/behaviour.rs
--- old/obs-service-cargo-7.1.1/cargo/tests/behaviour.rs        1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-service-cargo-7.2.0/cargo/tests/behaviour.rs        1970-01-01 
01:00:00.000000000 +0100
@@ -188,25 +188,18 @@
         outdir: Some(raw_outdir.clone()),
         subcommands: None,
     };
-    if *"https://github.com/elliot40404/bonk/archive/refs/tags/v0.4.0.tar.gz"; 
!= *source {
-        assert!(raw_opts(raw_args, false).is_ok());
-    } else {
-        assert!(raw_opts(raw_args, false).is_err());
-    }
+    assert!(raw_opts(raw_args, false).is_ok());
     let vendor_path = raw_outdir.join("vendor");
     let cargo_config_path = raw_outdir.join(".cargo").join("config.toml");
     let cargo_lock_path = raw_outdir.join("Cargo.lock");
-    if *"https://github.com/elliot40404/bonk/archive/refs/tags/v0.4.0.tar.gz"; 
!= *source {
-        assert!(vendor_tarball_path.is_file());
-        assert!(vendor_path.is_dir());
-        assert!(cargo_config_path.is_file());
-        assert!(cargo_lock_path.is_file());
-    } else {
-        assert!(!vendor_tarball_path.is_file());
+    assert!(vendor_tarball_path.is_file());
+    if *source == 
*"https://github.com/elliot40404/bonk/archive/refs/tags/v0.4.0.tar.gz"; {
         assert!(!vendor_path.is_dir());
-        assert!(!cargo_config_path.is_file());
-        assert!(!cargo_lock_path.is_file());
+    } else {
+        assert!(vendor_path.is_dir());
     }
+    assert!(cargo_config_path.is_file());
+    assert!(cargo_lock_path.is_file());
     Ok(outfile)
 }
 

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/obs-service-cargo/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.obs-service-cargo.new.5300/vendor.tar.zst differ: 
char 7, line 1

Reply via email to