[packages/delta] add support for reusing crates from older package version
atler
atler at pld-linux.org
Fri Feb 5 19:14:10 CET 2021
commit 4a2626ba692d170ac1c95ca04b25ef9734379952
Author: Jan Palus <atler at pld-linux.org>
Date: Fri Feb 5 17:55:46 2021 +0100
add support for reusing crates from older package version
providing dependencies did not change in which case cargo will throw
error
create-crates.sh | 8 +++++++-
delta.spec | 9 +++++++--
2 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/delta.spec b/delta.spec
index bb6abeb..d252575 100644
--- a/delta.spec
+++ b/delta.spec
@@ -1,3 +1,5 @@
+%define crates_ver 0.5.0
+
Summary: A viewer for git and diff output
Name: delta
Version: 0.5.0
@@ -7,7 +9,7 @@ Group: Applications
Source0: https://github.com/dandavison/delta/archive/%{version}/%{name}-%{version}.tar.gz
# Source0-md5: d75f73bc71407b86489eff88f837274d
# ./create-crates.sh
-Source1: %{name}-crates-%{version}.tar.xz
+Source1: %{name}-crates-%{crates_ver}.tar.xz
# Source1-md5: 55f896f9511f16f17d8d209d903904f1
URL: https://github.com/dandavison/delta
BuildRequires: cargo
@@ -40,7 +42,10 @@ Delta's main features are:
diff output.
%prep
-%setup -q -b1
+%setup -q -a1
+
+%{__mv} delta-%{crates_ver}/* .
+sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
# use our offline registry
export CARGO_HOME="$(pwd)/.cargo"
diff --git a/create-crates.sh b/create-crates.sh
index 414c80c..0ce9d8a 100755
--- a/create-crates.sh
+++ b/create-crates.sh
@@ -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}
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/delta.git/commitdiff/c42db62c7ca11678b3e98a3815eb3ed86e064a93
More information about the pld-cvs-commit
mailing list