summaryrefslogtreecommitdiffstats
path: root/makesrc.sh
blob: f1f6a82329126241d9377aadbf439e016deab979 (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
#!/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)

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..."
	git clone https://github.com/$OWNER/$PROJECT.git --depth 1 --branch v$VERSION $PROJECT-$VERSION || exit 1

	echo "Getting commit..."
	pushd $PROJECT-$VERSION
		cp composer.json ../

		composer config platform.php 8.1.99
		# see https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/dev-tools/build.sh
		# some dev dep cannot be satisfied but are not needed
		composer remove --dev infection/infection --no-update
		composer install --no-interaction --no-progress --no-dev --no-scripts --optimize-autoloader
		cp vendor/composer/installed.json ../
	popd

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

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