# Contributor: Francesco Colista # Contributor: Olivier Mauras # Maintainer: Kevin Daudt pkgname=salt pkgver=2019.2.0 pkgrel=1 pkgdesc="A parallel remote execution system" url="https://github.com/saltstack/salt" arch="noarch" license="Apache-2.0" depends="py3-tornado py3-yaml py3-jinja2 py3-markupsafe py3-msgpack py3-crypto py3-zmq py3-six py3-requests py3-pygit2 py3-dateutil procps" makedepends="python3-dev py3-libcloud" subpackages="$pkgname-doc $pkgname-master $pkgname-master-openrc:master_openrc $pkgname-minion $pkgname-minion-openrc:minion_openrc $pkgname-syndic $pkgname-syndic-openrc:syndic_openrc $pkgname-api $pkgname-api-openrc:api_openrc $pkgname-cloud $pkgname-ssh" source="https://pypi.io/packages/source/s/salt/salt-$pkgver.tar.gz salt-api.confd salt-api.initd salt-master.confd salt-master.initd salt-minion.confd salt-minion.initd salt-syndic.confd salt-syndic.initd " options="!check" # depends on pytestsalt builddir="$srcdir/$pkgname-$pkgver" build() { cd "$builddir" python3 setup.py build } check() { cd "$builddir" python3 setup.py test } package() { cd "$builddir" python3 setup.py install --root="$pkgdir"/ --optimize=1 mkdir -p "$pkgdir"/var/log/$pkgname } master() { pkgdesc="Management component for salt, a parallel remote execution system" depends="$pkgname" _conf_copy master local i; for i in cp key master run unity; do _submv usr/bin/salt-$i done _submv usr/bin/salt } master_openrc() { pkgdesc="Management component for salt, a parallel remote execution system (OpenRC init scripts)" depends="openrc" install_if="openrc $pkgname-master=$pkgver-r$pkgrel" _init_copy master } minion() { pkgdesc="Client component for Salt, a parallel remote execution system" depends="$pkgname" _conf_copy minion _conf_copy proxy local i; for i in call minion proxy; do _submv usr/bin/salt-$i done } minion_openrc() { pkgdesc="Client component for Salt, a parallel remote execution system (OpenRC init scripts)" depends="openrc" install_if="openrc $pkgname-minion=$pkgver-r$pkgrel" _init_copy minion } syndic() { pkgdesc="Master-of-master component for Salt, a parallel remote execution system" depends="$pkgname-master" _submv usr/bin/salt-syndic } syndic_openrc() { pkgdesc="Master-of-master component for Salt, a parallel remote execution system (OpenRC init scripts)" depends="openrc" install_if="openrc $pkgname-syndic=$pkgver-r$pkgrel" _init_copy syndic } api() { pkgdesc="REST API for Salt, a parallel remote execution system" depends="$pkgname-master" _submv usr/bin/salt-api } api_openrc() { pkgdesc="REST API for Salt, a parallel remote execution system (OpenRC init scripts)" depends="openrc" install_if="openrc $pkgname-api=$pkgver-r$pkgrel" _init_copy api } cloud() { pkgdesc="Cloud provisioner for Salt, a parallel remote execution system" depends="$pkgname-master py3-libcloud" _conf_copy cloud && _submv usr/bin/salt-cloud } ssh() { pkgdesc="Agentless SSH-based version of Salt, a parallel remote execution system" depends="$pkgname" _conf_copy roster && _submv usr/bin/salt-ssh } _submv() { local path="$1" mkdir -p "$subpkgdir"/${path%/*} mv "$pkgdir"/$path "$subpkgdir"/$path } _init_copy() { local type="$1" install -m 755 -D "$srcdir"/salt-$type.initd "$subpkgdir"/etc/init.d/salt-$type install -m 644 -D "$srcdir"/salt-$type.confd "$subpkgdir"/etc/conf.d/salt-$type } _conf_copy() { local type="$1" mkdir -p "$subpkgdir"/etc/salt/ cp -r "$builddir"/conf/$type* "$subpkgdir"/etc/salt/ } sha512sums="de5a976213d011c230e423a172952effddb87168367958b8657eaaaf8fd2a8bec8471f547b6ff9e896a17064a13d387dbc12e12c605c8a241062e3238bd19eca salt-2019.2.0.tar.gz 975ba2f5e681fbd62045da61cc3dc065b148683a07b5df7eca9f131e47314eb6bfa8660ca1c06a3bd93683c7097d0ff9f8e514273dd24d82fb2de6a255e6b275 salt-api.confd 435d399bfecf431d0c713031e2ae57ce25b5c6edc98b62f33bd7a4ff1c587e3cdeb988445ae0c3e9ffc1911555c3694654d98815f9562b8a14bf0688ec1ebea6 salt-api.initd cfbbeb8023a383e7c42d84e3346edfd068c9ec7650c4ddc3caa38534da325a67497e1f06ca02cc1f0941b7348a3af6d1dca7cd6f2bcb3612ca10e1ec98997e5a salt-master.confd 324e687e8b0eaccb799b4a719448341a4e09cda3add102890beddaf371ac42957bbc1622f145b2b86420061655bb27f27879302b5b34c6eee1987d2dcae6b8ef salt-master.initd 0051e13351cef8db81dc075a194bb384723f07d5591b5b4d3f3adf4180afaf7beced470ab79ceca9d1ec0dae62dbd72084eb76af009fc78411a011050a94a2ed salt-minion.confd c6634a592c6f3e65dd2b704cb500486bf8004c5b287d4a4d42b09af36ef129c59d6a89f005af058cf7911e8587d927b3db931186569084f13ebaca56f6ef93a0 salt-minion.initd bafc6ea10cdafd0aef868feb35aecbe4ae6a7dff0ae42862bded85715ad763eb89e1ed27437866a7e5f2b9f7064e3c2a3fb59814487744ba4227238d95cf3818 salt-syndic.confd d71133e834685304e0167554035ebbc861252f972bbe981cc71e45b70f15d94a28a02a369463c9a641372919689f96b62a0408b14f824ad986d536e52b1e5ec0 salt-syndic.initd"