[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