aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-11-25 09:13:11 +0100
committerWojtek Kosior <koszko@koszko.org>2022-11-25 09:13:11 +0100
commitb7a8611707d393abd6857c8f7986f66a1ea906ab (patch)
treee6c56cfa503b3c78229bc5206370721dda77a25c /Makefile
parent28ba79385cd1b80a99629d35bd535adc5f817497 (diff)
downloadkoszko-org-server-b7a8611707d393abd6857c8f7986f66a1ea906ab.tar.gz
koszko-org-server-b7a8611707d393abd6857c8f7986f66a1ea906ab.zip
add hydrilla.koszko.org virtualhost
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile47
1 files changed, 33 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 7de829e..b0eb3a8 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,8 @@ GUIX_TM = $(GUIX) time-machine --commit=$(GUIX_COMMIT) --
GUIX_LOAD_PATHS = $$( \
find subrepos/ -mindepth 1 -maxdepth 1 \
-exec printf ' -L %s/guix-module-dir/' {} ';' \
- )
+ ) \
+ -L ./guix-module-dir/
GUIX_SYS_CONTAINER = $(GUIX_TM) system container $(GUIX_LOAD_PATHS)
@@ -26,27 +27,31 @@ KOSZKO_ORG_WEBSITE_INFO = \
subrepos/koszko-org-website/src/koszko_org_website.egg-info/PKG-INFO
HYDRILLA_WEBSITE_INFO = \
subrepos/hydrilla-website/src/hydrilla_website.egg-info/PKG-INFO
+HYDRILLA_INFO = subrepos/hydrilla/src/hydrilla.egg-info/PKG-INFO
+
+ALL_EGG_INFOS = \
+ $(KOSZKO_ORG_WEBSITE_INFO) \
+ $(HYDRILLA_WEBSITE_INFO) \
+ $(HYDRILLA_INFO)
TEST_ROOT_DIR = "/tmp/$$(pwd | sed 's|/|!|g')!!test-root"
-all: | container-runner.touchfile log
+all: | container-runner.touchfile log sample-malcontent
$(KOSZKO_ORG_WEBSITE_INFO):
$(MAKE) -C subrepos/koszko-org-website dist
$(HYDRILLA_WEBSITE_INFO):
$(MAKE) -C subrepos/hydrilla-website dist
+$(HYDRILLA_INFO):
+ $(MAKE) -C subrepos/hydrilla dist
-container-runner: | container.scm \
- $(KOSZKO_ORG_WEBSITE_INFO) \
- $(HYDRILLA_WEBSITE_INFO)
- $(GUIX_SYS_CONTAINER) container.scm -r container-runner
- touch container-runner.touchfile
+container-runner: | container.scm $(ALL_EGG_INFOS) hydrilla-wsgi.py
+container-runner.touchfile: container.scm $(ALL_EGG_INFOS) hydrilla-wsgi.py
-container-runner.touchfile: container.scm \
- $(KOSZKO_ORG_WEBSITE_INFO) \
- $(HYDRILLA_WEBSITE_INFO)
+container-runner container-runner.touchfile:
$(MAKE) clean-runner
- $(MAKE) container-runner
+ $(GUIX_SYS_CONTAINER) container.scm -r container-runner
+ touch container-runner.touchfile
hosts: hosts-extra /etc/hosts
cat $^ > $@
@@ -54,9 +59,16 @@ hosts: hosts-extra /etc/hosts
log:
ln -sf $(TEST_ROOT_DIR)/var/log/guix-container $@
+sample-malcontent:
+ mkdir $@
+ printf 'hydrilla-builder -s tests/source-package-example/ -d %s' \
+ "$$(realpath $@)" | \
+ make -C subrepos/hydrilla shell-with-haketilo
+
HYDRILLA_WEBSITE_ETC_DIR = $(TEST_ROOT_DIR)/etc/guix-container/hydrilla-website
+MALCONTENT_DIR = $(TEST_ROOT_DIR)/var/lib/hydrilla/malcontent_dirs
-prepare-test-root:
+prepare-test-root: sample-malcontent
rm -rf $(TEST_ROOT_DIR)
@# Prepare replacement `/var/www`
mkdir -p $(TEST_ROOT_DIR)/var/www/koszko.org/html
@@ -68,6 +80,10 @@ prepare-test-root:
printf 'test non-secret\n' > $(HYDRILLA_WEBSITE_ETC_DIR)/secret.txt
chgrp -R 133 $(HYDRILLA_WEBSITE_ETC_DIR)
chmod 640 $(HYDRILLA_WEBSITE_ETC_DIR)/secret.txt
+ @# Prepare replacement `/var/lib/hydrilla`
+ mkdir -p $(MALCONTENT_DIR)/api_v2
+ ln -sf api_v2 $(MALCONTENT_DIR)/api_v1
+ cp -r $</* $(MALCONTENT_DIR)/api_v2/
GUIX_CONTAINER_FLAGS = -e ./container-runner -p ./pidfile -r $(TEST_ROOT_DIR)
@@ -101,12 +117,15 @@ reinstall:
rm -rf /usr/local/bin/guix-container
$(MAKE) install
+build-hydrilla-json-schemas:
+ $(GUIX_TM) build -L ./guix-module-dir/ hydrilla-json-schemas
+
clean-runner:
rm -rf container-runner container-runner.touchfile
clean: clean-runner
$(MAKE) -C subrepos/koszko-org-website clean
- rm -rf log hosts
+ rm -rf log hosts schemas sample-malcontent
.PHONY: all \
clean-runner clean \
@@ -114,4 +133,4 @@ clean: clean-runner
start-container stop-container restart-container \
enter-container fake-client \
install reinstall \
- sdists koszko-org-wesite-sdist
+ build-hydrilla-json-schemas