diff options
author | Reto Brunner | 2018-12-24 14:51:49 +0100 |
---|---|---|
committer | Reto Brunner | 2018-12-25 14:09:14 +0100 |
commit | c4f5490709d9b025705f7fe346a034431111717f (patch) | |
tree | fa1db2c8cda0b8a0be7f9a574c7a186eb6a1f3e5 | |
parent | 1c9c98958f78d8e67457617457c5cf020d76db4c (diff) | |
download | aur-c4f5490709d9b025705f7fe346a034431111717f.tar.gz |
Remove install file and split config/data dirs
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | PKGBUILD | 68 | ||||
-rw-r--r-- | install | 10 | ||||
-rw-r--r-- | system.service | 5 | ||||
-rw-r--r-- | sysusers.d | 1 | ||||
-rw-r--r-- | tmpfiles.d | 8 |
6 files changed, 57 insertions, 52 deletions
@@ -1,9 +1,8 @@ pkgbase = thelounge - pkgdesc = Web-based IRC client - Official community fork of Shout + pkgdesc = Modern self-hosted web IRC client pkgver = 2.7.1 - pkgrel = 1 - url = https://thelounge.github.io/ - install = install + pkgrel = 2 + url = https://thelounge.chat/ arch = any license = MIT makedepends = npm @@ -13,9 +12,13 @@ pkgbase = thelounge source = http://registry.npmjs.org/thelounge/-/thelounge-2.7.1.tgz source = system.service source = user.service - sha256sums = 4b4970caba850042244798008afd334dd2ddd7e25339c864837ce11ba4703021 - sha256sums = SKIP - sha256sums = SKIP + source = sysusers.d + source = tmpfiles.d + md5sums = f2be61e721cc677fb624687cf1e8944c + md5sums = e52c5db8dece96c773718b402e4679ad + md5sums = 7493ff3e6bb98daae42b26bf97173ed3 + md5sums = bf9da927d1432ec00a8dc0b7183745fc + md5sums = 456c3d6d70aa33da967f79d215621dba pkgname = thelounge @@ -1,46 +1,48 @@ # Maintainer: Maxime Poulin <maxpoulin64@gmail.com> -pkgname='thelounge' -_npmname='thelounge' +# Contributor: Reto Brunner <brunnre8@gmail.com> +pkgname=thelounge pkgver=2.7.1 -pkgrel=1 -pkgdesc="Modern self-hosted web IRC client" +pkgrel=2 +pkgdesc='Modern self-hosted web IRC client' url='https://thelounge.chat/' arch=('any') license=('MIT') depends=('nodejs') makedepends=('npm') -install=install backup=('etc/thelounge/config.js') source=( - "https://registry.npmjs.org/$_npmname/-/$_npmname-$pkgver.tgz" - "system.service" - "user.service" -) -noextract=("$_npmname-$pkgver.tgz") -sha256sums=( - '4b4970caba850042244798008afd334dd2ddd7e25339c864837ce11ba4703021' - 'SKIP' - 'SKIP' + "http://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz" + 'system.service' + 'user.service' + 'sysusers.d' + 'tmpfiles.d' ) +noextract=("$pkgname-$pkgver.tgz") +md5sums=('f2be61e721cc677fb624687cf1e8944c' + 'e52c5db8dece96c773718b402e4679ad' + '7493ff3e6bb98daae42b26bf97173ed3' + 'bf9da927d1432ec00a8dc0b7183745fc' + '456c3d6d70aa33da967f79d215621dba') package() { - local _etc="$pkgdir/etc/$pkgname" - export NODE_ENV=production - - npm install -g --prefix "$pkgdir/usr" "$srcdir/$_npmname-$pkgver.tgz" - - echo "/etc/thelounge" > "$pkgdir/usr/lib/node_modules/$_npmname/.thelounge_home" - - install -dm700 "$_etc" "$_etc/users" - install -Dm600 \ - "$pkgdir/usr/lib/node_modules/$_npmname/defaults/config.js" \ - "$_etc/config.js" - - install -Dm644 "$srcdir/system.service" \ - "$pkgdir/usr/lib/systemd/system/$pkgname.service" - install -Dm644 "$srcdir/user.service" \ - "$pkgdir/usr/lib/systemd/user/$pkgname.service" - - grep -FRlZ "$startdir" "$pkgdir" | \ - xargs -0 -- sed -i "s|$startdir|/tmp/build|g" + export NODE_ENV=production + + npm install -g --user root --prefix "$pkgdir/usr" "$pkgname-$pkgver.tgz" --cache "${srcdir}/npm-cache" + + echo /var/lib/thelounge > "$pkgdir/usr/lib/node_modules/$pkgname/.thelounge_home" + + # add default config + install -Dm 644 "$pkgdir/usr/lib/node_modules/$pkgname/defaults/config.js" "$pkgdir/etc/thelounge/config.js" + + # services + install -Dm644 "$srcdir/system.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service" + install -Dm644 "$srcdir/user.service" "$pkgdir/usr/lib/systemd/user/$pkgname.service" + + # setting up system user + install -Dm644 "${srcdir}/sysusers.d" "${pkgdir}/usr/lib/sysusers.d/thelounge.conf" + install -Dm644 "${srcdir}/tmpfiles.d" "${pkgdir}/usr/lib/tmpfiles.d/thelounge.conf" + + # Non-deterministic race in npm gives 777 permissions to random directories. + # See https://github.com/npm/npm/issues/9359 for details. + find "$pkgdir/usr" -type d -exec chmod 755 '{}' + } diff --git a/install b/install deleted file mode 100644 index b6ac4f39e6c2..000000000000 --- a/install +++ /dev/null @@ -1,10 +0,0 @@ -post_install() { - groupadd thelounge &>/dev/null - useradd -g thelounge -d /etc/thelounge -s /bin/false thelounge &> /dev/null - chown -R thelounge:thelounge /etc/thelounge &> /dev/null -} - -pre_remove() { - getent passwd thelounge &>/dev/null && userdel thelounge &> /dev/null -} - diff --git a/system.service b/system.service index 7332d3563e72..b311b2344a14 100644 --- a/system.service +++ b/system.service @@ -6,9 +6,10 @@ After=network.target User=thelounge Group=thelounge Type=simple -Environment=THELOUNGE_HOME=/etc/thelounge +Environment=THELOUNGE_HOME=/var/lib/thelounge ExecStart=/usr/bin/thelounge start -ProtectSystem=yes +ProtectSystem=strict +ReadWritePaths=/etc/thelounge /var/lib/thelounge ProtectHome=yes NoNewPrivileges=yes PrivateTmp=yes diff --git a/sysusers.d b/sysusers.d new file mode 100644 index 000000000000..91491df15cc5 --- /dev/null +++ b/sysusers.d @@ -0,0 +1 @@ +u thelounge - "thelounge" /etc/thelounge diff --git a/tmpfiles.d b/tmpfiles.d new file mode 100644 index 000000000000..061f13dc2e42 --- /dev/null +++ b/tmpfiles.d @@ -0,0 +1,8 @@ +#Type Path Mode UID GID Age Argument +d /etc/thelounge 0755 thelounge thelounge +d /etc/thelounge/users 0755 thelounge thelounge +z "/etc/thelounge/users/*" 0640 thelounge thelounge +z /etc/thelounge/config.js - thelounge thelounge +d /var/lib/thelounge 0755 thelounge thelounge +L /var/lib/thelounge/users - thelounge thelounge - /etc/thelounge/users +L /var/lib/thelounge/config.js - thelounge thelounge - /etc/thelounge/config.js |