diff options
Diffstat (limited to 'makesrc.sh')
-rwxr-xr-x | makesrc.sh | 56 |
1 files changed, 21 insertions, 35 deletions
@@ -1,51 +1,37 @@ #!/bin/bash NAME=$(sed -n '/^Name:/{s/.* //;p}' *.spec) +DATE=$(sed -n '/^%global gh_date/{s/.* //;p}' $NAME.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} -echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION, Commit=$COMMIT\n" +DATE=$(date -d "$DATE -4 days" +%Y-%m-%d) -echo "Cloning..." -git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT +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, Date=$DATE\n" -echo "Getting commit..." -pushd $PROJECT-$COMMIT -git checkout $COMMIT -cp composer.json ../composer.json -popd + echo "Cloning..." + git clone --shallow-since=$DATE https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT || exit 1 -echo "Archiving..." -tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit1 + cp composer.json ../ -echo "Cleaning..." -rm -rf $PROJECT-$COMMIT + composer config platform.php 8.1.99 + composer install --no-interaction --no-progress --no-dev --optimize-autoloader + cp vendor/composer/installed.json ../ + popd -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} - -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 -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 + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT -echo "Done." + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT +fi |