blob: ffea25af9d901a54524a6cf3e80b9b6f428d9295 (
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
|
# Maintainer: BigfootACA <bigfoot@classfun.cn>
_pyname=placement
_pycname=openstack-${_pyname}
pkgbase=$_pycname
pkgname=($_pycname{,-doc})
pkgver=5.0.0
pkgrel=1
pkgdesc="Resource provider inventory usage and allocation service"
arch=('any')
url="https://docs.openstack.org/placement/latest/"
license=('Apache')
depends=(
python
python-pbr
python-sqlalchemy
python-keystonemiddleware
python-routes
python-webob
python-jsonschema
python-requests
python-setuptools
python-oslo-concurrency
python-oslo-config
python-oslo-context
python-oslo-log
python-oslo-serialization
python-oslo-utils
python-oslo-db
python-oslo-policy
python-oslo-middleware
python-oslo-upgradecheck
python-os-resource-classes
python-os-traits
python-microversion-parse
python-psycopg2
python-pymysql
)
makedepends=(
python-setuptools
python-sphinx
python-sphinxcontrib-actdiag
python-sphinxcontrib-seqdiag
python-sphinx-feature-classification
python-os-api-ref
python-openstackdocstheme
python-reno
python-whereto
python-osprofiler
)
checkdepends=(
python-hacking
python-coverage
python-fixtures
python-oslotest
python-stestr
python-testtools
bandit
python-gabbi
python-wsgi-intercept
python-osprofiler
)
options=('!emptydirs')
source=(
"https://pypi.io/packages/source/${_pycname::1}/$_pycname/$_pycname-$pkgver.tar.gz"
wsgi-placement-api.conf
sysusers.conf
tmpfiles.conf
)
md5sums=('dae32832806c51fac4fe908f14ea4c2e'
'b61f4a6dd8921197426a07668af90497'
'068a5d4a7483c8654d9f7d362405b5b4'
'a58a1812012c7095c97d9824d61798d6')
sha256sums=('375904b0bf430467a1e6e1bb1a9df9ea14118111c431622e2c86b177cb9fc06e'
'a616f40f5c91584ec0af4c83ba8f52520e5a82891b12f22b893f7a5603278712'
'f0f112e74248179028f6d96173c13a99e81ec28c938174eef1fa6b94c60ab48a'
'330d6afdb001430a9995207ebaa3ada47c483e4cfce729b27219f3333927fd8c')
sha512sums=('22420fda619f62ce1fb8882cc13a480165f5adabb464835ef477e376315f6614bef29c4486efc1bdeed022401dcd4e51c70d05fc9cf1807fda99b58622bfb94c'
'5ac7481641cf9d78b88a366bf016891481d6c6feeee125bf01243d23f473e0e11c1a301dc47b206311eb36e3d8dacc716e66c63a234423c3ee66c5f9bf368a71'
'9ac7e51aaf172165a62ecc9ee4c9642b8534b4e9f4a58e996f7da7fb8aef1aee7fe1807b295da516533c309ac95add6d462cbd4c0b79a047c2c8d2457e844e66'
'4e32e3648f36f1a3287698b6b93afb6cb868bf8f30ea2abc174d282c5205de4113dcc7c7c00a2592890099eccbe2c17d409965684b6222f5b9844a583116fc37')
export PBR_VERSION=$pkgver
prepare(){
for i in "${source[@]}"
do case "${i}" in
?*.patch)
msg2 "Apply patch ${i}"
patch -Np1 <"${i}"
;;
esac
done
}
build(){
cd "$_pycname-$pkgver"
python setup.py build
sphinx-build -b html doc/source doc/build/html
}
check(){
cd $_pycname-$pkgver
stestr run
}
_package_pkg(){
optdepends=(
"apache: wsgi api support"
"mod_wsgi: apache wsgi support"
"python-openstackclient: OpenStack CLI Client"
"${pkgbase}-doc: Documents for ${pkgdesc}"
)
backup=(
etc/httpd/conf/extra/wsgi-placement-api.conf
etc/placement/placement.conf
etc/placement/policy.json
etc/placement/policy.yaml
)
cd "$_pycname-$pkgver"
export PYTHONPATH="$PWD"
_DATADIR="$pkgdir/usr/share"
_CONFDIR="$pkgdir/etc"
_DOCDIR="$_DATADIR/doc"
DATADIR="$_DATADIR/$_pyname"
DOCDIR="$_DOCDIR/$_pyname"
LIBDIR="$pkgdir/usr/lib"
CONFDIR="$_CONFDIR/$_pyname"
python setup.py install --root "$pkgdir" --optimize=1
mkdir -p "$pkgdir"/{usr/share,var/{log,lib}}/"$_pyname"
oslo-config-generator --config-file=etc/placement/config-generator.conf
oslopolicy-sample-generator --config-file=etc/placement/policy-generator.conf
install -Dm644 "$srcdir/tmpfiles.conf" "$LIBDIR/tmpfiles.d/$_pyname.conf"
install -Dm644 "$srcdir/sysusers.conf" "$LIBDIR/sysusers.d/$_pyname.conf"
install -Dm644 "$srcdir/wsgi-placement-api.conf" -t "$_CONFDIR/httpd/conf/extra"
install -Dm644 "$srcdir/wsgi-placement-api.conf" -t "$DATADIR"
install -Dm644 LICENSE "$_DATADIR/licenses/$_pyname/LICENSE"
install -Dm644 etc/placement/placement.conf.sample "$CONFDIR/placement.conf"
install -Dm644 etc/placement/placement.conf.sample -t "$DATADIR"
install -Dm644 etc/placement/policy.yaml.sample "$CONFDIR/policy.yaml"
install -Dm644 etc/placement/policy.yaml.sample -t "$DATADIR"
echo '{}' >"$CONFDIR/policy.json"
}
_package_doc(){
pkgdesc="${pkgdesc} Documents"
depends=()
cd "$_pycname-$pkgver"
_DOCDIR="$pkgdir/usr/share/doc"
DOCDIR="$_DOCDIR/$_pyname"
mkdir -p "${_DOCDIR}"
cp -r doc/build/html "$DOCDIR"
rm -r "$DOCDIR/.doctrees"
}
eval "package_${pkgbase}(){ _package_pkg; }"
eval "package_${pkgbase}-doc(){ _package_doc; }"
|