aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/.gitignore2
-rw-r--r--docker/README.md20
-rw-r--r--docker/aarch64/dockerfile1
-rw-r--r--docker/docker.env.default3
-rwxr-xr-xdocker/dockerbuild.sh41
-rw-r--r--docker/dockerfile13
-rwxr-xr-xdocker/onekey.sh9
-rw-r--r--docker/x86_64/dockerfile1
8 files changed, 90 insertions, 0 deletions
diff --git a/docker/.gitignore b/docker/.gitignore
new file mode 100644
index 0000000..cb288c2
--- /dev/null
+++ b/docker/.gitignore
@@ -0,0 +1,2 @@
+docker.env
+!docker.env.default
diff --git a/docker/README.md b/docker/README.md
new file mode 100644
index 0000000..463af2c
--- /dev/null
+++ b/docker/README.md
@@ -0,0 +1,20 @@
+## Docker images
+
+### Usage
+
+Choose your architecture (such as `aarch64`)
+
+```plain
+$ cd aarch64
+$ sudo docker build . -t repobuildbase
+$ cd ..
+$ sudo docker build . -t repobuild
+```
+
+Or you can use `onekey.sh` to build it.
+
+Then, start image
+
+```plain
+$ sudo docker run -it --rm --env-file docker.env repobuild
+```
diff --git a/docker/aarch64/dockerfile b/docker/aarch64/dockerfile
new file mode 100644
index 0000000..2ec90e6
--- /dev/null
+++ b/docker/aarch64/dockerfile
@@ -0,0 +1 @@
+FROM lopsided/archlinux \ No newline at end of file
diff --git a/docker/docker.env.default b/docker/docker.env.default
new file mode 100644
index 0000000..b8b5667
--- /dev/null
+++ b/docker/docker.env.default
@@ -0,0 +1,3 @@
+GPG_PRIV_KEY=
+REMOTE_PATH=
+UPLOAD_TOKEN=
diff --git a/docker/dockerbuild.sh b/docker/dockerbuild.sh
new file mode 100755
index 0000000..da76650
--- /dev/null
+++ b/docker/dockerbuild.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+set -Eeuo pipefail
+
+#export
+
+cd /home/build
+git clone --depth=1 https://github.com/kunoisayami/repos
+
+
+if [ $UID -eq 0 ]; then
+ chown -R build:build repos
+ echo "$TARGET_HOSTS" | base64 -d >> /etc/hosts
+else
+ echo "$TARGET_HOSTS" | base64 -d | sudo tee -a /etc/hosts >/dev/null
+fi
+
+pushd repos
+if [ $UID -eq 0 ]; then
+ su -c "echo $GPG_PRIV_KEY | base64 -d | gpg --import" build
+
+ pushd repo/pod2man
+ su -c 'makepkg -i -s --noconfirm --needed' build
+ popd
+ su -c 'BUILD_ONLY="" ./pkgbuild.sh' build
+
+ su -e -c './ci-upload.sh' build
+else
+
+ echo $GPG_PRIV_KEY | base64 -d | gpg --import
+
+ pushd repo/pod2man
+ makepkg -i -s --noconfirm --needed
+ popd
+ BUILD_ONLY='' ./pkgbuild.sh
+ ./ci-upload.sh
+
+fi
+
+popd repos
+
diff --git a/docker/dockerfile b/docker/dockerfile
new file mode 100644
index 0000000..4ae53aa
--- /dev/null
+++ b/docker/dockerfile
@@ -0,0 +1,13 @@
+FROM repobuildbase:latest
+
+RUN pacman --noconfirm --needed -Syu base-devel gnupg git
+
+RUN useradd -m build
+
+RUN echo 'build ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers
+
+COPY dockerbuild.sh /home/build/
+
+USER build
+
+ENTRYPOINT ["bash", "-c", "/home/build/dockerbuild.sh"]
diff --git a/docker/onekey.sh b/docker/onekey.sh
new file mode 100755
index 0000000..dcccf93
--- /dev/null
+++ b/docker/onekey.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# end up when failed
+set -Eeuo pipefail
+
+pushd "$(uname -a)" || echo "Can't find your architecture" && exit 0
+docker build . -t repobuildbase
+popd
+docker build . -t repobuild
diff --git a/docker/x86_64/dockerfile b/docker/x86_64/dockerfile
new file mode 100644
index 0000000..6f7a91e
--- /dev/null
+++ b/docker/x86_64/dockerfile
@@ -0,0 +1 @@
+FROM archlinux \ No newline at end of file