mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-30 07:39:42 +02:00
Updates to maketarball.sh
1) Removed tabs and cleaned up consistency 2) Added removeal of "win" and "mac" directories which don't do Linux users any good 3) Added removal of "lv2" directory as a system install of lv2 and requisites will be used instead 4) Added removal of "libvamp" directory as a system install of libvamp will be used instead 5) Added removeal of "libsoxr" directory as a system install of libsoxr will be used instead 6) Removed deletion of portaudio-v19/test since it seems to be required to build now 7) Removed Windows project file updating 8) Reordered the src directory copy so that it is done before any changes are made. This way if the tarball creation fails, you still have a pristine src directory.
This commit is contained in:
parent
87a6371ba9
commit
16a5876b23
@ -6,256 +6,201 @@
|
||||
# Re-written in Bash by Richard Ash 2006 - 2013
|
||||
|
||||
function myrmrvf {
|
||||
# a replacement for rm -rvf that has it's output controlled
|
||||
# by the value of the first argument
|
||||
# setting it to 1 makes it verbose, to anything else makes it quiet
|
||||
if [ $1 -eq 1 ]
|
||||
then #verbose mode
|
||||
shift
|
||||
echo "rm -rf $*"
|
||||
rm -rf $*
|
||||
else
|
||||
# quietly
|
||||
shift
|
||||
rm -rf $*
|
||||
fi
|
||||
}
|
||||
|
||||
function myrmvf {
|
||||
# a replacement for rm -vf that has it's output controlled
|
||||
# by the value of the first argument
|
||||
# setting it to 1 makes it verbose, to anything else makes it quiet
|
||||
if [ $1 -eq 1 ]
|
||||
then #verbose mode
|
||||
shift
|
||||
echo "rm -f $*"
|
||||
rm -f $*
|
||||
else
|
||||
# quietly
|
||||
shift
|
||||
rm -f $*
|
||||
fi
|
||||
}
|
||||
|
||||
function myfindrm {
|
||||
# search the file tree removing files that match the specified pattern in
|
||||
# the second argument, with output controlled by the value of the first
|
||||
# argument.
|
||||
# setting it to 1 makes it verbose, to anything else makes it quiet
|
||||
if [ $1 -eq 1 ]; then
|
||||
find . -name "$2" -print -delete
|
||||
else
|
||||
find . -name "$2" -delete
|
||||
fi
|
||||
# a replacement for rm -rvf that has it's output controlled
|
||||
# by the value of the first argument
|
||||
# setting it to 1 makes it verbose, to anything else makes it quiet
|
||||
if [ $1 -eq 1 ] ; then #verbose mode
|
||||
shift
|
||||
echo "rm -rf $*"
|
||||
rm -rf $*
|
||||
else
|
||||
# quietly
|
||||
shift
|
||||
rm -rf $*
|
||||
fi
|
||||
}
|
||||
|
||||
function updsln {
|
||||
# removes unwanted projects from the Windows solution
|
||||
# setting it to 1 makes it verbose, to anything else makes it quiet
|
||||
if [ $1 -eq 1 ]
|
||||
then #verbose mode
|
||||
shift
|
||||
echo "sed -e '/$*/,/EndProject/d' win/audacity.sln >win/audacity.sln.new"
|
||||
sed -e "/$*/,/EndProject/d" win/audacity.sln >win/audacity.sln.new
|
||||
echo "mv win/audacity.sln.new win/audacity.sln"
|
||||
mv win/audacity.sln.new win/audacity.sln
|
||||
else
|
||||
# quietly
|
||||
shift
|
||||
sed -e "/$*/,/EndProject/d" win/audacity.sln >win/audacity.sln.new
|
||||
mv win/audacity.sln.new win/audacity.sln
|
||||
fi
|
||||
}
|
||||
function myrmvf {
|
||||
# a replacement for rm -vf that has it's output controlled
|
||||
# by the value of the first argument
|
||||
# setting it to 1 makes it verbose, to anything else makes it quiet
|
||||
if [ $1 -eq 1 ] ; then #verbose mode
|
||||
shift
|
||||
echo "rm -f $*"
|
||||
rm -f $*
|
||||
else
|
||||
# quietly
|
||||
shift
|
||||
rm -f $*
|
||||
fi
|
||||
}
|
||||
|
||||
function myfindrm {
|
||||
# search the file tree removing files that match the specified pattern in
|
||||
# the second argument, with output controlled by the value of the first
|
||||
# argument.
|
||||
# setting it to 1 makes it verbose, to anything else makes it quiet
|
||||
if [ $1 -eq 1 ] ; then
|
||||
find . -name "$2" -print -delete
|
||||
else
|
||||
find . -name "$2" -delete
|
||||
fi
|
||||
}
|
||||
|
||||
function cleanfulltree {
|
||||
# does the clean-up op on the full source tree prior to building the full
|
||||
# tarball
|
||||
printf "making distclean... "
|
||||
if [ $1 -eq 1 ]; then
|
||||
make distclean;
|
||||
else
|
||||
make distclean 2>/dev/null > /dev/null;
|
||||
fi
|
||||
status=${?}
|
||||
if [[ ${status} -eq 0 ]] ; then
|
||||
printf "Done\n"
|
||||
else
|
||||
echo "Failed to make distclean: exit status was ${status}"
|
||||
exit ${status}
|
||||
fi
|
||||
# does the clean-up op on the full source tree prior to building the full
|
||||
# tarball
|
||||
printf "making distclean ... "
|
||||
if [ $1 -eq 1 ] ; then
|
||||
make distclean
|
||||
else
|
||||
make distclean 2>/dev/null > /dev/null
|
||||
fi
|
||||
status=${?}
|
||||
if [ ${status} -eq 0 ] ; then
|
||||
printf "Done\n"
|
||||
else
|
||||
echo "Failed to make distclean: exit status was ${status}"
|
||||
exit ${status}
|
||||
fi
|
||||
|
||||
echo -n "Checking SVN status... ";
|
||||
revision="$(svnversion)"
|
||||
regex="[[:digit:]]*"
|
||||
if [[ ${revision} =~ ${regex} ]] ; then
|
||||
echo "Unmodified working copy at revision ${revision}"
|
||||
else
|
||||
echo "Modified working copy! Release tarballs must be built from an unmodified working copy! Exiting"
|
||||
exit
|
||||
fi
|
||||
printf "Checking SVN status ... "
|
||||
revision="$(svnversion)"
|
||||
regex="[[:digit:]]*"
|
||||
if [[ ${revision} =~ ${regex} ]] ; then
|
||||
echo "Unmodified working copy at revision ${revision}"
|
||||
else
|
||||
echo "Modified working copy! Release tarballs must be built from an unmodified working copy! Exiting"
|
||||
exit
|
||||
fi
|
||||
|
||||
printf "removing SVN directories... ";
|
||||
find . -depth -name '.svn' -execdir rm -rf '{}' ';'
|
||||
# -depth is needed to avoid find trying to examine directories it has just
|
||||
# deleted.
|
||||
# The sort of quotes used is critical!
|
||||
printf "Done\n"
|
||||
printf "removing SVN directories ... "
|
||||
find . -depth -name '.svn' -execdir rm -rf '{}' ';'
|
||||
# -depth is needed to avoid find trying to examine directories it has just
|
||||
# deleted.
|
||||
# The sort of quotes used is critical!
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing vim / emacs temp files... ";
|
||||
myfindrm $1 "*~"
|
||||
printf "Done\n"
|
||||
printf "removing vim / emacs temp files ... "
|
||||
myfindrm $1 "*~"
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing Python droppings... ";
|
||||
myfindrm $1 "*.pyc"
|
||||
printf "Done\n"
|
||||
printf "removing Python droppings ... "
|
||||
myfindrm $1 "*.pyc"
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing executable and other intermediate files... ";
|
||||
myrmvf $1 src/audacity src/.depend src/.gchdepend
|
||||
myfindrm $1 config.status
|
||||
myfindrm $1 config.log
|
||||
myfindrm $1 config.cache
|
||||
find . -depth -name 'autom4te.cache' -execdir rm -rf '{}' ';'
|
||||
myfindrm $1 aclocal.m4
|
||||
printf "Done\n"
|
||||
printf "removing executable and other intermediate files ... "
|
||||
myrmvf $1 src/audacity src/.depend src/.gchdepend
|
||||
myfindrm $1 config.status
|
||||
myfindrm $1 config.log
|
||||
myfindrm $1 config.cache
|
||||
find . -depth -name 'autom4te.cache' -execdir rm -rf '{}' ';'
|
||||
myfindrm $1 aclocal.m4
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing orphaned symlinks in lib-src/ ... ";
|
||||
myrmvf $1 lib-src/*.a
|
||||
printf "Done\n"
|
||||
printf "removing orphaned symlinks in lib-src/ ... "
|
||||
myrmvf $1 lib-src/*.a
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing doxygen output files ... ";
|
||||
myrmrvf $1 dox
|
||||
printf "Done\n"
|
||||
printf "removing doxygen output files ... "
|
||||
myrmrvf $1 dox
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing unused libraries from SVN tree ..."
|
||||
myrmrvf $1 lib-src/id3lib ;
|
||||
myrmrvf $1 lib-src/portburn;
|
||||
myrmrvf $1 lib-src/portmidi;
|
||||
myrmrvf $1 lib-src/taglib;
|
||||
myrmrvf $1 lib-src/libresample;
|
||||
myrmrvf $1 lib-src/libscorealign;
|
||||
printf "Done\n"
|
||||
printf "removing unused libraries from SVN tree ..."
|
||||
myrmrvf $1 lib-src/id3lib
|
||||
myrmrvf $1 lib-src/portburn
|
||||
myrmrvf $1 lib-src/portmidi
|
||||
myrmrvf $1 lib-src/taglib
|
||||
myrmrvf $1 lib-src/libresample
|
||||
myrmrvf $1 lib-src/libscorealign
|
||||
printf "Done\n"
|
||||
}
|
||||
|
||||
# remove all the things we have in SVN for convenience rather than being
|
||||
# necessary
|
||||
function slimtree {
|
||||
printf "removing todo lists ... ";
|
||||
myrmvf $1 todo.txt
|
||||
printf "Done\n"
|
||||
printf "removing todo lists ... "
|
||||
myrmvf $1 todo.txt
|
||||
printf "Done\n"
|
||||
|
||||
# we cannot remove tests/ because subsequent builds fail ...
|
||||
printf "removing scripts and tests ... ";
|
||||
myrmrvf $1 scripts tests/ProjectCheckTests/
|
||||
printf "Done\n"
|
||||
# we cannot remove tests/ because subsequent builds fail ...
|
||||
printf "removing scripts and tests ... "
|
||||
myrmrvf $1 scripts tests/ProjectCheckTests/
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing libraries that should be installed locally..."
|
||||
myrmrvf $1 lib-src/expat lib-src/libflac lib-src/libid3tag;
|
||||
myrmrvf $1 lib-src/libmad lib-src/libogg;
|
||||
myrmrvf $1 lib-src/libsamplerate lib-src/libsndfile;
|
||||
myrmrvf $1 lib-src/libvorbis lib-src/soundtouch;
|
||||
myrmrvf $1 lib-src/twolame;
|
||||
# these bindings aren't built by default, we don't need them
|
||||
myrmrvf $1 lib-src/portaudio-v19/bindings/;
|
||||
printf "Done\n"
|
||||
printf "removing libraries that should be installed locally ... "
|
||||
myrmrvf $1 lib-src/expat lib-src/libflac lib-src/libid3tag
|
||||
myrmrvf $1 lib-src/libmad lib-src/libogg
|
||||
myrmrvf $1 lib-src/libsamplerate lib-src/libsndfile
|
||||
myrmrvf $1 lib-src/libvorbis lib-src/soundtouch
|
||||
myrmrvf $1 lib-src/libsoxr lib-src/twolame
|
||||
myrmrvf $1 lib-src/libvamp lib-src/lv2
|
||||
# these bindings aren't built by default, we don't need them
|
||||
myrmrvf $1 lib-src/portaudio-v19/bindings/
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing qa ... ";
|
||||
myrmrvf $1 qa
|
||||
printf "Done\n"
|
||||
printf "removing qa ... "
|
||||
myrmrvf $1 qa
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing unused portaudio-v19 directories ... ";
|
||||
myrmrvf $1 lib-src/portaudio-v19/docs
|
||||
myrmrvf $1 lib-src/portaudio-v19/pa_asio
|
||||
myrmrvf $1 lib-src/portaudio-v19/pa_sgi
|
||||
myrmrvf $1 lib-src/portaudio-v19/pa_mac_sm
|
||||
myrmrvf $1 lib-src/portaudio-v19/test
|
||||
myrmrvf $1 lib-src/portaudio-v19/testcvs
|
||||
printf "Done\n"
|
||||
printf "removing unused portaudio-v19 directories ... "
|
||||
myrmrvf $1 lib-src/portaudio-v19/docs
|
||||
myrmrvf $1 lib-src/portaudio-v19/pa_asio
|
||||
myrmrvf $1 lib-src/portaudio-v19/pa_sgi
|
||||
myrmrvf $1 lib-src/portaudio-v19/pa_mac_sm
|
||||
myrmrvf $1 lib-src/portaudio-v19/testcvs
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing wxstd locale files (since they come with wxWidgets)\n";
|
||||
myrmrvf $1 locale/wxstd
|
||||
printf "removing Nyquist plug-ins that are just for show ... "
|
||||
myrmvf $1 plug-ins/analyze.ny plug-ins/fadein.ny plug-ins/fadeout.ny
|
||||
myrmvf $1 plug-ins/undcbias.ny
|
||||
printf "Done\n"
|
||||
|
||||
printf "Removing developer scripts not needed to build audacity ... "
|
||||
myrmrvf $1 scripts/mw2html_audacity
|
||||
printf "Done\n"
|
||||
|
||||
printf "removing Nyquist plug-ins that are just for show ... "
|
||||
myrmvf $1 plug-ins/analyze.ny plug-ins/fadein.ny plug-ins/fadeout.ny
|
||||
myrmvf $1 plug-ins/undcbias.ny
|
||||
printf "Done\n"
|
||||
|
||||
printf "Removing developer scripts not needed to build audacity ..."
|
||||
myrmrvf $1 scripts/mw2html_audacity
|
||||
printf "Done\n"
|
||||
}
|
||||
|
||||
function fixwinforslim {
|
||||
printf "Changing Windows header so that it doesn't try to build with\n";
|
||||
printf "support for optional libraries by default.\n";
|
||||
|
||||
echo "" >> "win/configwin.h"
|
||||
echo "// The Audacity source tarball does NOT come with" >> "win/configwin.h"
|
||||
echo "// any optional libraries." >> "win/configwin.h"
|
||||
echo "" >> "win/configwin.h"
|
||||
echo "// Delete the following lines if you install them manually." >> "win/configwin.h"
|
||||
echo "" >> "win/configwin.h"
|
||||
echo "#undef MP3SUPPORT" >> "win/configwin.h"
|
||||
echo "#undef USE_FFMPEG" >> "win/configwin.h"
|
||||
echo "#undef USE_LIBFLAC" >> "win/configwin.h"
|
||||
echo "#undef USE_LIBID3TAG" >> "win/configwin.h"
|
||||
echo "#undef USE_LIBLRDF" >> "win/configwin.h"
|
||||
echo "#undef USE_LIBMAD" >> "win/configwin.h"
|
||||
echo "#undef USE_LIBSAMPLERATE" >> "win/configwin.h"
|
||||
echo "#undef USE_LIBTWOLAME" >> "win/configwin.h"
|
||||
echo "#undef USE_LIBVORBIS" >> "win/configwin.h"
|
||||
echo "#undef USE_SLV2" >> "win/configwin.h"
|
||||
echo "#undef USE_SOUNDTOUCH" >> "win/configwin.h"
|
||||
echo "#undef EXPERIMENTAL_SCOREALIGN" >> "win/configwin.h"
|
||||
|
||||
|
||||
printf "removing unwanted projects from VC++ solution\n"
|
||||
updsln $mode libflac
|
||||
updsln $mode libflac++
|
||||
updsln $mode libid3tag
|
||||
updsln $mode libmad
|
||||
updsln $mode liblrdf
|
||||
updsln $mode librdf
|
||||
updsln $mode libsamplerate
|
||||
updsln $mode twolame
|
||||
updsln $mode libvorbis
|
||||
updsln $mode libogg
|
||||
updsln $mode raptor
|
||||
updsln $mode rasqal
|
||||
updsln $mode slv2
|
||||
updsln $mode soundtouch
|
||||
updsln $mode libscorealign
|
||||
printf "Removing Mac and Windows build files ... "
|
||||
myrmrvf $1 mac
|
||||
myrmrvf $1 win
|
||||
printf "Done\n"
|
||||
}
|
||||
|
||||
echo "Maketarball 2.1.0 -- make an Audacity distribution tarball"
|
||||
|
||||
# check number of arguments, if not one then print a usage message
|
||||
if [ $# == 1 ]; then
|
||||
:
|
||||
# carry on, looks like they know what they are doing
|
||||
else
|
||||
echo "Script to make directory trees for audacity source tarballs"
|
||||
echo "Usage: $0 <mode>"
|
||||
echo "Where mode is either \"quiet\" or \"verbose\""
|
||||
exit 1
|
||||
if [ $# -ne 1 ] ; then
|
||||
echo "Script to make directory trees for audacity source tarballs"
|
||||
echo "Usage: $0 <mode>"
|
||||
echo "Where mode is either \"quiet\" or \"verbose\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" = "quiet" ]; then
|
||||
mode=0
|
||||
elif [ "$1" = "verbose" ]; then
|
||||
mode=1
|
||||
if [ "$1" = "quiet" ] ; then
|
||||
mode=0
|
||||
elif [ "$1" = "verbose" ] ; then
|
||||
mode=1
|
||||
else
|
||||
echo "The argument to $0 must be either \"quiet\" or \"verbose\""
|
||||
exit 1
|
||||
echo "The argument to $0 must be either \"quiet\" or \"verbose\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "src/Audacity.h" ]
|
||||
then :
|
||||
# a null body - we will just carry straight on
|
||||
else
|
||||
echo "$0 must be run from top-level audacity directory"
|
||||
exit 1
|
||||
if [ ! -f "src/Audacity.h" ] ; then
|
||||
echo "$0 must be run from top-level audacity directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# capture some directory information, we'll want it later
|
||||
sourcedir="$(pwd)" # where the sources are
|
||||
cd ..
|
||||
topdir="$(pwd)" # one level up where the tarballs come out
|
||||
tmpsrc="${topdir}/$(mktemp -d audacity-src-XXXXXX)" # where initial modifications are done
|
||||
|
||||
printf "making copy of source directory ... "
|
||||
cp -pr "${sourcedir}/." "${tmpsrc}"
|
||||
cd "${tmpsrc}"
|
||||
printf "Done\n"
|
||||
|
||||
# The script relies on make working, so Makefiles need to be present. This
|
||||
# means that configure must have been run on the sources. In general it doesn't
|
||||
# matter what options, but the generation of a Makefile in lib-src/ in
|
||||
@ -266,36 +211,36 @@ fi
|
||||
# dependency turned off, so we should check that libsndfile is clean, and ask
|
||||
# for reconfiguration if not.
|
||||
reconf=0
|
||||
if [[ -f "lib-src/Makefile" ]] ; then
|
||||
# we have a Makefile - is it new enough?
|
||||
t2=$(date +%s -r "lib-src/Makefile")
|
||||
t1=$(date +%s -r "lib-src/Makefile.in")
|
||||
if [[ $t1 -gt $t2 ]] ; then
|
||||
# not new enough, reconfigure
|
||||
reconf=1
|
||||
fi
|
||||
if [ -f "lib-src/Makefile" ] ; then
|
||||
# we have a Makefile - is it new enough?
|
||||
t2=$(date +%s -r "lib-src/Makefile")
|
||||
t1=$(date +%s -r "lib-src/Makefile.in")
|
||||
if [ $t1 -gt $t2 ] ; then
|
||||
# not new enough, reconfigure
|
||||
reconf=1
|
||||
fi
|
||||
else
|
||||
# if no Makefile, definitly need to configure
|
||||
reconf=1
|
||||
# if no Makefile, definitly need to configure
|
||||
reconf=1
|
||||
fi
|
||||
|
||||
# these are the arguments we will pass to configure when it is run
|
||||
configargs="--enable-maintainer-mode"
|
||||
|
||||
if [[ x"$reconf" = x1 ]] ; then
|
||||
echo "Your Makefiles are out of date or missing. (Re)running configure to"
|
||||
echo "create up-to-date Makefiles before building tarballs..."
|
||||
echo " ./configure ${configargs}"
|
||||
if [ $reconf -eq 1 ] ; then
|
||||
echo "Your Makefiles are out of date or missing. (Re)running configure to"
|
||||
echo "create up-to-date Makefiles before building tarballs..."
|
||||
echo " ./configure ${configargs}"
|
||||
|
||||
# if we are in silent mode, then redirect the output of configure
|
||||
if [ $mode -eq 1 ]; then
|
||||
if [ $mode -eq 1 ] ; then
|
||||
$SHELL -c "./configure ${configargs}"
|
||||
else
|
||||
$SHELL -c "./configure ${configargs}" > /dev/null 2>&1
|
||||
fi
|
||||
if [[ ${?} -ne 0 ]] ; then
|
||||
if [ ${?} -ne 0 ] ; then
|
||||
echo "Error - configure exited with non-zero status!"
|
||||
exit 1
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -307,83 +252,61 @@ fi
|
||||
# through the pre-processor to get the version string components where we can
|
||||
# find them.
|
||||
|
||||
if [[ ! -x "config.status" ]] ; then
|
||||
if [ ! -x "config.status" ] ; then
|
||||
echo "config.status is not present or executable - cannot proceed"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "Getting program version... "
|
||||
|
||||
echo -n "Getting program version ... "
|
||||
# first off, find out what C++ pre-processor configure has found for us to use
|
||||
# (because we want the same one that will be used to build Audacity). This is a
|
||||
# neat trick using the config.status script left behind after configure has
|
||||
# been run
|
||||
cppprog="$(echo '@CXX@' | ./config.status --file=-)"
|
||||
|
||||
# now create a temporary directory where out source file will live
|
||||
cppdir="$(mktemp -d mktarball.XXXXXXXXXXX)"
|
||||
cppfile="${cppdir}/ver.cpp"
|
||||
# create the test source file
|
||||
cat > "${cppfile}" << EOFCPP
|
||||
#include "$(pwd)/src/Audacity.h"
|
||||
AUDACITY_VERSION
|
||||
AUDACITY_RELEASE
|
||||
AUDACITY_REVISION
|
||||
AUDACITY_SUFFIX
|
||||
EOFCPP
|
||||
# run the preprocessor, convert output to shell variables, and evaluate to
|
||||
# define them
|
||||
eval $(cpp -E <<CPPEOF | sed -e 's/wxT("//g' \
|
||||
-e 's/")//g' \
|
||||
-e 's/ //g' \
|
||||
-e "s/__TDATE__/$(date +%Y%m%d)/" \
|
||||
-e 's/=/="/' \
|
||||
-e 's/$/"/' \
|
||||
-e '/^v_/p' \
|
||||
-e 'd'
|
||||
#include "src/Audacity.h"
|
||||
v_major=AUDACITY_VERSION
|
||||
v_minor=AUDACITY_RELEASE
|
||||
v_micro=AUDACITY_REVISION
|
||||
v_suffix=AUDACITY_SUFFIX
|
||||
CPPEOF
|
||||
)
|
||||
|
||||
# pre-process the source (to get macros expanded) and parse the result
|
||||
major_version=$(${cppprog} "${cppfile}" -E | tail -n 4 | head -n 1)
|
||||
minor_version=$(${cppprog} "${cppfile}" -E | tail -n 3 | head -n 1)
|
||||
micro_version=$(${cppprog} "${cppfile}" -E | tail -n 2 | head -n 1)
|
||||
# this gets the text out of the wxT("") macro it is already wrapped in
|
||||
version_suffix=$(${cppprog} "${cppfile}" -E | tail -n 1 | cut -d\" -f 2)
|
||||
# see if the suffix contains a compiler date macro
|
||||
${cppprog} "${cppfile}" -E | tail -n 1 | grep -v -q '__TDATE__'
|
||||
version_date=$?
|
||||
|
||||
if [[ ${version_date} -ne 0 ]] ; then
|
||||
# need to suffix the date on to the suffix string
|
||||
version_suffix="${version_suffix}$(date "+%Y%m%d")"
|
||||
fi
|
||||
# remove that temp directory and the associated files
|
||||
rm -fr "${cppdir}"
|
||||
|
||||
version="${major_version}.${minor_version}.${micro_version}${version_suffix}"
|
||||
echo "${version}"
|
||||
# completes previous echo -n call
|
||||
|
||||
# capture some directory information, we'll want it later
|
||||
sourcedir="$(pwd)" # where the sources are
|
||||
cd ..
|
||||
topdir="$(pwd)" # one level up where the tarballs come out
|
||||
tarname="audacity-src-${version}" # the directory we will find inside tarballs
|
||||
tardir="${topdir}/${tarname}" # absolute tar directory
|
||||
|
||||
printf "making copy of source directory... "
|
||||
cd "${sourcedir}" # go to sources dir
|
||||
cp -r . "${tardir}"
|
||||
cd "${tardir}"
|
||||
printf "Done\n"
|
||||
version="${v_major}.${v_minor}.${v_micro}${v_suffix}"
|
||||
printf "${version}\n"
|
||||
|
||||
# now clean out the directory of all the things we don't need in the
|
||||
# tarball, prior to building the source tarball
|
||||
cleanfulltree $mode;
|
||||
cleanfulltree $mode
|
||||
|
||||
# now we have the full source tree, lets slim it down to the bits that
|
||||
# you actually need to build audacity on a shared library system with the
|
||||
# relevant libraries installed on the system (e.g. Linux distros)
|
||||
slimtree $mode;
|
||||
slimtree $mode
|
||||
|
||||
# Fix up windows builds for the slimmed state of the tarball
|
||||
fixwinforslim ${mode}
|
||||
# Rename the source tree to the versioned name
|
||||
cd "${topdir}"
|
||||
printf "Renaming source tree ... "
|
||||
tarname="audacity-minsrc-${version}" # the directory we will find inside tarballs
|
||||
mv "${tmpsrc}" "${tarname}"
|
||||
printf "Done\n"
|
||||
|
||||
# Tar up that lot as the source tarball
|
||||
cd "${topdir}"
|
||||
printf "Creating source tarball .... "
|
||||
tar cf "audacity-minsrc-${version}.tar" "${tarname}"
|
||||
printf "Creating source tarball ... "
|
||||
tar cf "${tarname}.tar" "${tarname}"
|
||||
printf "Done\n"
|
||||
|
||||
printf "Compressing source tarball .... "
|
||||
xz "audacity-minsrc-${version}.tar"
|
||||
|
||||
cd "${tardir}"
|
||||
printf "Compressing source tarball ... "
|
||||
xz "${tarname}.tar"
|
||||
cd "${tarname}"
|
||||
printf "Done\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user