source: orange/install-scripts/mac/dailyrun.sh @ 10870:a30b0e113f0a

Revision 10870:a30b0e113f0a, 6.7 KB checked in by Ales Erjavec <ales.erjavec@…>, 2 years ago (diff)

dailyrun.sh script fix.

  • Property exe set to *
Line 
1#!/bin/bash
2#
3# Should be run as: sudo ./dailyrun.sh
4#
5# $1 workdir
6# $2 force
7# $3 local
8
9WORK_DIR=${1:-"/private/tmp"}
10FORCE=$2
11LOCAL=$3
12
13MAC_VERSION=`sw_vers -productVersion | cut -d '.' -f 2`
14
15test -r /sw/bin/init.sh && . /sw/bin/init.sh
16
17export PATH=$HOME/bin:$PATH
18
19if [ $LOCAL ]; then
20    PUBLISH_DIR=$WORK_DIR/download
21    LOG_DIR=$WORK_DIR/logs
22    mkdir -p $PUBLISH_DIR
23    mkdir -p $LOG_DIR
24else
25    PUBLISH_DIR=/Volumes/download
26    LOG_DIR=/Volumes/download/buildLogs/osx
27fi
28
29if [ ! -e $WORK_DIR ]; then
30    mkdir -p $WORK_DIR
31fi
32
33SOURCES_DIR=$PUBLISH_DIR/sources
34
35defaults write com.apple.desktopservices DSDontWriteNetworkStores true
36
37if [ ! $LOCAL ]; then
38    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
39fi
40
41# Get old source addon versions from PKG-INFO files (these are updated by dailyrun-sources)
42OLD_ORANGE_VERSION=`grep "^Version:" $SOURCES_DIR/Orange.egg-info/PKG-INFO | cut -d " " -f 2`
43OLD_BIOINFORMATICS_VERSION=`grep "^Version:" $SOURCES_DIR/Orange_Bioinformatics.egg-info/PKG-INFO | cut -d " " -f 2`
44OLD_TEXT_VERSION=`grep "^Version:" $SOURCES_DIR/Orange_Text_Mining.egg-info/PKG-INFO | cut -d " " -f 2`
45
46
47SOURCE_LOG=$WORK_DIR/sources-daily-build.log
48
49./dailyrun-sources.sh $WORK_DIR $FORCE $LOCAL &> $SOURCE_LOG
50EXIT_VALUE=$?
51
52echo "Orange (sources) [ $EXIT_VALUE ]" > "$LOG_DIR/source-daily-build-hg.log"
53date >> "$LOG_DIR/source-daily-build-hg.log"
54cat $SOURCE_LOG >> "$LOG_DIR/source-daily-build-hg.log"
55(($EXIT_VALUE)) && echo "Daily sources failed"
56
57
58# Get new versions from PKG-INFO files (these are updated by dailyrun-sources)
59ORANGE_VERSION=`grep "^Version:" $SOURCES_DIR/Orange.egg-info/PKG-INFO | cut -d " " -f 2`
60BIOINFORMATICS_VERSION=`grep "^Version:" $SOURCES_DIR/Orange_Bioinformatics.egg-info/PKG-INFO | cut -d " " -f 2`
61TEXT_VERSION=`grep "^Version:" $SOURCES_DIR/Orange_Text_Mining.egg-info/PKG-INFO | cut -d " " -f 2`
62
63
64# Source filenames
65ORANGE_SOURCE="Orange-${ORANGE_VERSION}.tar.gz"
66BIOINFORMATICS_SOURCE="Orange-Bioinformatics-${BIOINFORMATICS_VERSION}.tar.gz"
67TEXT_SOURCE="Orange-Text-Mining-${TEXT_VERSION}.tar.gz"
68
69
70# Get source packages md5 checksum
71ORANGE_SOURCE_MD5=`md5 -q $SOURCES_DIR/$ORANGE_SOURCE`
72BIOINFORMATICS_SOURCE_MD5=`md5 -q $SOURCES_DIR/$BIOINFORMATICS_SOURCE`
73TEXT_SOURCE_MD5=`md5 -q $SOURCES_DIR/$TEXT_SOURCE`
74
75# Are there new versions of orange and addons available.
76if [[ $OLD_ORANGE_VERSION < $ORANGE_VERSION ]]; then
77    NEW_ORANGE=1
78fi
79
80if [[ $OLD_BIOINFORMATICS_VERSION < $BIOINFORMATICS_VERSION ]]; then
81    NEW_BIOINFORMATICS=1
82    NEW_BUNDLE_ADDONS=1
83fi
84
85if [[ $OLD_TEXT_VERSION < $TEXT_VERSION ]]; then
86    NEW_TEXT=1
87    NEW_BUNDLE_ADDONS=1
88fi
89
90## Daily bundle build from hg (for now always until versioning is established).
91if [[ true || $NEW_ORANGE || $NEW_BIOINFORMATICS || $NEW_TEXT || $FORCE ]]; then
92    ./bundle-daily-build-hg.sh $NEW_BUNDLE_ADDONS &> $WORK_DIR/bundle-daily-build.log
93    EXIT_VALUE=$?
94fi
95
96if [ ! $LOCAL ]; then
97    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
98fi
99
100echo "Orange (bundle $MAC_VERSION from hg) [$EXIT_VALUE]" > "$LOG_DIR/bundle-$MAC_VERSION-daily-build-hg.log"
101date >> "$LOG_DIR/bundle-$MAC_VERSION-daily-build-hg.log"
102cat $WORK_DIR/bundle-daily-build.log >> "$LOG_DIR/bundle-$MAC_VERSION-daily-build-hg.log"
103(($EXIT_VALUE)) && echo "Running bundle-daily-build-hg.sh failed"
104
105
106MAC_VERSION=`sw_vers -productVersion | cut -d '.' -f 2`
107ARCH=`perl -MFink::FinkVersion -e 'print Fink::FinkVersion::get_arch'`
108
109FINK_ROOT=/sw
110
111if [ ! $LOCAL ]; then
112    # Compare with the published info files
113    BASE="http://orange.biolab.si/fink/dists/$ARCH/main/finkinfo"
114else
115    # Compare with the local info files
116    BASE="file://$FINK_ROOT/fink/dists/local/main/finkinfo"
117fi
118
119
120OLD_ORANGE_VERSION=`curl --silent $BASE/orange-gui-dev-py.info | grep "Version: " | cut -d" " -f 2`
121OLD_BIOINFORMATICS_VERSION=`curl --silent $BASE/orange-bioinformatics-gui-dev-py.info | grep "Version: " | cut -d" " -f 2`
122OLD_TEXT_VERSION=`curl --silent $BASE/orange-text-gui-dev-py.info | grep "Version: " | cut -d" " -f 2`
123
124if [[ $OLD_ORANGE_VERSION < $ORANGE_VERSION ]]; then
125    NEW_ORANGE=1
126fi
127
128if [[ $OLD_BIOINFORMATICS_VERSION < $BIOINFORMATICS_VERSION ]]; then
129    NEW_BIOINFORMATICS=1
130fi
131
132if [[ $OLD_TEXT_VERSION < $TEXT_VERSION ]]; then
133    NEW_TEXT=1
134fi
135
136
137# Base url for sources in fink .info files
138if [ $LOCAL ]; then
139    BASE_URL="file://$PUBLISH_DIR/sources"
140else
141    BASE_URL="http://orange.biolab.si/download/sources"
142fi
143
144# Update the local finkinfo
145# Local info files will be moved to biolab/main/finkinfo in fink-daily-build-packages.sh
146FINK_INFO_DIR="$FINK_ROOT/fink/dists/local/main/finkinfo"
147
148if [ ! -e $FINK_INFO_DIR ]; then
149    mkdir -p $FINK_INFO_DIR
150fi
151
152# Remove any old remaining local .info files
153rm -f $FINK_INFO_DIR/orange-*.info
154
155# Directory where fink .info templates are
156FINK_TEMPLATES=$WORK_DIR/orange/install-scripts/mac/fink
157
158FINK_LOG=$WORK_DIR/fink-daily-build.log
159echo "" > $FINK_LOG
160
161if [[ $NEW_ORANGE || $FORCE ]]; then
162    FINK_ORANGE_SOURCE_TEMPLATE="Orange-%v.tar.gz"
163    ./fink-register-info.sh "$FINK_TEMPLATES/orange-gui-dev-py.info" $BASE_URL/$FINK_ORANGE_SOURCE_TEMPLATE $ORANGE_SOURCE_MD5 $ORANGE_VERSION $FINK_INFO_DIR/orange-gui-dev-py.info >> $FINK_LOG 2>&1
164    FINK_ORANGE_INFO_EXIT_VALUE=$?
165fi
166
167if [[ $NEW_BIOINFORMATICS || $FORCE ]]; then
168    FINK_BIOINFORMATICS_SOURCE_TEMPLATE="Orange-Bioinformatics-%v.tar.gz"
169    ./fink-register-info.sh "$FINK_TEMPLATES/orange-bioinformatics-gui-dev-py.info" $BASE_URL/$FINK_BIOINFORMATICS_SOURCE_TEMPLATE $BIOINFORMATICS_SOURCE_MD5 $BIOINFORMATICS_VERSION $FINK_INFO_DIR/orange-bioinformatics-gui-dev-py.info >> $FINK_LOG 2>&1
170    FINK_BIOINFORMATICS_INFO_EXIT_VALUE=$?
171fi
172
173if [[ $NEW_TEXT || $FORCE ]]; then
174    FINK_TEXT_SOURCE_TEMPLATE="Orange-Text-Mining-%v.tar.gz"
175    ./fink-register-info.sh "$FINK_TEMPLATES/orange-text-gui-dev-py.info" $BASE_URL/$FINK_TEXT_SOURCE_TEMPLATE $TEXT_SOURCE_MD5 $TEXT_VERSION $FINK_INFO_DIR/orange-text-gui-dev-py.info >> $FINK_LOG 2>&1
176    FINK_TEXT_INFO_EXIT_VALUE=$?
177fi
178
179if [ ! $LOCAL ]; then
180    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
181fi
182
183EXIT_VALUE=$(($FINK_ORANGE_INFO_EXIT_VALUE + $FINK_BIOINFORMATICS_INFO_EXIT_VALUE + $FINK_TEXT_INFO_EXIT_VALUE))
184if (($EXIT_VALUE)); then
185    echo "Running fink-register-info.sh failed"
186    rm -f $FINK_INFO_DIR/orange-*.info
187fi
188
189## daily fink build
190
191./fink-daily-build-packages.sh &> $WORK_DIR/fink-daily-build-packages.log
192EXIT_VALUE=$?
193
194if [ ! $LOCAL ]; then
195    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
196fi
197
198echo "Orange (fink $MAC_VERSION $ARCH) [$EXIT_VALUE]" > "$LOG_DIR/fink-$MAC_VERSION-$ARCH-daily-build.log"
199date >> "$LOG_DIR/fink-$MAC_VERSION-$ARCH-daily-build.log"
200cat $WORK_DIR/fink-daily-build-packages.log >> "$LOG_DIR/fink-$MAC_VERSION-$ARCH-daily-build.log"
201(($EXIT_VALUE)) && echo "Running fink-daily-build.sh failed"
202
203# Zero exit value
204true
Note: See TracBrowser for help on using the repository browser.