diff options
-rw-r--r-- | .SRCINFO | 74 | ||||
-rw-r--r-- | .gitignore | 10 | ||||
-rw-r--r-- | PKGBUILD | 158 | ||||
-rw-r--r-- | sysusers.conf | 1 | ||||
-rw-r--r-- | tmpfiles.conf | 2 | ||||
-rw-r--r-- | wsgi-placement-api.conf | 25 |
6 files changed, 270 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..0c6b2fa33229 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,74 @@ +pkgbase = openstack-placement + pkgdesc = Resource provider inventory usage and allocation service + pkgver = 4.0.0 + pkgrel = 1 + url = https://docs.openstack.org/placement/latest/ + arch = any + license = Apache + checkdepends = python-hacking + checkdepends = python-pyflakes + checkdepends = python-coverage + checkdepends = python-fixtures + checkdepends = python-oslotest + checkdepends = python-stestr + checkdepends = python-testtools + checkdepends = bandit + checkdepends = python-gabbi + checkdepends = python-wsgi-intercept + checkdepends = python-osprofiler + makedepends = python-setuptools + makedepends = python-sphinx + makedepends = python-sphinxcontrib-actdiag + makedepends = python-sphinxcontrib-seqdiag + makedepends = python-sphinx-feature-classification + makedepends = python-os-api-ref + makedepends = python-openstackdocstheme + makedepends = python-reno + makedepends = python-whereto + makedepends = python-osprofiler + depends = python + depends = python-pbr + depends = python-sqlalchemy + depends = python-keystonemiddleware + depends = python-routes + depends = python-webob + depends = python-jsonschema + depends = python-requests + depends = python-setuptools + depends = python-oslo-concurrency + depends = python-oslo-config + depends = python-oslo-context + depends = python-oslo-log + depends = python-oslo-serialization + depends = python-oslo-utils + depends = python-oslo-db + depends = python-oslo-policy + depends = python-oslo-middleware + depends = python-oslo-upgradecheck + depends = python-os-resource-classes + depends = python-os-traits + depends = python-microversion-parse + depends = python-psycopg2 + depends = python-pymysql + options = !emptydirs + source = https://pypi.io/packages/source/o/openstack-placement/openstack-placement-4.0.0.tar.gz + source = wsgi-placement-api.conf + source = sysusers.conf + source = tmpfiles.conf + md5sums = 1ed89a904895eee0d973839b11fb8f82 + md5sums = b61f4a6dd8921197426a07668af90497 + md5sums = 068a5d4a7483c8654d9f7d362405b5b4 + md5sums = a58a1812012c7095c97d9824d61798d6 + sha256sums = bd052f9e2d1a1480bb9dc55456492a3072a36435df54f89569a517f095c592e8 + sha256sums = a616f40f5c91584ec0af4c83ba8f52520e5a82891b12f22b893f7a5603278712 + sha256sums = f0f112e74248179028f6d96173c13a99e81ec28c938174eef1fa6b94c60ab48a + sha256sums = 330d6afdb001430a9995207ebaa3ada47c483e4cfce729b27219f3333927fd8c + sha512sums = 32ff30f7216ea56b073582c2e1c4b501229d941f3c6fc501245ab92544234774df63a9b9674ba5f1225d462ab205b2512185907e309e4135e01e1776d554b293 + sha512sums = 5ac7481641cf9d78b88a366bf016891481d6c6feeee125bf01243d23f473e0e11c1a301dc47b206311eb36e3d8dacc716e66c63a234423c3ee66c5f9bf368a71 + sha512sums = 9ac7e51aaf172165a62ecc9ee4c9642b8534b4e9f4a58e996f7da7fb8aef1aee7fe1807b295da516533c309ac95add6d462cbd4c0b79a047c2c8d2457e844e66 + sha512sums = 4e32e3648f36f1a3287698b6b93afb6cb868bf8f30ea2abc174d282c5205de4113dcc7c7c00a2592890099eccbe2c17d409965684b6222f5b9844a583116fc37 + +pkgname = openstack-placement + +pkgname = openstack-placement-doc + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..fcaabd513b1a --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +pkg +src +*.tar +*.gz +*.xz +*.zst +*.zip +*.lz4 +*.lzo +*.bz 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; }" diff --git a/sysusers.conf b/sysusers.conf new file mode 100644 index 000000000000..46248bcdfe4d --- /dev/null +++ b/sysusers.conf @@ -0,0 +1 @@ +u placement - "OpenStack Placement" /var/lib/placement diff --git a/tmpfiles.conf b/tmpfiles.conf new file mode 100644 index 000000000000..2dec8cf6ba52 --- /dev/null +++ b/tmpfiles.conf @@ -0,0 +1,2 @@ +d /var/lib/placement 0750 placement placement - +d /var/log/placement 0750 placement placement - diff --git a/wsgi-placement-api.conf b/wsgi-placement-api.conf new file mode 100644 index 000000000000..c098deff9b80 --- /dev/null +++ b/wsgi-placement-api.conf @@ -0,0 +1,25 @@ +<IfModule wsgi_module> + Listen 8778 + <VirtualHost *:8778> + WSGIDaemonProcess placement-api processes=3 threads=1 user=placement group=placement display-name=%{GROUP} + WSGIProcessGroup placement-api + WSGIScriptAlias / /usr/bin/placement-api + WSGIApplicationGroup %{GLOBAL} + WSGIPassAuthorization On + LimitRequestBody 114688 + ErrorLogFormat "%M" + ErrorLog /var/log/placement/placement-api.log + CustomLog /var/log/keystone/access.log combined + <Directory /usr/bin> + Require all granted + </Directory> + </VirtualHost> + Alias /placement-api /usr/bin/placement-api + <Location /placement-api> + SetHandler wsgi-script + Options +ExecCGI + WSGIProcessGroup placement-api + WSGIApplicationGroup %{GLOBAL} + WSGIPassAuthorization On + </Location> +</IfModule>
\ No newline at end of file |