merge with master, including manual merge conflict resolution
[ardour.git] / tools / linux_packaging / build
index 8b692de74ec5189bb811f94033ca39c9d0936c60..1928fadd8f7fc85afbb77101be9360ddd25e2d78 100755 (executable)
@@ -16,6 +16,7 @@ BUILD_ROOT=../../build
 
 MIXBUS=
 WITH_LADSPA=0
+WITH_HARVID=
 STRIP=all
 PRINT_SYSDEPS=
 WITH_NLS=
@@ -70,6 +71,7 @@ while [ $# -gt 0 ] ; do
        --strip) STRIP=$2 ; shift ; shift ;;
        --sysdeps) PRINT_SYSDEPS=1; shift ;;
        --nls) WITH_NLS=1 ; shift ;;
+       --harvid) WITH_HARVID=1 ; shift ;;
 
        *)
                #catch all for unknown arguments
@@ -87,10 +89,10 @@ if test x$STRIP != xall -a x$STRIP != xnone -a x$STRIP != xsome ; then
     exit 1
 fi
 
-release_version=`grep -m 1 '[^A-Za-z_]LINUX_VERSION = ' ../../wscript | awk '{ print $3 }' | sed "s/'//g"`
-revision=`grep -m 1 'revision =' ../../libs/ardour/revision.cc | cut -d'"' -f 2`
-echo "Version is $release_version / $revision"
-info_string="$release_version/$revision built on `hostname` by `whoami` on `date`"
+. ./define_versions.sh
+
+echo "Version is $version / $commit"
+info_string="$version ($commit) built on `hostname` by `whoami` on `date`"
 echo "Info string is $info_string"
 
 # Figure out our CPU type
@@ -99,11 +101,13 @@ case `uname -m` in
                echo "Architecture is x86"
                ARCH='x86'
                ARCH_BITS='32-bit'
+               MULTIARCH='i386-linux-gnu'
                ;;
        x86_64|amd64|AMD64)
                echo "Architecture is x86_64"
                ARCH='x86_64'
                ARCH_BITS='64-bit'
+               MULTIARCH='x86_64-linux-gnu'
                ;;
        *)
                echo ""
@@ -113,13 +117,6 @@ case `uname -m` in
                ;;
 esac
 
-# Figure out the Build Type
-if grep -q "DEBUG = True" ../../build/c4che/default.cache.py; then
-       DEBUG="T"
-else
-       DEBUG="F"
-fi
-
 if [ x$DEBUG = xT ]; then
     BUILDTYPE="dbg"
     if [ x$STRIP = xall ] ; then
@@ -131,11 +128,11 @@ fi
 # setup directory structure
 
 if [ -z "${BUILDTYPE}" ]; then
-       APPDIR=${APPNAME}_${ARCH}-${release_version}_${revision}
-       APP_VER_NAME=${APPNAME}-${release_version}_${revision}
+       APPDIR=${APPNAME}_${ARCH}-${version}
+       APP_VER_NAME=${APPNAME}-${version}
 else
-       APPDIR=${APPNAME}_${ARCH}-${release_version}_${revision}-${BUILDTYPE}
-       APP_VER_NAME=${APPNAME}-${release_version}_${revision}-${BUILDTYPE}
+       APPDIR=${APPNAME}_${ARCH}-${version}-${BUILDTYPE}
+       APP_VER_NAME=${APPNAME}-${version}-${BUILDTYPE}
 fi
 
 APPBIN=$APPDIR/bin
@@ -195,7 +192,6 @@ mkdir -p $MackieControl
 mkdir -p $ExportFormats
 mkdir -p $Panners
 mkdir -p $Templates
-mkdir -p $Shared/templates
 mkdir -p $Shared/doc
 
 # maybe set variables
@@ -366,11 +362,11 @@ for x in $BUILD_ROOT/../mcp/*.device $BUILD_ROOT/../mcp/*.profile ; do
 done
 
 # Templates
-for f in $BUILD_ROOT/../templates/* ; do 
-    if [ -d "$f" ] ; then
-       echo Template: $f ; cp -r "$f" $Templates ; 
-    fi
-done
+#for f in $BUILD_ROOT/../templates/* ; do 
+#    if [ -d "$f" ] ; then
+#      echo Template: $f ; cp -r "$f" $Templates ; 
+#    fi
+#done
 
 # ExportFormats
 # got to be careful with names here
@@ -532,10 +528,18 @@ for svndir in `find $APPDIR -name .svn -type d`; do
        rm -rf $svndir
 done
 
+if test x$WITH_HARVID != x ; then
+       cd $APPBIN
+       HARVID_VERSION="v0.7.0" # todo make 'latest' symlink on github work somehow.
+       curl -L http://x42.github.com/harvid/releases/harvid-${MULTIARCH}-${HARVID_VERSION}.tgz \
+               | tar -x -z --exclude=README --exclude=harvid.1 --strip-components=1 || exit 1
+       cd -
+fi
+
 #
 # Add the uninstaller
 #
-sed -e "s/%REPLACE_PGM%/${APPNAME}/" -e "s/%REPLACE_VENDOR%/${VENDOR}/" -e "s/%REPLACE_VERSION%/${release_version}/" -e "s/%REPLACE_BUILD%/${revision}/" -e "s/%REPLACE_TYPE%/${BUILDTYPE}/" < uninstall.sh.in > $APPBIN/${APP_VER_NAME}.uninstall.sh
+sed -e "s/%REPLACE_PGM%/${APPNAME}/" -e "s/%REPLACE_VENDOR%/${VENDOR}/" -e "s/%REPLACE_VERSION%/${version}/" -e "s/%REPLACE_TYPE%/${BUILDTYPE}/" < uninstall.sh.in > $APPBIN/${APP_VER_NAME}.uninstall.sh
 chmod a+x $APPBIN/${APP_VER_NAME}.uninstall.sh
 
 #Sanity Check file