summaryrefslogtreecommitdiffstats
path: root/makesrc.sh
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2021-06-03 13:55:50 +0200
committerRemi Collet <remi@remirepo.net>2021-06-03 13:55:50 +0200
commitd52108110ae2a1ac8cb468c74d6dc87a40095149 (patch)
tree296052167870e6ef1223293722b278867ae31d1d /makesrc.sh
duplicate v2
Diffstat (limited to 'makesrc.sh')
-rwxr-xr-xmakesrc.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/makesrc.sh b/makesrc.sh
new file mode 100755
index 0000000..5284c5c
--- /dev/null
+++ b/makesrc.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+NAME=$(sed -n '/^Name:/{s/.* //;p}' *.spec)
+OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec)
+PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec)
+VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec)
+COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec)
+SHORT=${COMMIT:0:7}
+
+if [ -f $NAME-$VERSION-$SHORT.tgz ]; then
+ echo "Skip $NAME-$VERSION-$SHORT.tgz"
+else
+ echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION, Commit=$COMMIT\n"
+
+ echo "Cloning..."
+ git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT
+
+ echo "Getting commit..."
+ pushd $PROJECT-$COMMIT
+ git checkout $COMMIT || exit1
+ cp composer.json ../composer.json
+ popd
+
+ echo "Archiving..."
+ tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT
+
+ echo "Cleaning..."
+ rm -rf $PROJECT-$COMMIT
+fi
+
+PROJECT=diff
+OWNER=$(sed -n '/^%global gh_diff_owner/{s/.* //;p}' $NAME.spec)
+VERSION=$(sed -n '/^%global gh_diff_version/{s/.* //;p}' $NAME.spec)
+COMMIT=$(sed -n '/^%global gh_diff_commit/{s/.* //;p}' $NAME.spec)
+SHORT=${COMMIT:0:7}
+
+if [ -f $NAME-$PROJECT-$VERSION-$SHORT.tgz ]; then
+ echo "Skip $NAME-$PROJECT-$VERSION-$SHORT.tgz"
+else
+ echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION, Commit=$COMMIT\n"
+
+ echo "Cloning..."
+ git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT
+
+ echo "Getting commit..."
+ pushd $PROJECT-$COMMIT
+ git checkout $COMMIT || exit 1
+ cp composer.json ../composer-diff.json
+ popd
+
+ echo "Archiving..."
+ tar czf $NAME-$PROJECT-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT
+
+ echo "Cleaning..."
+ rm -rf $PROJECT-$COMMIT
+fi
+
+echo "Done."
+