~noskcaj/ubuntu/saucy/sflphone/merge-1.2.3-2

« back to all changes in this revision

Viewing changes to tools/build-system/launch-build-machine-2.sh

  • Committer: Package Import Robot
  • Author(s): Francois Marier
  • Date: 2012-02-18 21:47:09 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20120218214709-6362d71gqdsdkrj5
Tags: 1.0.2-1
* New upstream release
  - remove logging patch (applied upstream)
  - update s390 patch since it was partially applied upstream
* Include the Evolution plugin as a separate binary package

* Fix compilation issues on SH4 (closes: #658987)
* Merge Ubuntu's binutils-gold linking fix

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/bash
 
2
#####################################################
 
3
# File Name: launch-build-machine.sh
 
4
#
 
5
# Purpose :
 
6
#
 
7
# Author: Julien Bonjean (julien@bonjean.info)
 
8
#
 
9
# Creation Date: 2009-10-20
 
10
# Last Modified: 2010-04-22 16:42:57 -0400
 
11
#####################################################
 
12
 
 
13
#set -x
 
14
 
 
15
. `dirname $0`/setenv.sh
 
16
 
 
17
IS_RELEASE=
 
18
VERSION_INDEX="1"
 
19
IS_KDE_CLIENT=
 
20
DO_PUSH=1
 
21
DO_LOGGING=1
 
22
DO_UPLOAD=1
 
23
SNAPSHOT_TAG=`date +%Y%m%d`
 
24
TAG_NAME_PREFIX=
 
25
VERSION_NUMBER="1.0.2"
 
26
 
 
27
LAUNCHPAD_PACKAGES=( "sflphone-client-gnome" "sflphone-common" "sflphone-plugins")
 
28
 
 
29
echo
 
30
echo "    /***********************\\"
 
31
echo "    | SFLPhone build system |"
 
32
echo "    \\***********************/"
 
33
echo
 
34
 
 
35
for PARAMETER in $*
 
36
do
 
37
        case ${PARAMETER} in
 
38
        --help)
 
39
                echo
 
40
                echo "Options :"
 
41
                echo " --skip-push"
 
42
                echo " --skip-upload"
 
43
                echo " --kde-client"
 
44
                echo " --no-logging"
 
45
                echo " --release"
 
46
                echo " --version-index=[1,2,...]"
 
47
                echo
 
48
                exit 0;;
 
49
        --skip-push)
 
50
                unset DO_PUSH;;
 
51
        --skip-upload)
 
52
                unset DO_UPLOAD;;
 
53
        --kde-client)
 
54
                IS_KDE_CLIENT=1;;
 
55
        --no-logging)
 
56
                unset DO_LOGGING;;
 
57
        --release)
 
58
                IS_RELEASE=1;;
 
59
        --version-index=*)
 
60
                VERSION_INDEX=(${PARAMETER##*=});;
 
61
        *)
 
62
                echo "Unknown parameter : ${PARAMETER}"
 
63
                exit -1;;
 
64
        esac
 
65
done
 
66
 
 
67
#########################
 
68
# LAUNCHPAD
 
69
#########################
 
70
 
 
71
# change to working directory
 
72
cd ${LAUNCHPAD_DIR}
 
73
 
 
74
if [ "$?" -ne "0" ]; then
 
75
        echo " !! Cannot cd to launchpad directory"
 
76
        exit -1
 
77
fi
 
78
 
 
79
# logging
 
80
if [ ${DO_LOGGING} ]; then
 
81
 
 
82
        rm -f ${ROOT_DIR}/packaging.log >/dev/null 2>&1 
 
83
 
 
84
        # open file descriptor
 
85
        exec 3<> ${ROOT_DIR}/packaging.log
 
86
 
 
87
        # redirect outputs (stdout & stderr)
 
88
        exec 1>&3
 
89
        exec 2>&3
 
90
fi
 
91
 
 
92
if [ ${RELEASE_MODE} ]; then
 
93
        echo "Release mode"
 
94
else
 
95
        echo "Snapshot mode"
 
96
fi
 
97
 
 
98
if [ ${IS_KDE_CLIENT} ]; then
 
99
        TAG_NAME_PREFIX="kde."
 
100
fi
 
101
 
 
102
#########################
 
103
# COMMON PART
 
104
#########################
 
105
 
 
106
cd ${REFERENCE_REPOSITORY}
 
107
 
 
108
echo "Update reference sources"
 
109
if [ ${IS_RELEASE} ]; then
 
110
        git checkout . && git checkout -f release && git pull
 
111
else
 
112
        git checkout . && git checkout -f master && git pull
 
113
fi
 
114
 
 
115
echo "Retrieve build info"
 
116
# retrieve info we may need
 
117
if [ ${IS_KDE_CLIENT} ]; then
 
118
        TAG_NAME_PREFIX="kde."
 
119
        LAUNCHPAD_PACKAGES=( "sflphone-client-kde" )
 
120
fi
 
121
CURRENT_RELEASE_TAG_NAME=$(git for-each-ref refs/tags --sort=-authordate --format='%(refname)' --count=1 | cut -d'/' -f3)
 
122
PREVIOUS_RELEASE_TAG_NAME=$(git for-each-ref refs/tags --sort=-authordate --format='%(refname)' --count=2 | cut -d'/' -f3 | tail -n1)
 
123
CURRENT_RELEASE_COMMIT_HASH=`git show --pretty=format:"%H" -s ${CURRENT_RELEASE_TAG_NAME} | tail -n 1`
 
124
PREVIOUS_RELEASE_COMMIT_HASH=`git show --pretty=format:"%H" -s ${PREVIOUS_RELEASE_TAG_NAME} | tail -n 1`
 
125
CURRENT_COMMIT=`git show --pretty=format:"%H"  -s | tail -n 1`
 
126
CURRENT_RELEASE_TYPE=${CURRENT_RELEASE_TAG_NAME##*.}
 
127
PREVIOUS_RELEASE_TYPE=${PREVIOUS_RELEASE_TAG_NAME##*.}
 
128
if [ ${IS_KDE_CLIENT} ]; then
 
129
        CURRENT_RELEASE_VERSION=${CURRENT_RELEASE_TAG_NAME%.*}
 
130
        CURRENT_RELEASE_VERSION=${CURRENT_RELEASE_VERSION#*.}
 
131
        PREVIOUS_VERSION=${PREVIOUS_RELEASE_TAG_NAME%.*}
 
132
        PREVIOUS_VERSION=${PREVIOUS_VERSION#*.}
 
133
else
 
134
        CURRENT_RELEASE_VERSION=${CURRENT_RELEASE_TAG_NAME}
 
135
        PREVIOUS_VERSION=${PREVIOUS_RELEASE_TAG_NAME}
 
136
fi
 
137
 
 
138
cd ${LAUNCHPAD_DIR}
 
139
 
 
140
COMMIT_HASH_BEGIN=""
 
141
COMMIT_HASH_END=""
 
142
SOFTWARE_VERSION=""
 
143
LAUNCHPAD_CONF_PREFIX=""
 
144
 
 
145
if [ ${IS_RELEASE} ]; then
 
146
        SOFTWARE_VERSION="${CURRENT_RELEASE_VERSION}"
 
147
        COMMIT_HASH_BEGIN="${PREVIOUS_RELEASE_COMMIT_HASH}"
 
148
        LAUNCHPAD_CONF_PREFIX="sflphone"
 
149
else
 
150
        SOFTWARE_VERSION="${VERSION_NUMBER}-rc${SNAPSHOT_TAG}"
 
151
        COMMIT_HASH_BEGIN="${CURRENT_RELEASE_COMMIT_HASH}"
 
152
        LAUNCHPAD_CONF_PREFIX="sflphone-nightly"
 
153
fi
 
154
 
 
155
VERSION="${SOFTWARE_VERSION}~ppa${VERSION_INDEX}~SYSTEM"
 
156
 
 
157
echo "Clean build directory"
 
158
git clean -f -x ${LAUNCHPAD_DIR}/* >/dev/null
 
159
 
 
160
get_dir_name() {
 
161
    case $1 in
 
162
        sflphone-common)
 
163
        echo daemon
 
164
        ;;
 
165
        sflphone-plugins)
 
166
        echo plugins
 
167
        ;;
 
168
        sflphone-client-gnome)
 
169
        echo gnome
 
170
        ;;
 
171
        sflphone-client-kde)
 
172
        echo kde
 
173
        ;;
 
174
        *)
 
175
        exit 1
 
176
        ;;
 
177
    esac
 
178
}
 
179
 
 
180
for LAUNCHPAD_PACKAGE in ${LAUNCHPAD_PACKAGES[*]}
 
181
do
 
182
        echo " Package: ${LAUNCHPAD_PACKAGE}"   
 
183
 
 
184
        echo "  --> Clean old sources"
 
185
        git clean -f -x ${LAUNCHPAD_DIR}/${LAUNCHPAD_PACKAGE}/* >/dev/null
 
186
 
 
187
        DEBIAN_DIR="${LAUNCHPAD_DIR}/${LAUNCHPAD_PACKAGE}/debian"
 
188
 
 
189
        echo "  --> Clean debian directory"
 
190
        git checkout ${DEBIAN_DIR}
 
191
 
 
192
        echo "  --> Retrieve new sources"
 
193
    DIRNAME=`get_dir_name ${LAUNCHPAD_PACKAGE}`
 
194
        cp -r ${REFERENCE_REPOSITORY}/${DIRNAME}/* ${LAUNCHPAD_DIR}/${LAUNCHPAD_PACKAGE}
 
195
 
 
196
        echo "  --> Update software version number (${SOFTWARE_VERSION})"
 
197
        echo "${SOFTWARE_VERSION}" > ${LAUNCHPAD_DIR}/${LAUNCHPAD_PACKAGE}/VERSION
 
198
 
 
199
        echo "  --> Update debian changelog"
 
200
 
 
201
cat << END > ${WORKING_DIR}/sfl-git-dch.conf
 
202
WORKING_DIR="${REFERENCE_REPOSITORY}"
 
203
SOFTWARE="${LAUNCHPAD_PACKAGE}"
 
204
VERSION="${VERSION}"
 
205
DISTRIBUTION="SYSTEM"
 
206
CHANGELOG_FILE="${DEBIAN_DIR}/changelog"
 
207
COMMIT_HASH_BEGIN="${COMMIT_HASH_BEGIN}"
 
208
COMMIT_HASH_END="${COMMIT_HASH_END}"
 
209
IS_RELEASE=${IS_RELEASE}
 
210
export DEBFULLNAME="Julien Bonjean"
 
211
export DEBEMAIL="julien.bonjean@savoirfairelinux.com"
 
212
export EDITOR="echo"
 
213
END
 
214
 
 
215
        ${WORKING_DIR}/sfl-git-dch-2.sh ${WORKING_DIR}/sfl-git-dch.conf
 
216
        if [ "$?" -ne "0" ]; then
 
217
                echo "!! Cannot update debian changelogs"
 
218
                exit -1
 
219
        fi
 
220
        rm -f ${WORKING_DIR}/sfl-git-dch.conf >/dev/null 2>&1
 
221
 
 
222
        cd ${LAUNCHPAD_DIR}
 
223
 
 
224
        cp ${DEBIAN_DIR}/changelog ${DEBIAN_DIR}/changelog.generic
 
225
        
 
226
        for LAUNCHPAD_DISTRIBUTION in ${LAUNCHPAD_DISTRIBUTIONS[*]}
 
227
        do
 
228
 
 
229
                LOCAL_VERSION="${SOFTWARE_VERSION}~ppa${VERSION_INDEX}~${LAUNCHPAD_DISTRIBUTION}"
 
230
 
 
231
                cp ${DEBIAN_DIR}/changelog.generic ${DEBIAN_DIR}/changelog
 
232
 
 
233
                sed -i "s/SYSTEM/${LAUNCHPAD_DISTRIBUTION}/g" ${DEBIAN_DIR}/changelog
 
234
 
 
235
                cd ${LAUNCHPAD_DIR}/${LAUNCHPAD_PACKAGE}
 
236
                ./autogen.sh
 
237
                debuild -S -sa -kFDFE4451
 
238
                cd ${LAUNCHPAD_DIR}
 
239
 
 
240
                if [ ${DO_UPLOAD} ] ; then
 
241
                        dput -f -c ${LAUNCHPAD_DIR}/dput.conf ${LAUNCHPAD_CONF_PREFIX}-${LAUNCHPAD_DISTRIBUTION} ${LAUNCHPAD_PACKAGE}_${LOCAL_VERSION}_source.changes
 
242
                fi
 
243
        done
 
244
 
 
245
        cp ${DEBIAN_DIR}/changelog.generic ${DEBIAN_DIR}/changelog
 
246
done
 
247
 
 
248
# if push is activated
 
249
#if [[ ${DO_PUSH} && ${IS_RELEASE} ]];then
 
250
#       echo " Doing commit"
 
251
#       git commit -m "[#1262] Released ${SOFTWARE_VERSION}" .
 
252
#
 
253
#       echo " Pushing commit"
 
254
#       git push origin release
 
255
#fi
 
256
 
 
257
# close file descriptor
 
258
exec 3>&-
 
259
 
 
260
exit 0
 
261