summaryrefslogtreecommitdiffstats
path: root/tools/scripts/make_archive.sh
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-01-23 10:55:48 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-27 13:12:29 +0100
commitdd978a5cf338421569f87541942078728edf15ff (patch)
tree02238beded70d906f01d0bce28e5b4a746295c65 /tools/scripts/make_archive.sh
parent6715ea16062caeaa582ba98add7e857bfc8b656b (diff)
Fix package builds against release builds of Qt
The Qt build system assumes that when building a module against a release build of Qt, syncqt was already run at package creation time. So we have to run syncqt when creating source packages. This patch changes the syntax to separate the file name base from the package version to use. Change-Id: I4ffb4a7d9d8e8e0a1d681dfb9d337b8ab9f76d9a Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'tools/scripts/make_archive.sh')
-rwxr-xr-xtools/scripts/make_archive.sh29
1 files changed, 25 insertions, 4 deletions
diff --git a/tools/scripts/make_archive.sh b/tools/scripts/make_archive.sh
index 2db9a836..d836fafa 100755
--- a/tools/scripts/make_archive.sh
+++ b/tools/scripts/make_archive.sh
@@ -40,18 +40,27 @@
# $QT_END_LICENSE$
#
#############################################################################
-set -e
-if [ $# -ne 2 ]; then
- echo "Usage: $0 git-ref release-name"
- echo " example: $0 origin/master qtwebengine-opensource-src-0.1.0-tp1"
+if [ $# -ne 3 ]; then
+ echo "Usage: $0 git-ref release-name version"
+ echo " example: $0 origin/master qtwebengine-opensource-src 0.1.0-tp1"
exit 0
fi
+hash syncqt.pl &>/dev/null
+if [ $? -eq 1 ]; then
+ echo "Cannot find syncqt.pl in PATH."
+ exit 1
+fi
+
+set -e
QTWEBENGINE_REF=$1
RELEASE_NAME=$2
+VERSION=$3
OUTDIR=`pwd`
+RELEASE_NAME=$RELEASE_NAME-$VERSION
+
THIRD_PARTY_REF=`git log -p $QTWEBENGINE_REF --ignore-submodules=none -n 1 -- src/3rdparty | grep "+Subproject commit" | cut -f 3 -d ' '`
git archive $QTWEBENGINE_REF --format tar --prefix=$RELEASE_NAME/ -o $OUTDIR/$RELEASE_NAME.tar
@@ -68,5 +77,17 @@ tar -r --file=$OUTDIR/$RELEASE_NAME.tar $RELEASE_NAME/.tag
trap - EXIT
rm -r $RELEASE_NAME
+TMP_SYNCQT_PACKAGE_DIR=/tmp/qtwebengine-syncqt-fix
+mkdir $TMP_SYNCQT_PACKAGE_DIR
+trap "{ rm -rf $TMP_SYNCQT_PACKAGE_DIR ; exit 255; } " EXIT
+(cd $TMP_SYNCQT_PACKAGE_DIR \
+ && tar xf $OUTDIR/$RELEASE_NAME.tar \
+ && (cd $RELEASE_NAME && syncqt.pl -version `echo $VERSION | cut -d- -f1`) \
+ && tar cf syncqt-output.tar $RELEASE_NAME/include
+)
+tar --concatenate --file=$OUTDIR/$RELEASE_NAME.tar $TMP_SYNCQT_PACKAGE_DIR/syncqt-output.tar
+trap - EXIT
+rm -rf $TMP_SYNCQT_PACKAGE_DIR
+
gzip $OUTDIR/$RELEASE_NAME.tar