meshcentral/PKGBUILD

45 lines
1.9 KiB
Bash

# Maintainer: Carlos Galindo <arch -a-t- cgj .d.o.t. es>
pkgname=meshcentral
pkgver=1.1.22
pkgrel=1
pkgdesc="Web based remote computer management server"
arch=("any")
url="https://meshcentral.com"
license=('Apache')
depends=("nodejs>10")
makedepends=("npm")
optdepends=("mongodb: for larger deployments")
source=("$pkgname-$pkgver.tgz::https://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz"
"$pkgname.service"
"$pkgname.tmpfiles"
"$pkgname.sysusers")
sha256sums=('53ade21fa127a0dceed245acf597951fb3f5ef4b2f95a680c046d3e420137d37'
'339ee5927101ca2cf945c2e26a4c3d1a7af452119e67fd57c089b5fa88cbdc4e'
'30608aab6b9b268e492506a5c230a49cc28cb47dd09b7c28c586580132ee7f7a'
'259209675649cd7630167a3ac0af3f33836f683c031c8b47e5ccc3a1bb97aa15')
noextract=("$pkgname-$pkgver.tgz")
package() {
cd "$srcdir"
# Install systemD files
install -Dm644 "$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"
install -Dm644 "$pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
install -Dm644 "$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
# Install npm package and extra dependencies that meshcentral tries to install
# on first boot
npm install --global --prefix "$pkgdir/usr/lib/$pkgname" \
"$srcdir/$pkgname-$pkgver.tgz" \
archiver@5.3.2 otplib@10.2.3 ua-parser-js@1.0.35
# npm gives ownership of ALL FILES to build user
# https://bugs.archlinux.org/task/63396
chown -R root:root "$pkgdir/usr/lib/$pkgname"
# Data directories
install -dm755 "$pkgdir/var/lib/$pkgname"
install -dm750 "$pkgdir/var/lib/$pkgname/"{data,files,backup}
ln -s "../../../../var/lib/$pkgname/data" "$pkgdir/usr/lib/$pkgname/lib/$pkgname-data"
ln -s "../../../../var/lib/$pkgname/files" "$pkgdir/usr/lib/$pkgname/lib/$pkgname-files"
ln -s "../../../../var/lib/$pkgname/backup" "$pkgdir/usr/lib/$pkgname/lib/$pkgname-backup"
}