aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-11-21 21:50:26 +0800
committercrupest <crupest@outlook.com>2023-11-21 21:50:26 +0800
commit92716031f0a2977642bf5f42b7d59784a7ac2db9 (patch)
treec6ed03449c9558ad1cccec5283b22de18c7d6bb0 /docker
parentb707256963c75c8e61509f5b339ad4a64edaa08a (diff)
downloadcrupest-92716031f0a2977642bf5f42b7d59784a7ac2db9.tar.gz
crupest-92716031f0a2977642bf5f42b7d59784a7ac2db9.tar.bz2
crupest-92716031f0a2977642bf5f42b7d59784a7ac2db9.zip
docker(debian-dev): now cross-compile with sbuild should work.
Diffstat (limited to 'docker')
-rw-r--r--docker/debian-dev/Dockerfile3
-rw-r--r--docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash2
-rw-r--r--docker/debian-dev/bootstrap/bash-profile/dev.bash10
-rw-r--r--docker/debian-dev/bootstrap/func.bash7
-rw-r--r--docker/debian-dev/bootstrap/home-dot/sbuildrc2
-rwxr-xr-xdocker/debian-dev/bootstrap/sbuild/setup-amd64.bash (renamed from docker/debian-dev/bootstrap/sbuild/setup-sbuild-amd64.bash)3
-rwxr-xr-xdocker/debian-dev/bootstrap/sbuild/setup-sbuild-arm64.bash8
-rwxr-xr-xdocker/debian-dev/bootstrap/sbuild/setup-sbuild-base.bash5
-rwxr-xr-xdocker/debian-dev/bootstrap/sbuild/setup-sbuild.bash11
-rwxr-xr-xdocker/debian-dev/bootstrap/sbuild/setup.bash25
-rwxr-xr-xdocker/debian-dev/bootstrap/setup-base.bash4
-rwxr-xr-xdocker/debian-dev/bootstrap/setup-dev-tools-arm64.bash8
-rwxr-xr-xdocker/debian-dev/bootstrap/setup-dev-tools.bash18
-rwxr-xr-xdocker/debian-dev/bootstrap/setup-dev.bash13
-rwxr-xr-xdocker/debian-dev/bootstrap/setup.bash6
15 files changed, 54 insertions, 71 deletions
diff --git a/docker/debian-dev/Dockerfile b/docker/debian-dev/Dockerfile
index 950e1af..a49f84f 100644
--- a/docker/debian-dev/Dockerfile
+++ b/docker/debian-dev/Dockerfile
@@ -1,12 +1,11 @@
FROM debian:11
ARG IN_CHINA=
-ARG BUILD_FOR_ARCH=amd64
ENV IN_CHINA=${IN_CHINA}
-ARG BUILD_FOR_ARCH=${BUILD_FOR_ARCH}
ADD bootstrap /bootstrap
+ENV DEBIAN_FRONTEND=noninteractive
RUN /bootstrap/setup.bash
VOLUME [ "/source", "/data" ]
diff --git a/docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash b/docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash
new file mode 100644
index 0000000..f230cb1
--- /dev/null
+++ b/docker/debian-dev/bootstrap/bash-profile/auto-start-apt-cacher.bash
@@ -0,0 +1,2 @@
+echo "Start apt-cacher-ng if it does not start..."
+pgrep apt-cacher-ng || apt-cacher-ng
diff --git a/docker/debian-dev/bootstrap/bash-profile/dev.bash b/docker/debian-dev/bootstrap/bash-profile/dev.bash
index 48983fd..c49dc35 100644
--- a/docker/debian-dev/bootstrap/bash-profile/dev.bash
+++ b/docker/debian-dev/bootstrap/bash-profile/dev.bash
@@ -1,11 +1 @@
alias cp-no-git="rsync -a --exclude='**/.git'"
-
-alias apt-get-build-dep-arm64="apt-get build-dep -a arm64 --arch-only"
-alias apt-get-build-dep-indep="apt-get build-dep --indep-only"
-alias dpkg-buildpackage-build="dpkg-buildpackage -j$(nproc) -nc -b"
-alias dpkg-buildpackage-clean="dpkg-buildpackage -T clean"
-alias dpkg-buildpackage-arm64="CONFIG_SITE=/etc/dpkg-cross/cross-config.arm64 DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -aarm64 -Pcross,nocheck"
-alias dpkg-buildpackage-arm64-build="dpkg-buildpackage-arm64 -j$(nproc) -nc -T binary-arch"
-alias dpkg-buildpackage-arm64-clean="dpkg-buildpackage-arm64 -T clean"
-alias dpkg-buildpackage-indep-build="dpkg-buildpackage -j$(nproc) -nc -T binary-indep"
-
diff --git a/docker/debian-dev/bootstrap/func.bash b/docker/debian-dev/bootstrap/func.bash
new file mode 100644
index 0000000..82088f4
--- /dev/null
+++ b/docker/debian-dev/bootstrap/func.bash
@@ -0,0 +1,7 @@
+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/sbuildrc b/docker/debian-dev/bootstrap/home-dot/sbuildrc
index 1a9bed4..b04ff83 100644
--- a/docker/debian-dev/bootstrap/home-dot/sbuildrc
+++ b/docker/debian-dev/bootstrap/home-dot/sbuildrc
@@ -3,8 +3,6 @@
##############################################################################
$distribution = 'bullseye';
-$build_arch_all = 1;
-$build_arch_any = 1;
$build_source = 0;
#$source_only_changes = 1;
diff --git a/docker/debian-dev/bootstrap/sbuild/setup-sbuild-amd64.bash b/docker/debian-dev/bootstrap/sbuild/setup-amd64.bash
index 9ee08d1..2c05e40 100755
--- a/docker/debian-dev/bootstrap/sbuild/setup-sbuild-amd64.bash
+++ b/docker/debian-dev/bootstrap/sbuild/setup-amd64.bash
@@ -3,6 +3,5 @@
set -e
SBUILD_ARCH="amd64"
-SBUILD_DIST="bullseye"
-sbuild-createchroot --include=eatmydata --command-prefix=eatmydata --arch=${SBUILD_ARCH} ${SBUILD_DIST} /srv/chroot/${SBUILD_DIST}-${SBUILD_ARCH}-sbuild "http://$(/bootstrap/apt-source/get-domain.bash)/debian"
+sbuild-createchroot --include=eatmydata --command-prefix=eatmydata --arch=${SBUILD_ARCH} ${SBUILD_DIST} /srv/chroot/${SBUILD_DIST}-${SBUILD_ARCH}-sbuild "${SBUILD_MIRROR}"
diff --git a/docker/debian-dev/bootstrap/sbuild/setup-sbuild-arm64.bash b/docker/debian-dev/bootstrap/sbuild/setup-sbuild-arm64.bash
deleted file mode 100755
index 5feac2d..0000000
--- a/docker/debian-dev/bootstrap/sbuild/setup-sbuild-arm64.bash
+++ /dev/null
@@ -1,8 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-SBUILD_ARCH="arm64"
-SBUILD_DIST="bullseye"
-
-sbuild-createchroot --include=eatmydata --command-prefix=eatmydata --foreign --arch=${SBUILD_ARCH} ${SBUILD_DIST} /srv/chroot/${SBUILD_DIST}-${SBUILD_ARCH}-sbuild "http://$(/bootstrap/apt-source/get-domain.bash)/debian"
diff --git a/docker/debian-dev/bootstrap/sbuild/setup-sbuild-base.bash b/docker/debian-dev/bootstrap/sbuild/setup-sbuild-base.bash
deleted file mode 100755
index a200d3f..0000000
--- a/docker/debian-dev/bootstrap/sbuild/setup-sbuild-base.bash
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-apt-get install -y sbuild schroot debootstrap
diff --git a/docker/debian-dev/bootstrap/sbuild/setup-sbuild.bash b/docker/debian-dev/bootstrap/sbuild/setup-sbuild.bash
deleted file mode 100755
index f260e5d..0000000
--- a/docker/debian-dev/bootstrap/sbuild/setup-sbuild.bash
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /usr/bin/env bash
-
-/bootstrap/sbuild/setup-sbuild-base.bash
-
-if [[ "$BUILD_FOR_ARCH" == "amd64" ]]; then
- /bootstrap/sbuild/setup-sbuild-amd64.bash
-fi
-
-if [[ "$BUILD_FOR_ARCH" == "arm64" ]]; then
- /bootstrap/sbuild/setup-sbuild-arm64.bash
-fi
diff --git a/docker/debian-dev/bootstrap/sbuild/setup.bash b/docker/debian-dev/bootstrap/sbuild/setup.bash
new file mode 100755
index 0000000..5180db6
--- /dev/null
+++ b/docker/debian-dev/bootstrap/sbuild/setup.bash
@@ -0,0 +1,25 @@
+#! /usr/bin/env bash
+
+set -e
+
+dir=$(dirname $0)
+
+. /bootstrap/func.bash
+
+apt-get install -y sbuild schroot debootstrap
+
+copy-home-dot-file sbuildrc
+
+# setup apt-cacher-ng
+apt-get install -y apt-cacher-ng
+append-bash-profile auto-start-apt-cacher.bash
+apt-cacher-ng
+export SBUILD_MIRROR="http://127.0.0.1:3142/$(/bootstrap/apt-source/get-domain.bash)/debian"
+
+export SBUILD_DIST="bullseye"
+
+"$dir/setup-amd64.bash"
+
+if [[ "$BUILD_FOR_ARCH" == "arm64" ]]; then
+ "$dir/setup-arm64.bash"
+fi
diff --git a/docker/debian-dev/bootstrap/setup-base.bash b/docker/debian-dev/bootstrap/setup-base.bash
index 58adc1b..dda9e42 100755
--- a/docker/debian-dev/bootstrap/setup-base.bash
+++ b/docker/debian-dev/bootstrap/setup-base.bash
@@ -2,7 +2,9 @@
set -e
+. /bootstrap/func.bash
+
apt-get update
apt-get install -y vim less man curl bash-completion rsync
-cat /bootstrap/bash-profile/bash-completion.bash >> /root/.bash_profile
+append-bash-profile bash-completion.bash
diff --git a/docker/debian-dev/bootstrap/setup-dev-tools-arm64.bash b/docker/debian-dev/bootstrap/setup-dev-tools-arm64.bash
deleted file mode 100755
index 5fb7859..0000000
--- a/docker/debian-dev/bootstrap/setup-dev-tools-arm64.bash
+++ /dev/null
@@ -1,8 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-dpkg --add-architecture arm64
-apt-get update
-
-apt-get install -y crossbuild-essential-arm64
diff --git a/docker/debian-dev/bootstrap/setup-dev-tools.bash b/docker/debian-dev/bootstrap/setup-dev-tools.bash
deleted file mode 100755
index f2426aa..0000000
--- a/docker/debian-dev/bootstrap/setup-dev-tools.bash
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /usr/bin/env bash
-
-set -e
-
-apt-get install -y build-essential git devscripts debhelper quilt \
- cpio kmod bc python bison flex rsync libelf-dev libssl-dev libncurses-dev dwarves
-
-cat /bootstrap/bash-profile/dev.bash >> /root/.bash_profile
-cat /bootstrap/bash-profile/dquilt.bash >> /root/.bash_profile
-
-for f in /bootstrap/home-dot/*; do
- filename=$(basename "$f")
- cp "$f" "/root/.$filename"
-done
-
-if [[ "$BUILD_FOR_ARCH" == "arm64" ]]; then
- /bootstrap/setup-dev-tools-arm64.bash
-fi
diff --git a/docker/debian-dev/bootstrap/setup-dev.bash b/docker/debian-dev/bootstrap/setup-dev.bash
new file mode 100755
index 0000000..2e69da7
--- /dev/null
+++ b/docker/debian-dev/bootstrap/setup-dev.bash
@@ -0,0 +1,13 @@
+#! /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 rsync libelf-dev libssl-dev libncurses-dev dwarves
+
+append-bash-profile dev.bash
+append-bash-profile dquilt.bash
+copy-home-dot-file devscripts
+copy-home-dot-file quiltrc-dpkg
diff --git a/docker/debian-dev/bootstrap/setup.bash b/docker/debian-dev/bootstrap/setup.bash
index fac0393..a05168f 100755
--- a/docker/debian-dev/bootstrap/setup.bash
+++ b/docker/debian-dev/bootstrap/setup.bash
@@ -4,7 +4,5 @@ set -e
/bootstrap/apt-source/setup.bash
/bootstrap/setup-base.bash
-/bootstrap/setup-dev-tools.bash
-/bootstrap/sbuild/setup-sbuild.bash
-
-rm -rf /var/lib/apt/lists/*
+/bootstrap/setup-dev.bash
+/bootstrap/sbuild/setup.bash