diff options
author | Richard Weickelt <richard@weickelt.de> | 2019-04-28 15:05:19 +0200 |
---|---|---|
committer | Richard Weickelt <richard@weickelt.de> | 2019-04-29 08:05:30 +0000 |
commit | b9e1fcce6719e6b854b39f52dadc62ec9bc0191b (patch) | |
tree | 88f8dcb910cdfaf0961dd0f8ecadc22222ed5404 /docker/stretch/entrypoint.sh | |
parent | 5b0271905f491205c6c70eaa33b2c429c13f4536 (diff) |
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 <joerg.bornemann@qt.io>
Diffstat (limited to 'docker/stretch/entrypoint.sh')
-rwxr-xr-x | docker/stretch/entrypoint.sh | 69 |
1 files changed, 69 insertions, 0 deletions
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 <richard@weickelt.de> +## 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 |