aboutsummaryrefslogtreecommitdiffstats
path: root/community/salt/APKBUILD
blob: a60cff0c4e168ec73a6a779d5e041f148a43dff4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
pkgname=salt
pkgver=2019.2.2
pkgrel=2
pkgdesc="A parallel remote execution system"
url="https://github.com/saltstack/salt"
arch="noarch !s390x"
license="Apache-2.0"
depends="py3-tornado py3-yaml py3-jinja2 py3-markupsafe py3-msgpack
	py3-pycryptodome py3-pyzmq py3-six py3-requests py3-pygit2 py3-dateutil
	py3-distro procps
	"
makedepends="python3-dev py3-apache-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

build() {
	python3 setup.py build
}

check() {
	python3 setup.py test
}

package() {
	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="2bbf9765384f1f6c2336a3f421298c8900cf459e6d1ebc7fb89284014ef8db9f5215a68de2bb06dfa3404983160a0c4c589ffa3dc046611dd5409bd502938677  salt-2019.2.2.tar.gz
975ba2f5e681fbd62045da61cc3dc065b148683a07b5df7eca9f131e47314eb6bfa8660ca1c06a3bd93683c7097d0ff9f8e514273dd24d82fb2de6a255e6b275  salt-api.confd
435d399bfecf431d0c713031e2ae57ce25b5c6edc98b62f33bd7a4ff1c587e3cdeb988445ae0c3e9ffc1911555c3694654d98815f9562b8a14bf0688ec1ebea6  salt-api.initd
cfbbeb8023a383e7c42d84e3346edfd068c9ec7650c4ddc3caa38534da325a67497e1f06ca02cc1f0941b7348a3af6d1dca7cd6f2bcb3612ca10e1ec98997e5a  salt-master.confd
40243f36a44150841ee74878029c011ab59f174640bf6c102b1f93b34d4ad2c12b291201882850ef8a4372c17dd96865cae6631d3b0f59db43c07bfbc1c5b9f6  salt-master.initd
0051e13351cef8db81dc075a194bb384723f07d5591b5b4d3f3adf4180afaf7beced470ab79ceca9d1ec0dae62dbd72084eb76af009fc78411a011050a94a2ed  salt-minion.confd
31521a7bf9455a805652ebb2c2a258148d654169caed500dbf1fe0c26baf26b330217117fe84a13706ded75a9eedadc0bbd671ede0957ed4d60d1e766fea6b39  salt-minion.initd
bafc6ea10cdafd0aef868feb35aecbe4ae6a7dff0ae42862bded85715ad763eb89e1ed27437866a7e5f2b9f7064e3c2a3fb59814487744ba4227238d95cf3818  salt-syndic.confd
d71133e834685304e0167554035ebbc861252f972bbe981cc71e45b70f15d94a28a02a369463c9a641372919689f96b62a0408b14f824ad986d536e52b1e5ec0  salt-syndic.initd"