summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD194
1 files changed, 194 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ecb87a5b6311
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,194 @@
+# Maintainer: BigfootACA <bigfoot@classfun.cn>
+
+_pyname=horizon
+pkgbase=openstack-$_pyname
+pkgname=(openstack-$_pyname{,-doc})
+pkgver=19.1.0
+pkgrel=1
+pkgdesc="OpenStack Dashboard"
+arch=('any')
+url="https://docs.openstack.org/horizon/latest/"
+license=('Apache')
+depends=(
+ gettext
+ python
+ python-pbr
+ python-babel
+ python-debtcollector
+ python-django
+ python-django-compressor
+ python-django-debreach
+ python-django-pyscss
+ python-futurist
+ python-iso8601
+ python-keystoneauth1
+ python-netaddr
+ python-oslo-concurrency
+ python-oslo-config
+ python-oslo-i18n
+ python-oslo-policy
+ python-oslo-serialization
+ python-oslo-upgradecheck
+ python-oslo-utils
+ python-osprofiler
+ python-pymongo
+ python-pyscss
+ python-cinderclient
+ python-glanceclient
+ python-keystoneclient
+ python-neutronclient
+ python-novaclient
+ python-swiftclient
+ python-pytz
+ python-pyaml
+ python-requests
+ python-semantic-version
+ python-xstatic
+ python-xstatic-angular
+ python-xstatic-angular-bootstrap
+ python-xstatic-angular-fileupload
+ python-xstatic-angular-gettext
+ python-xstatic-angular-lrdragndrop
+ python-xstatic-angular-schema-form
+ python-xstatic-bootstrap-datepicker
+ python-xstatic-bootstrap-scss
+ python-xstatic-bootswatch
+ python-xstatic-d3
+ python-xstatic-hogan
+ python-xstatic-font-awesome
+ python-xstatic-jasmine
+ python-xstatic-jquery
+ python-xstatic-jquery-migrate
+ python-xstatic-jquery-quicksearch
+ python-xstatic-jquery-tablesorter
+ python-xstatic-jquery-ui
+ python-xstatic-jsencrypt
+ python-xstatic-mdi
+ python-xstatic-objectpath
+ python-xstatic-rickshaw
+ python-xstatic-roboto-fontface
+ python-xstatic-smart-table
+ python-xstatic-spin
+ python-xstatic-termjs
+ python-xstatic-tv4
+ python-enmerkar
+)
+makedepends=(
+ python-setuptools
+ python-openstackdocstheme
+ python-reno
+ python-sphinx
+ python-doc8
+ python-mock
+ python-pytest
+)
+checkdepends=(
+ ffmpeg
+ firefox
+ xorg-server-xvfb
+ bandit
+ python-hacking
+ python-coverage
+ python-flake8-import-order
+ python-nodeenv
+ python-pytest
+ python-pytest-django
+ python-pytest-html
+ python-memcached
+ python-pylint
+ python-selenium
+ python-testscenarios
+ python-testtools
+ python-xvfbwrapper
+)
+source=(
+ "https://pypi.io/packages/source/${_pyname::1}/$_pyname/$_pyname-$pkgver.tar.gz"
+ 0000-fix-removed-available_attrs.patch
+ 0001-fix-removed-curry.patch
+ 0002-set-default-not-debug.patch
+ wsgi-horizon.conf
+ tmpfiles.conf
+ sysusers.conf
+)
+md5sums=('b4c87f5fbf870e4459a3047e629b6a90'
+ '8bf40e8faa9a7bfc60ba1a65f5f64fb6'
+ 'bd6347e135ed9117221dfe676eec3e34'
+ '1a6b8d9735574f2a73ac6f8866a37d2b'
+ '94282686c3903ff4a15e75c519186541'
+ 'ca5311dc0f58af1e2f5a306038128ce7'
+ 'c656448ba05ca49ffc6897d4e92e64d8')
+sha256sums=('b789efa026f3af7f2cef71ff70c6393cfbfc88bd88ba1ea1eb4c7186b8c5c801'
+ '6546c140ad4b28e8f91583dfa0df3804794747e18cad373e51f5bc31ad779c29'
+ 'f5a1d5fd707b5e8ef43960553a2eb7a47f0ef293588d90a772d2f3605277f81b'
+ '659d28b7d0be1ebc3439d35e0d1ec948cc37d2f4284804037fe8fdc33c03c04f'
+ 'be5b591bde6abef4b445170a2cef4325106e516c5adf15d3de6cd7f34753dc6f'
+ 'fab8d2aaf442c5e7760808a72a1e3209f3099377a7ae9fa7eb1d446effdcdee3'
+ 'bef6fe090baba05e6a72fb118ba709eb945133ae8094ad5aa932bbf76a9ffe23')
+sha512sums=('2fbf520f4e0f973e3c636fddf54b9b4eb0ec728f1e3a4aac42172bf820aeb269887e625045a8cdbccd065e3d5c80ccb5dfd347b96355eabde4a865c94479b8a6'
+ '737bbe91d0b4a2ada993e15265116a3521e222fb1c7a344b51f8172e3ae04329a12457c22173411eb9ea4f89a8c43a175821ef6f63b67b1172408e6d3ab0ce83'
+ '4d9969425204263aa8711f16c24ff6f630bd30147cc5d612194c82fafad88887af01f79f145cd402b74921ee34a2fb10d89890d33ee06a2663e2b42212e1ec12'
+ '51d423568dba81b2d90c81ec4e0d0e7ebb7be0c64994591c02021d1a56a41715c6db30e4e285a7fb44007d73f9eb06aa2f24ab5429c9da68e70d6eb9e6bd78a5'
+ 'd2fc3f55fcd224127c18b904be724da6eaeaf1ac7841b1415df038e192a91d6b18421ab17aae817bbbba5a8492e98f96e73539dd1f356c9c844abe141ef31a50'
+ '127e9a9eb8ee19773ee579d86cf19bf8d41be1d222a7a241a3f36b4091d965249f96afba44cded8c79eeb10733f79b7b78bc8beb2c9446e43774a31bd5a04bf4'
+ '58567414da7c38c5987158f2206e7b13617565944b233381faf3576b7124e4e2dc4244c55c791b104d047f2450ce55379c935e259af4f387b1415e60a972f29d')
+
+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 $_pyname-$pkgver
+ python setup.py build
+ #sphinx-build -b html doc/source doc/build/html
+}
+
+#check(){
+# cd $_pyname-$pkgver
+# PYTHONPATH=${PWD} 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-horizon.conf
+ etc/openstack-dashboard/local_settings
+ )
+ cd $_pyname-$pkgver
+ export PYTHONPATH=${PWD}
+ _DATADIR="$pkgdir/usr/share"
+ DATADIR="$_DATADIR/$pkgname"
+ python setup.py install --root "$pkgdir" --optimize=1
+ install -Dm644 "$srcdir/tmpfiles.conf" "$pkgdir"/usr/lib/tmpfiles.d/$_pyname.conf
+ install -Dm644 "$srcdir/sysusers.conf" "$pkgdir"/usr/lib/sysusers.d/$_pyname.conf
+ install -Dm644 "$srcdir/wsgi-horizon.conf" -t "$pkgdir/etc/httpd/conf/extra"
+ install -Dm644 "$srcdir/wsgi-horizon.conf" -t "$DATADIR"
+ install -Dm644 openstack_dashboard/local/local_settings.py.example "$pkgdir/etc/openstack-dashboard/local_settings"
+ install -Dm755 manage.py -t "${DATADIR}"
+ mv ${pkgdir}/usr/lib/python3.*/site-packages/openstack_dashboard "${DATADIR}/"
+ ln -s /etc/openstack-dashboard/local_settings "${DATADIR}/openstack_dashboard/local/local_settings.py"
+}
+
+_package_doc(){
+ pkgdesc="OpenStack Image Service Documents"
+ depends=()
+ cd $_pyname-$pkgver
+ mkdir -p "${pkgdir}/usr/share/doc"
+ #cp -r doc/build/html "${pkgdir}/usr/share/doc/${pkgname}"
+}
+
+eval "package_${pkgbase}(){ _package_pkg; }"
+eval "package_${pkgbase}-doc(){ _package_doc; }"