Loading debian/blogi.install +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 debian/control +6 −6 Original line number Diff line number Diff line Loading @@ -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. debian/rules +45 −39 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading
debian/blogi.install +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
debian/control +6 −6 Original line number Diff line number Diff line Loading @@ -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.
debian/rules +45 −39 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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