# Maintainer (Manjaro): artoo <artoo@manjaro.org>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>

_url="https://raw.githubusercontent.com/gentoo/gentoo/master"

pkgbase=openrc-base
pkgname=('cronie-openrc'
        'cryptsetup-openrc'
        'dhcpcd-openrc'
        'device-mapper-openrc'
        'glibc-openrc'
        'inetutils-openrc'
        'lvm2-openrc'
        'mdadm-openrc'
        'dbus-openrc')
pkgver=20160608
pkgrel=1
pkgdesc="OpenRC init scripts"
arch=('any')
url="https://github.com/manjaro/packages-openrc"
license=('GPL2')
groups=('openrc-base')
conflicts=('systemd-sysvcompat')
source=("cronie.initd::${_url}/sys-process/cronie/files/cronie-1.3-initd"
		"dmcrypt.confd::${_url}/sys-fs/cryptsetup/files/1.6.7-dmcrypt.confd"
		"dmcrypt.initd::${_url}/sys-fs/cryptsetup/files/1.6.7-dmcrypt.rc"
		"nscd.initd::${_url}/sys-libs/glibc/files/nscd"
		"device-mapper.confd::${_url}/sys-fs/lvm2/files/device-mapper.conf-1.02.22-r3"
		"device-mapper.initd::${_url}/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2"
		"dmeventd.initd::${_url}/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1"
		"lvm.confd::${_url}/sys-fs/lvm2/files/lvm.confd-2.02.28-r2"
		"lvm.initd::${_url}/sys-fs/lvm2/files/lvm.rc-2.02.116-r6"
		"lvm-monitoring.initd::${_url}/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2"
		"lvmetad.initd::${_url}/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3"
		"mdadm.confd::${_url}/sys-fs/mdadm/files/mdadm.confd"
		"mdadm.initd::${_url}/sys-fs/mdadm/files/mdadm.rc"
		"mdraid.confd::${_url}/sys-fs/mdadm/files/mdraid.confd"
		"mdraid.initd::${_url}/sys-fs/mdadm/files/mdraid.rc"
		"dhcpcd.initd::${_url}/net-misc/dhcpcd/files/dhcpcd.initd"
		"dbus.initd::${_url}/sys-apps/dbus/files/dbus.initd-r1"
		'ftpd.confd'
		'ftpd.initd')
sha256sums=('a0dc91cb6aecafc4e5999829ae90a87217e5aa946aa4e3d3a3d3549a71a8ecf1'
            '3d933a54abe62a547294b83208dbf5d7615d9c7f380d6504c91fff3620530803'
            'e562dd69aca4932a3e186fe87a25fe51c61b5687ed1dfa8db3ef4f4be8d18fb5'
            '70a809ba34959aa9622bda95299e7391d14d84fad8b3cf5012e2284b6324b6cc'
            '57777904f12a35617e5a4193c964ebb32396452487fd02353e71e16e7b46bc22'
            '5bd68e3b4bee1fb07555e45f2eec81d2dc1352fae81660ab30bc49dbda152de1'
            '4d283654bd5a7919809a51a6e5a00699c2a452805174fae2363e0c2b5d67f349'
            '28370c089c39c248d7ded0960b8d8a9256bada44d44c22ce3cec87d512ef6844'
            '1f45b7402273a08d30223283e63435b0cfc0e5b5cd07f3a00838336401e6ad3b'
            '0b229dd48685fffa1e3dd146d1a8272bbdccad05eae8d6e2e74cb31bbb396e04'
            'e852d8c04a807ac9e8d576dc1a31ecddc4abdb8be08b3155f8cd3fe210cec5f8'
            'ec55674955af7a31da51b8b72b599e8519809287dad796a9b16155bcba471b79'
            '3579e9450e1e68b1d6246fc7632f40b8629515e8e128a6a3c3b0a089fe7d0af7'
            'b489ced10391d4295bb8ca29e128b0d4217c290f1b4e37b05f5a9275048d289d'
            'c072e70fd46096e3af31f96219a3abc3b7d8d981f61ac90a8dbf554928a3b7e8'
            '6bb9b8b0075e45e63e898ed043f3c5951dc3e95c1fa62d22cc6e0616c792ecd1'
            '4491c09942d72fd464bc1da286c4f5a237ec8debfbaba83c6fbf4a46d46fe51e'
            '59fe1aa68c43f4958afc397a0d6b35da263a20fcdb457005123a0d64cb1f7477'
            '7f46e5e9ac9f204fb1564560c506a5bb4cede8823b89e3f1844e4f8be258e9ef')

pkgver() {
	date +%Y%m%d
}

_inst_initd(){
	install -Dm755 ${srcdir}/$1.initd ${pkgdir}/etc/init.d/$1

	sed -e 's|#!/sbin/runscript|#!/usr/bin/openrc-run|' \
            -e 's|#!/sbin/openrc-run|#!/usr/bin/openrc-run|' \
            -e 's|/var/run|/run|g' \
            -i ${pkgdir}/etc/init.d/$1
}

_inst_confd(){
	install -Dm755 ${srcdir}/$1.confd ${pkgdir}/etc/conf.d/$1
}

package_cronie-openrc() {
	pkgdesc="OpenRC cronie init script"
	groups=('openrc-base' 'openrc-desktop')
	depends=('openrc' 'cronie')
	provides=('openrc-cron')
	conflicts=('fcron'
                    'fcron-openrc'
                    'systemd-sysvcompat')
	backup=('etc/init.d/cronie')

	_inst_initd 'cronie'

	sed -e 's|/usr/sbin|/usr/bin|g' -i ${pkgdir}/etc/init.d/cronie
}

package_dbus-openrc() {
    pkgdesc="OpenRC dbus init script"
    groups=('openrc-base' 'openrc-desktop')
    depends=('openrc' 'dbus')

    _inst_initd 'dbus'

    sed -e 's|dbus.pid|dbus/pid|g' -i "${pkgdir}/etc/init.d/dbus"
}

package_dhcpcd-openrc() {
	pkgdesc="OpenRC dhcpcd init script"
	groups=('openrc-base' 'openrc-desktop')
	depends=('openrc' 'dhcpcd')

	_inst_initd 'dhcpcd'

	sed -e 's|/sbin|/usr/bin|g' -i "${pkgdir}/etc/init.d/dhcpcd"
}

package_device-mapper-openrc() {
	pkgdesc="OpenRC device-mapper init script"
	depends=('openrc' 'device-mapper' 'udev-openrc')
	backup=('etc/conf.d/device-mapper')

	_inst_confd 'device-mapper'
	_inst_initd 'device-mapper'
	_inst_initd 'dmeventd'

	for f in ${pkgdir}/etc/init.d/*; do
		sed -e 's|/sbin|/usr/bin|g' -i $f
	done
}

package_cryptsetup-openrc() {
	pkgdesc="OpenRC cryptsetup init script"
	depends=('device-mapper-openrc' 'cryptsetup')
	backup=('etc/conf.d/dmcrypt')

	_inst_confd 'dmcrypt'
	_inst_initd 'dmcrypt'

	sed -e 's|/usr/sbin|/usr/bin|g' -i "${pkgdir}/etc/init.d/dmcrypt"
}

package_glibc-openrc() {
	pkgdesc="OpenRC nscd init script"
	depends=('openrc' 'glibc')
	optdepends=('openldap-openrc'
			'bind-openrc')

	_inst_initd 'nscd'

	sed -e 's|/usr/sbin|/usr/bin|g' -i "${pkgdir}/etc/init.d/nscd"
}

package_inetutils-openrc() {
	pkgdesc="OpenRC ftpd init script"
	depends=('openrc' 'inetutils')
	backup=('etc/conf.d/ftpd')

	_inst_confd 'ftpd'
	_inst_initd 'ftpd'
}

package_lvm2-openrc() {
	pkgdesc="OpenRC lvm2 init script"
	depends=('device-mapper-openrc' 'lvm2')
	backup=('etc/conf.d/lvm')

	_inst_confd 'lvm'
	_inst_initd 'lvm'
	_inst_initd 'lvm-monitoring'
	_inst_initd 'lvmetad'

	for f in ${pkgdir}/etc/init.d/*; do
		sed -e 's|/sbin|/usr/bin|g' -i $f
	done
}

package_mdadm-openrc() {
	pkgdesc="OpenRC mdadm init script"
	depends=('openrc' 'mdadm')
	optdepends=('bind-openrc')
	backup=('etc/conf.d/mdadm')

        for f in mdadm mdraid;do
            _inst_confd $f
            _inst_initd $f
        done
}