X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=mkgitrel.pub;h=9d7dd18d6098b87a3d4f19721095217401e21f37;hb=refs%2Fheads%2Fbin;hp=6b7e87acf958485c666ed113f5f89977bfc85a0f;hpb=8d5ca4b6d4423b85f28d70565770bb5d83c93784;p=releases.git diff --git a/mkgitrel.pub b/mkgitrel.pub index 6b7e87acf95..9d7dd18d609 100755 --- a/mkgitrel.pub +++ b/mkgitrel.pub @@ -1,6 +1,6 @@ #! /bin/bash -# Copyright 2021 Alexandre Oliva +# Copyright 2021-2023 Alexandre Oliva # # This program is part of GNU Linux-libre, a GNU project that # publishes scripts to clean up Linux so as to make it suitable for @@ -21,39 +21,16 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 # USA -reldir=$HOME/linux-libre/releases - -key=474402C8C582DAFBE389C427BCB7CF877E7D47A7 +scriptdir=$(dirname "$0") +. $scriptdir/mkgitrel.gcfg success=: for rel do -rup=$(echo "$rel" | sed 's,-gnu[0-9]*$,,') -cbr=$(echo "$rup" | sed 's,\(\.\|-rc\)[0-9]*$,,') - -if test -d $reldir/$rel; then - echo $reldir/$rel exists >&2 - continue -fi - -if test -h $reldir/LATEST-$cbr.0; then - prev0=$(readlink $reldir/LATEST-$cbr.0) - prevn=$(readlink $reldir/LATEST-$cbr.N) -elif test -h $reldir/LATEST-$rup.N; then - cbr=$rup - prev0=$(readlink $reldir/LATEST-$cbr.0) - prevn=$(readlink $reldir/LATEST-$cbr.N) -else - echo Neither $reldir/LATEST-$cbr.0 nor $reldir/LATEST-$rup.N exist >&2 - exit 1 -fi +. $scriptdir/mkgitrel.setprev && -DATE=$(git cat-file -p incr/v$rel | - gawk '/^(author|tagger)/ { - print strftime(PROCINFO["strftime"], $(NF-1)) - }') && -export GIT_COMMITTER_DATE=$DATE GIT_AUTHOR_DATE=$DATE && +. $scriptdir/mkgitrel.setdate && if test -f linux-libre-$rel.check; then echo linux-libre-$rel.check exists, abandoning this release @@ -62,11 +39,23 @@ if test -f linux-libre-$rel.check; then continue fi && -while test -f linux-libre-$rel.patck; do +while test -f linux-libre-$rel.patck && test ! -f linux-libre-$rel.check; do echo please verify linux-libre-$rel.patck and move it away to complete the release sleep 30 done && +# Look for .check again, maybe it was created manually while we waited +# for .patck to be removed. In this case, we have to duplicate the +# cleanups that .rel would have already done. +if test -f linux-libre-$rel.check; then + echo linux-libre-$rel.check exists, abandoning this release + git tag -d incr/v$rel logs/v$rel sources/v$rel |& + tee -a linux-libre-$rel.dtags + git worktree remove logs/v$rel + git worktree remove --force sources/v$rel + continue +fi && + ( cd scripts/v$rel && { { git reset --soft -q scripts/$cbr && @@ -99,8 +88,12 @@ for x in scripts sources logs; do fi done && -git worktree remove --force sources/v$rel +git worktree remove --force sources/v$rel && + +continue + +success=false done && -$success +: $success