From 61cd7dabdd2c5272a952edd40dffcbc368b596b1 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 14 Aug 2024 00:28:12 +0800 Subject: feat(docker/debian-dev): support both 11 and 12 for apt source. --- docker/crupest-debian-dev/bootstrap/get-debian-version.bash | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 docker/crupest-debian-dev/bootstrap/get-debian-version.bash (limited to 'docker/crupest-debian-dev/bootstrap/get-debian-version.bash') diff --git a/docker/crupest-debian-dev/bootstrap/get-debian-version.bash b/docker/crupest-debian-dev/bootstrap/get-debian-version.bash new file mode 100755 index 0000000..305e628 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/get-debian-version.bash @@ -0,0 +1,11 @@ +#! /usr/bin/env bash + +if [ -f /etc/os-release ]; then + . /etc/os-release + if [ "$ID" = "debian" ]; then + echo "$VERSION_ID" + exit 0 + fi +else + +exit 1 -- cgit v1.2.3 From 874dce759fefc094ed3d51e9d350f424ac65a94a Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 14 Aug 2024 00:28:12 +0800 Subject: feat(docker/debian-dev): add data/state mount dir, fix debian version. --- docker/crupest-debian-dev/Dockerfile | 2 +- docker/crupest-debian-dev/bootstrap/apt-source/setup.bash | 2 +- docker/crupest-debian-dev/bootstrap/get-debian-version.bash | 2 +- docker/crupest-debian-dev/bootstrap/setup-base.bash | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) (limited to 'docker/crupest-debian-dev/bootstrap/get-debian-version.bash') diff --git a/docker/crupest-debian-dev/Dockerfile b/docker/crupest-debian-dev/Dockerfile index 1ac4acd..3293f03 100644 --- a/docker/crupest-debian-dev/Dockerfile +++ b/docker/crupest-debian-dev/Dockerfile @@ -17,5 +17,5 @@ USER ${USER} WORKDIR /home/${USER} EXPOSE 8080 -VOLUME [ "/data" ] +VOLUME [ "/data", "/state" ] CMD [ "bash", "-l" ] diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash index 6e504ef..cb3d3e4 100755 --- a/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash +++ b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash @@ -5,7 +5,7 @@ set -e dir=/bootstrap/apt-source echo "Getting debian version..." -debian_version=$(bash "$dir/../get-debian-version.bash") +debian_version=$("$dir/../get-debian-version.bash") if [[ -z $debian_version ]]; then echo "Debian version not found." diff --git a/docker/crupest-debian-dev/bootstrap/get-debian-version.bash b/docker/crupest-debian-dev/bootstrap/get-debian-version.bash index 305e628..9cd468a 100755 --- a/docker/crupest-debian-dev/bootstrap/get-debian-version.bash +++ b/docker/crupest-debian-dev/bootstrap/get-debian-version.bash @@ -6,6 +6,6 @@ if [ -f /etc/os-release ]; then echo "$VERSION_ID" exit 0 fi -else +fi exit 1 diff --git a/docker/crupest-debian-dev/bootstrap/setup-base.bash b/docker/crupest-debian-dev/bootstrap/setup-base.bash index e918a8b..6a715c7 100755 --- a/docker/crupest-debian-dev/bootstrap/setup-base.bash +++ b/docker/crupest-debian-dev/bootstrap/setup-base.bash @@ -15,6 +15,11 @@ echo "Setting up locale..." localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 echo "Setting up locale done." +echo "Creating data/state dir..." +mkdir -p /data /state +chown $CRUPEST_DEBIAN_DEV_USER:$CRUPEST_DEBIAN_DEV_USER /data /state +echo "Creating data dir done." + append-bash-profile bash-completion.bash echo "Setting up basic system function done." -- cgit v1.2.3 From d8d66fc6227101472ac195a116c779d3aa099737 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 14 Aug 2024 00:28:12 +0800 Subject: feat(docker/debian-dev): add deb-src and llvm for china. --- .../bootstrap/apt-source/11/add-deb-src.bash | 14 ++++++++++++++ .../bootstrap/apt-source/12/add-deb-src.bash | 22 ++++++++++++++++++++++ .../bootstrap/apt-source/china-source.txt | 2 +- .../bootstrap/apt-source/setup.bash | 1 + .../bootstrap/extra/setup-llvm.bash | 14 ++++++++++++-- .../bootstrap/get-debian-version.bash | 2 ++ .../crupest-debian-dev/bootstrap/setup-base.bash | 2 +- docker/crupest-debian-dev/bootstrap/setup-dev.bash | 4 ++-- 8 files changed, 55 insertions(+), 6 deletions(-) create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/11/add-deb-src.bash create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/12/add-deb-src.bash (limited to 'docker/crupest-debian-dev/bootstrap/get-debian-version.bash') diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/11/add-deb-src.bash b/docker/crupest-debian-dev/bootstrap/apt-source/11/add-deb-src.bash new file mode 100755 index 0000000..e134a00 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/11/add-deb-src.bash @@ -0,0 +1,14 @@ +#! /usr/bin/env bash + +set -e + +dir=$(dirname "$0") +domain=$("$dir/get-domain.bash") + +cat <> /etc/apt/sources.list + +deb-src https://$domain/debian/ bullseye main +deb-src https://$domain/debian-security/ bullseye-security main +deb-src https://$domain/debian-updates/ bullseye-updates main + +EOF diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/12/add-deb-src.bash b/docker/crupest-debian-dev/bootstrap/apt-source/12/add-deb-src.bash new file mode 100755 index 0000000..cf741d6 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/12/add-deb-src.bash @@ -0,0 +1,22 @@ +#! /usr/bin/env bash + +set -e + +dir=$(dirname "$0") +domain=$("$dir/get-domain.bash") + +cat <> /etc/apt/sources.list.d/debian.sources + +Types: deb-src +URIs: https://$domain/debian +Suites: bookworm bookworm-updates +Components: main +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg + +Types: deb-src +URIs: https://$domain/debian-security +Suites: bookworm-security +Components: main +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg + +EOF \ No newline at end of file diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt b/docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt index 3821ffc..4312686 100644 --- a/docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt +++ b/docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt @@ -1 +1 @@ -mirrors.ustc.edu.cn +mirrors.tuna.tsinghua.edu.cn \ No newline at end of file diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash index cb3d3e4..cdf68af 100755 --- a/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash +++ b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash @@ -29,5 +29,6 @@ fi "$dir/install-apt-https.bash" "$setup_dir/replace-http.bash" +"$setup_dir/add-deb-src.bash" echo "Setting up apt source done." diff --git a/docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash b/docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash index 5a55902..48dde86 100755 --- a/docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash +++ b/docker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash @@ -3,10 +3,20 @@ set -e LLVM_VERSION=18 -wget https://apt.llvm.org/llvm.sh + +. /bootstrap/func.bash + +if is_true "$CRUPEST_DEBIAN_DEV_IN_CHINA"; then + base_url=https://mirrors.tuna.tsinghua.edu.cn/llvm-apt +else + base_url=https://apt.llvm.org +fi + +wget "$base_url/llvm.sh" chmod +x llvm.sh -./llvm.sh $LLVM_VERSION all +./llvm.sh $LLVM_VERSION all -m "$base_url" 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 \ diff --git a/docker/crupest-debian-dev/bootstrap/get-debian-version.bash b/docker/crupest-debian-dev/bootstrap/get-debian-version.bash index 9cd468a..2cc10b9 100755 --- a/docker/crupest-debian-dev/bootstrap/get-debian-version.bash +++ b/docker/crupest-debian-dev/bootstrap/get-debian-version.bash @@ -1,5 +1,7 @@ #! /usr/bin/env bash +set -e + if [ -f /etc/os-release ]; then . /etc/os-release if [ "$ID" = "debian" ]; then diff --git a/docker/crupest-debian-dev/bootstrap/setup-base.bash b/docker/crupest-debian-dev/bootstrap/setup-base.bash index 6a715c7..ce3372f 100755 --- a/docker/crupest-debian-dev/bootstrap/setup-base.bash +++ b/docker/crupest-debian-dev/bootstrap/setup-base.bash @@ -8,7 +8,7 @@ echo "Setting up basic system function..." echo "Installing basic packages..." apt-get install -y apt-utils -apt-get install -y locales procps vim less man bash-completion rsync curl wget +apt-get install -y locales procps vim less man bash-completion software-properties-common rsync curl wget echo "Installing basic packages done." echo "Setting up locale..." diff --git a/docker/crupest-debian-dev/bootstrap/setup-dev.bash b/docker/crupest-debian-dev/bootstrap/setup-dev.bash index 9e2c6de..1335afc 100755 --- a/docker/crupest-debian-dev/bootstrap/setup-dev.bash +++ b/docker/crupest-debian-dev/bootstrap/setup-dev.bash @@ -7,8 +7,8 @@ set -e echo "Setting up dev function..." echo "Installing dev packages..." -apt-get install -y build-essential git devscripts debhelper quilt \ - cpio kmod bc python3 bison flex libelf-dev libssl-dev libncurses-dev dwarves +apt-get install -y build-essential git devscripts debhelper quilt +apt-get build-dep -y linux echo "Installing dev packages done." append-bash-profile dquilt.bash -- cgit v1.2.3