# Maintainer: Carlos Galindo <arch -a-t- cgj .d.o.t. es>
pkgname=meshcentral
pkgver=1.1.59
pkgrel=1
pkgdesc="Web based remote computer management server"
arch=("any")
url="https://meshcentral.com"
license=('Apache-2.0')
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=('ffd4643cfe6d940b28b045a658d9dbda0a93026775989a5c07a3d0d2acb4b372'
            '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@12.0.1 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-backups"
}
