From 4d5464b1d9903e7ec9ddd6b9900f58060bbb0cff Mon Sep 17 00:00:00 2001 From: TheSpad Date: Thu, 18 May 2023 15:31:45 +0100 Subject: [PATCH] Bump XRDP pulseaudio to 0.7, deprecate armhf --- Dockerfile | 2 +- Dockerfile.aarch64 | 2 +- Dockerfile.armhf | 123 ------------------ Jenkinsfile | 72 ++-------- jenkins-vars.yml | 1 + root/etc/s6-overlay/s6-rc.d/init-keygen/run | 5 +- root/etc/s6-overlay/s6-rc.d/init-rdesktop/run | 7 +- root/etc/s6-overlay/s6-rc.d/init-video/run | 5 +- 8 files changed, 23 insertions(+), 194 deletions(-) delete mode 100644 Dockerfile.armhf diff --git a/Dockerfile b/Dockerfile index c26946f..caa57e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy as buildstage -ARG XRDP_PULSE_VERSION=v0.6 \ +ARG XRDP_PULSE_VERSION=v0.7 \ ARG DEBIAN_FRONTEND="noninteractive" diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 907c7b8..76db929 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,6 +1,6 @@ FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy as buildstage -ARG XRDP_PULSE_VERSION=v0.6 +ARG XRDP_PULSE_VERSION=v0.7 ARG DEBIAN_FRONTEND="noninteractive" RUN \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf deleted file mode 100644 index 9d1ca7d..0000000 --- a/Dockerfile.armhf +++ /dev/null @@ -1,123 +0,0 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy as buildstage - -ARG XRDP_PULSE_VERSION=v0.6 -ARG DEBIAN_FRONTEND="noninteractive" - -RUN \ - echo "**** install build deps ****" && \ - sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \ - apt-get update && \ - apt-get install -y \ - build-essential \ - devscripts \ - dpkg-dev \ - git \ - libpulse-dev \ - meson \ - pulseaudio && \ - apt build-dep -y \ - pulseaudio \ - xrdp - -RUN \ - echo "**** build pulseaudio modules ****" && \ - mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \ - tmp=$(mktemp -d); cd "$tmp" && \ - pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \ - pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \ - set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \ - mirror=$2 && \ - suite=${3#*/} && \ - dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \ - cd "pulseaudio-$pulseaudio_upstream_version" && \ - meson build && \ - cd - && \ - git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \ - cd pulseaudio-module-xrdp && \ - git checkout ${XRDP_PULSE_VERSION} && \ - ./bootstrap && \ - ./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \ - make && \ - install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so - -RUN \ - echo "**** build xrdp with fuse disabled ****" && \ - cd /tmp && \ - apt-get source xrdp && \ - cd xrdp-* && \ - sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \ - debuild -b -uc -us && \ - cp -ax ../xrdp_*.deb /buildout/xrdp.deb - -# docker compose -FROM ghcr.io/linuxserver/docker-compose:arm32v7-latest as compose - -# runtime stage -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy - -# set version label -ARG BUILD_DATE -ARG VERSION -LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="thelamer" - -# copy over libs and installers from build stage -COPY --from=buildstage /buildout/ / -COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose - -ARG DEBIAN_FRONTEND="noninteractive" - -RUN \ - echo "**** install deps ****" && \ - ldconfig && \ - apt-get update && \ - DEBIAN_FRONTEND=noninteractive \ - apt-get install -y --no-install-recommends \ - apt-transport-https \ - ca-certificates \ - dbus-x11 \ - gawk \ - gnupg2 \ - libfuse2 \ - libx11-dev \ - libxfixes3 \ - libxml2 \ - libxrandr2 \ - netcat \ - openssh-client \ - pulseaudio \ - software-properties-common \ - sudo \ - x11-apps \ - x11-xserver-utils \ - xfonts-base \ - xorgxrdp \ - xrdp \ - xserver-xorg-core \ - xserver-xorg-video-armsoc-exynos \ - xserver-xorg-video-omap \ - xutils \ - zlib1g && \ - dpkg -i /xrdp.deb && \ - rm /xrdp.deb && \ - echo "**** install docker ****" && \ - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ - add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu bionic stable" && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - docker-ce-cli && \ - echo "**** cleanup and user perms ****" && \ - echo "abc:abc" | chpasswd && \ - usermod -aG sudo abc && \ - apt-get autoclean && \ - rm -rf \ - /var/lib/apt/lists/* \ - /var/tmp/* \ - /tmp/* - -# add local files -COPY /root / - -# ports and volumes -EXPOSE 3389 -VOLUME /config diff --git a/Jenkinsfile b/Jenkinsfile index bbc69d8..6b2e3b9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -156,7 +156,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-jammy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-jammy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-jammy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'amd64-jammy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-jammy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } else { env.CI_TAGS = 'jammy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } @@ -179,7 +179,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'amd64-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } else { env.CI_TAGS = 'jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } @@ -202,7 +202,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } else { env.CI_TAGS = 'jammy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } @@ -484,40 +484,6 @@ pipeline { --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } - stage('Build ARMHF') { - agent { - label 'ARMHF' - } - steps { - echo "Running on node: ${NODE_NAME}" - echo 'Logging into Github' - sh '''#! /bin/bash - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - ''' - sh "docker buildx build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-baseimage-rdesktop/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-baseimage-rdesktop\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-baseimage-rdesktop\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Baseimage-rdesktop\" \ - --label \"org.opencontainers.image.description=baseimage-rdesktop image by linuxserver.io\" \ - --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - retry(5) { - sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - } - sh '''docker rmi \ - ${IMAGE}:arm32v7-${META_TAG} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :''' - } - } stage('Build ARM64') { agent { label 'ARM64' @@ -654,9 +620,7 @@ pipeline { set -e docker pull ghcr.io/linuxserver/ci:latest if [ "${MULTIARCH}" == "true" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi docker run --rm \ @@ -770,8 +734,6 @@ pipeline { echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin if [ "${CI}" == "false" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi @@ -779,49 +741,40 @@ pipeline { docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-jammy docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-jammy - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-jammy docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:amd64-jammy - docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker push ${MANIFESTIMAGE}:arm32v7-jammy - docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker push ${MANIFESTIMAGE}:arm64v8-jammy docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker push ${MANIFESTIMAGE}:amd64-${SEMVER} - docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker manifest push --purge ${MANIFESTIMAGE}:jammy || : - docker manifest create ${MANIFESTIMAGE}:jammy ${MANIFESTIMAGE}:amd64-jammy ${MANIFESTIMAGE}:arm32v7-jammy ${MANIFESTIMAGE}:arm64v8-jammy - docker manifest annotate ${MANIFESTIMAGE}:jammy ${MANIFESTIMAGE}:arm32v7-jammy --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:jammy ${MANIFESTIMAGE}:amd64-jammy ${MANIFESTIMAGE}:arm64v8-jammy docker manifest annotate ${MANIFESTIMAGE}:jammy ${MANIFESTIMAGE}:arm64v8-jammy --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 if [ -n "${SEMVER}" ]; then docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : - docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-jammy || : + docker manifest create ${MANIFESTIMAGE}:arm32v7-jammy ${MANIFESTIMAGE}:amd64-jammy + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-jammy docker manifest push --purge ${MANIFESTIMAGE}:jammy docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} @@ -834,20 +787,15 @@ pipeline { sh '''#! /bin/bash for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do docker rmi \ - ${DELETEIMAGE}:arm32v7-${META_TAG} \ - ${DELETEIMAGE}:arm32v7-jammy \ - ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \ ${DELETEIMAGE}:arm64v8-${META_TAG} \ ${DELETEIMAGE}:arm64v8-jammy \ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : if [ -n "${SEMVER}" ]; then docker rmi \ - ${DELETEIMAGE}:arm32v7-${SEMVER} \ ${DELETEIMAGE}:arm64v8-${SEMVER} || : fi done docker rmi \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \ ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || : ''' } diff --git a/jenkins-vars.yml b/jenkins-vars.yml index a1c2276..2a33b50 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -6,6 +6,7 @@ external_type: os release_type: prerelease release_tag: jammy ls_branch: jammy +build_armhf: false repo_vars: - BUILD_VERSION_ARG = 'XRDP_VERSION' - LS_USER = 'linuxserver' diff --git a/root/etc/s6-overlay/s6-rc.d/init-keygen/run b/root/etc/s6-overlay/s6-rc.d/init-keygen/run index 7d1bc73..abb514d 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-keygen/run +++ b/root/etc/s6-overlay/s6-rc.d/init-keygen/run @@ -1,7 +1,8 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash -if [ ! -f "/keylock" ]; then - cd /etc/xrdp +if [[ ! -f "/keylock" ]]; then + cd /etc/xrdp || exit 1 xrdp-keygen xrdp rm -f /etc/xrdp/*.pem openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \ diff --git a/root/etc/s6-overlay/s6-rc.d/init-rdesktop/run b/root/etc/s6-overlay/s6-rc.d/init-rdesktop/run index 5ee862b..c3032f3 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-rdesktop/run +++ b/root/etc/s6-overlay/s6-rc.d/init-rdesktop/run @@ -1,6 +1,7 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash -if [ ! -e /lock.file ]; then +if [[ ! -e /lock.file ]]; then # give abc a sudo shell chsh abc -s /bin/bash sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \ @@ -12,7 +13,7 @@ fi touch /lock.file # default file copies first run -if [ ! -d /config/.config ]; then +if [[ ! -d /config/.config ]]; then mkdir -p /config/.config cp /defaults/bashrc /config/.bashrc cp /defaults/startwm.sh /config/startwm.sh @@ -20,6 +21,6 @@ fi # permissions PERM=$(stat -c '%U' /config/.config) -if [ "${PERM}" != "abc" ]; then +if [[ "${PERM}" != "abc" ]]; then chown -R abc:abc /config fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-video/run b/root/etc/s6-overlay/s6-rc.d/init-video/run index aaf9dfd..8ab222e 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-video/run +++ b/root/etc/s6-overlay/s6-rc.d/init-video/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash FILES=$(find /dev/dri /dev/dvb -type c -print 2>/dev/null) @@ -11,7 +12,7 @@ do echo "**** permissions for ${i} are good ****" else # check if group matches and that device has group rw - if id -G abc | grep -qw "${VIDEO_GID}" && [ $(stat -c '%A' "${i}" | cut -b 5,6) = "rw" ]; then + if id -G abc | grep -qw "${VIDEO_GID}" && [[ $(stat -c '%A' "${i}" | cut -b 5,6) = "rw" ]]; then echo "**** permissions for ${i} are good ****" # check if device needs to be added to video group elif ! id -G abc | grep -qw "${VIDEO_GID}"; then @@ -27,7 +28,7 @@ do usermod -a -G "${VIDEO_NAME}" abc fi # check if device has group rw - if [ $(stat -c '%A' "${i}" | cut -b 5,6) != "rw" ]; then + if [[ $(stat -c '%A' "${i}" | cut -b 5,6) != "rw" ]]; then echo -e "**** The device ${i} does not have group read/write permissions, attempting to fix inside the container.If it doesn't work, you can run the following on your docker host: ****\nsudo chmod g+rw ${i}\n" chmod g+rw "${i}" fi