Commit 55a8e0ed authored by jan.koester's avatar jan.koester
Browse files

test

parent 893180dd
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
usr/bin/blogi
usr/bin/blogi-editor
usr/lib/blogi/plugins/*.so
usr/lib/blogi/plugins/webedit/
usr/lib/blogi/libblogidev.a
usr/share/blogi/
usr/share/blogi-editor/html/
etc/blogi-editor/config.yaml
+6 −6
Original line number Diff line number Diff line
@@ -21,11 +21,11 @@ Build-Depends: debhelper-compat (= 13), cmake (>= 3.18),
Standards-Version: 4.6.2
Rules-Requires-Root: no

Package: blogi-editor
Package: blogi
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, systemd-container
Description: Web-based editor for the blogi blog engine
 blogi-editor is a standalone web application for editing and
 publishing blog content. Features a visual document editor with
 drag-and-drop widgets, live preview, and AJAX-based interface.
 Runs as a systemd-nspawn container service.
Description: Blog engine with web-based editor
 blogi is a blog engine with an integrated web-based editor for
 editing and publishing blog content. Features a visual document
 editor with drag-and-drop widgets, live preview, and AJAX-based
 interface. Can run as a systemd-nspawn container service.
+45 −39
Original line number Diff line number Diff line
@@ -40,55 +40,61 @@ endif

override_dh_install:
ifneq ($(IS_NSPAWN),)
	dh_install -N blogi-editor
	@echo "Nspawn build — assembling chroot at /opt/blogi (musl)"
	# musl dynamic linker
	mkdir -p debian/blogi-editor/opt/blogi/lib
	cp -a /usr/local/musl/lib/ld-musl-x86_64.so.1 debian/blogi-editor/opt/blogi/lib/
	mkdir -p debian/blogi/opt/blogi/lib
	cp -a /usr/local/musl/lib/ld-musl-x86_64.so.1 debian/blogi/opt/blogi/lib/
	# musl libc
	mkdir -p debian/blogi-editor/opt/blogi/usr/local/musl/lib
	cp -a /usr/local/musl/lib/libc.so debian/blogi-editor/opt/blogi/usr/local/musl/lib/
	chmod +x debian/blogi-editor/opt/blogi/usr/local/musl/lib/libc.so
	mkdir -p debian/blogi/opt/blogi/usr/local/musl/lib
	cp -a /usr/local/musl/lib/libc.so debian/blogi/opt/blogi/usr/local/musl/lib/
	chmod +x debian/blogi/opt/blogi/usr/local/musl/lib/libc.so
	# musl-built shared libraries
	mkdir -p debian/blogi-editor/opt/blogi/usr/local/lib
	cp -a /usr/local/lib/*.so* debian/blogi-editor/opt/blogi/usr/local/lib/
	mkdir -p debian/blogi/opt/blogi/usr/local/lib
	cp -a /usr/local/lib/*.so* debian/blogi/opt/blogi/usr/local/lib/
	# confplus config backend plugins
	mkdir -p debian/blogi-editor/opt/blogi/usr/local/lib/confplus/backend
	cp -a /usr/local/lib/confplus/backend/*.cfg.so debian/blogi-editor/opt/blogi/usr/local/lib/confplus/backend/
	mkdir -p debian/blogi/opt/blogi/usr/local/lib/confplus/backend
	cp -a /usr/local/lib/confplus/backend/*.cfg.so debian/blogi/opt/blogi/usr/local/lib/confplus/backend/
	# dbpp database backend plugins
	mkdir -p debian/blogi-editor/opt/blogi/usr/local/lib/dbpp
	cp -a /usr/local/lib/dbpp/*.so debian/blogi-editor/opt/blogi/usr/local/lib/dbpp/
	mkdir -p debian/blogi/opt/blogi/usr/local/lib/dbpp
	cp -a /usr/local/lib/dbpp/*.so debian/blogi/opt/blogi/usr/local/lib/dbpp/
	# blogi binary
	mkdir -p debian/blogi/opt/blogi/usr/bin
	cp -a debian/tmp/usr/bin/blogi debian/blogi/opt/blogi/usr/bin/
	# editor binary
	mkdir -p debian/blogi-editor/opt/blogi/usr/bin
	cp -a debian/tmp/usr/bin/blogi-editor debian/blogi-editor/opt/blogi/usr/bin/
	# editor widget plugins
	mkdir -p debian/blogi-editor/opt/blogi/usr/lib/blogi/plugins/webedit
	-cp -a debian/tmp/usr/lib/blogi/plugins/webedit/*.so debian/blogi-editor/opt/blogi/usr/lib/blogi/plugins/webedit/
	cp -a debian/tmp/usr/bin/blogi-editor debian/blogi/opt/blogi/usr/bin/
	# plugins
	mkdir -p debian/blogi/opt/blogi/usr/lib/blogi/plugins/webedit
	-cp -a debian/tmp/usr/lib/blogi/plugins/*.so debian/blogi/opt/blogi/usr/lib/blogi/plugins/
	-cp -a debian/tmp/usr/lib/blogi/plugins/webedit/*.so debian/blogi/opt/blogi/usr/lib/blogi/plugins/webedit/
	# blogidev library (plugin runtime dependency)
	mkdir -p debian/blogi-editor/opt/blogi/usr/lib/blogi
	-cp -a debian/tmp/usr/lib/blogi/libblogidev.* debian/blogi-editor/opt/blogi/usr/lib/blogi/
	# Static content (HTML, CSS, JS)
	mkdir -p debian/blogi-editor/opt/blogi/usr/share/blogi-editor
	-cp -a debian/tmp/usr/share/blogi-editor/* debian/blogi-editor/opt/blogi/usr/share/blogi-editor/
	mkdir -p debian/blogi/opt/blogi/usr/lib/blogi
	-cp -a debian/tmp/usr/lib/blogi/libblogidev.* debian/blogi/opt/blogi/usr/lib/blogi/
	# Static content
	mkdir -p debian/blogi/opt/blogi/usr/share/blogi
	-cp -a debian/tmp/usr/share/blogi/* debian/blogi/opt/blogi/usr/share/blogi/
	mkdir -p debian/blogi/opt/blogi/usr/share/blogi-editor
	-cp -a debian/tmp/usr/share/blogi-editor/* debian/blogi/opt/blogi/usr/share/blogi-editor/
	# Config
	mkdir -p debian/blogi-editor/opt/blogi/etc/blogi-editor/ssl
	-cp -a debian/tmp/etc/blogi-editor/config.yaml debian/blogi-editor/opt/blogi/etc/blogi-editor/
	mkdir -p debian/blogi-editor/opt/blogi/var/lib/blogi-editor
	mkdir -p debian/blogi-editor/opt/blogi/proc
	mkdir -p debian/blogi-editor/opt/blogi/sys
	mkdir -p debian/blogi-editor/opt/blogi/dev
	mkdir -p debian/blogi-editor/opt/blogi/run
	mkdir -p debian/blogi-editor/opt/blogi/tmp
	mkdir -p debian/blogi/opt/blogi/etc/blogi/ssl
	mkdir -p debian/blogi/opt/blogi/etc/blogi-editor
	-cp -a debian/tmp/etc/blogi-editor/config.yaml debian/blogi/opt/blogi/etc/blogi-editor/
	# Minimal container filesystem
	mkdir -p debian/blogi/opt/blogi/var/lib/blogi
	mkdir -p debian/blogi/opt/blogi/proc
	mkdir -p debian/blogi/opt/blogi/sys
	mkdir -p debian/blogi/opt/blogi/dev
	mkdir -p debian/blogi/opt/blogi/run
	mkdir -p debian/blogi/opt/blogi/tmp
	# Container user database
	echo "root:x:0:0:root:/root:/bin/false" > debian/blogi-editor/opt/blogi/etc/passwd
	echo "blogi-editor:x:998:998:blogi-editor:/var/lib/blogi-editor:/bin/false" >> debian/blogi-editor/opt/blogi/etc/passwd
	echo "root:x:0:" > debian/blogi-editor/opt/blogi/etc/group
	echo "blogi-editor:x:998:" >> debian/blogi-editor/opt/blogi/etc/group
	echo "root:x:0:0:root:/root:/bin/false" > debian/blogi/opt/blogi/etc/passwd
	echo "blogi:x:999:999:blogi:/var/lib/blogi:/bin/false" >> debian/blogi/opt/blogi/etc/passwd
	echo "root:x:0:" > debian/blogi/opt/blogi/etc/group
	echo "blogi:x:999:" >> debian/blogi/opt/blogi/etc/group
	# nspawn and systemd config
	install -D -m 644 debian/blogi-editor.nspawn debian/blogi-editor/etc/systemd/nspawn/blogi-editor.nspawn
	install -D -m 644 debian/blogi-editor.default-config.yaml debian/blogi-editor/usr/share/blogi-editor/blogi-editor.default-config.yaml
	install -D -m 644 debian/blogi-editor.tmpfiles debian/blogi-editor/usr/lib/tmpfiles.d/blogi-editor.conf
	install -D -m 644 debian/blogi-editor.sysusers debian/blogi-editor/usr/lib/sysusers.d/blogi-editor.conf
	install -D -m 644 debian/blogi.nspawn debian/blogi/etc/systemd/nspawn/blogi.nspawn
	install -D -m 644 debian/blogi.default-config.yaml debian/blogi/usr/share/blogi/blogi.default-config.yaml
	install -D -m 644 debian/blogi.tmpfiles debian/blogi/usr/lib/tmpfiles.d/blogi.conf
	install -D -m 644 debian/blogi.sysusers debian/blogi/usr/lib/sysusers.d/blogi.conf
else
	dh_install
endif
@@ -96,5 +102,5 @@ endif
override_dh_fixperms:
	dh_fixperms
ifneq ($(IS_NSPAWN),)
	chmod +x debian/blogi-editor/opt/blogi/usr/local/musl/lib/libc.so
	chmod +x debian/blogi/opt/blogi/usr/local/musl/lib/libc.so
endif