summaryrefslogtreecommitdiffstats
path: root/makesrc.sh
blob: 87afb4341db3d9c77cb1bf5a58fb0e9aca9f7324 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

NAME=$(basename $PWD)
OWNER=$(sed   -n '/^%global gh_owner/{s/.* //;p}'   $NAME.spec)
PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec)
COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}'   $NAME.spec)
TAG=$(sed -n '/^%global gh_tag/{s/.* //;p}'         $NAME.spec)
VERSION=$(sed -n '/^Version:/{s/.* //;p}'           $NAME.spec)

if [ -f $NAME-$VERSION.tgz ]; then
	echo Skip $NAME-$VERSION.tgz
else
	echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n"

	echo "Cloning..."
	rm -rf $PROJECT-$VERSION

	if [ -z "$TAG" ]; then
		git clone --recursive https://github.com/$OWNER/$PROJECT.git $PROJECT-$VERSION
		pushd $PROJECT-$VERSION
			git checkout $COMMIT || exit 1
		popd
	else
		git clone --recursive --branch $TAG https://github.com/$OWNER/$PROJECT.git $PROJECT-$VERSION
	fi

	echo "Archiving..."
	tar czf $NAME-$VERSION.tgz --exclude .git $PROJECT-$VERSION

	echo "Cleaning..."
	rm -rf $PROJECT-$VERSION

	echo "Done."
fi

spectool -g -S *spec