From 7f3a72fd3c12967f1f330de51b123f23990aaf6b Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 13 Aug 2024 23:33:42 +0800 Subject: refactor(docker/debian-dev): rename debian-dev to crupest-debian-dev. --- docker/crupest-debian-dev/Dockerfile | 20 ++++++++++++++++++++ .../bootstrap/apt-source/china-source.txt | 1 + .../bootstrap/apt-source/get-domain.bash | 5 +++++ .../bootstrap/apt-source/install-apt-https.bash | 7 +++++++ .../bootstrap/apt-source/replace-domain.bash | 7 +++++++ .../bootstrap/apt-source/replace-http.bash | 7 +++++++ .../bootstrap/apt-source/setup.bash | 12 ++++++++++++ .../bootstrap/bash-profile/bash-completion.bash | 4 ++++ .../bootstrap/bash-profile/code-server.bash | 12 ++++++++++++ .../bootstrap/bash-profile/dquilt.bash | 4 ++++ .../bootstrap/extra/setup-cmake.bash | 9 +++++++++ .../bootstrap/extra/setup-dotnet.bash | 10 ++++++++++ .../bootstrap/extra/setup-llvm.bash | 16 ++++++++++++++++ docker/crupest-debian-dev/bootstrap/func.bash | 15 +++++++++++++++ .../crupest-debian-dev/bootstrap/home-dot/devscripts | 1 + .../bootstrap/home-dot/quiltrc-dpkg | 13 +++++++++++++ docker/crupest-debian-dev/bootstrap/setup-base.bash | 11 +++++++++++ .../bootstrap/setup-code-server.bash | 14 ++++++++++++++ docker/crupest-debian-dev/bootstrap/setup-dev.bash | 12 ++++++++++++ docker/crupest-debian-dev/bootstrap/setup-user.bash | 9 +++++++++ docker/crupest-debian-dev/bootstrap/setup.bash | 20 ++++++++++++++++++++ docker/debian-dev/Dockerfile | 20 -------------------- .../debian-dev/bootstrap/apt-source/china-source.txt | 1 - .../debian-dev/bootstrap/apt-source/get-domain.bash | 5 ----- .../bootstrap/apt-source/install-apt-https.bash | 7 ------- .../bootstrap/apt-source/replace-domain.bash | 7 ------- .../bootstrap/apt-source/replace-http.bash | 7 ------- docker/debian-dev/bootstrap/apt-source/setup.bash | 12 ------------ .../bootstrap/bash-profile/bash-completion.bash | 4 ---- .../bootstrap/bash-profile/code-server.bash | 12 ------------ docker/debian-dev/bootstrap/bash-profile/dquilt.bash | 4 ---- docker/debian-dev/bootstrap/extra/setup-cmake.bash | 9 --------- docker/debian-dev/bootstrap/extra/setup-dotnet.bash | 10 ---------- docker/debian-dev/bootstrap/extra/setup-llvm.bash | 16 ---------------- docker/debian-dev/bootstrap/func.bash | 15 --------------- docker/debian-dev/bootstrap/home-dot/devscripts | 1 - docker/debian-dev/bootstrap/home-dot/quiltrc-dpkg | 13 ------------- docker/debian-dev/bootstrap/setup-base.bash | 11 ----------- docker/debian-dev/bootstrap/setup-code-server.bash | 14 -------------- docker/debian-dev/bootstrap/setup-dev.bash | 12 ------------ docker/debian-dev/bootstrap/setup-user.bash | 9 --------- docker/debian-dev/bootstrap/setup.bash | 20 -------------------- 42 files changed, 209 insertions(+), 209 deletions(-) create mode 100644 docker/crupest-debian-dev/Dockerfile create mode 100644 docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/get-domain.bash create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/install-apt-https.bash create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/replace-domain.bash create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/replace-http.bash create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/setup.bash create mode 100644 docker/crupest-debian-dev/bootstrap/bash-profile/bash-completion.bash create mode 100644 docker/crupest-debian-dev/bootstrap/bash-profile/code-server.bash create mode 100644 docker/crupest-debian-dev/bootstrap/bash-profile/dquilt.bash create mode 100755 docker/crupest-debian-dev/bootstrap/extra/setup-cmake.bash create mode 100755 docker/crupest-debian-dev/bootstrap/extra/setup-dotnet.bash create mode 100755 docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash create mode 100644 docker/crupest-debian-dev/bootstrap/func.bash create mode 100644 docker/crupest-debian-dev/bootstrap/home-dot/devscripts create mode 100644 docker/crupest-debian-dev/bootstrap/home-dot/quiltrc-dpkg create mode 100755 docker/crupest-debian-dev/bootstrap/setup-base.bash create mode 100755 docker/crupest-debian-dev/bootstrap/setup-code-server.bash create mode 100755 docker/crupest-debian-dev/bootstrap/setup-dev.bash create mode 100755 docker/crupest-debian-dev/bootstrap/setup-user.bash create mode 100755 docker/crupest-debian-dev/bootstrap/setup.bash delete mode 100644 docker/debian-dev/Dockerfile delete mode 100644 docker/debian-dev/bootstrap/apt-source/china-source.txt delete mode 100755 docker/debian-dev/bootstrap/apt-source/get-domain.bash delete mode 100755 docker/debian-dev/bootstrap/apt-source/install-apt-https.bash delete mode 100755 docker/debian-dev/bootstrap/apt-source/replace-domain.bash delete mode 100755 docker/debian-dev/bootstrap/apt-source/replace-http.bash delete mode 100755 docker/debian-dev/bootstrap/apt-source/setup.bash delete mode 100644 docker/debian-dev/bootstrap/bash-profile/bash-completion.bash delete mode 100644 docker/debian-dev/bootstrap/bash-profile/code-server.bash delete mode 100644 docker/debian-dev/bootstrap/bash-profile/dquilt.bash delete mode 100755 docker/debian-dev/bootstrap/extra/setup-cmake.bash delete mode 100755 docker/debian-dev/bootstrap/extra/setup-dotnet.bash delete mode 100755 docker/debian-dev/bootstrap/extra/setup-llvm.bash delete mode 100644 docker/debian-dev/bootstrap/func.bash delete mode 100644 docker/debian-dev/bootstrap/home-dot/devscripts delete mode 100644 docker/debian-dev/bootstrap/home-dot/quiltrc-dpkg delete mode 100755 docker/debian-dev/bootstrap/setup-base.bash delete mode 100755 docker/debian-dev/bootstrap/setup-code-server.bash delete mode 100755 docker/debian-dev/bootstrap/setup-dev.bash delete mode 100755 docker/debian-dev/bootstrap/setup-user.bash delete mode 100755 docker/debian-dev/bootstrap/setup.bash diff --git a/docker/crupest-debian-dev/Dockerfile b/docker/crupest-debian-dev/Dockerfile new file mode 100644 index 0000000..dd81997 --- /dev/null +++ b/docker/crupest-debian-dev/Dockerfile @@ -0,0 +1,20 @@ +FROM debian:latest + +ARG USERNAME= +ARG IN_CHINA= +ARG SETUP_CODE_SERVER=true + +ENV USERNAME=${USERNAME} +ENV IN_CHINA=${IN_CHINA} +ENV SETUP_CODE_SERVER=${SETUP_CODE_SERVER} + +ADD bootstrap /bootstrap + +ENV LANG=en_US.utf8 +RUN /bootstrap/setup.bash + +USER ${USERNAME} + +EXPOSE 8080 +VOLUME [ "/data" ] +CMD [ "bash", "-l" ] diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt b/docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt new file mode 100644 index 0000000..3821ffc --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt @@ -0,0 +1 @@ +mirrors.ustc.edu.cn diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/get-domain.bash b/docker/crupest-debian-dev/bootstrap/apt-source/get-domain.bash new file mode 100755 index 0000000..d44ea65 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/get-domain.bash @@ -0,0 +1,5 @@ +#! /usr/bin/env bash + +set -e + +sed "s|.*https\?://\([-_.a-zA-Z0-9]\+\)/.*|\\1|;q" /etc/apt/sources.list diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/install-apt-https.bash b/docker/crupest-debian-dev/bootstrap/apt-source/install-apt-https.bash new file mode 100755 index 0000000..05d372b --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/install-apt-https.bash @@ -0,0 +1,7 @@ +#! /usr/bin/env bash + +set -e + +echo "Install apt https transport." +apt-get update +apt-get install -y apt-transport-https ca-certificates diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/replace-domain.bash b/docker/crupest-debian-dev/bootstrap/apt-source/replace-domain.bash new file mode 100755 index 0000000..86e88dc --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/replace-domain.bash @@ -0,0 +1,7 @@ +#! /usr/bin/env bash + +set -e + +echo "Backup /etc/apt/sources.list to /etc/apt/sources.list.bak." +echo "Replace source domain in /etc/apt/sources.list to $1." +sed -i.bak "s|\(https\?://\)[-_.a-zA-Z0-9]\+/|\\1$1/|" /etc/apt/sources.list diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/replace-http.bash b/docker/crupest-debian-dev/bootstrap/apt-source/replace-http.bash new file mode 100755 index 0000000..fae082a --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/replace-http.bash @@ -0,0 +1,7 @@ +#! /usr/bin/env bash + +set -e + +echo "Backup /etc/apt/sources.list to /etc/apt/sources.list.bak." +echo "Replace http to https in /etc/apt/sources.list." +sed -i.bak 's/https\?/https/' /etc/apt/sources.list diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash new file mode 100755 index 0000000..60e635b --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash @@ -0,0 +1,12 @@ +#! /usr/bin/env bash + +set -e + +dir=$(dirname "$0") + +if [[ -n $IN_CHINA ]]; then + "$dir/replace-domain.bash" "$(cat "$dir/china-source.txt")" +fi + +"$dir/install-apt-https.bash" +"$dir/replace-http.bash" diff --git a/docker/crupest-debian-dev/bootstrap/bash-profile/bash-completion.bash b/docker/crupest-debian-dev/bootstrap/bash-profile/bash-completion.bash new file mode 100644 index 0000000..75f8333 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/bash-profile/bash-completion.bash @@ -0,0 +1,4 @@ +if [ -f /etc/bash_completion ]; then + . /etc/bash_completion +fi + diff --git a/docker/crupest-debian-dev/bootstrap/bash-profile/code-server.bash b/docker/crupest-debian-dev/bootstrap/bash-profile/code-server.bash new file mode 100644 index 0000000..443eb0b --- /dev/null +++ b/docker/crupest-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/crupest-debian-dev/bootstrap/bash-profile/dquilt.bash b/docker/crupest-debian-dev/bootstrap/bash-profile/dquilt.bash new file mode 100644 index 0000000..96a4eb2 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/bash-profile/dquilt.bash @@ -0,0 +1,4 @@ +alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg" +. /usr/share/bash-completion/completions/quilt +complete -F _quilt_completion $_quilt_complete_opt dquilt + diff --git a/docker/crupest-debian-dev/bootstrap/extra/setup-cmake.bash b/docker/crupest-debian-dev/bootstrap/extra/setup-cmake.bash new file mode 100755 index 0000000..76c1ae4 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/extra/setup-cmake.bash @@ -0,0 +1,9 @@ +#! /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 +./cmake-installer.sh --skip-license --prefix=/usr +rm cmake-installer.sh diff --git a/docker/crupest-debian-dev/bootstrap/extra/setup-dotnet.bash b/docker/crupest-debian-dev/bootstrap/extra/setup-dotnet.bash new file mode 100755 index 0000000..0ef7743 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/extra/setup-dotnet.bash @@ -0,0 +1,10 @@ +#! /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 + +apt-get update +apt-get install -y dotnet-sdk-7.0 diff --git a/docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash b/docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash new file mode 100755 index 0000000..5a55902 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash @@ -0,0 +1,16 @@ +#! /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 +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/crupest-debian-dev/bootstrap/func.bash b/docker/crupest-debian-dev/bootstrap/func.bash new file mode 100644 index 0000000..fb2ee77 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/func.bash @@ -0,0 +1,15 @@ +is_true() { + if [[ "$1" =~ 1|on|true ]]; then + return 0 + else + return 1 + fi +} + +append-bash-profile() { + cat "/bootstrap/bash-profile/$1" >> /root/.bash_profile +} + +copy-home-dot-file() { + cp "/bootstrap/home-dot/$1" "/root/.$1" +} diff --git a/docker/crupest-debian-dev/bootstrap/home-dot/devscripts b/docker/crupest-debian-dev/bootstrap/home-dot/devscripts new file mode 100644 index 0000000..a15b041 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/home-dot/devscripts @@ -0,0 +1 @@ +export DGET_VERIFY=no \ No newline at end of file diff --git a/docker/crupest-debian-dev/bootstrap/home-dot/quiltrc-dpkg b/docker/crupest-debian-dev/bootstrap/home-dot/quiltrc-dpkg new file mode 100644 index 0000000..e8fc3c5 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/home-dot/quiltrc-dpkg @@ -0,0 +1,13 @@ +d=. +while [ ! -d $d/debian -a `readlink -e $d` != / ]; + do d=$d/..; done +if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then + # if in Debian packaging tree with unset $QUILT_PATCHES + QUILT_PATCHES="debian/patches" + QUILT_PATCH_OPTS="--reject-format=unified" + QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto" + QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index" + QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:" + QUILT_COLORS="${QUILT_COLORS}diff_ctx=35:diff_cctx=33" + if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi +fi diff --git a/docker/crupest-debian-dev/bootstrap/setup-base.bash b/docker/crupest-debian-dev/bootstrap/setup-base.bash new file mode 100755 index 0000000..68ebb55 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/setup-base.bash @@ -0,0 +1,11 @@ +#! /usr/bin/env bash + +set -e + +. /bootstrap/func.bash + +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/crupest-debian-dev/bootstrap/setup-code-server.bash b/docker/crupest-debian-dev/bootstrap/setup-code-server.bash new file mode 100755 index 0000000..cb9a407 --- /dev/null +++ b/docker/crupest-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/crupest-debian-dev/bootstrap/setup-dev.bash b/docker/crupest-debian-dev/bootstrap/setup-dev.bash new file mode 100755 index 0000000..a2f2f52 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/setup-dev.bash @@ -0,0 +1,12 @@ +#! /usr/bin/env bash + +set -e + +. /bootstrap/func.bash + +apt-get install -y build-essential git devscripts debhelper quilt \ + cpio kmod bc python bison flex libelf-dev libssl-dev libncurses-dev dwarves + +append-bash-profile dquilt.bash +copy-home-dot-file devscripts +copy-home-dot-file quiltrc-dpkg diff --git a/docker/crupest-debian-dev/bootstrap/setup-user.bash b/docker/crupest-debian-dev/bootstrap/setup-user.bash new file mode 100755 index 0000000..0eccde4 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/setup-user.bash @@ -0,0 +1,9 @@ +#! /usr/bin/env bash + +set -e + +apt-get install -y sudo + +sed -i.bak 's|%sudo[[:space:]]\+ALL=(ALL:ALL)[[:space:]]\+ALL|%sudo ALL=(ALL:ALL) NOPASSWD: ALL|' /etc/sudoers + +useradd -m -G sudo -s /usr/bin/bash "$USERNAME" diff --git a/docker/crupest-debian-dev/bootstrap/setup.bash b/docker/crupest-debian-dev/bootstrap/setup.bash new file mode 100755 index 0000000..f00c60b --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/setup.bash @@ -0,0 +1,20 @@ +#! /usr/bin/env bash + +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 + +if is_true "$SETUP_CODE_SERVER"; then + /bootstrap/setup-code-server.bash +fi + + +rm -rf /var/lib/apt/lists/* diff --git a/docker/debian-dev/Dockerfile b/docker/debian-dev/Dockerfile deleted file mode 100644 index dd81997..0000000 --- a/docker/debian-dev/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM debian:latest - -ARG USERNAME= -ARG IN_CHINA= -ARG SETUP_CODE_SERVER=true - -ENV USERNAME=${USERNAME} -ENV IN_CHINA=${IN_CHINA} -ENV SETUP_CODE_SERVER=${SETUP_CODE_SERVER} - -ADD bootstrap /bootstrap - -ENV LANG=en_US.utf8 -RUN /bootstrap/setup.bash - -USER ${USERNAME} - -EXPOSE 8080 -VOLUME [ "/data" ] -CMD [ "bash", "-l" ] diff --git a/docker/debian-dev/bootstrap/apt-source/china-source.txt b/docker/debian-dev/bootstrap/apt-source/china-source.txt deleted file mode 100644 index 3821ffc..0000000 --- a/docker/debian-dev/bootstrap/apt-source/china-source.txt +++ /dev/null @@ -1 +0,0 @@ -mirrors.ustc.edu.cn diff --git a/docker/debian-dev/bootstrap/apt-source/get-domain.bash b/docker/debian-dev/bootstrap/apt-source/get-domain.bash deleted file mode 100755 index d44ea65..0000000 --- a/docker/debian-dev/bootstrap/apt-source/get-domain.bash +++ /dev/null @@ -1,5 +0,0 @@ -#! /usr/bin/env bash - -set -e - -sed "s|.*https\?://\([-_.a-zA-Z0-9]\+\)/.*|\\1|;q" /etc/apt/sources.list diff --git a/docker/debian-dev/bootstrap/apt-source/install-apt-https.bash b/docker/debian-dev/bootstrap/apt-source/install-apt-https.bash deleted file mode 100755 index 05d372b..0000000 --- a/docker/debian-dev/bootstrap/apt-source/install-apt-https.bash +++ /dev/null @@ -1,7 +0,0 @@ -#! /usr/bin/env bash - -set -e - -echo "Install apt https transport." -apt-get update -apt-get install -y apt-transport-https ca-certificates diff --git a/docker/debian-dev/bootstrap/apt-source/replace-domain.bash b/docker/debian-dev/bootstrap/apt-source/replace-domain.bash deleted file mode 100755 index 86e88dc..0000000 --- a/docker/debian-dev/bootstrap/apt-source/replace-domain.bash +++ /dev/null @@ -1,7 +0,0 @@ -#! /usr/bin/env bash - -set -e - -echo "Backup /etc/apt/sources.list to /etc/apt/sources.list.bak." -echo "Replace source domain in /etc/apt/sources.list to $1." -sed -i.bak "s|\(https\?://\)[-_.a-zA-Z0-9]\+/|\\1$1/|" /etc/apt/sources.list diff --git a/docker/debian-dev/bootstrap/apt-source/replace-http.bash b/docker/debian-dev/bootstrap/apt-source/replace-http.bash deleted file mode 100755 index fae082a..0000000 --- a/docker/debian-dev/bootstrap/apt-source/replace-http.bash +++ /dev/null @@ -1,7 +0,0 @@ -#! /usr/bin/env bash - -set -e - -echo "Backup /etc/apt/sources.list to /etc/apt/sources.list.bak." -echo "Replace http to https in /etc/apt/sources.list." -sed -i.bak 's/https\?/https/' /etc/apt/sources.list diff --git a/docker/debian-dev/bootstrap/apt-source/setup.bash b/docker/debian-dev/bootstrap/apt-source/setup.bash deleted file mode 100755 index 60e635b..0000000 --- a/docker/debian-dev/bootstrap/apt-source/setup.bash +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env bash - -set -e - -dir=$(dirname "$0") - -if [[ -n $IN_CHINA ]]; then - "$dir/replace-domain.bash" "$(cat "$dir/china-source.txt")" -fi - -"$dir/install-apt-https.bash" -"$dir/replace-http.bash" diff --git a/docker/debian-dev/bootstrap/bash-profile/bash-completion.bash b/docker/debian-dev/bootstrap/bash-profile/bash-completion.bash deleted file mode 100644 index 75f8333..0000000 --- a/docker/debian-dev/bootstrap/bash-profile/bash-completion.bash +++ /dev/null @@ -1,4 +0,0 @@ -if [ -f /etc/bash_completion ]; then - . /etc/bash_completion -fi - diff --git a/docker/debian-dev/bootstrap/bash-profile/code-server.bash b/docker/debian-dev/bootstrap/bash-profile/code-server.bash deleted file mode 100644 index 443eb0b..0000000 --- a/docker/debian-dev/bootstrap/bash-profile/code-server.bash +++ /dev/null @@ -1,12 +0,0 @@ -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/dquilt.bash b/docker/debian-dev/bootstrap/bash-profile/dquilt.bash deleted file mode 100644 index 96a4eb2..0000000 --- a/docker/debian-dev/bootstrap/bash-profile/dquilt.bash +++ /dev/null @@ -1,4 +0,0 @@ -alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg" -. /usr/share/bash-completion/completions/quilt -complete -F _quilt_completion $_quilt_complete_opt dquilt - diff --git a/docker/debian-dev/bootstrap/extra/setup-cmake.bash b/docker/debian-dev/bootstrap/extra/setup-cmake.bash deleted file mode 100755 index 76c1ae4..0000000 --- a/docker/debian-dev/bootstrap/extra/setup-cmake.bash +++ /dev/null @@ -1,9 +0,0 @@ -#! /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 -./cmake-installer.sh --skip-license --prefix=/usr -rm cmake-installer.sh diff --git a/docker/debian-dev/bootstrap/extra/setup-dotnet.bash b/docker/debian-dev/bootstrap/extra/setup-dotnet.bash deleted file mode 100755 index 0ef7743..0000000 --- a/docker/debian-dev/bootstrap/extra/setup-dotnet.bash +++ /dev/null @@ -1,10 +0,0 @@ -#! /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 - -apt-get update -apt-get install -y dotnet-sdk-7.0 diff --git a/docker/debian-dev/bootstrap/extra/setup-llvm.bash b/docker/debian-dev/bootstrap/extra/setup-llvm.bash deleted file mode 100755 index 5a55902..0000000 --- a/docker/debian-dev/bootstrap/extra/setup-llvm.bash +++ /dev/null @@ -1,16 +0,0 @@ -#! /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 -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/func.bash b/docker/debian-dev/bootstrap/func.bash deleted file mode 100644 index fb2ee77..0000000 --- a/docker/debian-dev/bootstrap/func.bash +++ /dev/null @@ -1,15 +0,0 @@ -is_true() { - if [[ "$1" =~ 1|on|true ]]; then - return 0 - else - return 1 - fi -} - -append-bash-profile() { - cat "/bootstrap/bash-profile/$1" >> /root/.bash_profile -} - -copy-home-dot-file() { - cp "/bootstrap/home-dot/$1" "/root/.$1" -} diff --git a/docker/debian-dev/bootstrap/home-dot/devscripts b/docker/debian-dev/bootstrap/home-dot/devscripts deleted file mode 100644 index a15b041..0000000 --- a/docker/debian-dev/bootstrap/home-dot/devscripts +++ /dev/null @@ -1 +0,0 @@ -export DGET_VERIFY=no \ No newline at end of file diff --git a/docker/debian-dev/bootstrap/home-dot/quiltrc-dpkg b/docker/debian-dev/bootstrap/home-dot/quiltrc-dpkg deleted file mode 100644 index e8fc3c5..0000000 --- a/docker/debian-dev/bootstrap/home-dot/quiltrc-dpkg +++ /dev/null @@ -1,13 +0,0 @@ -d=. -while [ ! -d $d/debian -a `readlink -e $d` != / ]; - do d=$d/..; done -if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then - # if in Debian packaging tree with unset $QUILT_PATCHES - QUILT_PATCHES="debian/patches" - QUILT_PATCH_OPTS="--reject-format=unified" - QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto" - QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index" - QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:" - QUILT_COLORS="${QUILT_COLORS}diff_ctx=35:diff_cctx=33" - if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi -fi diff --git a/docker/debian-dev/bootstrap/setup-base.bash b/docker/debian-dev/bootstrap/setup-base.bash deleted file mode 100755 index 68ebb55..0000000 --- a/docker/debian-dev/bootstrap/setup-base.bash +++ /dev/null @@ -1,11 +0,0 @@ -#! /usr/bin/env bash - -set -e - -. /bootstrap/func.bash - -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 deleted file mode 100755 index cb9a407..0000000 --- a/docker/debian-dev/bootstrap/setup-code-server.bash +++ /dev/null @@ -1,14 +0,0 @@ -#! /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 deleted file mode 100755 index a2f2f52..0000000 --- a/docker/debian-dev/bootstrap/setup-dev.bash +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env bash - -set -e - -. /bootstrap/func.bash - -apt-get install -y build-essential git devscripts debhelper quilt \ - cpio kmod bc python bison flex libelf-dev libssl-dev libncurses-dev dwarves - -append-bash-profile dquilt.bash -copy-home-dot-file devscripts -copy-home-dot-file quiltrc-dpkg diff --git a/docker/debian-dev/bootstrap/setup-user.bash b/docker/debian-dev/bootstrap/setup-user.bash deleted file mode 100755 index 0eccde4..0000000 --- a/docker/debian-dev/bootstrap/setup-user.bash +++ /dev/null @@ -1,9 +0,0 @@ -#! /usr/bin/env bash - -set -e - -apt-get install -y sudo - -sed -i.bak 's|%sudo[[:space:]]\+ALL=(ALL:ALL)[[:space:]]\+ALL|%sudo ALL=(ALL:ALL) NOPASSWD: ALL|' /etc/sudoers - -useradd -m -G sudo -s /usr/bin/bash "$USERNAME" diff --git a/docker/debian-dev/bootstrap/setup.bash b/docker/debian-dev/bootstrap/setup.bash deleted file mode 100755 index f00c60b..0000000 --- a/docker/debian-dev/bootstrap/setup.bash +++ /dev/null @@ -1,20 +0,0 @@ -#! /usr/bin/env bash - -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 - -if is_true "$SETUP_CODE_SERVER"; then - /bootstrap/setup-code-server.bash -fi - - -rm -rf /var/lib/apt/lists/* -- cgit v1.2.3