aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-08-14 00:28:12 +0800
committercrupest <crupest@outlook.com>2024-08-14 22:58:21 +0800
commit61cd7dabdd2c5272a952edd40dffcbc368b596b1 (patch)
tree4141dbea334763699c16c95183fa49269e97e629
parentfa5eb7f373ae37ba5e9838aeb75809e0c0884cea (diff)
downloadcrupest-61cd7dabdd2c5272a952edd40dffcbc368b596b1.tar.gz
crupest-61cd7dabdd2c5272a952edd40dffcbc368b596b1.tar.bz2
crupest-61cd7dabdd2c5272a952edd40dffcbc368b596b1.zip
feat(docker/debian-dev): support both 11 and 12 for apt source.
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/11/get-domain.bash5
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/11/replace-domain.bash7
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/11/replace-http.bash7
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/12/get-domain.bash (renamed from docker/crupest-debian-dev/bootstrap/apt-source/get-domain.bash)0
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/12/replace-domain.bash (renamed from docker/crupest-debian-dev/bootstrap/apt-source/replace-domain.bash)0
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/12/replace-http.bash (renamed from docker/crupest-debian-dev/bootstrap/apt-source/replace-http.bash)0
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/apt-source/setup.bash22
-rwxr-xr-xdocker/crupest-debian-dev/bootstrap/get-debian-version.bash11
8 files changed, 49 insertions, 3 deletions
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
diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/get-domain.bash b/docker/crupest-debian-dev/bootstrap/apt-source/12/get-domain.bash
index a24538c..a24538c 100755
--- a/docker/crupest-debian-dev/bootstrap/apt-source/get-domain.bash
+++ b/docker/crupest-debian-dev/bootstrap/apt-source/12/get-domain.bash
diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/replace-domain.bash b/docker/crupest-debian-dev/bootstrap/apt-source/12/replace-domain.bash
index d55307c..d55307c 100755
--- a/docker/crupest-debian-dev/bootstrap/apt-source/replace-domain.bash
+++ b/docker/crupest-debian-dev/bootstrap/apt-source/12/replace-domain.bash
diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/replace-http.bash b/docker/crupest-debian-dev/bootstrap/apt-source/12/replace-http.bash
index ed4391d..ed4391d 100755
--- a/docker/crupest-debian-dev/bootstrap/apt-source/replace-http.bash
+++ b/docker/crupest-debian-dev/bootstrap/apt-source/12/replace-http.bash
diff --git a/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash
index 60583d4..6e504ef 100755
--- a/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash
+++ b/docker/crupest-debian-dev/bootstrap/apt-source/setup.bash
@@ -2,16 +2,32 @@
set -e
-dir=$(dirname "$0")
+dir=/bootstrap/apt-source
+
+echo "Getting debian version..."
+debian_version=$(bash "$dir/../get-debian-version.bash")
+
+if [[ -z $debian_version ]]; then
+ echo "Debian version not found."
+ exit 1
+else
+ echo "Debian version: $debian_version"
+fi
+
+if [[ $debian_version -ge 12 ]]; then
+ setup_dir=$dir/12
+else
+ setup_dir=$dir/11
+fi
echo "Setting up apt source..."
if [[ -n $CRUPEST_DEBIAN_DEV_IN_CHINA ]]; then
echo "In China, using China source..."
- "$dir/replace-domain.bash" "$(cat "$dir/china-source.txt")"
+ "$setup_dir/replace-domain.bash" "$(cat "$dir/china-source.txt")"
fi
"$dir/install-apt-https.bash"
-"$dir/replace-http.bash"
+"$setup_dir/replace-http.bash"
echo "Setting up apt source done."
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