summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: f793c8d7d44237469286b1fc4739a5ee0fb6e8e2 (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
# Maintainer: Wuxxin <wuxxin@gmail.com>
# Contributor: Johannes Löthberg <johannes@kyriasis.com>
# Contributor: Morten Linderud <foxboron@archlinux.org>
# Contributor: SĂ©bastien Luttringer
# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
# Contributor: Christer Edwards <christer.edwards@gmail.com>
# Contributor: zer0def <zer0def@github>

pkgname=salt
pkgver=3007.1
pkgrel=7
pkgdesc='Portable, distributed, remote execution and configuration management system'
arch=('any')
url='https://saltproject.io/'
license=('Apache')
replaces=('salt-zmq' 'salt-raet')
conflicts=('salt-zmq' 'salt-raet')
# dependencies: base, crypto, zeromq; ignore contextvars, timelib; extra: systemd
depends=(
  'python-jinja'
  'python-jmespath'
  'python-msgpack'
  'python-yaml'
  'python-markupsafe'
  'python-networkx'
  'python-requests'
  'python-certifi'
  'python-distro'
  'python-psutil'
  'python-packaging'
  'python-looseversion'
  'python-tornado'
  'python-aiohttp'
  'python-urllib3'
  'python-croniter'
  'python-setproctitle'
  'python-pyopenssl'
  'python-dateutil'
  'python-gnupg'
  'python-cherrypy'
  'python-importlib-metadata'
  'python-cryptography'
  'python-pycryptodomex'
  'python-pyzmq'
  'python-systemd'
)

makedepends=(
  'python-setuptools'
)
optdepends=(
  'dmidecode: decode SMBIOS/DMI tables'
  'python-pygit2: gitfs support'
)
#checkdepends=('python-pytest' 'python-psutil')
backup=(
  'etc/logrotate.d/salt'
  'etc/salt/master'
  'etc/salt/minion'
)
install=salt.install
source=(
  "https://pypi.io/packages/source/s/salt/salt-$pkgver.tar.gz"
  salt.logrotate
  contextvars.patch
  rpmvercmp.patch
  urllib.patch
  has_crypt.patch
  salt-call
)
sha256sums=(
  'b933ac4cb3e4b1118b46dada55c9cc6bdc6f0f94b4c92877aec44b25c6a28c9a'
  'abecc3c1be124c4afffaaeb3ba32b60dfee8ba6dc32189edfa2ad154ecb7a215'
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
)

prepare() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  for i in contextvars rpmvercmp urllib has_crypt; do
    patch -N -p1 -i "${srcdir}/${i}.patch"
  done
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  python setup.py build
}

package() {
  install -Dm644 salt.logrotate "$pkgdir"/etc/logrotate.d/salt

  cd "${srcdir}/${pkgname}-${pkgver}"

  python setup.py --salt-pidfile-dir="/run/salt" install --root="$pkgdir" --optimize=1 --skip-build
  # workaround KeyError: 'config.option'
  cp ${srcdir}/salt-call ${pkgdir}/usr/bin/salt-call

  # default config
  install -v -Dm644 conf/master "$pkgdir/etc/salt/master"
  install -v -Dm644 conf/minion "$pkgdir/etc/salt/minion"

  # systemd services
  for _svc in salt-master.service salt-syndic.service salt-minion.service salt-api.service; do
    install -v -Dm644 pkg/common/$_svc "$pkgdir/usr/lib/systemd/system/$_svc"
  done
  install -v -Dm644 pkg/common/salt.bash "$pkgdir/usr/share/bash-completion/completions/salt"
  install -v -Dm644 pkg/common/salt.zsh "$pkgdir/usr/share/zsh/site-functions/_salt"
  install -v -Dm644 -t "$pkgdir/usr/share/fish/vendor_completions.d" pkg/common/fish-completions/*
}

# vim:set ts=2 sw=2 et: