summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD158
1 files changed, 158 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..dcacd71bbcb1
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,158 @@
+# Maintainer: BigfootACA <bigfoot@classfun.cn>
+
+_pyname=placement
+_pycname=openstack-${_pyname}
+pkgbase=$_pycname
+pkgname=($_pycname{,-doc})
+pkgver=4.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-pyflakes
+ 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=('1ed89a904895eee0d973839b11fb8f82'
+ 'b61f4a6dd8921197426a07668af90497'
+ '068a5d4a7483c8654d9f7d362405b5b4'
+ 'a58a1812012c7095c97d9824d61798d6')
+sha256sums=('bd052f9e2d1a1480bb9dc55456492a3072a36435df54f89569a517f095c592e8'
+ 'a616f40f5c91584ec0af4c83ba8f52520e5a82891b12f22b893f7a5603278712'
+ 'f0f112e74248179028f6d96173c13a99e81ec28c938174eef1fa6b94c60ab48a'
+ '330d6afdb001430a9995207ebaa3ada47c483e4cfce729b27219f3333927fd8c')
+sha512sums=('32ff30f7216ea56b073582c2e1c4b501229d941f3c6fc501245ab92544234774df63a9b9674ba5f1225d462ab205b2512185907e309e4135e01e1776d554b293'
+ '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; }"