From 97c03c30a80bf35df555b1cea843ed21f452a182 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Wed, 11 Dec 2019 12:09:54 +0100
Subject: [PATCH] Allow repo to use makefile to reduce need to run rebuild

---
 Dockerfile     | 10 +++++++++-
 Makefile       | 11 +++++++++++
 build.sh       |  4 +---
 push.sh        |  7 +++++++
 update_repo.sh | 12 ++++++++----
 5 files changed, 36 insertions(+), 8 deletions(-)
 create mode 100644 Makefile
 create mode 100755 push.sh

diff --git a/Dockerfile b/Dockerfile
index 600042d..7619e3b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,17 @@
 FROM registry.gitlab.com/fdroid/docker-executable-fdroidserver:latest
 
-RUN apt-get update && apt-get -y install python-pip
+RUN apt-get update && \
+    apt-get -y install --no-install-recommends \
+      python-pip \
+      python-wheel \
+      python-setuptools \
+      apksigner
 
 RUN pip install s3cmd
 
 ADD update_repo.sh /
+ADD Makefile /
+
+ENV UPDATE_WAIT=10
 
 ENTRYPOINT [ "/update_repo.sh" ]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b8e12a0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,11 @@
+.PHONY: build
+$(REPO_PATH)/index.jar: $(REPO_PATH)
+	fdroid update --use-date-from-apk
+	fdroid server update
+
+$(REPO_PATH): s3
+	rsync -rlpcgoDv $(S3_PATH)/*-release.apk $(REPO_PATH)/
+
+.PHONY: s3
+s3:
+	s3cmd sync --preserve s3://releases/quasseldroid-ng/ $(S3_PATH)/
diff --git a/build.sh b/build.sh
index f85ac18..e501902 100755
--- a/build.sh
+++ b/build.sh
@@ -2,8 +2,6 @@
 IMAGE=k8r.eu/justjanne/fdroid-repo
 TAGS=$(git describe --always --tags HEAD)
 
-docker build -t $IMAGE:$TAGS .
+docker build --pull -t $IMAGE:$TAGS .
 docker tag $IMAGE:$TAGS $IMAGE:latest
 echo Successfully tagged $IMAGE:latest
-docker push $IMAGE:$TAGS
-docker push $IMAGE:latest
diff --git a/push.sh b/push.sh
new file mode 100755
index 0000000..0e9fef0
--- /dev/null
+++ b/push.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+IMAGE=k8r.eu/justjanne/fdroid-repo
+TAGS=$(git describe --always --tags HEAD)
+
+docker push $IMAGE:$TAGS
+docker push $IMAGE:latest
+echo Successfully pushed $IMAGE:$TAGS as $IMAGE:latest
diff --git a/update_repo.sh b/update_repo.sh
index 2fc6732..615333e 100755
--- a/update_repo.sh
+++ b/update_repo.sh
@@ -1,11 +1,15 @@
 #!/bin/sh
 SOURCE_PATH=/tmp/fdroid
+REPO_PATH=$SOURCE_PATH/repo/
+S3_PATH=$SOURCE_PATH/s3/
+
+mkdir -p $SOURCE_PATH/
+cp /Makefile $SOURCE_PATH/
 
 cd $SOURCE_PATH
-mkdir -p $SOURCE_PATH/repo/
+mkdir -p $REPO_PATH
+mkdir -p $S3_PATH
 while true; do
-  s3cmd sync --preserve $APP $SOURCE_PATH/repo/
-  rm -rf $SOURCE_PATH/repo/*-latest.apk
-  fdroid update && fdroid server update
+  make
   sleep $UPDATE_WAIT
 done
-- 
GitLab