[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:46:05 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=a0a4713
The following commit has been merged in the master branch:
commit a0a4713830364d096eb1ca56b7d24dd0143ad776
Author: Robin Mills <robin at clanmills.com>
Date: Tue Dec 15 22:22:32 2015 +0000
#1109 and #1041 Adding cmake_daily.sh and testDailyAll.sh
---
contrib/buildserver/cmake_daily.sh | 199 ++++++++++++++++++++++++++++++++++++
contrib/buildserver/testDailyAll.sh | 4 +
2 files changed, 203 insertions(+)
diff --git a/contrib/buildserver/cmake_daily.sh b/contrib/buildserver/cmake_daily.sh
new file mode 100755
index 0000000..d546cb2
--- /dev/null
+++ b/contrib/buildserver/cmake_daily.sh
@@ -0,0 +1,199 @@
+#!/bin/bash
+
+##
+# jenkins_daily.sh
+
+##
+# configure the build (only used for msvc builds)
+arch=x64
+mode=dll
+config=Release
+vs=2013
+
+result=0
+
+##
+# which PLATFORM
+# JOB_NAME is defined when script is called by Jenkins
+# example: JOB_NAME=trunk-cmake-daily/label=msvc
+# PLATFORM must be defined as msvc when called from ssh
+if [ ! -z "$JOB_NAME" ];then
+ PLATFORM=$(echo $JOB_NAME | cut -d= -f 2)
+fi
+if [ "$PLATFORM" == "" ]; then
+ export PLATFORM=''
+ if [ `uname` == Darwin ]; then
+ PLATFORM=macosx
+ elif [ `uname -o` == Cygwin ]; then
+ PLATFORM=cygwin
+ # tweak path to ensure the correct version of perl and expr for autotools
+ export "PATH=/bin:$PATH"
+ elif [ `uname -o` == Msys ]; then
+ PLATFORM=mingw
+ else
+ PLATFORM=linux
+ fi
+fi
+
+##
+# determine location of the build and source directories
+if [ "$PLATFORM" == "msvc" ]; then
+ exiv2=$(cygpath -aw .)
+ build=$(cygpath -aw ./build)
+ dist=$(cygpath -au ./build/dist/$vs/$arch/$mode/$config/bin)
+ msvc=$(cygpath -au ./contrib/cmake/msvc)
+ exe=.exe
+ bin=''
+else
+ exiv2=$PWD
+ build=$PWD/build
+ dist=$PWD/build/dist/$PLATFORM
+ exe=''
+ bin=bin
+ if [ -e $exiv2/CMakeCache.txt ]; then rm -rf $exiv2/CMakeCache.txt ; fi
+fi
+
+##
+# create a clean directory for an out-of-source build
+rm -rf $dist
+mkdir -p $dist
+mkdir -p $build/dist/logs
+
+echo "---- dist = $dist ------"
+echo "---- build = $build ------"
+
+##
+# perform the build
+(
+ if [ "$PLATFORM" == "msvc" ]; then
+ ##
+ # get windows cmd.exe to perform the build
+ # use a subshell to restore the path
+ (
+ PATH="$msvc:/cygdrive/c/Program Files/csvn/bin:/cygdrive/c/Program Files (x86)/WANdisco/Subversion/csvn/bin:/cygdrive/c/Program Files/7-zip:/cygdrive/c/Program Files (x86)/cmake/bin:$PATH:/cygdrive/c/Windows/System32"
+ cmd.exe /c "cd $build && vcvars $vs $arch && cmakeBuild --rebuild --exiv2=$exiv2 $*"
+ result=$?
+ cp $msvc/vcvars.bat $build/dist # required by test_daily.sh
+ )
+ else
+ pushd $build > /dev/null
+ (
+ # build 64 bit library
+ export CFLAGS=-m64
+ export CXXFLAGS=-m64
+ export LDFLAGS=-m64
+ # Always use /usr/local/bin/cmake
+ # I can guarantee it to be at least 3.4.1
+ # because I built it from source and installed it
+ /usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=$dist -DEXIV2_ENABLE_NLS=OFF $exiv2
+ make
+ /usr/local/bin/cmake --build . --target install
+ )
+ popd > /dev/null
+ fi
+) | tee "$build/dist/logs/build.log"
+##
+# test the build
+if [ -e $dist/$bin/exiv2$exe ]; then
+ pushd test > /dev/null
+ # EXIV2_BINDIR is used by the test suite to locate executables
+ export EXIV2_BINDIR=$dist/$bin
+ # set LD_LIBRARY_PATH (and DYLD_LIBRARY_PATH for macosx)
+ # to be sure we run the tests with the newly built library
+ export DYLD_LIBRARY_PATH=$dist/lib
+ export LD_LIBRARY_PATH=$dist/lib
+ (
+ for test in addmoddel.sh \
+ bugfixes-test.sh \
+ exifdata-test.sh \
+ exiv2-test.sh \
+ imagetest.sh \
+ iotest.sh \
+ iptctest.sh \
+ modify-test.sh \
+ path-test.sh \
+ preview-test.sh \
+ stringto-test.sh \
+ tiff-test.sh \
+ write-test.sh \
+ write2-test.sh \
+ xmpparser-test.sh \
+ conversions.sh
+ do
+ echo '++' $test '++' ; ./$test
+ done
+ ) | tee "$build/dist/logs/test.log"
+
+ popd > /dev/null
+
+ $EXIV2_BINDIR/exiv2 -vV
+ ls -alt $EXIV2_BINDIR
+ $EXIV2_BINDIR/exiv2 -vV -g date -g time -g version
+ ls -alt $EXIV2_BINDIR/exiv2$exe
+
+ ##
+ # store the build for users to collect
+ mmHD=""
+ if [ "$PLATFORM" == "linux" ]; then
+ mmHD=/media/psf/Host
+ fi
+ if [ "$PLATFORM" == "msvc" -o "$PLATFORM" == "cygwin" ]; then
+ mmHD="//psf/Host/"
+ fi
+ jpubl=$mmHD/Users/Shared/Jenkins/Home/userContent/builds
+
+ daily=$jpubl/daily
+ weely=$jpubl/weekly
+ monly=$jpubl/monthly
+ if [ ! -e $jpubl ]; then mkdir -p $jpubl ; fi
+ if [ ! -e $daily ]; then mkdir -p $daily ; fi
+ if [ ! -e $weely ]; then mkdir -p $weely ; fi
+ if [ ! -e $monly ]; then mkdir -p $monly ; fi
+
+ if [ -e $jpubl ]; then
+ dow=$(date '+%w') # 0..6 day of the week
+ dom=$(date '+%d') # 1..31 day of the month
+ mon=$(date '+%m') # 1..12 month
+ date=$(date '+%Y-%m-%d+%H-%M-%S')
+ svn=$($EXIV2_BINDIR/exiv2$exe -vV | grep -e ^svn | cut -d= -f 2)
+ b="${PLATFORM}-svn-${svn}-date-${date}.tar.gz"
+
+ # add documentation and samples to dist
+ cat contrib/buildserver/dailyReadMe.txt | sed -E -e "s/__BUILD__/$b/" > "$build/dist/ReadMe.txt"
+ mkdir -p "$build/dist/samples/"
+ cp samples/exifprint.cpp "$build/dist/samples/"
+
+ # create the bundle
+ pushd "$build" > /dev/null
+ rm -rf *.tar.gz
+ tar czf "$b" dist/
+ ls -alt
+ mv $b ..
+ popd > /dev/null
+
+ # clean userContent/build directories
+ # daily > 50 days; weekly > 1 year; monthly > 5 years
+ if [ -e $daily ]; then find $daily -type f -ctime +50 -exec rm -rf {} \; ; fi
+ if [ -e $weely ]; then find $weely -type f -ctime +365 -exec rm -rf {} \; ; fi
+ if [ -e $monly ]; then find $monly -type f -ctime $((366 * 5)) -exec rm -rf {} \; ; fi
+
+ # store the build
+ cp $b $daily
+ if [ "$dow" == "1" ]; then cp $b $weely; fi # Monday
+ if [ "$dom" == "1" ]; then cp $b $monly; fi # First day of the month
+
+ echo '***' build = $b '***'
+ else
+ echo '***' jenkins builds directory does not exist ${jpubl} '***'
+ result=2
+ fi
+else
+ echo ''
+ echo '**** no build created ****'
+ echo ''
+ result=1
+fi
+
+exit $result
+# That's all Folks!
+##
diff --git a/contrib/buildserver/testDailyAll.sh b/contrib/buildserver/testDailyAll.sh
new file mode 100755
index 0000000..7eb6686
--- /dev/null
+++ b/contrib/buildserver/testDailyAll.sh
@@ -0,0 +1,4 @@
+ssh rmills at rmillsmm '~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh'
+ssh rmills at rmillsmm-kubuntu '~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh'
+ssh rmills at rmillsmm-w7 '~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh'
+ssh rmills at rmillsmm-w7 'export PLATFORM=msvc ; ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh'
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list