From b9e1fcce6719e6b854b39f52dadc62ec9bc0191b Mon Sep 17 00:00:00 2001 From: Richard Weickelt Date: Sun, 28 Apr 2019 15:05:19 +0200 Subject: Update Debian Stretch Docker image The Debian Docker image is outdated and the user experience is not optimal, especially when using it on Linux hosts. - Update Qt to 5.11.3 and build it from source since the Qt installer is overly complicated to use - Create a Qt profile and make it the default - Add entrypoint script to avoid file permission problems on Linux hosts - Add docker-compose.yml file for easier command line usage - Improve documentation Task-number: QBS-1402 Task-number: QBS-1438 Change-Id: I2cbe53ed115fc8cbb96c1e1305297c581e7d0589 Reviewed-by: Joerg Bornemann --- docker/stretch/entrypoint.sh | 69 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 docker/stretch/entrypoint.sh (limited to 'docker/stretch/entrypoint.sh') diff --git a/docker/stretch/entrypoint.sh b/docker/stretch/entrypoint.sh new file mode 100755 index 000000000..f859c2264 --- /dev/null +++ b/docker/stretch/entrypoint.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash +set -eu + +############################################################################# +## +## Copyright (C) 2019 Richard Weickelt +## Contact: https://www.qt.io/licensing/ +## +## This file is part of Qbs. +## +## $QT_BEGIN_LICENSE:LGPL$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# +# Try to determine the uid of the working directory and adjust the current +# user's uid/gid accordingly. +# +WORKDIR_GID=$(stat -c "%g" .) +WORKDIR_UID=$(stat -c "%u" .) +USER_NAME=${USER_NAME:-devel} +EXEC="" + +if [ "$(id -u ${USER_NAME})" != "0" ] && [ "${WORKDIR_UID}" != "0" ] ; then + + export HOME=/home/${USER_NAME} + + if [ "$(id -u ${USER_NAME})" != "${WORKDIR_UID}" ]; then + usermod -u ${WORKDIR_UID} ${USER_NAME} + groupmod -g ${WORKDIR_GID} ${USER_NAME} + chown -R -h ${WORKDIR_UID} /home; + chgrp -R -h ${WORKDIR_GID} /home; + fi + EXEC="exec gosu ${USER_NAME}:${USER_NAME}" +fi + +if [ -z "$1" ]; then + ${EXEC} bash --login +else + ${EXEC} bash --login -c "$*" +fi -- cgit v1.2.3