diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index efa5406..9432238 100755
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -24,7 +24,7 @@
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
-Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-baseimage-rdesktop/edit/fedora-40/readme-vars.yml).
+Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-baseimage-rdesktop/edit/fedora40/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io)
@@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Update the changelog
-If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-baseimage-rdesktop/tree/fedora-40/root), add an entry to the changelog
+If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-baseimage-rdesktop/tree/fedora40/root), add an entry to the changelog
```yml
changelogs:
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index e335145..dd6474f 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -21,7 +21,7 @@
------------------------------
- - [ ] I have read the [contributing](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/fedora-40/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
+ - [ ] I have read the [contributing](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/fedora40/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------
diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml
index 7498281..d32bcb6 100644
--- a/.github/workflows/external_trigger.yml
+++ b/.github/workflows/external_trigger.yml
@@ -4,13 +4,13 @@ on:
workflow_dispatch:
jobs:
- external-trigger-fedora-40:
+ external-trigger-fedora40:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: External Trigger
- if: github.ref == 'refs/heads/fedora-40'
+ if: github.ref == 'refs/heads/fedora40'
run: |
echo "**** No external release, exiting ****"
echo "No external release, exiting" >> $GITHUB_STEP_SUMMARY
diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml
index 554ce71..5b19f82 100755
--- a/.github/workflows/greetings.yml
+++ b/.github/workflows/greetings.yml
@@ -9,5 +9,5 @@ jobs:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
- pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/fedora-40/.github/PULL_REQUEST_TEMPLATE.md)!'
+ pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/fedora40/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/package_trigger.yml b/.github/workflows/package_trigger.yml
index 240c511..e828c6d 100644
--- a/.github/workflows/package_trigger.yml
+++ b/.github/workflows/package_trigger.yml
@@ -4,28 +4,28 @@ on:
workflow_dispatch:
jobs:
- package-trigger-fedora-40:
+ package-trigger-fedora40:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: Package Trigger
- if: github.ref == 'refs/heads/fedora-40'
+ if: github.ref == 'refs/heads/fedora40'
run: |
- if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA_40 }}" ]; then
- echo "**** Github secret PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA_40 is set; skipping trigger. ****"
- echo "Github secret \`PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA_40\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
+ if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA40 }}" ]; then
+ echo "**** Github secret PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA40 is set; skipping trigger. ****"
+ echo "Github secret \`PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA40\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
- if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-rdesktop/job/fedora-40/lastBuild/api/json | jq -r '.building') == "true" ]; then
+ if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-rdesktop/job/fedora40/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
echo "There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY
exit 0
fi
- echo "**** Package trigger running off of fedora-40 branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA_40\". ****"
- echo "Package trigger running off of fedora-40 branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA_40\`" >> $GITHUB_STEP_SUMMARY
+ echo "**** Package trigger running off of fedora40 branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA40\". ****"
+ echo "Package trigger running off of fedora40 branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_BASEIMAGE_RDESKTOP_FEDORA40\`" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \
- https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-rdesktop/job/fedora-40/buildWithParameters?PACKAGE_CHECK=true \
+ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-rdesktop/job/fedora40/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
diff --git a/Dockerfile b/Dockerfile
index 811d858..705b855 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
-FROM ghcr.io/linuxserver/baseimage-fedora:40 as buildstage
+FROM ghcr.io/linuxserver/baseimage-fedora:40 AS buildstage
ARG XRDP_PULSE_VERSION=v0.7
@@ -56,7 +56,7 @@ RUN \
install -t "/tmp/buildout/usr/lib64/pulse-${VERSION}/modules/" -D -m 644 src/.libs/*.so
# docker compose
-FROM ghcr.io/linuxserver/docker-compose:amd64-latest as compose
+FROM ghcr.io/linuxserver/docker-compose:amd64-latest AS compose
# runtime stage
FROM ghcr.io/linuxserver/baseimage-fedora:40
@@ -72,32 +72,80 @@ COPY --from=buildstage /tmp/buildout/ /
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
-ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
+ENV NVIDIA_DRIVER_CAPABILITIES="all" \
+ HOME=/config
RUN \
+ echo "**** enable locales ****" && \
+ rm -f /etc/rpm/macros.image-language-conf && \
+ echo "**** install deps ****" && \
+ dnf install -y \
+ https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm && \
+ dnf install -y \
+ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
+ dnf install -y 'dnf-command(config-manager)' && \
+ dnf config-manager \
+ --add-repo \
+ https://download.docker.com/linux/fedora/docker-ce.repo && \
echo "**** install deps ****" && \
dnf install -y --setopt=install_weak_deps=False --best \
+ ca-certificates \
dbus-x11 \
- docker \
+ docker-ce \
+ docker-ce-cli \
+ glibc-all-langpacks \
+ glibc-locale-source \
+ google-noto-emoji-fonts \
+ google-noto-sans-fonts \
+ intel-media-driver \
+ mesa-dri-drivers \
+ mesa-libgbm \
+ mesa-libGL \
+ mesa-va-drivers \
+ mesa-vulkan-drivers \
+ openbox \
openssh-clients \
openssl \
pavucontrol \
pulseaudio \
sudo \
xorg-x11-drv-amdgpu \
- xorg-x11-drv-intel \
xorg-x11-drv-ati \
+ xorg-x11-drv-intel \
+ xorg-x11-drv-nouveau \
+ xorg-x11-drv-qxl \
xorgxrdp \
xrdp \
xterm && \
VERSION=$(ls -1 /usr/lib64/ | \
awk -F '-' '/pulse-/ {print $2; exit}') && \
ldconfig -n /usr/lib64/pulse-${VERSION}/modules && \
- echo "**** cleanup and user perms ****" && \
+ echo "**** openbox tweaks ****" && \
+ sed -i \
+ -e 's/NLIMC/NLMC/g' \
+ -e 's|| yes\n|' \
+ -e 's|| \n|' \
+ /etc/xdg/openbox/rc.xml && \
+ echo "**** user perms ****" && \
echo "abc:abc" | chpasswd && \
usermod -s /bin/bash abc && \
echo '%wheel ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/wheel && \
- usermod -aG wheel abc && \
+ usermod -G wheel abc && \
+ echo "**** proot-apps ****" && \
+ mkdir /proot-apps/ && \
+ PAPPS_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/proot-apps/releases/latest" \
+ | awk '/tag_name/{print $4;exit}' FS='[""]') && \
+ curl -L https://github.com/linuxserver/proot-apps/releases/download/${PAPPS_RELEASE}/proot-apps-x86_64.tar.gz \
+ | tar -xzf - -C /proot-apps/ && \
+ echo "${PAPPS_RELEASE}" > /proot-apps/pversion && \
+ echo "**** configure locale ****" && \
+ for LOCALE in $(curl -sL https://raw.githubusercontent.com/thelamer/lang-stash/master/langs); do \
+ localedef -i $LOCALE -f UTF-8 $LOCALE.UTF-8; \
+ done && \
+ echo "**** theme ****" && \
+ curl -s https://raw.githubusercontent.com/thelamer/lang-stash/master/theme.tar.gz \
+ | tar xzvf - -C /usr/share/themes/Clearlooks/openbox-3/ && \
+ echo "**** cleanup ****" && \
dnf autoremove -y && \
dnf clean all && \
rm -rf \
diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64
index be4df59..2f0d3c2 100644
--- a/Dockerfile.aarch64
+++ b/Dockerfile.aarch64
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
-FROM ghcr.io/linuxserver/baseimage-fedora:arm64v8-40 as buildstage
+FROM ghcr.io/linuxserver/baseimage-fedora:arm64v8-40 AS buildstage
ARG XRDP_PULSE_VERSION=v0.7
@@ -56,7 +56,7 @@ RUN \
install -t "/tmp/buildout/usr/lib64/pulse-${VERSION}/modules/" -D -m 644 src/.libs/*.so
# docker compose
-FROM ghcr.io/linuxserver/docker-compose:arm64v8-latest as compose
+FROM ghcr.io/linuxserver/docker-compose:arm64v8-latest AS compose
# runtime stage
FROM ghcr.io/linuxserver/baseimage-fedora:arm64v8-40
@@ -71,11 +71,37 @@ LABEL maintainer="thelamer"
COPY --from=buildstage /tmp/buildout/ /
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
+#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
+ENV NVIDIA_DRIVER_CAPABILITIES="all" \
+ HOME=/config
+
RUN \
+ echo "**** enable locales ****" && \
+ rm -f /etc/rpm/macros.image-language-conf && \
+ echo "**** install deps ****" && \
+ dnf install -y \
+ https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm && \
+ dnf install -y \
+ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
+ dnf install -y 'dnf-command(config-manager)' && \
+ dnf config-manager \
+ --add-repo \
+ https://download.docker.com/linux/fedora/docker-ce.repo && \
echo "**** install deps ****" && \
dnf install -y --setopt=install_weak_deps=False --best \
dbus-x11 \
- docker \
+ docker-ce \
+ docker-ce-cli \
+ glibc-all-langpacks \
+ glibc-locale-source \
+ google-noto-emoji-fonts \
+ google-noto-sans-fonts \
+ mesa-dri-drivers \
+ mesa-libgbm \
+ mesa-libGL \
+ mesa-va-drivers \
+ mesa-vulkan-drivers \
+ openbox \
openssh-clients \
openssl \
pavucontrol \
@@ -83,17 +109,40 @@ RUN \
sudo \
xorg-x11-drv-amdgpu \
xorg-x11-drv-ati \
+ xorg-x11-drv-nouveau \
+ xorg-x11-drv-qxl \
xorgxrdp \
xrdp \
xterm && \
VERSION=$(ls -1 /usr/lib64/ | \
awk -F '-' '/pulse-/ {print $2; exit}') && \
ldconfig -n /usr/lib64/pulse-${VERSION}/modules && \
- echo "**** cleanup and user perms ****" && \
+ echo "**** openbox tweaks ****" && \
+ sed -i \
+ -e 's/NLIMC/NLMC/g' \
+ -e 's|| yes\n|' \
+ -e 's|| \n|' \
+ /etc/xdg/openbox/rc.xml && \
+ echo "**** user perms ****" && \
echo "abc:abc" | chpasswd && \
usermod -s /bin/bash abc && \
echo '%wheel ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/wheel && \
- usermod -aG wheel abc && \
+ usermod -G wheel abc && \
+ echo "**** proot-apps ****" && \
+ mkdir /proot-apps/ && \
+ PAPPS_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/proot-apps/releases/latest" \
+ | awk '/tag_name/{print $4;exit}' FS='[""]') && \
+ curl -L https://github.com/linuxserver/proot-apps/releases/download/${PAPPS_RELEASE}/proot-apps-x86_64.tar.gz \
+ | tar -xzf - -C /proot-apps/ && \
+ echo "${PAPPS_RELEASE}" > /proot-apps/pversion && \
+ echo "**** configure locale ****" && \
+ for LOCALE in $(curl -sL https://raw.githubusercontent.com/thelamer/lang-stash/master/langs); do \
+ localedef -i $LOCALE -f UTF-8 $LOCALE.UTF-8; \
+ done && \
+ echo "**** theme ****" && \
+ curl -s https://raw.githubusercontent.com/thelamer/lang-stash/master/theme.tar.gz \
+ | tar xzvf - -C /usr/share/themes/Clearlooks/openbox-3/ && \
+ echo "**** cleanup ****" && \
dnf autoremove -y && \
dnf clean all && \
rm -rf \
diff --git a/Jenkinsfile b/Jenkinsfile
index 188a0e9..b6b910e 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -48,7 +48,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
- script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:fedora-40 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
+ script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:fedora40 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@@ -77,7 +77,7 @@ pipeline {
script{
env.LS_TAG_NUMBER = sh(
script: '''#! /bin/bash
- tagsha=$(git rev-list -n 1 fedora-40-${LS_RELEASE} 2>/dev/null)
+ tagsha=$(git rev-list -n 1 fedora40-${LS_RELEASE} 2>/dev/null)
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
echo ${LS_RELEASE_NUMBER}
elif [ -z "${GIT_COMMIT}" ]; then
@@ -153,10 +153,10 @@ pipeline {
}
}
}
- // If this is a fedora-40 build use live docker endpoints
+ // If this is a fedora40 build use live docker endpoints
stage("Set ENV live build"){
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -166,20 +166,20 @@ 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-fedora-40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-fedora-40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
+ env.CI_TAGS = 'amd64-fedora40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-fedora40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
- env.CI_TAGS = 'fedora-40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
+ env.CI_TAGS = 'fedora40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
- env.META_TAG = 'fedora-40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
- env.EXT_RELEASE_TAG = 'fedora-40-version-' + env.EXT_RELEASE_CLEAN
+ env.META_TAG = 'fedora40-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
+ env.EXT_RELEASE_TAG = 'fedora40-version-' + env.EXT_RELEASE_CLEAN
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
- not {branch "fedora-40"}
+ not {branch "fedora40"}
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -189,13 +189,13 @@ 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-fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
+ env.CI_TAGS = 'amd64-fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
- env.CI_TAGS = 'fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
+ env.CI_TAGS = 'fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
- env.META_TAG = 'fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
- env.EXT_RELEASE_TAG = 'fedora-40-version-' + env.EXT_RELEASE_CLEAN
+ env.META_TAG = 'fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
+ env.EXT_RELEASE_TAG = 'fedora40-version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
@@ -212,13 +212,13 @@ 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-fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
+ env.CI_TAGS = 'amd64-fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
} else {
- env.CI_TAGS = 'fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
+ env.CI_TAGS = 'fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
- env.META_TAG = 'fedora-40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
- env.EXT_RELEASE_TAG = 'fedora-40-version-' + env.EXT_RELEASE_CLEAN
+ env.META_TAG = 'fedora40-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
+ env.EXT_RELEASE_TAG = 'fedora40-version-' + env.EXT_RELEASE_CLEAN
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
}
@@ -255,7 +255,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@@ -267,24 +267,24 @@ pipeline {
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
# Cloned repo paths for templating:
- # ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch fedora-40 of ${LS_USER}/${LS_REPO} for running the jenkins builder on
- # ${TEMPDIR}/repo/${LS_REPO}: Cloned branch fedora-40 of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
+ # ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch fedora40 of ${LS_USER}/${LS_REPO} for running the jenkins builder on
+ # ${TEMPDIR}/repo/${LS_REPO}: Cloned branch fedora40 of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
- git clone --branch fedora-40 --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
+ git clone --branch fedora40 --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
echo "Starting Stage 1 - Jenkinsfile update"
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
- git checkout -f fedora-40
+ git checkout -f fedora40
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
- git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
- git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
+ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
+ git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
@@ -303,13 +303,13 @@ pipeline {
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
- git checkout -f fedora-40
+ git checkout -f fedora40
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
- git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
- git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
+ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
+ git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
@@ -325,7 +325,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
- git checkout -f fedora-40
+ git checkout -f fedora40
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
@@ -338,8 +338,8 @@ pipeline {
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
- git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
- git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
+ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
+ git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
@@ -406,7 +406,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@@ -419,10 +419,10 @@ pipeline {
}
}
}
- // If this is a fedora-40 build check the S6 service file perms
+ // If this is a fedora40 build check the S6 service file perms
stage("Check S6 Service file Permissions"){
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -566,7 +566,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -589,14 +589,14 @@ pipeline {
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
- git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f fedora-40
+ git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f fedora40
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
git add package_versions.txt
git commit -m 'Bot Updating Package Versions'
- git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
- git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora-40
+ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
+ git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git fedora40
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process"
else
@@ -614,7 +614,7 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
@@ -628,7 +628,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@@ -715,12 +715,12 @@ pipeline {
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
- docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:fedora-40
+ docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:fedora40
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
fi
- docker push ${PUSHIMAGE}:fedora-40
+ docker push ${PUSHIMAGE}:fedora40
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
@@ -760,10 +760,10 @@ pipeline {
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
- docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-fedora-40
+ docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-fedora40
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
- docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-fedora-40
+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-fedora40
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -771,9 +771,9 @@ pipeline {
fi
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
- docker push ${MANIFESTIMAGE}:amd64-fedora-40
+ docker push ${MANIFESTIMAGE}:amd64-fedora40
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
- docker push ${MANIFESTIMAGE}:arm64v8-fedora-40
+ docker push ${MANIFESTIMAGE}:arm64v8-fedora40
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -781,7 +781,7 @@ pipeline {
fi
done
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
- docker buildx imagetools create -t ${MANIFESTIMAGE}:fedora-40 ${MANIFESTIMAGE}:amd64-fedora-40 ${MANIFESTIMAGE}:arm64v8-fedora-40
+ docker buildx imagetools create -t ${MANIFESTIMAGE}:fedora40 ${MANIFESTIMAGE}:amd64-fedora40 ${MANIFESTIMAGE}:arm64v8-fedora40
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
@@ -796,7 +796,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
- branch "fedora-40"
+ branch "fedora40"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@@ -808,14 +808,14 @@ pipeline {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\
- "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to fedora-40",\
+ "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to fedora40",\
"type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
echo "Updating base packages to ${PACKAGE_TAG}" > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\
- "target_commitish": "fedora-40",\
+ "target_commitish": "fedora40",\
"name": "'${META_TAG}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**OS Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": true}' >> releasebody.json
@@ -826,14 +826,14 @@ pipeline {
// Add protection to the release branch
stage('Github-Release-Branch-Protection') {
when {
- branch "fedora-40"
+ branch "fedora40"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
- echo "Setting up protection for release branch fedora-40"
+ echo "Setting up protection for release branch fedora40"
sh '''#! /bin/bash
- curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/fedora-40/protection \
+ curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/fedora40/protection \
-d $(jq -c . << EOF
{
"required_status_checks": null,
diff --git a/README.md b/README.md
index 995b93f..65c7c25 100644
--- a/README.md
+++ b/README.md
@@ -1,28 +1,3 @@
-
-[linuxserverurl]: https://linuxserver.io
-[forumurl]: https://forum.linuxserver.io
-[ircurl]: https://www.linuxserver.io/irc/
-
-[][linuxserverurl]
-
-## Contact information:-
-
-| Type | Address/Details |
-| :---: | --- |
-| Discord | [Discord](https://discord.gg/YWrKVTn) |
-| IRC | freenode at `#linuxserver.io` more information at:- [IRC][ircurl]
-| Forum | [LinuxServer.io forum][forumurl] |
-
-
-
-
-[](https://microbadger.com/images/lsiobase/rdesktop "Get your own image badge on microbadger.com")
-
-[](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/Dockerfile)
-
-A custom base image built with [Fedora linux](https://getfedora.org/) and [xrdp](http://xrdp.org/)
-
-The following line is only in this repo for loop testing:
-
-- { date: "01.01.50:", desc: "I am the release message for this internal repo." }
+
+Up to date documentation is available [here](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/README.md).
diff --git a/jenkins-vars.yml b/jenkins-vars.yml
index 1ddb600..33a4ca9 100644
--- a/jenkins-vars.yml
+++ b/jenkins-vars.yml
@@ -4,8 +4,8 @@
project_name: docker-baseimage-rdesktop
external_type: os
release_type: prerelease
-release_tag: fedora-40
-ls_branch: fedora-40
+release_tag: fedora40
+ls_branch: fedora40
build_armhf: false
repo_vars:
- BUILD_VERSION_ARG = 'XRDP_VERSION'
diff --git a/readme-vars.yml b/readme-vars.yml
index 9ee704c..2626bd6 100644
--- a/readme-vars.yml
+++ b/readme-vars.yml
@@ -4,30 +4,5 @@
project_name: baseimage-rdesktop
full_custom_readme: |
{% raw -%}
- [linuxserverurl]: https://linuxserver.io
- [forumurl]: https://forum.linuxserver.io
- [ircurl]: https://www.linuxserver.io/irc/
-
- [][linuxserverurl]
-
- ## Contact information:-
-
- | Type | Address/Details |
- | :---: | --- |
- | Discord | [Discord](https://discord.gg/YWrKVTn) |
- | IRC | freenode at `#linuxserver.io` more information at:- [IRC][ircurl]
- | Forum | [LinuxServer.io forum][forumurl] |
-
-
-
-
- [](https://microbadger.com/images/lsiobase/rdesktop "Get your own image badge on microbadger.com")
-
- [](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/Dockerfile)
-
- A custom base image built with [Fedora linux](https://getfedora.org/) and [xrdp](http://xrdp.org/)
-
- The following line is only in this repo for loop testing:
-
- - { date: "01.01.50:", desc: "I am the release message for this internal repo." }
+ Up to date documentation is available [here](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/README.md).
{%- endraw %}
diff --git a/root/defaults/autostart b/root/defaults/autostart
new file mode 100755
index 0000000..db0c341
--- /dev/null
+++ b/root/defaults/autostart
@@ -0,0 +1 @@
+xterm
diff --git a/root/defaults/bashrc b/root/defaults/bashrc
new file mode 100755
index 0000000..aca4a92
--- /dev/null
+++ b/root/defaults/bashrc
@@ -0,0 +1,85 @@
+# ~/.bashrc: executed by bash(1) for non-login shells.
+# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
+# for examples
+
+# If not running interactively, don't do anything
+case $- in
+ *i*) ;;
+ *) return;;
+esac
+
+# don't put duplicate lines or lines starting with space in the history.
+# See bash(1) for more options
+HISTCONTROL=ignoreboth
+
+# append to the history file, don't overwrite it
+shopt -s histappend
+
+# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
+HISTSIZE=1000
+HISTFILESIZE=2000
+
+# check the window size after each command and, if necessary,
+# update the values of LINES and COLUMNS.
+shopt -s checkwinsize
+
+# make less more friendly for non-text input files, see lesspipe(1)
+[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
+
+# set variable identifying the chroot you work in (used in the prompt below)
+if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
+ debian_chroot=$(cat /etc/debian_chroot)
+fi
+
+# set a fancy prompt (non-color, unless we know we "want" color)
+case "$TERM" in
+ xterm|xterm-color|*-256color) color_prompt=yes;;
+esac
+
+if [ "$color_prompt" = yes ]; then
+ if [[ ${EUID} == 0 ]] ; then
+ PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
+ else
+ PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w \$\[\033[00m\] '
+ fi
+else
+ PS1='${debian_chroot:+($debian_chroot)}\u@\h \w \$ '
+fi
+unset color_prompt force_color_prompt
+
+# If this is an xterm set the title to user@host:dir
+case "$TERM" in
+xterm*|rxvt*)
+ PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h \w\a\]$PS1"
+ ;;
+*)
+ ;;
+esac
+
+# enable color support of ls and also add handy aliases
+if [ -x /usr/bin/dircolors ]; then
+ test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
+ alias ls='ls --color=auto'
+ alias grep='grep --color=auto'
+ alias fgrep='fgrep --color=auto'
+ alias egrep='egrep --color=auto'
+fi
+
+# some more ls aliases
+alias ll='ls -alF'
+alias la='ls -A'
+alias l='ls -CF'
+
+if [ -f ~/.bash_aliases ]; then
+ . ~/.bash_aliases
+fi
+if ! shopt -oq posix; then
+ if [ -f /usr/share/bash-completion/bash_completion ]; then
+ . /usr/share/bash-completion/bash_completion
+ elif [ -f /etc/bash_completion ]; then
+ . /etc/bash_completion
+ fi
+fi
+
+# start term in home
+cd ~
diff --git a/root/defaults/menu.xml b/root/defaults/menu.xml
new file mode 100644
index 0000000..1333076
--- /dev/null
+++ b/root/defaults/menu.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/root/defaults/startwm.sh b/root/defaults/startwm.sh
new file mode 100755
index 0000000..46bc220
--- /dev/null
+++ b/root/defaults/startwm.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+# Combine env
+/usr/bin/with-contenv /usr/bin/env | sed 's/^/export /g' > /defaults/env.sh
+source /defaults/env.sh
+rm /defaults/env.sh
+
+# Enable Nvidia GPU support if detected
+if which nvidia-smi; then
+ export LIBGL_KOPPER_DRI2=1
+ export MESA_LOADER_DRIVER_OVERRIDE=zink
+ export GALLIUM_DRIVER=zink
+fi
+
+/startpulse.sh &
+/usr/bin/openbox-session
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 0520f62..7e22087 100755
--- a/root/etc/s6-overlay/s6-rc.d/init-rdesktop/run
+++ b/root/etc/s6-overlay/s6-rc.d/init-rdesktop/run
@@ -3,12 +3,65 @@
# default file copies first run
if [[ ! -d /config/.config ]]; then
- mkdir -p /config/.config
- cp /defaults/startwm.sh /config/startwm.sh
+ mkdir -p /config/.config
+ cp /defaults/bashrc /config/.bashrc
+ cp /defaults/startwm.sh /config/startwm.sh
+fi
+if [[ ! -f /config/.config/openbox/autostart ]]; then
+ mkdir -p /config/.config/openbox
+ cp /defaults/autostart /config/.config/openbox/autostart
+fi
+if [[ ! -f /config/.config/openbox/menu.xml ]]; then
+ mkdir -p /config/.config/openbox
+ cp /defaults/menu.xml /config/.config/openbox/menu.xml
+fi
+
+# XDG Home
+printf "/config/.XDG" > /run/s6/container_environment/XDG_RUNTIME_DIR
+if [ ! -d "/config/.XDG" ]; then
+ mkdir -p /config/.XDG
+ chown abc:abc /config/.XDG
+fi
+
+# Locale Support
+if [ ! -z ${LC_ALL+x} ]; then
+ printf "${LC_ALL%.UTF-8}" > /run/s6/container_environment/LANGUAGE
+ printf "${LC_ALL}" > /run/s6/container_environment/LANG
+fi
+
+# Remove window borders
+if [[ ! -z ${NO_DECOR+x} ]] && [[ ! -f /decorlock ]]; then
+ sed -i \
+ 's|| no \n|' \
+ /etc/xdg/openbox/rc.xml
+ touch /decorlock
+fi
+
+# Fullscreen everything in openbox unless the user explicitly disables it
+if [[ ! -z ${NO_FULL+x} ]] && [[ ! -f /fulllock ]]; then
+ sed -i \
+ '/yes<\/maximized><\/application>/d' \
+ /etc/xdg/openbox/rc.xml
+ touch /fulllock
+fi
+
+# Add proot-apps
+if [ ! -f "/config/.local/bin/proot-apps" ]; then
+ mkdir -p /config/.local/bin/
+ cp /proot-apps/* /config/.local/bin/
+ echo 'export PATH="/config/.local/bin:$PATH"' >> /config/.bashrc
+ chown abc:abc \
+ /config/.bashrc \
+ /config/.local/ \
+ /config/.local/bin \
+ /config/.local/bin/{ncat,proot-apps,proot,jq,pversion}
+elif ! diff -q /proot-apps/pversion /config/.local/bin/pversion > /dev/null; then
+ cp /proot-apps/* /config/.local/bin/
+ chown abc:abc /config/.local/bin/{ncat,proot-apps,proot,jq,pversion}
fi
# permissions
PERM=$(stat -c '%U' /config/.config)
if [[ "${PERM}" != "abc" ]]; then
- lsiown -R abc:abc /config
+ chown -R abc:abc /config
fi