# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
setvar pkgname = 'bareos'
setvar pkgver = '16.2.6'
setvar pkgrel = '0'
setvar pkgdesc = ""Bareos - Backup Archiving REcovery Open Sourced""
setvar url = ""http://www.bareos.org""
setvar arch = ""all""
setvar options = ""!check""
setvar license = ""AGPL3""
setvar depends = ""perl""
setvar makedepends = ""file libtool libintl libpcap-dev lzo-dev \
	sqlite-dev postgresql-dev libressl-dev mariadb-dev acl-dev \
	qt-dev python2-dev readline-dev ncurses-dev jansson-dev""
setvar install = ""$pkgname.pre-install $pkgname.post-install""
setvar subpackages = ""$pkgname-dev $pkgname-doc $pkgname-bat $pkgname-trayicon""
setvar pkgusers = "$pkgname"
setvar pkggroups = "$pkgname"
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/Release/$pkgver.tar.gz
	$pkgname-dir.initd
	$pkgname-sd.initd
	$pkgname-fd.initd
	path-mounted.patch""
setvar builddir = ""$srcdir"/${pkgname}-Release-${pkgver}"

proc prepare {
	update_config_guess
	default_prepare
}

proc build {
	cd $builddir
	./configure \
		--prefix=/usr \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--with-basename=$pkgname \
		--with-hostname=localhost \
		--with-confdir=/etc/$pkgname \
		--with-archivedir=/var/lib/$pkgname/archive \
		--with-scriptdir=/etc/$pkgname/scripts \
		--with-working-dir=/var/lib/$pkgname \
		--with-plugindir=/usr/lib/$pkgname \
		--with-backenddir=/usr/lib/$pkgname \
		--with-pid-dir=/run/$pkgname \
		--with-logdir=/var/log/$pkgname \
		--with-subsys-dir=/var/lock \
		--enable-bat \
		--enable-smartalloc \
		--enable-largefile \
		--enable-readline \
		--enable-traymonitor \
		--enable-batch-insert \
		--enable-acl \
		--enable-xattr \
		--enable-scsi-crypto \
		--enable-lmdb \
		--enable-ipv6 \
		--enable-dynamic-cats-backends \
		--enable-dynamic-debian-package-list \
		--enable-sql-pooling \
		--enable-includes \
		--disable-conio \
		--disable-nls \
		--disable-rpath \
		--with-postgresql \
		--with-mysql \
		--with-sqlite3 \
		--with-openssl \
		--with-python \
		--without-systemd \
		--with-dir-user=$pkgname \
		--with-dir-group=$pkgname \
		--with-sd-user=$pkgname \
		--with-sd-group=$pkgname \
		--with-fd-user=root \
		--with-fd-group=$pkgname
	make
}

proc package {
	cd $builddir
	make DESTDIR="$pkgdir" install

	local daemon; for daemon in dir sd fd {
		install -Dm755 "$srcdir"/$pkgname-$daemon.initd \
			"$pkgdir"/etc/init.d/$pkgname-$daemon
	}

	# Install logrotate script
	install -Dm644 scripts/logrotate "$pkgdir"/etc/logrotate.d/$pkgname

	# Fix job to use shell script instead of perl script
	sed -i -e 's/make_catalog_backup.pl/make_catalog_backup/' \
		"$pkgdir"/etc/bareos/bareos-dir.d/job/BackupCatalog.conf

	# Remove unneeded scripts
	rm "$pkgdir"/usr/sbin/bareos \
		"$pkgdir"/usr/sbin/bconsole "$pkgdir"/usr/sbin/bregex \
		"$pkgdir"/usr/sbin/bsmtp "$pkgdir"/usr/sbin/bwild \
		"$pkgdir"/etc/$pkgname/scripts/bareos \
		"$pkgdir"/etc/$pkgname/scripts/bconsole \
		"$pkgdir"/etc/$pkgname/scripts/btraceback* \
		"$pkgdir"/etc/$pkgname/scripts/bareos-ctl-* \
		"$pkgdir"/etc/$pkgname/scripts/bareos_config \
		"$pkgdir"/etc/$pkgname/scripts/make_catalog_backup.pl

	# Fix premissions
	chown :$pkgname "$pkgdir"/etc/$pkgname/scripts/* \
		"$pkgdir"/etc/$pkgname/*.conf \
		"$pkgdir"/usr/sbin/* \
		"$pkgdir"/usr/bin/*
	chown $pkgname:$pkgname -R "$pkgdir"/etc/$pkgname/bareos-*.d \
		"$pkgdir"/var/lib/$pkgname \
		"$pkgdir"/var/log/$pkgname
}

proc bat {
	local dir name=${subpkgname#$pkgname-}
	setvar depends = "$pkgname"
	setvar pkgdesc = ""$pkgdesc (qt administration tool)""
	mkdir -p "$subpkgdir"/etc/$pkgname "$subpkgdir"/usr/bin
	for dir in applications pixmaps {
		mkdir -p "$subpkgdir"/usr/share/$dir
		mv "$pkgdir"/usr/share/$dir/$name.* "$subpkgdir"/usr/share/$dir
	}
	mv "$pkgdir"/etc/$pkgname/$name.* "$subpkgdir"/etc/$pkgname
	mv "$pkgdir"/usr/bin/$name "$subpkgdir"/usr/bin
}

proc trayicon {
	local dir
	setvar provides = ""$pkgname-tray-monitor""
	setvar depends = "$pkgname"
	setvar pkgdesc = ""$pkgdesc (qt tray monitor)""
	mkdir -p "$subpkgdir"/etc/$pkgname "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/share "$subpkgdir"/usr
	mv "$pkgdir"/etc/xdg "$subpkgdir"/etc
	mv "$pkgdir"/etc/$pkgname/tray-monitor.d "$subpkgdir"/etc/$pkgname
	mv "$pkgdir"/usr/bin/bareos-tray-monitor "$subpkgdir"/usr/bin
	for dir in bareos-dir.d/console bareos-fd.d/director bareos-sd.d/director {
		mkdir -p "$subpkgdir"/etc/$pkgname/$dir
		mv "$pkgdir"/etc/$pkgname/$dir/bareos-mon.conf \
			"$subpkgdir"/etc/$pkgname/$dir
	}
}

setvar sha512sums = ""f379fd1d568260b1ad3c426b7b80b1d33a1b078db1aa03b847a4e1dc262cf0155419f20f7105bc095167bb5e64169d5e6b0bcfa3e3913d5e4b5f8f23f4fde750  bareos-16.2.6.tar.gz
eb1e7072b579bf9ae21f2e351d6900abb277db64e373f4760bac8188b82929376e4a196d2c935cefe1ae4cc2c396f2fcba1a25642b26e2f92a0d008fbdc4b5f2  bareos-dir.initd
c770b1d041fafef93d4eb0269ba8d9733e85ef465657fe8dd5d5c68a27ec773cec9c5c582d4a16596d95bbf6dbd3f7194dc9c0d8ed73138e9fb438fba9aa9445  bareos-sd.initd
c6347079dbcef5f4a69ec0c4ecc31803520d715d599d89c6bbfbb3741a86c50d7295c30432889b13ee9c16f2feaa84b1c6ae992cfee6505d569c6493d7e85a5b  bareos-fd.initd
eac4614c1b29ff0f12061837e425ae495890076021b6d1b0f1beb93501cfb905170342dac5dab69b09f825d5b9416eea25fa02e2174b5a704315c7feb08ff3d3  path-mounted.patch""