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-06-12 15:38:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-cargo (Old)
 and      /work/SRC/openSUSE:Factory/.obs-service-cargo.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "obs-service-cargo"

Wed Jun 12 15:38:38 2024 rev:16 rq:1180087 version:1.3.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-cargo/obs-service-cargo.changes      
2024-05-03 19:46:07.840299814 +0200
+++ 
/work/SRC/openSUSE:Factory/.obs-service-cargo.new.19518/obs-service-cargo.changes
   2024-06-12 15:39:58.645769762 +0200
@@ -1,0 +2,17 @@
+Tue Jun 11 23:07:19 UTC 2024 - Gordon Leung <piratec...@protonmail.com>
+
+- Fix build failures caused by the topmost folder being renamed
+  from obs-service-cargo_vendor to obs-service-cargo
+
+-------------------------------------------------------------------
+Thu Jun  6 23:46:43 UTC 2024 - Soc Virnyl Estela 
<uncomfy+openbuildserv...@uncomfyhalomacro.pl>
+
+- Update to version 1.3.6
+  * Fix Clippy error and add Clippy CI
+  * fix: vendor-filterer --all-features rather than --all-features=true
+  * internet_points: Add Pi-Cla
+  * 20240523 ensure to regenerate lockfiles if vendor set to false
+  * doc: fix warning indicator
+  * fix again warn indicator
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ obs-service-cargo.spec ++++++
--- /var/tmp/diff_new_pack.VgsCYu/_old  2024-06-12 15:39:59.429798456 +0200
+++ /var/tmp/diff_new_pack.VgsCYu/_new  2024-06-12 15:39:59.433798602 +0200
@@ -21,10 +21,10 @@
 License:        MPL-2.0
 Group:          Development/Tools/Building
 # Repository name subject to change
-URL:            https://github.com/openSUSE/obs-service-cargo_vendor
-Version:        1.3.2
+URL:            https://github.com/Firstyear/%{name}
+Version:        1.3.6
 Release:        0
-Source0:        
https://github.com/openSUSE/obs-service-cargo_vendor/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+Source0:        
https://github.com/Firstyear/%{name}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        vendor.tar.zst
 BuildRequires:  cargo
 BuildRequires:  cargo-packaging
@@ -48,16 +48,15 @@
 This vendors and audits dependencies for packaging Rust software.
 
 %prep
-# -n will be removed in the future if name changed
-%autosetup -a1 -n %{name}_vendor-%{version}
+%autosetup -a1
 
 %build
 %{cargo_build}
 
 %install
 mkdir -p %{buildroot}%{_prefix}/lib/obs/service
-install -m0755 
%{_builddir}/%{name}_vendor-%{version}/target/release/cargo_vendor 
%{buildroot}%{_prefix}/lib/obs/service
-install -m0755 
%{_builddir}/%{name}_vendor-%{version}/target/release/cargo_audit  
%{buildroot}%{_prefix}/lib/obs/service
+install -m0755 %{_builddir}/%{name}-%{version}/target/release/cargo_vendor 
%{buildroot}%{_prefix}/lib/obs/service
+install -m0755 %{_builddir}/%{name}-%{version}/target/release/cargo_audit  
%{buildroot}%{_prefix}/lib/obs/service
 install -m0644 cargo_vendor.service %{buildroot}%{_prefix}/lib/obs/service
 install -m0644 cargo_audit.service %{buildroot}%{_prefix}/lib/obs/service
 

++++++ obs-service-cargo-1.3.2.tar.gz -> obs-service-cargo-1.3.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.3.2/.github/workflows/build.yml 
new/obs-service-cargo-1.3.6/.github/workflows/build.yml
--- old/obs-service-cargo_vendor-1.3.2/.github/workflows/build.yml      
2024-05-03 01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/.github/workflows/build.yml     2024-06-07 
01:36:11.000000000 +0200
@@ -24,6 +24,9 @@
     - name: Check formatting
       run: |
         cargo fmt -- --check
+    - name: Check clippy
+      run: |
+        cargo clippy
     - name: Run sample projects to test
       run: |
         chmod +x runtests.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/CONTRIBUTORS.md 
new/obs-service-cargo-1.3.6/CONTRIBUTORS.md
--- old/obs-service-cargo_vendor-1.3.2/CONTRIBUTORS.md  2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/CONTRIBUTORS.md 2024-06-07 01:36:11.000000000 
+0200
@@ -9,4 +9,5 @@
 - Sascha Grunert
 - darix
 - msirringhaus
+- Gordon Leung (Pi-Cla)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/Cargo.lock 
new/obs-service-cargo-1.3.6/Cargo.lock
--- old/obs-service-cargo_vendor-1.3.2/Cargo.lock       2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/Cargo.lock      2024-06-07 01:36:11.000000000 
+0200
@@ -4,9 +4,9 @@
 
 [[package]]
 name = "addr2line"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
 dependencies = [
  "gimli",
 ]
@@ -76,9 +76,9 @@
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.3"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
+checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
 dependencies = [
  "windows-sys 0.52.0",
 ]
@@ -107,9 +107,9 @@
 
 [[package]]
 name = "async-compression"
-version = "0.4.9"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4e9eabd7a98fe442131a17c316bd9349c43695e49e730c3c8e12cfb5f4da2693"
+checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5"
 dependencies = [
  "flate2",
  "futures-core",
@@ -119,16 +119,22 @@
 ]
 
 [[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
+[[package]]
 name = "autocfg"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 
 [[package]]
 name = "backtrace"
-version = "0.3.71"
+version = "0.3.72"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
+checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11"
 dependencies = [
  "addr2line",
  "cc",
@@ -141,12 +147,6 @@
 
 [[package]]
 name = "base64"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
-
-[[package]]
-name = "base64"
 version = "0.22.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
@@ -176,7 +176,7 @@
 
 [[package]]
 name = "bulk-updater"
-version = "1.3.2"
+version = "1.3.5"
 dependencies = [
  "clap",
  "obs-service-cargo",
@@ -229,9 +229,9 @@
 
 [[package]]
 name = "camino"
-version = "1.1.6"
+version = "1.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
+checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239"
 
 [[package]]
 name = "cargo-lock"
@@ -247,9 +247,9 @@
 
 [[package]]
 name = "cc"
-version = "1.0.96"
+version = "1.0.98"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd"
+checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
 dependencies = [
  "jobserver",
  "libc",
@@ -275,9 +275,9 @@
 
 [[package]]
 name = "clap"
-version = "4.5.4"
+version = "4.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
+checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -285,9 +285,9 @@
 
 [[package]]
 name = "clap_builder"
-version = "4.5.2"
+version = "4.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
+checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df"
 dependencies = [
  "anstream",
  "anstyle",
@@ -297,9 +297,9 @@
 
 [[package]]
 name = "clap_derive"
-version = "4.5.4"
+version = "4.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
+checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6"
 dependencies = [
  "heck",
  "proc-macro2",
@@ -309,9 +309,9 @@
 
 [[package]]
 name = "clap_lex"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
 
 [[package]]
 name = "clru"
@@ -343,9 +343,9 @@
 
 [[package]]
 name = "crc32fast"
-version = "1.4.0"
+version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
+checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
 dependencies = [
  "cfg-if",
 ]
@@ -365,9 +365,9 @@
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.12"
+version = "0.5.13"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -402,9 +402,9 @@
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.19"
+version = "0.8.20"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
 
 [[package]]
 name = "cvss"
@@ -453,9 +453,9 @@
 
 [[package]]
 name = "either"
-version = "1.11.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
+checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
 
 [[package]]
 name = "encoding_rs"
@@ -474,9 +474,9 @@
 
 [[package]]
 name = "errno"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
@@ -592,9 +592,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.14"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 dependencies = [
  "cfg-if",
  "libc",
@@ -603,15 +603,15 @@
 
 [[package]]
 name = "gimli"
-version = "0.28.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
 
 [[package]]
 name = "gix"
-version = "0.62.0"
+version = "0.63.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5631c64fb4cd48eee767bf98a3cbc5c9318ef3bb71074d4c099a2371510282b6"
+checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06"
 dependencies = [
  "gix-actor",
  "gix-attributes",
@@ -663,16 +663,16 @@
 
 [[package]]
 name = "gix-actor"
-version = "0.31.1"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "45c3a3bde455ad2ee8ba8a195745241ce0b770a8a26faae59fcf409d01b28c46"
+checksum = "d69c59d392c7e6c94385b6fd6089d6df0fe945f32b4357687989f3aee253cd7f"
 dependencies = [
  "bstr",
  "gix-date",
  "gix-utils",
  "itoa",
  "thiserror",
- "winnow 0.6.7",
+ "winnow 0.6.13",
 ]
 
 [[package]]
@@ -712,9 +712,9 @@
 
 [[package]]
 name = "gix-command"
-version = "0.3.6"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f90009020dc4b3de47beed28e1334706e0a330ddd17f5cfeb097df3b15a54b77"
+checksum = "6c22e086314095c43ffe5cdc5c0922d5439da4fd726f3b0438c56147c34dc225"
 dependencies = [
  "bstr",
  "gix-path",
@@ -738,9 +738,9 @@
 
 [[package]]
 name = "gix-config"
-version = "0.36.1"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7580e05996e893347ad04e1eaceb92e1c0e6a3ffe517171af99bf6b6df0ca6e5"
+checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840"
 dependencies = [
  "bstr",
  "gix-config-value",
@@ -754,7 +754,7 @@
  "smallvec",
  "thiserror",
  "unicode-bom",
- "winnow 0.6.7",
+ "winnow 0.6.13",
 ]
 
 [[package]]
@@ -789,9 +789,9 @@
 
 [[package]]
 name = "gix-date"
-version = "0.8.5"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "180b130a4a41870edfbd36ce4169c7090bca70e195da783dea088dd973daa59c"
+checksum = "367ee9093b0c2b04fd04c5c7c8b6a1082713534eab537597ae343663a518fa99"
 dependencies = [
  "bstr",
  "itoa",
@@ -801,9 +801,9 @@
 
 [[package]]
 name = "gix-diff"
-version = "0.43.0"
+version = "0.44.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a5fbc24115b957346cd23fb0f47d830eb799c46c89cdcf2f5acc9bf2938c2d01"
+checksum = "40b9bd8b2d07b6675a840b56a6c177d322d45fa082672b0dad8f063b25baf0a4"
 dependencies = [
  "bstr",
  "gix-hash",
@@ -813,9 +813,9 @@
 
 [[package]]
 name = "gix-discover"
-version = "0.31.0"
+version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "64bab49087ed3710caf77e473dc0efc54ca33d8ccc6441359725f121211482b1"
+checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf"
 dependencies = [
  "bstr",
  "dunce",
@@ -829,9 +829,9 @@
 
 [[package]]
 name = "gix-features"
-version = "0.38.1"
+version = "0.38.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "db4254037d20a247a0367aa79333750146a369719f0c6617fec4f5752cc62b37"
+checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69"
 dependencies = [
  "bytes",
  "crc32fast",
@@ -852,9 +852,9 @@
 
 [[package]]
 name = "gix-filter"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5c0d1f01af62bfd2fb3dd291acc2b29d4ab3e96ad52a679174626508ce98ef12"
+checksum = "00ce6ea5ac8fca7adbc63c48a1b9e0492c222c386aa15f513405f1003f2f4ab2"
 dependencies = [
  "bstr",
  "encoding_rs",
@@ -873,19 +873,20 @@
 
 [[package]]
 name = "gix-fs"
-version = "0.10.2"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e2184c40e7910529677831c8b481acf788ffd92427ed21fad65b6aa637e631b8"
+checksum = "c3338ff92a2164f5209f185ec0cd316f571a72676bb01d27e22f2867ba69f77a"
 dependencies = [
+ "fastrand",
  "gix-features",
  "gix-utils",
 ]
 
 [[package]]
 name = "gix-glob"
-version = "0.16.2"
+version = "0.16.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "682bdc43cb3c00dbedfcc366de2a849b582efd8d886215dbad2ea662ec156bb5"
+checksum = "c2a29ad0990cf02c48a7aac76ed0dbddeb5a0d070034b83675cc3bbf937eace4"
 dependencies = [
  "bitflags 2.5.0",
  "bstr",
@@ -929,9 +930,9 @@
 
 [[package]]
 name = "gix-index"
-version = "0.32.1"
+version = "0.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "881ab3b1fa57f497601a5add8289e72a7ae09471fc0b9bbe483b628ae8e418a1"
+checksum = "2d8c5a5f1c58edcbc5692b174cda2703aba82ed17d7176ff4c1752eb48b1b167"
 dependencies = [
  "bitflags 2.5.0",
  "bstr",
@@ -945,6 +946,7 @@
  "gix-object",
  "gix-traverse",
  "gix-utils",
+ "gix-validate",
  "hashbrown",
  "itoa",
  "libc",
@@ -956,9 +958,9 @@
 
 [[package]]
 name = "gix-lock"
-version = "13.1.1"
+version = "14.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e7c359f81f01b8352063319bcb39789b7ea0887b406406381106e38c4a34d049"
+checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d"
 dependencies = [
  "gix-tempfile",
  "gix-utils",
@@ -967,9 +969,9 @@
 
 [[package]]
 name = "gix-macros"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1dff438f14e67e7713ab9332f5fd18c8f20eb7eb249494f6c2bf170522224032"
+checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -978,9 +980,9 @@
 
 [[package]]
 name = "gix-negotiate"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "54ba98f8c8c06870dfc167d192ca38a38261867b836cb89ac80bc9176dba975e"
+checksum = "d57dec54544d155a495e01de947da024471e1825d7d3f2724301c07a310d6184"
 dependencies = [
  "bitflags 2.5.0",
  "gix-commitgraph",
@@ -994,9 +996,9 @@
 
 [[package]]
 name = "gix-object"
-version = "0.42.1"
+version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3d4f8efae72030df1c4a81d02dbe2348e748d9b9a11e108ed6efbd846326e051"
+checksum = "1fe2dc4a41191c680c942e6ebd630c8107005983c4679214fdb1007dcf5ae1df"
 dependencies = [
  "bstr",
  "gix-actor",
@@ -1008,14 +1010,14 @@
  "itoa",
  "smallvec",
  "thiserror",
- "winnow 0.6.7",
+ "winnow 0.6.13",
 ]
 
 [[package]]
 name = "gix-odb"
-version = "0.60.0"
+version = "0.61.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e8bbb43d2fefdc4701ffdf9224844d05b136ae1b9a73c2f90710c8dd27a93503"
+checksum = "e92b9790e2c919166865d0825b26cc440a387c175bed1b43a2fa99c0e9d45e98"
 dependencies = [
  "arc-swap",
  "gix-date",
@@ -1033,9 +1035,9 @@
 
 [[package]]
 name = "gix-pack"
-version = "0.50.0"
+version = "0.51.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b58bad27c7677fa6b587aab3a1aca0b6c97373bd371a0a4290677c838c9bcaf1"
+checksum = "7a8da51212dbff944713edb2141ed7e002eea326b8992070374ce13a6cb610b3"
 dependencies = [
  "clru",
  "gix-chunk",
@@ -1091,9 +1093,9 @@
 
 [[package]]
 name = "gix-pathspec"
-version = "0.7.4"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ea9f934a111e0efdf93ae06e3648427e60e783099fbebd6a53a7a2ffb10a1e65"
+checksum = "a76cab098dc10ba2d89f634f66bf196dea4d7db4bf10b75c7a9c201c55a2ee19"
 dependencies = [
  "bitflags 2.5.0",
  "bstr",
@@ -1106,9 +1108,9 @@
 
 [[package]]
 name = "gix-prompt"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f5325eb17ce7b5e5d25dec5c2315d642a09d55b9888b3bf46b7d72e1621a55d8"
+checksum = "fddabbc7c51c241600ab3c4623b19fa53bde7c1a2f637f61043ed5fcadf000cc"
 dependencies = [
  "gix-command",
  "gix-config-value",
@@ -1119,9 +1121,9 @@
 
 [[package]]
 name = "gix-protocol"
-version = "0.45.0"
+version = "0.45.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "aed3bb6179835a3250403baa9d7022579e559fc45f2efc416d9de1a14b5acf11"
+checksum = "3c140d4c6d209048826bad78f021a01b612830f89da356efeb31afe8957f8bee"
 dependencies = [
  "bstr",
  "gix-credentials",
@@ -1132,7 +1134,7 @@
  "gix-utils",
  "maybe-async",
  "thiserror",
- "winnow 0.6.7",
+ "winnow 0.6.13",
 ]
 
 [[package]]
@@ -1148,9 +1150,9 @@
 
 [[package]]
 name = "gix-ref"
-version = "0.43.0"
+version = "0.44.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "fd4aba68b925101cb45d6df328979af0681364579db889098a0de75b36c77b65"
+checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e"
 dependencies = [
  "gix-actor",
  "gix-date",
@@ -1165,7 +1167,7 @@
  "gix-validate",
  "memmap2",
  "thiserror",
- "winnow 0.6.7",
+ "winnow 0.6.13",
 ]
 
 [[package]]
@@ -1184,9 +1186,9 @@
 
 [[package]]
 name = "gix-revision"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9e34196e1969bd5d36e2fbc4467d893999132219d503e23474a8ad2b221cb1e8"
+checksum = "63e08f8107ed1f93a83bcfbb4c38084c7cb3f6cd849793f1d5eec235f9b13b2b"
 dependencies = [
  "bstr",
  "gix-date",
@@ -1200,9 +1202,9 @@
 
 [[package]]
 name = "gix-revwalk"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e0a7d393ae814eeaae41a333c0ff684b243121cc61ccdc5bbe9897094588047d"
+checksum = "4181db9cfcd6d1d0fd258e91569dbb61f94cb788b441b5294dd7f1167a3e788f"
 dependencies = [
  "gix-commitgraph",
  "gix-date",
@@ -1227,9 +1229,9 @@
 
 [[package]]
 name = "gix-submodule"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4fb7ea05666362472fecd44c1fc35fe48a5b9b841b431cc4f85b95e6f20c23ec"
+checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac"
 dependencies = [
  "bstr",
  "gix-config",
@@ -1242,9 +1244,9 @@
 
 [[package]]
 name = "gix-tempfile"
-version = "13.1.1"
+version = "14.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a761d76594f4443b675e85928e4902dec333273836bd386906f01e7e346a0d11"
+checksum = "d3b0e276cd08eb2a22e9f286a4f13a222a01be2defafa8621367515375644b99"
 dependencies = [
  "gix-fs",
  "libc",
@@ -1261,11 +1263,11 @@
 
 [[package]]
 name = "gix-transport"
-version = "0.42.0"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9d2f783b2fe86bf2a8cf1f3b8669d65b01ab4932f32cc0101d3893e1b16a3bd6"
+checksum = "eb0ffa5f869977f5b9566399154055902f05d7e85c787d5eacf551acdd0c4adf"
 dependencies = [
- "base64 0.21.7",
+ "base64",
  "bstr",
  "gix-command",
  "gix-credentials",
@@ -1280,9 +1282,9 @@
 
 [[package]]
 name = "gix-traverse"
-version = "0.39.0"
+version = "0.39.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f4029ec209b0cc480d209da3837a42c63801dd8548f09c1f4502c60accb62aeb"
+checksum = "f20cb69b63eb3e4827939f42c05b7756e3488ef49c25c412a876691d568ee2a0"
 dependencies = [
  "bitflags 2.5.0",
  "gix-commitgraph",
@@ -1321,9 +1323,9 @@
 
 [[package]]
 name = "gix-validate"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e39fc6e06044985eac19dd34d474909e517307582e462b2eb4c8fa51b6241545"
+checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf"
 dependencies = [
  "bstr",
  "thiserror",
@@ -1331,9 +1333,9 @@
 
 [[package]]
 name = "gix-worktree"
-version = "0.33.1"
+version = "0.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f06ca5dd164678914fc9280ba9d1ffeb66499ccc16ab1278c513828beee88401"
+checksum = "53f6b7de83839274022aff92157d7505f23debf739d257984a300a35972ca94e"
 dependencies = [
  "bstr",
  "gix-attributes",
@@ -1345,13 +1347,14 @@
  "gix-index",
  "gix-object",
  "gix-path",
+ "gix-validate",
 ]
 
 [[package]]
 name = "gix-worktree-state"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "70b4bcac42d5b3197d38e3f15f6eb277c5e6d6a1669c7beabed8f666dba1c9b8"
+checksum = "e64b2835892ce553b15aef7f6f7bb1e39e146fdf71eb99609b86710a7786cf34"
 dependencies = [
  "bstr",
  "gix-features",
@@ -1375,15 +1378,15 @@
 
 [[package]]
 name = "h2"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069"
+checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab"
 dependencies = [
+ "atomic-waker",
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
- "futures-util",
  "http",
  "indexmap",
  "slab",
@@ -1502,9 +1505,9 @@
 
 [[package]]
 name = "hyper-util"
-version = "0.1.3"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
+checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -1622,9 +1625,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.154"
+version = "0.2.155"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
 
 [[package]]
 name = "libredox"
@@ -1638,9 +1641,9 @@
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
 
 [[package]]
 name = "lock_api"
@@ -1718,9 +1721,9 @@
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
 dependencies = [
  "adler",
 ]
@@ -1783,16 +1786,16 @@
 
 [[package]]
 name = "object"
-version = "0.32.2"
+version = "0.35.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "obs-service-cargo"
-version = "1.3.2"
+version = "1.3.5"
 dependencies = [
  "bzip2",
  "clap",
@@ -1833,9 +1836,9 @@
 
 [[package]]
 name = "parking_lot"
-version = "0.12.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb"
+checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
 dependencies = [
  "lock_api",
  "parking_lot_core",
@@ -1953,9 +1956,9 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.81"
+version = "1.0.85"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
+checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
 dependencies = [
  "unicode-ident",
 ]
@@ -2100,7 +2103,7 @@
 checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
 dependencies = [
  "async-compression",
- "base64 0.22.1",
+ "base64",
  "bytes",
  "encoding_rs",
  "futures-channel",
@@ -2157,9 +2160,9 @@
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.23"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
 
 [[package]]
 name = "rustix"
@@ -2207,21 +2210,21 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
 dependencies = [
- "base64 0.22.1",
+ "base64",
  "rustls-pki-types",
 ]
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.5.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54"
+checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
 
 [[package]]
 name = "rustls-webpki"
-version = "0.102.3"
+version = "0.102.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
+checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
 dependencies = [
  "ring",
  "rustls-pki-types",
@@ -2230,9 +2233,9 @@
 
 [[package]]
 name = "rustsec"
-version = "0.29.2"
+version = "0.29.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d713a40ab998e0918241761df1450bb6b86557a771e22465374fd77a46097a90"
+checksum = "b45b5f2dc058dbb604444d38d23ae6865ac2f1f122f6c8993d8f90a656d23543"
 dependencies = [
  "cargo-lock",
  "cvss",
@@ -2251,9 +2254,9 @@
 
 [[package]]
 name = "ryu"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
 
 [[package]]
 name = "same-file"
@@ -2281,11 +2284,11 @@
 
 [[package]]
 name = "security-framework"
-version = "2.10.0"
+version = "2.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
+checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "core-foundation",
  "core-foundation-sys",
  "libc",
@@ -2294,9 +2297,9 @@
 
 [[package]]
 name = "security-framework-sys"
-version = "2.10.0"
+version = "2.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
+checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -2304,27 +2307,27 @@
 
 [[package]]
 name = "semver"
-version = "1.0.22"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.200"
+version = "1.0.203"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.200"
+version = "1.0.203"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2333,9 +2336,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.116"
+version = "1.0.117"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
+checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
 dependencies = [
  "itoa",
  "ryu",
@@ -2344,9 +2347,9 @@
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
 dependencies = [
  "serde",
 ]
@@ -2407,9 +2410,9 @@
 
 [[package]]
 name = "smol_str"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead"
 dependencies = [
  "serde",
 ]
@@ -2450,9 +2453,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.60"
+version = "2.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
+checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2488,9 +2491,9 @@
 
 [[package]]
 name = "tame-index"
-version = "0.11.0"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c09360f6b03266a73e111665451a8a1cec970eb58fc394f84a20cb3e6325f766"
+checksum = "418b7a56dbbf693afbf024c12f90863ac25894fd209d374d4af39cf9e43da36c"
 dependencies = [
  "camino",
  "crossbeam-channel",
@@ -2513,9 +2516,9 @@
 
 [[package]]
 name = "tar"
-version = "0.4.40"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
+checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909"
 dependencies = [
  "filetime",
  "libc",
@@ -2549,18 +2552,18 @@
 
 [[package]]
 name = "thiserror"
-version = "1.0.59"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
+checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.59"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
+checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2627,9 +2630,9 @@
 
 [[package]]
 name = "tokio"
-version = "1.37.0"
+version = "1.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
+checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
 dependencies = [
  "backtrace",
  "bytes",
@@ -2654,16 +2657,15 @@
 
 [[package]]
 name = "tokio-util"
-version = "0.7.10"
+version = "0.7.11"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
 dependencies = [
  "bytes",
  "futures-core",
  "futures-sink",
  "pin-project-lite",
  "tokio",
- "tracing",
 ]
 
 [[package]]
@@ -2689,9 +2691,9 @@
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
 dependencies = [
  "serde",
 ]
@@ -2722,7 +2724,6 @@
  "tokio",
  "tower-layer",
  "tower-service",
- "tracing",
 ]
 
 [[package]]
@@ -2743,7 +2744,6 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "log",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -3175,9 +3175,9 @@
 
 [[package]]
 name = "winnow"
-version = "0.6.7"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "14b9415ee827af173ebb3f15f9083df5a122eb93572ec28741fb153356ea2578"
+checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1"
 dependencies = [
  "memchr",
 ]
@@ -3214,18 +3214,18 @@
 
 [[package]]
 name = "zerocopy"
-version = "0.7.32"
+version = "0.7.34"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.32"
+version = "0.7.34"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3234,9 +3234,9 @@
 
 [[package]]
 name = "zeroize"
-version = "1.7.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
+checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
 
 [[package]]
 name = "zstd"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/Cargo.toml 
new/obs-service-cargo-1.3.6/Cargo.toml
--- old/obs-service-cargo_vendor-1.3.2/Cargo.toml       2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/Cargo.toml      2024-06-07 01:36:11.000000000 
+0200
@@ -12,7 +12,7 @@
 resolver = "2"
 
 [workspace.package]
-version = "1.3.2"
+version = "1.3.5"
 description = "OBS Source Service and utilities for Rust software packaging."
 authors = [
   "Soc Virnyl Estela <socvirnyl.est...@uncomfyhalomacro.pl>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/README.md 
new/obs-service-cargo-1.3.6/README.md
--- old/obs-service-cargo_vendor-1.3.2/README.md        2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/README.md       2024-06-07 01:36:11.000000000 
+0200
@@ -143,6 +143,16 @@
 if extracted, it will go to the desired path `rust/pv/Cargo.lock` from
 the root folder of the project.
 
+## Respecting lockfiles
+
+A new option is added to respect lockfiles. This means that vendored tarballs
+are expected to have the same metadata inside the `Cargo.lock`.
+
+
+> [!WARNING]
+> `cargo-vendor-filterer` is not supported for lockfile validation/verification
+
+
 # How to do multiple vendors
 
 It is possible to do multiple vendored tarballs by using the `--tag` 
parameter. This allows you to rename your vendored
@@ -229,3 +239,7 @@
 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 since most projects have
 a root manifest file.
+
+## Reproducibility
+
+This project does not and will not support reproducible builds as a feature. 
If you submit a PR to enable those features, we may accept it but we will not 
maintain or guarantee that it will continue to work in the future. 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.3.2/bulk-updater/Cargo.toml 
new/obs-service-cargo-1.3.6/bulk-updater/Cargo.toml
--- old/obs-service-cargo_vendor-1.3.2/bulk-updater/Cargo.toml  2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/bulk-updater/Cargo.toml 2024-06-07 
01:36:11.000000000 +0200
@@ -10,7 +10,7 @@
 
 [dependencies]
 quick-xml = { workspace = true, features = ["overlapped-lists", "serialize"] }
-obs-service-cargo = { path = "../cargo", version = "1" }
+obs-service-cargo = { path = "../cargo" }
 clap = { workspace = true, features = ["derive"] }
 serde = { workspace = true, features = ["derive", "alloc"] }
 tracing.workspace = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.3.2/bulk-updater/src/main.rs 
new/obs-service-cargo-1.3.6/bulk-updater/src/main.rs
--- old/obs-service-cargo_vendor-1.3.2/bulk-updater/src/main.rs 2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/bulk-updater/src/main.rs        2024-06-07 
01:36:11.000000000 +0200
@@ -31,14 +31,12 @@
         Ok(hasterminfodb) => hasterminfodb.get::<cap::MaxColors>().is_some(),
         Err(_) => false,
     };
-    let to_color = matches!(std::io::stdout().is_terminal(), true if {
-        let coloroption = &args.color;
-        match coloroption {
+    let to_color = std::io::stdout().is_terminal()
+        && match &args.color {
             clap::ColorChoice::Auto => is_termcolorsupported,
             clap::ColorChoice::Always => true,
             clap::ColorChoice::Never => false,
-        }
-    });
+        };
 
     let filter_layer = EnvFilter::try_from_default_env().unwrap_or_else(|_| 
EnvFilter::new("info"));
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.3.2/bulk-updater/src/operations.rs 
new/obs-service-cargo-1.3.6/bulk-updater/src/operations.rs
--- old/obs-service-cargo_vendor-1.3.2/bulk-updater/src/operations.rs   
2024-05-03 01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/bulk-updater/src/operations.rs  2024-06-07 
01:36:11.000000000 +0200
@@ -288,6 +288,7 @@
         let mut src: String = String::new();
         let mut tag: Option<String> = None;
         let mut filter = false; // Still experimental, so default=false for now
+        let mut respect_lockfile = true;
         let outdir = package_path.to_path_buf();
         for param in params.iter() {
             if let Some(name) = param.name.clone() {
@@ -323,6 +324,11 @@
                         filter = val;
                     }
                 };
+                if name == "respect_lockfile" {
+                    if let Some(val) = param.text.as_ref().and_then(|t| 
t.parse::<bool>().ok()) {
+                        respect_lockfile = val;
+                    }
+                };
             }
         }
         if compression.is_empty() || src.is_empty() {
@@ -353,6 +359,7 @@
             color: colorize,
             i_accept_the_risk: accept_risks,
             filter,
+            respect_lockfile,
         };
         srcpath
             .run_vendor(&new_opts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.3.2/cargo/src/bin/cargo_vendor.rs 
new/obs-service-cargo-1.3.6/cargo/src/bin/cargo_vendor.rs
--- old/obs-service-cargo_vendor-1.3.2/cargo/src/bin/cargo_vendor.rs    
2024-05-03 01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/cargo/src/bin/cargo_vendor.rs   2024-06-07 
01:36:11.000000000 +0200
@@ -34,14 +34,12 @@
         Err(_) => false,
     };
 
-    let to_color = matches!(std::io::stdout().is_terminal(), true if {
-        let coloroption = &args.color;
-        match coloroption {
+    let to_color = std::io::stdout().is_terminal()
+        && match &args.color {
             clap::ColorChoice::Auto => is_termcolorsupported,
             clap::ColorChoice::Always => true,
             clap::ColorChoice::Never => false,
-        }
-    });
+        };
 
     let filter_layer = EnvFilter::try_from_default_env().unwrap_or_else(|_| 
EnvFilter::new("info"));
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/cargo/src/cli.rs 
new/obs-service-cargo-1.3.6/cargo/src/cli.rs
--- old/obs-service-cargo_vendor-1.3.2/cargo/src/cli.rs 2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/cargo/src/cli.rs        2024-06-07 
01:36:11.000000000 +0200
@@ -71,6 +71,8 @@
         help = "A list of rustsec-id's to ignore. By setting this value, you 
acknowledge that this issue does not affect your package and you should be 
exempt from resolving it."
     )]
     pub i_accept_the_risk: Vec<String>,
+    #[arg(long, default_value_t = true, action = clap::ArgAction::Set, help = 
"Respect lockfile or not if it exists. Otherwise, regenerate the lockfile and 
try to respect the lockfile.")]
+    pub respect_lockfile: bool,
 }
 
 impl AsRef<Opts> for Opts {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/cargo/src/errors.rs 
new/obs-service-cargo-1.3.6/cargo/src/errors.rs
--- old/obs-service-cargo_vendor-1.3.2/cargo/src/errors.rs      2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/cargo/src/errors.rs     2024-06-07 
01:36:11.000000000 +0200
@@ -7,6 +7,7 @@
     VendorCompressionFailed,
     VendorError,
     AuditError,
+    LockFileError,
 }
 
 impl OBSCargoErrorKind {
@@ -17,6 +18,7 @@
             AuditNeedsAction => "security audit is actionable",
             VendorError => "cargo vendor process failed",
             VendorCompressionFailed => "compress vendored dependencies failed",
+            LockFileError => "lockfile generation failed",
         }
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.3.2/cargo/src/utils/compress.rs 
new/obs-service-cargo-1.3.6/cargo/src/utils/compress.rs
--- old/obs-service-cargo_vendor-1.3.2/cargo/src/utils/compress.rs      
2024-05-03 01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/cargo/src/utils/compress.rs     2024-06-07 
01:36:11.000000000 +0200
@@ -57,7 +57,7 @@
     } else {
         error!("Ignoring unexpected special file: {:?}", path);
     }
-    debug!("Added {} to archive", path.to_string_lossy());
+    trace!("Added {} to archive", path.to_string_lossy());
     Ok(())
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/obs-service-cargo_vendor-1.3.2/cargo/src/utils/mod.rs 
new/obs-service-cargo-1.3.6/cargo/src/utils/mod.rs
--- old/obs-service-cargo_vendor-1.3.2/cargo/src/utils/mod.rs   2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/cargo/src/utils/mod.rs  2024-06-07 
01:36:11.000000000 +0200
@@ -20,7 +20,7 @@
 use crate::cli::{Compression, Opts};
 use crate::errors::OBSCargoError;
 use crate::errors::OBSCargoErrorKind;
-use crate::vendor::{self, vendor};
+use crate::vendor::{self, generate_lockfile, vendor};
 
 use crate::audit::{perform_cargo_audit, process_reports};
 
@@ -86,7 +86,7 @@
 
     // Setup some common paths we'll use from here out.
     let outdir = args.outdir.to_owned();
-    let cargo_config = prjdir.join(".cargo/config");
+    let cargo_config = prjdir.join(".cargo/config.toml");
     let vendor_dir = prjdir.join("vendor");
     let update = args.update;
 
@@ -187,6 +187,8 @@
     // if there is `None`.
     let mut cargo_locks: Vec<PathBuf> = Vec::new();
 
+    // Let's ensure the lockfiles are generated even if they don't exist
+    // This guarantees that the dependencies used are properly recorded
     for manifest_file in manifest_files.iter() {
         let manifest_f = manifest_file.canonicalize().map_err(|err| {
             error!("Failed to canonicalize path: {}", err);
@@ -196,7 +198,19 @@
         let lockfile_path = manifest_f.parent().map(|path_f| 
path_f.join("Cargo.lock"));
         if let Some(lockfile_p) = lockfile_path {
             if lockfile_p.exists() {
+                debug!("Path to extra lockfile: {}", lockfile_p.display());
                 cargo_locks.push(lockfile_p)
+            } else {
+                debug!("Path to extra lockfile not found: {}", 
lockfile_p.display());
+                if generate_lockfile(manifest_file).is_ok() {
+                    info!(
+                        "🔒 Cargo lockfile created for extra lockfile at 
path: {}",
+                        lockfile_p.display()
+                    );
+                    cargo_locks.push(lockfile_p)
+                } else {
+                    debug!("Path didn't generate manifest: {}", 
lockfile_p.display());
+                }
             };
         };
     }
@@ -208,6 +222,20 @@
         if lockfilepath.exists() {
             debug!("Path to first cargo lock: {}", lockfilepath.display());
             cargo_locks.push(lockfilepath);
+        } else {
+            debug!(
+                "Path to first cargo lock not found: {}",
+                lockfilepath.display()
+            );
+            if generate_lockfile(&first_manifest).is_ok() {
+                info!(
+                    "🔒 Cargo lockfile created for first lockfile at path: 
{}",
+                    lockfilepath.display()
+                );
+                cargo_locks.push(lockfilepath);
+            } else {
+                debug!("Path didn't generate manifest: {}", 
lockfilepath.display());
+            };
         };
     };
 
@@ -234,6 +262,7 @@
             &first_manifest,
             &manifest_files,
             args.filter,
+            args.respect_lockfile,
         )?;
 
         // Finally, compress everything together.
@@ -329,7 +358,6 @@
     subcommand: &str,
     options: &[S],
     curdir: impl AsRef<Path>,
-    // TODO ExecutionError should also have error output as String :)
 ) -> Result<String, ExecutionError> {
     let cmd = std::process::Command::new("cargo")
         .arg(subcommand)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/cargo/src/vendor.rs 
new/obs-service-cargo-1.3.6/cargo/src/vendor.rs
--- old/obs-service-cargo_vendor-1.3.2/cargo/src/vendor.rs      2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/cargo/src/vendor.rs     2024-06-07 
01:36:11.000000000 +0200
@@ -47,12 +47,45 @@
     })
 }
 
+pub fn generate_lockfile(manifest_path: impl AsRef<Path>) -> Result<(), 
OBSCargoError> {
+    let lockfile_options: Vec<OsString> = vec![
+        "-vv".into(),
+        "--manifest-path".into(),
+        manifest_path.as_ref().into(),
+    ];
+
+    let parent_path = if let Some(the_parent) = 
manifest_path.as_ref().parent() {
+        the_parent.to_path_buf()
+    } else {
+        let guess_path = std::env::current_dir().map_err(|e| {
+            error!(err = %e);
+            OBSCargoError::new(
+                OBSCargoErrorKind::LockFileError,
+                "Getting parent path for lockfile generation failed".into(),
+            )
+        })?;
+        guess_path.to_path_buf()
+    };
+
+    Ok({
+        cargo_command("generate-lockfile", &lockfile_options, 
parent_path).map_err(|e| {
+            error!(err = %e);
+            OBSCargoError::new(
+                OBSCargoErrorKind::LockFileError,
+                "Unable to generate a lockfile".into(),
+            )
+        })?;
+        info!("🔒 Successfully generated lockfile")
+    })
+}
+
 pub fn vendor(
     prjdir: impl AsRef<Path>,
     cargo_config: impl AsRef<Path>,
     manifest_path: impl AsRef<Path>,
     extra_manifest_paths: &[impl AsRef<Path>],
     filter: bool,
+    respect_lockfile: bool,
 ) -> Result<(), OBSCargoError> {
     let mut vendor_options: Vec<OsString> =
         vec!["--manifest-path".into(), manifest_path.as_ref().into()];
@@ -73,15 +106,23 @@
         // 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_options.push("--all-features".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());
+        if respect_lockfile {
+            info!("⚠️ Using vendor-filterer, lockfile verification not 
supported");
+        };
         "vendor-filterer"
     } else {
         // cargo-vendor-filterer doesn't support `-vv`
         vendor_options.push("-vv".into());
+        // Enforce lock is up-to-date despite the fact we are regenerating the 
locks
+        if respect_lockfile {
+            // NOTE: Only vendor has the --locked option
+            vendor_options.push("--locked".into());
+        };
         "vendor"
     };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/cargo_vendor.service 
new/obs-service-cargo-1.3.6/cargo_vendor.service
--- old/obs-service-cargo_vendor-1.3.2/cargo_vendor.service     2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/cargo_vendor.service    2024-06-07 
01:36:11.000000000 +0200
@@ -36,4 +36,9 @@
     <allowedvalue>false</allowedvalue>
     <allowedvalue>true</allowedvalue>
   </parameter>
+  <parameter name="respect-lockfile">
+    <description>Attempt to respect lockfile if it exists. Otherwise, attempt 
to regenerate lockfile and attempt to respect the new lockfile.</description>
+    <allowedvalue>false</allowedvalue>
+    <allowedvalue>true</allowedvalue>
+  </parameter>
 </service>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-service-cargo_vendor-1.3.2/runtests.sh 
new/obs-service-cargo-1.3.6/runtests.sh
--- old/obs-service-cargo_vendor-1.3.2/runtests.sh      2024-05-03 
01:22:50.000000000 +0200
+++ new/obs-service-cargo-1.3.6/runtests.sh     2024-06-07 01:36:11.000000000 
+0200
@@ -3,6 +3,7 @@
 set -euo pipefail
 
 SCRIPTPATH="$( cd "$(dirname "$0")" || exit ; pwd -P )"
+export RUST_LOG=debug
 
 echo "# Downloading bonk"
 curl -LJ0 
"https://github.com/elliot40404/bonk/archive/refs/tags/v0.3.2.tar.gz"; --output 
/tmp/bonk-0.3.2.tar.gz
@@ -23,6 +24,13 @@
 
 echo "# Generating tarball"
 "${SCRIPTPATH}"/target/release/cargo_vendor --src 
/tmp/s390-tools-2.29.0.tar.gz --outdir /tmp --cargotoml 
rust/pvsecret/Cargo.toml --cargotoml rust/utils/Cargo.toml --cargotoml 
rust/pv/Cargo.toml
+echo "# Multiple vendors with tags"
+"${SCRIPTPATH}"/target/release/cargo_vendor --src 
/tmp/s390-tools-2.29.0.tar.gz --outdir /tmp --cargotoml 
rust/pvsecret/Cargo.toml --tag pvsecret
+"${SCRIPTPATH}"/target/release/cargo_vendor --src 
/tmp/s390-tools-2.29.0.tar.gz --outdir /tmp --cargotoml rust/pv/Cargo.toml 
--tag rust-pv
+"${SCRIPTPATH}"/target/release/cargo_vendor --src 
/tmp/s390-tools-2.29.0.tar.gz --outdir /tmp --cargotoml rust/utils/Cargo.toml 
--tag utils
+echo "# Test only one tag with multiple cargotoml"
+"${SCRIPTPATH}"/target/release/cargo_vendor --src 
/tmp/s390-tools-2.29.0.tar.gz --outdir /tmp --cargotoml 
rust/pvsecret/Cargo.toml --cargotoml rust/utils/Cargo.toml --cargotoml 
rust/pv/Cargo.toml --tag "rust-component"
+
 echo "# Removing vendored tarball"
 rm /tmp/vendor.tar.zst
 
@@ -41,9 +49,6 @@
 echo "# Removing vendored tarball"
 rm /tmp/vendor.tar.zst
 
-echo "# Test tagging"
-"${SCRIPTPATH}"/target/release/cargo_vendor --src 
/tmp/s390-tools-2.29.0.tar.gz --outdir /tmp --cargotoml 
rust/pvsecret/Cargo.toml --cargotoml rust/utils/Cargo.toml --cargotoml 
rust/pv/Cargo.toml --tag "rust-component"
-
 if [ ! -f "/tmp/vendor-rust-component.tar.zst" ]
 then
     # Fail

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

Reply via email to