diff options
Diffstat (limited to 'makesrc.sh')
-rwxr-xr-x | makesrc.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..327123d --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,50 @@ +#!/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) +VERSION=$(sed -n '/^%global upstream_version/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +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 install --no-dev --optimize-autoloader + cp composer.json vendor/composer/installed.json ../ + + mkdir data + cp ${HOME}/.cache/bartlett/compatinfo-db.sqlite data + + php -r ' + $pkgs = file_get_contents("vendor/composer/installed.json"); + $pkgs = json_decode($pkgs, true); + if (!is_array($pkgs) || !isset($pkgs["packages"])) { + echo "cant decode json file\n"; + exit(3); + } + $lic = []; + foreach($pkgs["packages"] as $pkg) { + printf("Provides: bundled(php-%s) = %s\n", str_replace(["/", "_"], ["-", "-"], $pkg["name"]), $pkg["version"]); + $lic = array_merge($lic, $pkg["license"]); + } + sort($lic); + printf("\nLicense: %s\n", implode(" and ", array_unique($lic)));' + popd + +echo "Archiving..." +tar czf $NAME-$VERSION-$SHORT.tgz --exclude-vcs $PROJECT-$COMMIT + +echo "Cleaning..." +rm -rf $PROJECT-$COMMIT + +echo "Done." + |