From 37e3cd7616827ccd9317c6dc00eb97994d45fe13 Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Thu, 6 Dec 2018 12:12:55 +0100
Subject: [PATCH] Add post processing of RPM .spec file, and create a .src.rpm

---
 rust-package-dir.sh | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/rust-package-dir.sh b/rust-package-dir.sh
index 0438aad..413a77e 100755
--- a/rust-package-dir.sh
+++ b/rust-package-dir.sh
@@ -3,6 +3,16 @@
 set -e
 set -x
 
+post_package() {
+    if [ -x post-package-$1-$2 ] ; then
+        $(realpath post-package-$1-$2) $3
+    elif [ -x post-package-$1 ] ; then
+       $(realpath post-package-$1) $3
+    elif [ -x post-package ] ; then
+        $(realpath post-package) $3
+    fi
+}
+
 CACHE=${HOME}/.cache/rust2rpm
 cargo package
 mkdir -p ${CACHE}
@@ -16,6 +26,11 @@ for f in $(pwd)/target/package/*.crate ; do
     if [[ "$(basename "$f")" =~ (.*)-(.*).crate ]] ; then
         NAME=${BASH_REMATCH[1]}
         VERSION=${BASH_REMATCH[2]}
-        rust2rpm --stdout ${NAME} ${VERSION} > rust-${NAME}-${VERSION}.spec
+        SPEC=rust-${NAME}-${VERSION}.spec
+        rust2rpm -t plain --stdout ${NAME} ${VERSION} > ${SPEC}
+        sed -i -re 's/(BuildRequires:\s*)\((crate[\(][^\)]+\)).*/&\n\1\2/' \
+            ${SPEC}
+        post_package ${NAME} ${VERSION} ${SPEC}
+        rpmbuild -bs ${SPEC} -D'_sourcedir target/package/.' -D'_srcrpmdir .'
     fi
 done
-- 
GitLab