aboutsummaryrefslogblamecommitdiffstats
path: root/community/salt/APKBUILD
blob: 24afa62b8366a9cfded1680bc07395d8cf520892 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                           
                                                 
                                                 
                                                  
            
           
        
                                            
                                       
                                  
                    
                                                       


                                                                               
                                                                    




                                                            
                                    
                                                                  






                         
                         
                                       
         
                                        
 


                      


                      



                      
 
         
                              

 
         


                             
           
                                                               
                                           





                                                                                   
                         
 
                                                     
                                      
            
                           

 


                                                                                                         
                                                            



                         



                                                                               

                         
 
                                               
                                      


            


                                                                                                     
                                                            



                         



                                                                                         





                                                                                                               
                                                            

                         





                                                                       





                                                                                             
                                                         

                      



                                                                                
                                                     
 
                                                     





                                                                                         

                                                    
 







                                             

                                                                                       





                                                            

 
                                                                                                                                                              

                                                                                                                                                
                                                                                                                                                   
                                                                                                                                                   
                                                                                                                                                   
                                                                                                                                                   
                                                                                                                                                   
                                                                                                                                                   
                                                                                                                                                                  
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Contributor: Will Sinatra <wpsinatra@gmail.com>
# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
pkgname=salt
pkgver=3003
pkgrel=0
pkgdesc="A parallel remote execution system"
url="https://github.com/saltstack/salt"
arch="noarch !s390x !mips !mips64"
license="Apache-2.0"
depends="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-setuptools py3-apache-libcloud py3-pbr"
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
	fix-cryptodome-dependency.patch
	"
options="!check" # depends on pytestsalt

# secfixes:
#   2019.2.3-r0:
#     - CVE-2019-17361
#   3000.2-r0:
#     - CVE-2020-11651
#     - CVE-2020-11652
#   3002-r1:
#     - CVE-2020-16846
#     - CVE-2020-17490
#     - CVE-2020-25592

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-apache-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="7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38  salt-3003.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
7df577b4a7befc6a37644cbe3e909df29f626f9ccc84d05245c5d2b6a4daeb3ad6bb95b9b3a82de70d50ddc27d15956b016c44c8ad9f878c760d388da86cacbe  fix-cryptodome-dependency.patch"