~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): Mark Purcell
  • Date: 2012-05-19 21:46:37 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20120519214637-la8rbrford5kj6m3
Tags: 1.1.0-1
* New upstream release 
  - Fixes "FTBFS with libccrtp-dev/2.0.2 from experimental" (Closes: #663282)
* NEW Maintainer: Debian VoIP Team - Thanks Francois for your work.
  - (Closes: #665789: O: sflphone -- SIP and IAX2 compatible VoIP phone)
* Added Build-Depends: libdbus-c++-bin
* Add gcc47-fixes.patch

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