#!/bin/bash # # This script is intended to be used after tagging the repository and updating # the version files for a release. It will create a CPAN archive. Run this # from inside a docker image like ubuntu-focal. # set -e rm -f MANIFEST rm -rf Thrift-* # setup cpan without a prompt echo | cpan cpan install HTTP::Date Log::Log4perl cpan install CPAN cpan install CPAN::Meta ExtUtils::MakeMaker JSON::PP # cpan install Module::Signature perl Makefile.PL rm MYMETA.yml make manifest make dist # # We unpack the archive so we can add version metadata for CPAN # so that it properly indexes Thrift and remove unnecessary files. # echo '-----------------------------------------------------------' set -x DISTFILE=$(ls Thrift*.gz) NEWFILE=${DISTFILE/t-v/t-} if [[ "$DISTFILE" != "$NEWFILE" ]]; then mv $DISTFILE $NEWFILE DISTFILE="$NEWFILE" fi tar xzf $DISTFILE rm $DISTFILE DISTDIR=$(ls -d Thrift*) # cpan doesn't like "Thrift-v0.nn.0 as a directory name # needs to be Thrift-0.nn.0 NEWDIR=${DISTDIR/t-v/t-} if [[ "$DISTDIR" != "$NEWDIR" ]]; then mv $DISTDIR $NEWDIR DISTDIR="$NEWDIR" fi cd $DISTDIR cp -p ../Makefile.PL . cp -pr ../gen-perl . cp -pr ../gen-perl2 . perl ../tools/FixupDist.pl cd .. tar cvzf $DISTFILE $DISTDIR rm -r $DISTDIR