[arch-commits] Commit in hedgedoc/repos (5 files)
Jelle van der Waa
jelle at archlinux.org
Thu Jan 28 13:59:07 UTC 2021
Date: Thursday, January 28, 2021 @ 13:59:07
Author: jelle
Revision: 833288
archrelease: copy trunk to community-any
Added:
hedgedoc/repos/community-any/
hedgedoc/repos/community-any/PKGBUILD
(from rev 833287, hedgedoc/trunk/PKGBUILD)
hedgedoc/repos/community-any/hedgedoc.service
(from rev 833287, hedgedoc/trunk/hedgedoc.service)
hedgedoc/repos/community-any/sysusers.conf
(from rev 833287, hedgedoc/trunk/sysusers.conf)
hedgedoc/repos/community-any/tmpfiles.conf
(from rev 833287, hedgedoc/trunk/tmpfiles.conf)
------------------+
PKGBUILD | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++++
hedgedoc.service | 46 ++++++++++++++++++
sysusers.conf | 1
tmpfiles.conf | 2
4 files changed, 181 insertions(+)
Copied: hedgedoc/repos/community-any/PKGBUILD (from rev 833287, hedgedoc/trunk/PKGBUILD)
===================================================================
--- community-any/PKGBUILD (rev 0)
+++ community-any/PKGBUILD 2021-01-28 13:59:07 UTC (rev 833288)
@@ -0,0 +1,132 @@
+# Maintainer: Jelle van der Waa <jelle at archlinux.org>
+
+pkgname=hedgedoc
+pkgver=1.7.2
+pkgrel=1
+pkgdesc="Platform to write and share markdown"
+arch=('any')
+url='https://github.com/hedgedoc/hedgedoc'
+license=('AGPL3')
+depends=('nodejs' 'npm')
+makedepends=('nodejs' 'sqlite' 'python' 'node-gyp' 'git' 'yarn')
+optdepends=('postgresql: postgresql database support'
+ 'mariadb: mariadb database support'
+ 'sqlite: sqlite database support')
+backup=("etc/webapps/${pkgname}"/{config.json,sequelizerc})
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/hedgedoc/${pkgname}/archive/${pkgver}.tar.gz"
+ "sysusers.conf"
+ "tmpfiles.conf"
+ "hedgedoc.service")
+options=(!emptydirs)
+sha1sums=('d9420b702529558bddcbc7686ba8f0ce76e8b3c9'
+ 'dc4220c9d7e21d2b5b5c54462bb681375d1cce62'
+ 'faee704ac2e65e565f7bdcb527c2d0c73c20e682'
+ '1214d01fbe0c042f5a5b2e3790d1f02b3fcb9d95')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ # Build steps from Dockerfile
+ yarn install --production=false
+ yarn run build
+ rm -rf node_modules
+ # Production modules
+ yarn install --production=true
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+
+ # removing unneeded files and directories
+ find node_modules -type f \
+ \( \
+ -iname '*Makefile*' -o \
+ -iname '*armv*' -o \
+ -iname '*.cache' -o \
+ -iname '*Makefile*' -o \
+ -iname '*appveyor.yml' -o \
+ -iname '*.babelrc' -o \
+ -iname '*.bak' -o \
+ -iname '*bower.json' -o \
+ -iname '*.c' -o \
+ -iname '*.cc' -o \
+ -iname '*.cpp' -o \
+ -iname '*.md' -o \
+ -iname '*.markdown' -o \
+ -iname '*.rst' -o \
+ -iname '*.nycrc' -o \
+ -iname '*.npmignore' -o \
+ -iname '*.editorconfig' -o \
+ -iname '*.el' -o \
+ -iname '*.eslintignore' -o \
+ -iname '*.eslintrc*' -o \
+ -iname '*.fimbullinter.yaml' -o \
+ -iname '*.gitattributes' -o \
+ -iname '*.gitmodules' -o \
+ -iname '*.h' -o \
+ -iname '*.html' -o \
+ -iname '*.jshintrc' -o \
+ -iname '*.jscs.json' -o \
+ -iname '*.log' -o \
+ -iname '*logo.svg' -o \
+ -iname '*.nvmrc' -o \
+ -iname '*.o' -o \
+ -iname '*package-lock.json' -o \
+ -iname '*.travis.yml' -o \
+ -iname '*.prettierrc' -o \
+ -iname '*.sh' -o \
+ -iname '*.tags*' -o \
+ -iname '*.Dockerfile*' -o \
+ -iname '*.tm_properties' -o \
+ -iname '*.wotanrc.yaml' -o \
+ -iname '*tsconfig.json' -o \
+ -iname '*yarn.lock' \
+ \) \
+ -delete
+
+ find node_modules -type d \
+ \( \
+ -iwholename '*.github' -o \
+ -iwholename '*.tscache' -o \
+ -iwholename '*/man' -o \
+ -iwholename '*/test' -o \
+ -iwholename '*/scripts' -o \
+ -iwholename '*/git-hooks' -o \
+ -iwholename '*/linux-arm64' -o \
+ -iwholename '*/linux-armvy' -o \
+ -iwholename '*/linux-armv7' -o \
+ -iwholename '*/win32-ia32' -o \
+ -iwholename '*/win32-x64' -o \
+ -iwholename '*/darwin-x64' \
+ \) \
+ -exec rm -rvf {} +
+
+ install -m0755 -d "${pkgdir}/usr/share/webapps/${pkgname}"
+
+ # install application parts
+ cp -a bin public lib locales node_modules "${pkgdir}/usr/share/webapps/${pkgname}"
+ install -m0644 app.js -t "${pkgdir}/usr/share/webapps/${pkgname}"
+ install -m0644 package.json -t "${pkgdir}/usr/share/webapps/${pkgname}"
+
+ # Make public/uploads a symlink to the hedgedoc writable directory.
+ # An alternative would be to configure the uploadsPath in config.json.
+ rm "${pkgdir}/usr/share/webapps/${pkgname}/public/uploads/.gitkeep"
+ rm -d "${pkgdir}/usr/share/webapps/${pkgname}/public/uploads"
+ ln -s "/var/lib/${pkgname}/uploads" \
+ "${pkgdir}/usr/share/webapps/${pkgname}/public/uploads"
+
+
+ # Setup config files in /etc.
+ install -m0755 -d "${pkgdir}/etc/webapps/${pkgname}"
+ cp config.json.example "${pkgdir}/etc/webapps/${pkgname}/config.json"
+ cp .sequelizerc.example "${pkgdir}/etc/webapps/${pkgname}/sequelizerc"
+
+ ln -s "/etc/webapps/${pkgname}"/config.json "${pkgdir}/usr/share/webapps/${pkgname}/config.json"
+ ln -s "/etc/webapps/${pkgname}"/sequelizerc "${pkgdir}/usr/share/webapps/${pkgname}/.sequelizerc"
+
+ # Configure hedgedoc user and some directories writable for that user.
+ install -Dm0644 ${srcdir}/sysusers.conf "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ install -Dm0644 ${srcdir}/tmpfiles.conf "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+
+ # Install systemd service file.
+ install -Dm0644 -t "${pkgdir}/usr/lib/systemd/system/" "${srcdir}"/hedgedoc.service
+}
Copied: hedgedoc/repos/community-any/hedgedoc.service (from rev 833287, hedgedoc/trunk/hedgedoc.service)
===================================================================
--- community-any/hedgedoc.service (rev 0)
+++ community-any/hedgedoc.service 2021-01-28 13:59:07 UTC (rev 833288)
@@ -0,0 +1,46 @@
+[Unit]
+Description=Hedgedoc real-time collaborative markdown editor
+After=network.target
+
+[Service]
+Type=exec
+
+Environment=NODE_ENV=production
+
+Restart=always
+RestartSec=2s
+
+User=hedgedoc
+Group=hedgedoc
+
+WorkingDirectory=/usr/share/webapps/hedgedoc
+ExecStart=/usr/bin/npm start --production
+
+CapabilityBoundingSet=
+NoNewPrivileges=true
+PrivateDevices=true
+RemoveIPC=true
+LockPersonality=true
+
+ProtectControlGroups=true
+ProtectKernelTunables=true
+ProtectKernelModules=true
+ProtectKernelLogs=true
+ProtectClock=true
+ProtectHostname=true
+ProtectProc=noaccess
+
+RestrictRealtime=true
+RestrictSUIDSGID=true
+RestrictNamespaces=true
+RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
+
+ProtectSystem=strict
+ProtectHome=true
+ReadWritePaths=/var/lib/hedgedoc
+
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+
+[Install]
+WantedBy=multi-user.target
Copied: hedgedoc/repos/community-any/sysusers.conf (from rev 833287, hedgedoc/trunk/sysusers.conf)
===================================================================
--- community-any/sysusers.conf (rev 0)
+++ community-any/sysusers.conf 2021-01-28 13:59:07 UTC (rev 833288)
@@ -0,0 +1 @@
+u hedgedoc - "Hedgedoc user"
Copied: hedgedoc/repos/community-any/tmpfiles.conf (from rev 833287, hedgedoc/trunk/tmpfiles.conf)
===================================================================
--- community-any/tmpfiles.conf (rev 0)
+++ community-any/tmpfiles.conf 2021-01-28 13:59:07 UTC (rev 833288)
@@ -0,0 +1,2 @@
+d /var/lib/hedgedoc 0750 hedgedoc hedgedoc -
+d /var/lib/hedgedoc/uploads 0750 hedgedoc hedgedoc -
More information about the arch-commits
mailing list