aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/code-server/Dockerfile11
-rwxr-xr-xdocker/code-server/install-code-server.bash24
-rwxr-xr-xdocker/code-server/install-dev-tools.bash14
-rw-r--r--docker/debian-dev/Dockerfile10
-rw-r--r--docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash2
-rw-r--r--docker/debian-dev/bootstrap/bash-profile/code-server.bash12
-rw-r--r--docker/debian-dev/bootstrap/bash-profile/dev.bash1
-rwxr-xr-x[-rw-r--r--]docker/debian-dev/bootstrap/extra/setup-cmake.bash (renamed from docker/code-server/install-cmake.bash)4
-rwxr-xr-x[-rw-r--r--]docker/debian-dev/bootstrap/extra/setup-dotnet.bash (renamed from docker/code-server/install-dotnet.bash)4
-rwxr-xr-x[-rw-r--r--]docker/debian-dev/bootstrap/extra/setup-llvm.bash (renamed from docker/code-server/install-llvm.bash)8
-rw-r--r--docker/debian-dev/bootstrap/home-dot/sbuildrc25
-rwxr-xr-xdocker/debian-dev/bootstrap/sbuild/setup-amd64.bash7
-rwxr-xr-xdocker/debian-dev/bootstrap/sbuild/setup.bash25
-rwxr-xr-xdocker/debian-dev/bootstrap/setup-base.bash5
-rwxr-xr-xdocker/debian-dev/bootstrap/setup-code-server.bash14
-rwxr-xr-xdocker/debian-dev/bootstrap/setup-dev.bash3
-rwxr-xr-xdocker/debian-dev/bootstrap/setup.bash14
17 files changed, 58 insertions, 125 deletions
diff --git a/docker/code-server/Dockerfile b/docker/code-server/Dockerfile
deleted file mode 100644
index 9a43f5e..0000000
--- a/docker/code-server/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM debian:latest
-
-WORKDIR /scripts
-COPY *.bash /scripts/
-RUN /scripts/install-code-server.bash
-
-ENV LANG en_US.utf8
-ENV CODE_SERVER_CONFIG="/data/code-server-config.yaml"
-EXPOSE 8080
-VOLUME [ "/root", "/data" ]
-CMD [ "code-server", "--bind-addr", "0.0.0.0:8080" ]
diff --git a/docker/code-server/install-code-server.bash b/docker/code-server/install-code-server.bash
deleted file mode 100755
index b2c15ab..0000000
--- a/docker/code-server/install-code-server.bash
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-apt-get update
-apt-get install -y locales curl
-
-localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
-
-VERSION=$(curl -s https://api.github.com/repos/coder/code-server/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
-
-echo "The latest version of code-server is ${VERSION}."
-
-url="https://github.com/coder/code-server/releases/download/v${VERSION}/code-server_${VERSION}_amd64.deb"
-
-echo "Download code-server from $url."
-
-curl -sSfOL "$url"
-dpkg -i "code-server_${VERSION}_amd64.deb"
-rm "code-server_${VERSION}_amd64.deb"
-
-echo "Code-server version: $(code-server --version)."
-
-rm -rf /var/lib/apt/lists/*
diff --git a/docker/code-server/install-dev-tools.bash b/docker/code-server/install-dev-tools.bash
deleted file mode 100755
index 3f64743..0000000
--- a/docker/code-server/install-dev-tools.bash
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-apt-get update
-apt-get install -y vim lsb-release wget git software-properties-common gnupg
-apt-get install -y gcc g++ make gdb
-
-# git config --global user.email "$GIT_EMAIL"
-# git config --global user.name "$GIT_NAME"
-
-source ./install-llvm.bash
-source ./install-cmake.bash
-source ./install-dotnet.bash
diff --git a/docker/debian-dev/Dockerfile b/docker/debian-dev/Dockerfile
index ce0b10c..dd81997 100644
--- a/docker/debian-dev/Dockerfile
+++ b/docker/debian-dev/Dockerfile
@@ -1,18 +1,20 @@
-FROM debian:11
+FROM debian:latest
ARG USERNAME=
ARG IN_CHINA=
-ARG SETUP_SBUILD=
+ARG SETUP_CODE_SERVER=true
ENV USERNAME=${USERNAME}
ENV IN_CHINA=${IN_CHINA}
-ENV SETUP_SBUILD=${SETUP_SBUILD}
+ENV SETUP_CODE_SERVER=${SETUP_CODE_SERVER}
ADD bootstrap /bootstrap
+ENV LANG=en_US.utf8
RUN /bootstrap/setup.bash
USER ${USERNAME}
-VOLUME [ "/source", "/data", "/share" ]
+EXPOSE 8080
+VOLUME [ "/data" ]
CMD [ "bash", "-l" ]
diff --git a/docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash b/docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash
deleted file mode 100644
index f230cb1..0000000
--- a/docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash
+++ /dev/null
@@ -1,2 +0,0 @@
-echo "Start apt-cacher-ng if it does not start..."
-pgrep apt-cacher-ng || apt-cacher-ng
diff --git a/docker/debian-dev/bootstrap/bash-profile/code-server.bash b/docker/debian-dev/bootstrap/bash-profile/code-server.bash
new file mode 100644
index 0000000..443eb0b
--- /dev/null
+++ b/docker/debian-dev/bootstrap/bash-profile/code-server.bash
@@ -0,0 +1,12 @@
+export CODE_SERVER_CONFIG="/data/code-server-config.yaml"
+
+CODE_SERVER_PROGRAM=code-server
+CODE_SERVER_PORT=8080
+
+if which "$CODE_SERVER_PROGRAM" > /dev/null 2>&1; then
+ if ! pgrep -f "$CODE_SERVER_PROGRAM" > /dev/null 2>&1; then
+ mkdir -p ~/.local/share/code-server
+ nohup "$CODE_SERVER_PROGRAM" "--bind-addr", "0.0.0.0:$CODE_SERVER_PORT" \
+ > ~/.local/share/code-server/log 2> ~/.local/share/code-server/error &
+ fi
+fi
diff --git a/docker/debian-dev/bootstrap/bash-profile/dev.bash b/docker/debian-dev/bootstrap/bash-profile/dev.bash
deleted file mode 100644
index c49dc35..0000000
--- a/docker/debian-dev/bootstrap/bash-profile/dev.bash
+++ /dev/null
@@ -1 +0,0 @@
-alias cp-no-git="rsync -a --exclude='**/.git'"
diff --git a/docker/code-server/install-cmake.bash b/docker/debian-dev/bootstrap/extra/setup-cmake.bash
index 7b74ba8..76c1ae4 100644..100755
--- a/docker/code-server/install-cmake.bash
+++ b/docker/debian-dev/bootstrap/extra/setup-cmake.bash
@@ -1,3 +1,7 @@
+#! /usr/bin/env bash
+
+set -e
+
CMAKE_VERSION=$(curl -s https://api.github.com/repos/Kitware/CMake/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
wget -O cmake-installer.sh https://github.com/Kitware/CMake/releases/download/v"$CMAKE_VERSION"/cmake-"$CMAKE_VERSION"-linux-x86_64.sh
chmod +x cmake-installer.sh
diff --git a/docker/code-server/install-dotnet.bash b/docker/debian-dev/bootstrap/extra/setup-dotnet.bash
index 5e437ff..0ef7743 100644..100755
--- a/docker/code-server/install-dotnet.bash
+++ b/docker/debian-dev/bootstrap/extra/setup-dotnet.bash
@@ -1,3 +1,7 @@
+#! /usr/bin/env bash
+
+set -e
+
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
diff --git a/docker/code-server/install-llvm.bash b/docker/debian-dev/bootstrap/extra/setup-llvm.bash
index 2ce798f..5a55902 100644..100755
--- a/docker/code-server/install-llvm.bash
+++ b/docker/debian-dev/bootstrap/extra/setup-llvm.bash
@@ -1,4 +1,8 @@
-LLVM_VERSION=15
+#! /usr/bin/env bash
+
+set -e
+
+LLVM_VERSION=18
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
./llvm.sh $LLVM_VERSION all
@@ -6,5 +10,7 @@ rm llvm.sh
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-$LLVM_VERSION 100 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-$LLVM_VERSION \
--slave /usr/bin/clangd clangd /usr/bin/clangd-$LLVM_VERSION \
+ --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-$LLVM_VERSION \
+ --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-$LLVM_VERSION \
--slave /usr/bin/lldb lldb /usr/bin/lldb-$LLVM_VERSION \
--slave /usr/bin/lld lld /usr/bin/lld-$LLVM_VERSION
diff --git a/docker/debian-dev/bootstrap/home-dot/sbuildrc b/docker/debian-dev/bootstrap/home-dot/sbuildrc
deleted file mode 100644
index b04ff83..0000000
--- a/docker/debian-dev/bootstrap/home-dot/sbuildrc
+++ /dev/null
@@ -1,25 +0,0 @@
-##############################################################################
-# PACKAGE BUILD RELATED (additionally produce _source.changes)
-##############################################################################
-$distribution = 'bullseye';
-
-$build_source = 0;
-
-#$source_only_changes = 1;
-#$verbose = 1;
-#$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=5';
-##############################################################################
-# POST-BUILD RELATED (turn off functionality by setting variables to 0)
-##############################################################################
-$run_lintian = 0;
-# $lintian_opts = ['-i', '-I'];
-$run_piuparts = 0;
-# $piuparts_opts = ['--schroot', '%r-%a-sbuild', '--no-eatmydata'];
-$run_autopkgtest = 0;
-# $autopkgtest_root_args = '';
-# $autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ];
-
-##############################################################################
-# PERL MAGIC
-##############################################################################
-1;
diff --git a/docker/debian-dev/bootstrap/sbuild/setup-amd64.bash b/docker/debian-dev/bootstrap/sbuild/setup-amd64.bash
deleted file mode 100755
index 2c05e40..0000000
--- a/docker/debian-dev/bootstrap/sbuild/setup-amd64.bash
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-SBUILD_ARCH="amd64"
-
-sbuild-createchroot --include=eatmydata --command-prefix=eatmydata --arch=${SBUILD_ARCH} ${SBUILD_DIST} /srv/chroot/${SBUILD_DIST}-${SBUILD_ARCH}-sbuild "${SBUILD_MIRROR}"
diff --git a/docker/debian-dev/bootstrap/sbuild/setup.bash b/docker/debian-dev/bootstrap/sbuild/setup.bash
deleted file mode 100755
index 5180db6..0000000
--- a/docker/debian-dev/bootstrap/sbuild/setup.bash
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-dir=$(dirname $0)
-
-. /bootstrap/func.bash
-
-apt-get install -y sbuild schroot debootstrap
-
-copy-home-dot-file sbuildrc
-
-# setup apt-cacher-ng
-apt-get install -y apt-cacher-ng
-append-bash-profile auto-start-apt-cacher.bash
-apt-cacher-ng
-export SBUILD_MIRROR="http://127.0.0.1:3142/$(/bootstrap/apt-source/get-domain.bash)/debian"
-
-export SBUILD_DIST="bullseye"
-
-"$dir/setup-amd64.bash"
-
-if [[ "$BUILD_FOR_ARCH" == "arm64" ]]; then
- "$dir/setup-arm64.bash"
-fi
diff --git a/docker/debian-dev/bootstrap/setup-base.bash b/docker/debian-dev/bootstrap/setup-base.bash
index dda9e42..68ebb55 100755
--- a/docker/debian-dev/bootstrap/setup-base.bash
+++ b/docker/debian-dev/bootstrap/setup-base.bash
@@ -4,7 +4,8 @@ set -e
. /bootstrap/func.bash
-apt-get update
-apt-get install -y vim less man curl bash-completion rsync
+apt-get install -y locales vim less man bash-completion rsync curl wget
+
+localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
append-bash-profile bash-completion.bash
diff --git a/docker/debian-dev/bootstrap/setup-code-server.bash b/docker/debian-dev/bootstrap/setup-code-server.bash
new file mode 100755
index 0000000..cb9a407
--- /dev/null
+++ b/docker/debian-dev/bootstrap/setup-code-server.bash
@@ -0,0 +1,14 @@
+#! /usr/bin/env bash
+
+set -e
+
+. /bootstrap/func.bash
+
+VERSION=$(curl -s https://api.github.com/repos/coder/code-server/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
+url="https://github.com/coder/code-server/releases/download/v${VERSION}/code-server_${VERSION}_amd64.deb"
+
+curl -sSfOL "$url"
+apt install "./code-server_${VERSION}_amd64.deb"
+rm "code-server_${VERSION}_amd64.deb"
+
+append-bash-profile code-server.bash
diff --git a/docker/debian-dev/bootstrap/setup-dev.bash b/docker/debian-dev/bootstrap/setup-dev.bash
index 2e69da7..a2f2f52 100755
--- a/docker/debian-dev/bootstrap/setup-dev.bash
+++ b/docker/debian-dev/bootstrap/setup-dev.bash
@@ -5,9 +5,8 @@ set -e
. /bootstrap/func.bash
apt-get install -y build-essential git devscripts debhelper quilt \
- cpio kmod bc python bison flex rsync libelf-dev libssl-dev libncurses-dev dwarves
+ cpio kmod bc python bison flex libelf-dev libssl-dev libncurses-dev dwarves
-append-bash-profile dev.bash
append-bash-profile dquilt.bash
copy-home-dot-file devscripts
copy-home-dot-file quiltrc-dpkg
diff --git a/docker/debian-dev/bootstrap/setup.bash b/docker/debian-dev/bootstrap/setup.bash
index c72db87..f00c60b 100755
--- a/docker/debian-dev/bootstrap/setup.bash
+++ b/docker/debian-dev/bootstrap/setup.bash
@@ -5,16 +5,16 @@ set -e
export DEBIAN_FRONTEND=noninteractive
/bootstrap/apt-source/setup.bash
+
+apt-get update
+
/bootstrap/setup-user.bash
/bootstrap/setup-base.bash
/bootstrap/setup-dev.bash
-. /bootstrap/func.bash
-
-if is_true "$SETUP_SBUILD"; then
- echo "Setup sbuild..."
- /bootstrap/sbuild/setup.bash
-else
- echo "Sbuild is disabled. Skipped."
+if is_true "$SETUP_CODE_SERVER"; then
+ /bootstrap/setup-code-server.bash
fi
+
+rm -rf /var/lib/apt/lists/*