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/apt-source/11/get-domain.bash | 5 +++++ .../crupest-debian-dev/bootstrap/apt-source/11/replace-domain.bash | 7 +++++++ .../crupest-debian-dev/bootstrap/apt-source/11/replace-http.bash | 7 +++++++ 3 files changed, 19 insertions(+) create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/11/get-domain.bash create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/11/replace-domain.bash create mode 100755 docker/crupest-debian-dev/bootstrap/apt-source/11/replace-http.bash (limited to 'docker/crupest-debian-dev/bootstrap/apt-source/11') diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/11/get-domain.bash b/docker/crupest-debian-dev/bootstrap/apt-source/11/get-domain.bash new file mode 100755 index 0000000..d44ea65 --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/11/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/11/replace-domain.bash b/docker/crupest-debian-dev/bootstrap/apt-source/11/replace-domain.bash new file mode 100755 index 0000000..86e88dc --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/11/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/11/replace-http.bash b/docker/crupest-debian-dev/bootstrap/apt-source/11/replace-http.bash new file mode 100755 index 0000000..fae082a --- /dev/null +++ b/docker/crupest-debian-dev/bootstrap/apt-source/11/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 -- 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/apt-source/11') 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