2 #Time-stamp: <2007-04-25 11:01:37 (djcb)>
4 # Copyright (c) 2007, Nokia Corporation
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions are
11 # * Redistributions of source code must retain the above copyright
12 # notice, this list of conditions and the following disclaimer.
13 # * Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in the
15 # documentation and/or other materials provided with the distribution.
16 # * Neither the name of the Nokia Corporation nor the names of its
17 # contributors may be used to endorse or promote products derived from
18 # this software without specific prior written permission.
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21 # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23 # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
24 # OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 # hackish script to build tinymail/modest packages
35 # run *outside* scratchbox; you need to make sure that
36 # the paths below are valid both inside/outside scratchbox;
37 # you can use symlinks to do so
44 # change these to the actual paths to these packages
45 TINYMAIL_PATH="$HOME/src/tinymail"
46 MODEST_PATH="$HOME/src/modest/"
47 MODEST_PROVIDERS_DATA_PATH="$HOME/src/modest-providers-data/"
50 PACKAGER="Dirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>"
52 # path to the scratchbox executable
53 SCRATCHBOX="/chroot/usr/bin/scratchbox"
55 # path where the package files end up
56 PACKAGE_PATH="$HOME/src/packages"
57 ###################################################
61 echo "*** Building Tinymail/Modest packages"
62 echo "*** Packager: $PACKAGER"
63 echo "*** Time : ${NOW}"
67 if test -x $SCRATCHBOX; then
68 echo "+ found scratchbox ($SCRATCHBOX)"
70 echo "- cannot find find scratchbox"
76 echo "*** checking paths"
77 for p in "$TINYMAIL_PATH" "$MODEST_PATH" "$MODEST_PROVIDERS_DATA_PATH" "$PACKAGE_PATH"; do
81 echo "- cannot find '$p'"
85 if $SCRATCHBOX "test -d $p"; then
86 echo "+ found $p inside scratchbox environment"
88 echo "- cannot find $p inside scratchbox"
94 # check svn version; this needs to happen outside scratchbox, because
95 # the scratcbox svn is too old
97 TINYMAIL_REVISION=`svn info | grep '^Revision:' | sed 's/Revision: //'`
98 echo "* tinymail revision: $TINYMAIL_REVISION"
100 cd $MODEST_PROVIDERS_DATA_PATH
101 MODEST_PROVIDERS_DATA_REVISION=`svn info | grep '^Revision:' | sed 's/Revision: //'`
102 echo "* modest-providers-data revision: $MODEST_PROVIDERS_DATA_REVISION"
105 MODEST_REVISION=`svn info | grep '^Revision:' | sed 's/Revision: //'`
106 echo "* modest revision: $MODEST_REVISION"
111 if test -n "`ls $PACKAGE_PATH/*${TINYMAIL_REVISION}*.deb`"; then
112 echo "* tinymail seems already built, skipping (but still installing pkgs)"
113 $SCRATCHBOX "fakeroot dpkg -i ${PACKAGE_PATH}/*${TINYMAIL_REVISION}*.deb"
116 test -e debian/rules || ln -s debian/rules.maemo debian/rules
117 test -e debian/control || ln -s debian/control.maemo debian/control
118 mv -f debian/changelog debian/changelog.bak
119 cat > debian/changelog <<EOF
120 tinymail (svn${TINYMAIL_REVISION}) unstable; urgency=low
122 * Package subversion revision svn${TINYMAIL_REVISION}
124 -- ${PACKAGER} ${NOW}
126 echo "*** building tinymail"
127 $SCRATCHBOX -d "$TINYMAIL_PATH" "dpkg-buildpackage -rfakeroot -b -d"
128 mv -f debian/changelog.bak debian/changelog
130 $SCRATCHBOX "mv ${TINYMAIL_PATH}/../*${TINYMAIL_REVISION}* $PACKAGE_PATH"
131 $SCRATCHBOX "fakeroot dpkg -i ${PACKAGE_PATH}/*${TINYMAIL_REVISION}*.deb"
137 # build modest-providers-data
138 if test -n "`ls $PACKAGE_PATH/*${MODEST_PROVIDERS_DATA_REVISION}*.deb`"; then
139 echo "* modest-providers-data seems already built, skipping (but still installing pkgs)"
140 $SCRATCHBOX "fakeroot dpkg -i ${PACKAGE_PATH}/*${MODEST_PROVIDERS_DATA_REVISION}*.deb"
142 cd $MODEST_PROVIDERS_DATA_PATH
143 mv -f debian/changelog debian/changelog.bak
144 cat > debian/changelog <<EOF
145 modest-providers-data (svn${MODEST_PROVIDERS_DATA_REVISION}) unstable; urgency=low
147 * Package subversion revision svn${MODEST_PROVIDERS_DATA_REVISION}
149 -- ${PACKAGER} ${NOW}
151 echo "*** building modest-providers-data"
152 $SCRATCHBOX -d "$MODEST_PROVIDERS_DATA_PATH" "dpkg-buildpackage -rfakeroot -b -d"
153 mv -f debian/changelog.bak debian/changelog
154 $SCRATCHBOX "mv ${MODEST_PROVIDERS_DATA_PATH}/../*${MODEST_PROVIDERS_DATA_REVISION}* $PACKAGE_PATH"
155 $SCRATCHBOX "fakeroot dpkg -i ${PACKAGE_PATH}/*${MODEST_PROVIDERS_DATA_REVISION}*.deb"
162 if test -n "`ls $PACKAGE_PATH/*${MODEST_REVISION}*.deb`"; then
163 echo "* modest seems already built, skipping (but still installing pkgs)"
164 $SCRATCHBOX "fakeroot dpkg -i ${PACKAGE_PATH}/*${MODEST_REVISION}*.deb"
167 mv -f debian/changelog debian/changelog.bak
168 cat > debian/changelog <<EOF
169 modest (svn${MODEST_REVISION}) unstable; urgency=low
171 * Package subversion revision svn${MODEST_REVISION}
173 -- ${PACKAGER} ${NOW}
175 echo "*** building modest"
176 $SCRATCHBOX -d "$MODEST_PATH" "dpkg-buildpackage -rfakeroot -b -d"
177 mv -f debian/changelog.bak debian/changelog
179 $SCRATCHBOX "mv ${MODEST_PATH}/../*${MODEST_REVISION}* $PACKAGE_PATH"
180 $SCRATCHBOX "fakeroot dpkg -i ${PACKAGE_PATH}/*${MODEST_REVISION}*.deb"
183 echo "*** built packages, now building Packages.gz"
184 $SCRATCHBOX -d "${PACKAGE_PATH}" "dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz"
188 # echo... and ftp them...
191 echo "*** done! now, check $PACKAGE_PATH to find your packages"