source: orange/install-scripts/mac/dailyrun.sh @ 10563:9510ea298fdc

Revision 10563:9510ea298fdc, 5.5 KB checked in by Ales Erjavec <ales.erjavec@…>, 2 years ago (diff)

Fixes to dailyrun script.

  • Property exe set to *
Line 
1#!/bin/bash -e
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
33
34SOURCE_LOG=$WORK_DIR/sources-daily-build.log
35
36./dailyrun-sources.sh $WORK_DIR $FORCE $LOCAL &> $SOURCE_LOG
37EXIT_VALUE=$?
38
39defaults write com.apple.desktopservices DSDontWriteNetworkStores true
40
41if [ ! $LOCAL ]; then
42    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
43fi
44
45echo "Orange (sources) [ $EXIT_VALUE ]" > "$LOG_DIR/source-daily-build-hg.log"
46date >> "$LOG_DIR/source-daily-build-hg.log"
47cat $SOURCE_LOG >> "$LOG_DIR/source-daily-build-hg.log"
48(($EXIT_VALUE)) && echo "Daily sources failed"
49
50SOURCES_DIR=$PUBLISH_DIR/sources
51
52# Get versions from PKG-INFO files (these are updated by dailyrun-sources)
53ORANGE_VERSION=`grep "^Version:" $SOURCES_DIR/Orange.egg-info/PKG-INFO | cut -d " " -f 2`
54BIOINFORMATICS_VERSION=`grep "^Version:" $SOURCES_DIR/Orange_Bioinformatics.egg-info/PKG-INFO | cut -d " " -f 2`
55TEXT_VERSION=`grep "^Version:" $SOURCES_DIR/Orange_Text_Mining.egg-info/PKG-INFO | cut -d " " -f 2`
56
57
58# Source filenames
59ORANGE_SOURCE="Orange-${ORANGE_VERSION}.tar.gz"
60BIOINFORMATICS_SOURCE="Orange-Bioinformatics-${BIOINFORMATICS_VERSION}.tar.gz"
61TEXT_SOURCE="Orange-Text-Mining-${TEXT_VERSION}.tar.gz"
62
63
64# Get source packages md5 checksum
65ORANGE_SOURCE_MD5=`md5 -q $SOURCES_DIR/$ORANGE_SOURCE`
66BIOINFORMATICS_SOURCE_MD5=`md5 -q $SOURCES_DIR/$BIOINFORMATICS_SOURCE`
67TEXT_SOURCE_MD5=`md5 -q $SOURCES_DIR/$TEXT_SOURCE`
68
69## Daily bundle build from hg (for now always until versioning is established).
70if [[ true || $NEW_ORANGE || $NEW_BIOINFORMATICS || $NEW_TEXT || $FORCE ]]; then
71    /Users/ailabc/bundle-daily-build-hg.sh &> $WORK_DIR/bundle-daily-build.log
72    EXIT_VALUE=$?
73fi
74
75if [ ! $LOCAL ]; then
76    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
77fi
78
79echo "Orange (bundle $MAC_VERSION from hg) [$EXIT_VALUE]" > "$LOG_DIR/bundle-$MAC_VERSION-daily-build-hg.log"
80date >> "$LOG_DIR/bundle-$MAC_VERSION-daily-build-hg.log"
81cat $WORK_DIR/bundle-daily-build.log >> "$LOG_DIR/bundle-$MAC_VERSION-daily-build-hg.log"
82(($EXIT_VALUE)) && echo "Running bundle-daily-build-hg.sh failed"
83
84
85MAC_VERSION=`sw_vers -productVersion | cut -d '.' -f 2`
86ARCH=`perl -MFink::FinkVersion -e 'print Fink::FinkVersion::get_arch'`
87
88FINK_ROOT=/sw
89
90if [ ! $LOCAL ]; then
91    # Compare with the published info files
92    BASE="http://orange.biolab.si/fink/dists/$ARCH/main/finkinfo"
93else
94    # Compare with the local info files
95    BASE="file://$FINK_ROOT/fink/dists/local/main/finkinfo"
96fi
97
98
99OLD_ORANGE_VERSION=`curl --silent $BASE/orange-gui-hg-py.info | grep "Version: " | cut -d" " -f 2`
100OLD_BIOINFORMATICS_VERSION=`curl --silent $BASE/orange-bioinformatics-gui-hg-py.info | grep "Version: " | cut -d" " -f 2`
101OLD_TEXT_VERSION=`curl --silent $BASE/orange-text-gui-hg-py.info | grep "Version: " | cut -d" " -f 2`
102
103if [[ $OLD_ORANGE_VERSION < ORANGE_VERSION ]]; then
104    NEW_ORANGE=1
105fi
106
107if [[ $OLD_BIOINFORMATICS_VERSION < BIOINFORMATICS_VERSION ]]; then
108    NEW_BIOINFORMATICS=1
109fi
110
111if [[ $OLD_TEXT_VERSION < TEXT_VERSION ]]; then
112    NEW_TEXT=1
113fi
114
115
116# Base url for sources in fink .info files
117if [ $LOCAL ]; then
118    BASE_URL="file://$PUBLISH_DIR/sources"
119else
120    BASE_URL="http://orange.biolab.si/download/sources"
121fi
122
123# Update the local finkinfo
124# Local info files will be moved to biolab/main/finkinfo in fink-daily-build-packages.sh
125FINK_INFO_DIR="$FINK_ROOT/fink/dists/local/main/finkinfo"
126
127if [ ! -e $FINK_INFO_DIR ]; then
128    mkdir -p $FINK_INFO_DIR
129fi
130
131# Directory where fink .info templates are
132FINK_TEMPLATES=$WORK_DIR/orange/install-scripts/mac/fink
133
134FINK_LOG=$WORK_DIR/fink-daily-build.log
135echo "" > $FINK_LOG
136
137if [[ $NEW_ORANGE || $FORCE ]]; then
138    FINK_ORANGE_SOURCE_TEMPLATE="Orange-%v.tar.gz"
139    ./fink-register-info.sh "$FINK_TEMPLATES/orange-gui-hg-py.info" $BASE_URL/$FINK_ORANGE_SOURCE_TEMPLATE $ORANGE_SOURCE_MD5 $ORANGE_VERSION $FINK_INFO_DIR/orange-gui-hg-py.info >> $FINK_LOG 2>&1
140fi
141
142if [[ $NEW_BIOINFORMATICS || $FORCE ]]; then
143    FINK_BIOINFORMATICS_SOURCE_TEMPLATE="Orange-Bioinformatics-%v.tar.gz"
144    ./fink-register-info.sh "$FINK_TEMPLATES/orange-bioinformatics-gui-hg-py.info" $BASE_URL/$FINK_BIOINFORMATICS_SOURCE_TEMPLATE $BIOINFORMATICS_SOURCE_MD5 $BIOINFORMATICS_VERSION $FINK_INFO_DIR/orange-bioinformatics-gui-hg-py.info >> $FINK_LOG 2>&1
145fi
146
147if [[ $NEW_TEXT || $FORCE ]]; then
148    FINK_TEXT_SOURCE_TEMPLATE="Orange-Text-Mining-%v.tar.gz"
149    ./fink-register-info.sh "$FINK_TEMPLATES/orange-text-gui-hg-py.info" $BASE_URL/$FINK_TEXT_SOURCE_TEMPLATE $TEXT_SOURCE_MD5 $TEXT_VERSION $FINK_INFO_DIR/orange-text-gui-hg-py.info >> $FINK_LOG 2>&1
150fi
151
152if [ ! $LOCAL ]; then
153    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
154fi
155
156
157## daily fink build
158
159./fink-daily-build-packages.sh &> $WORK_DIR/fink-daily-build-packages.log
160EXIT_VALUE=$?
161
162if [ ! $LOCAL ]; then
163    /Users/ailabc/mount-dirs.sh || { echo "Mounting failed." ; exit 1 ; }
164fi
165
166echo "Orange (fink $MAC_VERSION $ARCH) [$EXIT_VALUE]" > "$LOG_DIR/fink-$MAC_VERSION-$ARCH-daily-build.log"
167date >> "$LOG_DIR/fink-$MAC_VERSION-$ARCH-daily-build.log"
168cat $WORK_DIR/fink-daily-build-packages.log >> "$LOG_DIR/fink-$MAC_VERSION-$ARCH-daily-build.log"
169(($EXIT_VALUE)) && echo "Running fink-daily-build.sh failed"
170
171# Zero exit value
172true
Note: See TracBrowser for help on using the repository browser.