summaryrefslogtreecommitdiff
path: root/devel/qt5/files/create_kde-qt_release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'devel/qt5/files/create_kde-qt_release.sh')
-rw-r--r--devel/qt5/files/create_kde-qt_release.sh54
1 files changed, 54 insertions, 0 deletions
diff --git a/devel/qt5/files/create_kde-qt_release.sh b/devel/qt5/files/create_kde-qt_release.sh
new file mode 100644
index 000000000000..8624cd456ac8
--- /dev/null
+++ b/devel/qt5/files/create_kde-qt_release.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Creates and updates a git checkout in ${BASE_DIRECTORY}
+# for the given KDE Qt repository ${PROJECT}.
+# After that, a new distfile for the ports tree is created.
+
+DIST="$1"
+PROJECT=qt"${DIST}"
+BASE_DIRECTORY="$2"
+
+# Remote KDE git repository
+REPO="https://invent.kde.org/qt/qt/${PROJECT}.git"
+# Local checkout
+CHECKOUT="${BASE_DIRECTORY}/${PROJECT}"
+
+# Version of Qt we want
+VERSION=5.15.2
+# KDE-Qt branch
+BRANCH=kde/5.15
+
+# Make sure we can use ${BASE_DIRECTORY}
+if [ ! -d "${BASE_DIRECTORY}" ] || [ ! -w "${BASE_DIRECTORY}" ] ; then
+ echo "Directory '${BASE_DIRECTORY}' does not exist"
+ exit 1
+fi
+
+# Init a new git checkout if it is missing
+if [ ! -d "${CHECKOUT}" ] ; then
+ git -C "${BASE_DIRECTORY}" clone "${REPO}"
+fi
+
+# Update the checkout of the required branch
+git -C "${CHECKOUT}" checkout "${BRANCH}" && git -C "${CHECKOUT}" pull --ff-only --rebase --autostash
+if [ $? -ne 0 ] ; then
+ echo "Failed to update ${CHECKOUT}"
+ exit 1
+fi
+
+# Count number of patches added by KDE
+PATCH_COUNT=$(git -C ${CHECKOUT} rev-list --count origin/${VERSION}..origin/${BRANCH})
+
+# Setup information for the distfile
+DISTNAME="kde-${PROJECT}-${VERSION}p${PATCH_COUNT}"
+DISTFILE="${BASE_DIRECTORY}/${DISTNAME}.tar.xz"
+
+# Tar and compress distfile
+git -C ${CHECKOUT} archive --format=tar --prefix="${DISTNAME}/" HEAD | xz > "${DISTFILE}"
+if [ $? -ne 0 ] ; then
+ echo "Failed to create tarball ${DISTFILE}"
+ exit 1
+fi
+
+# Printout information required in qt-dist.mk
+echo -e "Distfile:\t${DISTFILE}\n_KDE_${DIST}=\t${PATCH_COUNT}"