summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-01-23 10:55:48 +0100
committerPierre Rossi <pierre.rossi@gmail.com>2014-01-23 11:59:24 +0100
commit4ab8404f53438c29168d604a3da1da3d18fe6858 (patch)
tree49ec6fc1e87ed0bceb584f0279de892cc42f97d8
parentc83fb0ffd0e0b468ca89c3a815ad05619f26d70d (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: I48897d52a917194be6662a26268ad403883ed9e0 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
-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 2db9a836c..d836fafa1 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