From e53588b402a23c946cb643c4d4836c526ea24668 Mon Sep 17 00:00:00 2001
From: krateng <git.noreply@krateng.ch>
Date: Thu, 23 Dec 2021 08:48:39 +0100
Subject: [PATCH] Reworked everything again

---
 DEVELOPMENT.md                                | 2 +-
 Dockerfile                                    | 8 ++++----
 Dockerfile-pypi                               | 8 ++++----
 install/alpine_requirements.sh                | 2 --
 install/alpine_requirements_build.sh          | 1 -
 install/alpine_requirements_build_volatile.sh | 1 -
 install/alpine_requirements_run.sh            | 1 -
 install/dependencies_build.txt                | 6 ++++++
 install/dependencies_run.txt                  | 4 ++++
 install/install_dependencies.sh               | 2 ++
 install_alpine.sh                             | 4 ++--
 11 files changed, 23 insertions(+), 16 deletions(-)
 delete mode 100644 install/alpine_requirements.sh
 delete mode 100644 install/alpine_requirements_build.sh
 delete mode 100644 install/alpine_requirements_build_volatile.sh
 delete mode 100644 install/alpine_requirements_run.sh
 create mode 100644 install/dependencies_build.txt
 create mode 100644 install/dependencies_run.txt
 create mode 100644 install/install_dependencies.sh

diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index d785349..f78c015 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -4,7 +4,7 @@ After you've cloned the repository, traverse into the `maloja` folder with `cd m
 
 Your system needs several packages installed. On Alpine, this can be done with
 
-`sh ./install/alpine_requirements.sh`
+`sh ./install/install_dependencies.sh`
 
 For other distros, try to find the equivalents of the packages listed or simply check your error output.
 
diff --git a/Dockerfile b/Dockerfile
index 5039499..69e10dc 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -11,10 +11,10 @@ WORKDIR /usr/src/app
 COPY . .
 
 RUN \
-    # Build dependencies
-    sh ./install/alpine_requirements_build_volatile.sh && \
-    # Runtime dependencies
-    sh ./install/alpine_requirements_run.sh && \
+    # Build dependencies (This will pipe all packages from the file)
+    sed 's/#.*//' ./install/dependencies_build.txt  | xargs apk add --no-cache --virtual .build-deps && \
+    # Runtime dependencies (Same)
+    sed 's/#.*//' ./install/dependencies_run.txt  | xargs apk add && \
     # Python dependencies
     pip3 install --no-cache-dir -r requirements.txt && \
     # Local project install
diff --git a/Dockerfile-pypi b/Dockerfile-pypi
index 682a450..98db829 100644
--- a/Dockerfile-pypi
+++ b/Dockerfile-pypi
@@ -11,10 +11,10 @@ WORKDIR /usr/src/app
 COPY ./install ./install
 
 RUN \
-    # Build dependencies
-    sh ./install/alpine_requirements_build_volatile.sh && \
-    # Runtime dependencies
-    sh ./install/alpine_requirements_run.sh && \
+    # Build dependencies (This will pipe all packages from the file)
+    sed 's/#.*//' ./install/dependencies_build.txt  | xargs apk add --no-cache --virtual .build-deps && \
+    # Runtime dependencies (Same)
+    sed 's/#.*//' ./install/dependencies_run.txt  | xargs apk add && \
 
 
     # PyPI install
diff --git a/install/alpine_requirements.sh b/install/alpine_requirements.sh
deleted file mode 100644
index 7f26638..0000000
--- a/install/alpine_requirements.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-sh ./install/alpine_requirements_run.sh
-sh ./install/alpine_requirements_build.sh
diff --git a/install/alpine_requirements_build.sh b/install/alpine_requirements_build.sh
deleted file mode 100644
index ad26928..0000000
--- a/install/alpine_requirements_build.sh
+++ /dev/null
@@ -1 +0,0 @@
-apk add gcc libxml2-dev libxslt-dev py3-pip libc-dev linux-headers
diff --git a/install/alpine_requirements_build_volatile.sh b/install/alpine_requirements_build_volatile.sh
deleted file mode 100644
index 2248e34..0000000
--- a/install/alpine_requirements_build_volatile.sh
+++ /dev/null
@@ -1 +0,0 @@
-apk add --no-cache --virtual .build-deps gcc libxml2-dev libxslt-dev py3-pip libc-dev linux-headers
diff --git a/install/alpine_requirements_run.sh b/install/alpine_requirements_run.sh
deleted file mode 100644
index 4704349..0000000
--- a/install/alpine_requirements_run.sh
+++ /dev/null
@@ -1 +0,0 @@
-apk add python3 python3-dev imagemagick tzdata
diff --git a/install/dependencies_build.txt b/install/dependencies_build.txt
new file mode 100644
index 0000000..21e034f
--- /dev/null
+++ b/install/dependencies_build.txt
@@ -0,0 +1,6 @@
+gcc
+libxml2-dev
+libxslt-dev
+py3-pip
+libc-dev
+linux-headers
diff --git a/install/dependencies_run.txt b/install/dependencies_run.txt
new file mode 100644
index 0000000..df89cfe
--- /dev/null
+++ b/install/dependencies_run.txt
@@ -0,0 +1,4 @@
+python3
+python3-dev
+imagemagick
+tzdata
diff --git a/install/install_dependencies.sh b/install/install_dependencies.sh
new file mode 100644
index 0000000..2117b32
--- /dev/null
+++ b/install/install_dependencies.sh
@@ -0,0 +1,2 @@
+sed 's/#.*//' ./install/dependencies_run.txt  | xargs apk add
+sed 's/#.*//' ./install/dependencies_build.txt  | xargs apk add
diff --git a/install_alpine.sh b/install_alpine.sh
index bcc56e9..9c3eb1a 100644
--- a/install_alpine.sh
+++ b/install_alpine.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-sh ./install/alpine_requirements_run.sh
-sh ./install/alpine_requirements_build.sh
+sed 's/#.*//' ./install/deps_build.txt  | xargs apk add
+sed 's/#.*//' ./install/deps_run.txt  | xargs apk add
 pip3 install wheel
 pip3 install malojaserver