aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-debian-dev
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-08-14 00:28:12 +0800
committercrupest <crupest@outlook.com>2024-08-14 23:59:11 +0800
commitd8d66fc6227101472ac195a116c779d3aa099737 (patch)
tree9b91d040e2513f20330ac1e810b780c5214b6079 /docker/crupest-debian-dev
parent874dce759fefc094ed3d51e9d350f424ac65a94a (diff)
downloadcrupest-d8d66fc6227101472ac195a116c779d3aa099737.tar.gz
crupest-d8d66fc6227101472ac195a116c779d3aa099737.tar.bz2
crupest-d8d66fc6227101472ac195a116c779d3aa099737.zip
feat(docker/debian-dev): add deb-src and llvm for china.
Diffstat (limited to 'docker/crupest-debian-dev')
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/11/add-deb-src.bash14
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/12/add-deb-src.bash22
-rw-r--r--docker/crupest-debian-dev/bootstrap/apt-source/china-source.txt2
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/setup.bash1
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/extra/setup-llvm.bash14
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/get-debian-version.bash2
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/setup-base.bash2
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/setup-dev.bash4
8 files changed, 55 insertions, 6 deletions
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 <<EOF >> /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 <<EOF >> /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