]> git.pld-linux.org Git - packages/delta.git/blobdiff - create-crates.sh
add support for reusing crates from older package version
[packages/delta.git] / create-crates.sh
index 414c80c750b41482f272c4d404d9f37b7a300009..0ce9d8a79288cc4e40c19b38ec03229fcbca57c6 100755 (executable)
@@ -1,6 +1,8 @@
 #!/bin/sh
 
-for cmd in bsdtar rpm-specdump cargo; do
+force_cargo_package="git-delta"
+
+for cmd in bsdtar rpm-specdump cargo perl; do
   if ! command -v $cmd > /dev/null 2> /dev/null; then
     not_installed="$not_installed$cmd "
   fi
@@ -23,6 +25,7 @@ spec_dump=$(rpm-specdump "$pkg_dir/$pkg_name.spec")
 pkg_version=$(echo "$spec_dump" | grep PACKAGE_VERSION | cut -f3 -d' ')
 pkg_src=$(basename $(echo "$spec_dump" | grep SOURCEURL0 | cut -f3- -d' '))
 crates_file="$pkg_name-crates-$pkg_version.tar.xz"
+cargo_package=${force_cargo_package:-$pkg_name}
 
 if [ -e "$pkg_dir/$crates_file" ]; then
   echo "ERROR: crates file $crates_file already exists" >&2
@@ -59,6 +62,9 @@ if [ $? -ne 0 ]; then
   exit 1
 fi
 
+# replace cargo package version with @@VERSION@@
+perl -pi -e 'BEGIN { undef $/;} s/(\[\[package\]\]\nname\s*=\s*"'"$cargo_package"'"\nversion\s*=\s*")[^"]+/$1\@\@VERSION\@\@/m' Cargo.lock
+
 cd ..
 tar cJf "$pkg_dir/$crates_file" "$src_dir"/{Cargo.lock,vendor}
 
This page took 0.058844 seconds and 4 git commands to generate.