#!/bin/sh +v PATH=/usr/local/gnu-autotools/bin/:$PATH export PATH # BSD make's "OBJDIR" support freaks out the automake-generated # Makefile. Effectively disable it. export MAKEOBJDIRPREFIX=/junk # Start from the build directory, where the version file is located if [ -f build/version ]; then cd build fi if [ \! -f version ]; then echo "Can't find version file" exit 1 fi # Update the build number in the 'version' file. # Separate number from additional alpha/beta/etc marker MARKER=`cat version | sed 's/[0-9.]//g'` # Bump the number VN=`cat version | sed 's/[^0-9.]//g'` # Reassemble and write back out VN=$(($VN + 1)) rm -f version.old mv version version.old chmod +w version.old echo $VN$MARKER > version # Build out the string. VS="$(($VN/1000000)).$(( ($VN/1000)%1000 )).$(( $VN%1000 ))$MARKER" cd .. # Substitute the integer version into Libarchive's archive.h perl -p -i -e "s/^(#define\tARCHIVE_VERSION_NUMBER).*/\$1 $VN/" libarchive/archive.h perl -p -i -e "s/^(#define\tARCHIVE_VERSION_STRING).*/\$1 \"libarchive $VS\"/" libarchive/archive.h # Substitute the string version into tar and cpio Makefiles perl -p -i -e "s/^(BSDTAR_VERSION_STRING)=.*/\$1=$VS/" tar/Makefile perl -p -i -e "s/^(BSDCPIO_VERSION_STRING)=.*/\$1=$VS/" cpio/Makefile # Substitute versions into configure.ac as well perl -p -i -e 's/(m4_define\(\[LIBARCHIVE_VERSION_S\]),.*\)/$1,['"$VS"'])/' configure.ac perl -p -i -e 's/(m4_define\(\[LIBARCHIVE_VERSION_N\]),.*\)/$1,['"$VN"'])/' configure.ac # Add a version notice to NEWS mv NEWS NEWS.bak chmod +w NEWS.bak echo > NEWS echo `date +"%b %d, %Y:"` libarchive $VS released >> NEWS cat NEWS.bak >> NEWS # Clean up first rm -rf /usr/obj`pwd` (cd examples/minitar && make cleandir && make clean) (cd libarchive && make cleandir && make clean) (cd libarchive/test && make cleandir && make clean && make list.h) (cd tar && make cleandir && make clean) # Build the libarchive distfile /bin/sh build/autogen.sh ./configure make distcheck