Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Dec 2016 16:39:06 +0000 (UTC)
From:      Roman Bogorodskiy <novel@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r428952 - in head: . www www/py-horizon www/py-horizon/files
Message-ID:  <201612191639.uBJGd6OH061610@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: novel
Date: Mon Dec 19 16:39:06 2016
New Revision: 428952
URL: https://svnweb.freebsd.org/changeset/ports/428952

Log:
  Add www/py-horizon, OpenStack Dashboard
  
  Horizon is a Django-based project aimed at providing
  a complete OpenStack Dashboard along with an extensible framework
  for building new dashboards from reusable components.
  
  PR:		215155
  Submitted by:	Alexander Nusov (alexander.nusov@nfvexpress.com)

Added:
  head/www/py-horizon/
  head/www/py-horizon/Makefile   (contents, props changed)
  head/www/py-horizon/distinfo   (contents, props changed)
  head/www/py-horizon/files/
  head/www/py-horizon/files/01-django.patch   (contents, props changed)
  head/www/py-horizon/files/pkg-message.in   (contents, props changed)
  head/www/py-horizon/pkg-descr   (contents, props changed)
Modified:
  head/GIDs
  head/UIDs
  head/www/Makefile

Modified: head/GIDs
==============================================================================
--- head/GIDs	Mon Dec 19 16:34:29 2016	(r428951)
+++ head/GIDs	Mon Dec 19 16:39:06 2016	(r428952)
@@ -139,7 +139,7 @@ saned:*:194:
 radns:*:195:
 nova:*:196:
 dq:*:197:
-# free: 198
+horizon:*:198:
 mcserver:*:199:
 sympa:*:200:
 privoxy:*:201:

Modified: head/UIDs
==============================================================================
--- head/UIDs	Mon Dec 19 16:34:29 2016	(r428951)
+++ head/UIDs	Mon Dec 19 16:39:06 2016	(r428952)
@@ -144,7 +144,7 @@ saned:*:194:194::0:0:SANE Scanner Daemon
 radns:*:195:195::0:0:radns user:/nonexistent:/usr/sbin/nologin
 nova:*:196:196::0:0:Nova daemon pseudo-user:/var/lib/nova:/usr/sbin/nologin
 dq:*:197:197::0:0:dqcache user:/nonexistent:/usr/sbin/nologin
-# free: 198
+horizon:*:198:198::0:0:Horizon pseudo-user:/var/lib/horizon:/usr/sbin/nologin
 mcserver:*:199:199::0:0:Minecraft Server:/nonexistent:/bin/sh
 sympa:*:200:200::0:0:Sympa Owner:/nonexistent:/usr/sbin/nologin
 privoxy:*:201:201::0:0:Privoxy proxy user:/nonexistent:/usr/sbin/nologin

Modified: head/www/Makefile
==============================================================================
--- head/www/Makefile	Mon Dec 19 16:34:29 2016	(r428951)
+++ head/www/Makefile	Mon Dec 19 16:39:06 2016	(r428952)
@@ -1653,6 +1653,7 @@
     SUBDIR += py-graphite-web
     SUBDIR += py-grequests
     SUBDIR += py-gunicorn
+    SUBDIR += py-horizon
     SUBDIR += py-html
     SUBDIR += py-html5lib
     SUBDIR += py-http-parser

Added: head/www/py-horizon/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/py-horizon/Makefile	Mon Dec 19 16:39:06 2016	(r428952)
@@ -0,0 +1,86 @@
+# Created by: Alexander Nusov <alexander.nusov@nfvexpress.com>
+# $FreeBSD$
+
+PORTNAME=	horizon
+PORTVERSION=	10.0.1
+CATEGORIES=	www python
+MASTER_SITES=	https://fossies.org/linux/misc/openstack/
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	alexander.nusov@nfvexpress.com
+COMMENT=	OpenStack Dashboard (Horizon)
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pbr>=1.6:devel/py-pbr
+RUN_DEPENDS:=	${BUILD_DEPENDS}
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel \
+		${PYTHON_PKGNAMEPREFIX}django18>=0:www/py-django18 \
+		${PYTHON_PKGNAMEPREFIX}Pint>=0.5:devel/py-Pint \
+		${PYTHON_PKGNAMEPREFIX}django-babel>=0.5.1:www/py-django-babel \
+		${PYTHON_PKGNAMEPREFIX}django_compressor>=2.0:www/py-django_compressor \
+		${PYTHON_PKGNAMEPREFIX}django_openstack_auth>=2.4.0:www/py-django_openstack_auth \
+		${PYTHON_PKGNAMEPREFIX}django-pyscss>=2.0.2:www/py-django-pyscss \
+		${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601 \
+		${PYTHON_PKGNAMEPREFIX}netaddr>=0:net/py-netaddr \
+		${PYTHON_PKGNAMEPREFIX}oslo.concurrency>=3.8.0:devel/py-oslo.concurrency \
+		${PYTHON_PKGNAMEPREFIX}oslo.config>=3.14.0:devel/py-oslo.config \
+		${PYTHON_PKGNAMEPREFIX}oslo.i18n>=2.1.0:devel/py-oslo.i18n \
+		${PYTHON_PKGNAMEPREFIX}oslo.policy>=1.9.0:devel/py-oslo.policy \
+		${PYTHON_PKGNAMEPREFIX}oslo.serialization>=1.10.0:devel/py-oslo.serialization \
+		${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.16.0:devel/py-oslo.utils \
+		${PYTHON_PKGNAMEPREFIX}pyscss>=1.3.4:textproc/py-pyscss \
+		${PYTHON_PKGNAMEPREFIX}python-ceilometerclient>=2.5.0:net/py-python-ceilometerclient \
+		${PYTHON_PKGNAMEPREFIX}python-cinderclient>=0:net/py-python-cinderclient \
+		${PYTHON_PKGNAMEPREFIX}python-glanceclient>=0:net/py-python-glanceclient \
+		${PYTHON_PKGNAMEPREFIX}python-heatclient>=1.4.0:net/py-python-heatclient \
+		${PYTHON_PKGNAMEPREFIX}python-keystoneclient>=0:net/py-python-keystoneclient \
+		${PYTHON_PKGNAMEPREFIX}python-neutronclient>=5.1.0:net/py-python-neutronclient \
+		${PYTHON_PKGNAMEPREFIX}python-novaclient>=0:net/py-python-novaclient \
+		${PYTHON_PKGNAMEPREFIX}python-swiftclient>=2.2.0:databases/py-python-swiftclient \
+		${PYTHON_PKGNAMEPREFIX}pytz>=2013.6:devel/py-pytz \
+		${PYTHON_PKGNAMEPREFIX}yaml>=3.1.0:devel/py-yaml \
+		${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six \
+		${PYTHON_PKGNAMEPREFIX}XStatic>=1.0.0:devel/py-XStatic \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Angular>=1.3.7:devel/py-XStatic-Angular \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Bootstrap>=0.11.0.2:devel/py-XStatic-Angular-Bootstrap \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-FileUpload>=12.0.4.0:devel/py-XStatic-Angular-FileUpload \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Gettext>=2.1.0.2:devel/py-XStatic-Angular-Gettext \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-lrdragndrop>=1.0.2.2:devel/py-XStatic-Angular-lrdragndrop \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Schema-Form>=0.8.13.0:devel/py-XStatic-Angular-Schema-Form \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-Datepicker>=1.3.1.0:devel/py-XStatic-Bootstrap-Datepicker \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-SCSS>=3:devel/py-XStatic-Bootstrap-SCSS \
+		${PYTHON_PKGNAMEPREFIX}XStatic-bootswatch>=3.3.5.3:devel/py-XStatic-bootswatch \
+		${PYTHON_PKGNAMEPREFIX}XStatic-D3>=3.1.6.2:devel/py-XStatic-D3 \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Hogan>=2.0.0.2:devel/py-XStatic-Hogan \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Font-Awesome>=4.3.0:devel/py-XStatic-Font-Awesome \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Jasmine>=2.1.2.0:devel/py-XStatic-Jasmine \
+		${PYTHON_PKGNAMEPREFIX}XStatic-jQuery>=1.7.2:devel/py-XStatic-jQuery \
+		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery-Migrate>=1.2.1.1:devel/py-XStatic-JQuery-Migrate \
+		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.quicksearch>=2.0.3.1:devel/py-XStatic-JQuery.quicksearch \
+		${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.TableSorter>=2.14.5.1:devel/py-XStatic-JQuery.TableSorter \
+		${PYTHON_PKGNAMEPREFIX}XStatic-jquery-ui>=1.10.1:devel/py-XStatic-jquery-ui \
+		${PYTHON_PKGNAMEPREFIX}XStatic-JSEncrypt>=2.0.0.2:devel/py-XStatic-JSEncrypt \
+		${PYTHON_PKGNAMEPREFIX}XStatic-mdi>=1.4.57.0:devel/py-XStatic-mdi \
+		${PYTHON_PKGNAMEPREFIX}XStatic-objectpath>=1.2.1.0:devel/py-XStatic-objectpath \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Rickshaw>=1.5.0:devel/py-XStatic-Rickshaw \
+		${PYTHON_PKGNAMEPREFIX}XStatic-roboto-fontface>=0.4.3.2:devel/py-XStatic-roboto-fontface \
+		${PYTHON_PKGNAMEPREFIX}XStatic-smart-table>=0:devel/py-XStatic-smart-table \
+		${PYTHON_PKGNAMEPREFIX}XStatic-Spin>=1.2.5.2:devel/py-XStatic-Spin \
+		${PYTHON_PKGNAMEPREFIX}XStatic-term.js>=0.0.4:devel/py-XStatic-term.js \
+		${PYTHON_PKGNAMEPREFIX}XStatic-tv4>=1.2.7.0:devel/py-XStatic-tv4
+
+EXTRA_PATCHES=	 ${FILESDIR}/01-django.patch:-p1
+
+NO_ARCH=	yes
+
+USES=		python
+USE_PYTHON=	autoplist distutils
+
+USERS=		horizon
+GROUPS=		horizon
+
+SUB_FILES=	pkg-message
+SUB_LIST=	PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR}
+
+.include <bsd.port.mk>

Added: head/www/py-horizon/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/py-horizon/distinfo	Mon Dec 19 16:39:06 2016	(r428952)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1481116590
+SHA256 (horizon-10.0.1.tar.gz) = 919e1e466007684ee80a0dec46f18c7f8147bd826ac1085a262fbb15b6c789be
+SIZE (horizon-10.0.1.tar.gz) = 4093291

Added: head/www/py-horizon/files/01-django.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/py-horizon/files/01-django.patch	Mon Dec 19 16:39:06 2016	(r428952)
@@ -0,0 +1,13 @@
+diff --git a/openstack_dashboard/wsgi/django.wsgi b/openstack_dashboard/wsgi/django.wsgi
+index 1be0e06..b7fbe81 100644
+--- a/openstack_dashboard/wsgi/django.wsgi
++++ b/openstack_dashboard/wsgi/django.wsgi
+@@ -5,7 +5,7 @@ from django.core.wsgi import get_wsgi_application
+ from django.conf import settings
+ 
+ # Add this file path to sys.path in order to import settings
+-sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..'))
++sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..')))
+ os.environ['DJANGO_SETTINGS_MODULE'] = 'openstack_dashboard.settings'
+ sys.stdout = sys.stderr
+ 

Added: head/www/py-horizon/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/py-horizon/files/pkg-message.in	Mon Dec 19 16:39:06 2016	(r428952)
@@ -0,0 +1,29 @@
+Please note that this is a development version of Horizon.
+
+You may serve horizon (OpenStack Dashboard) with apache web server.
+Use this snippet as reference:
+
+WSGIScriptAlias / %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi/django.wsgi process-group=horizon
+WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP}
+WSGIProcessGroup horizon
+Alias /static/dashboard %%PYTHON_SITELIBDIR%%/openstack_dashboard/static/dashboard
+<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/static>
+    Require all granted
+</Directory>
+<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi>
+    Require all granted
+</Directory>
+
+Also if you plan to use apache make sure that wsgi4 module is enabled and
+you set correct ownership for static and local libraries for openstack_dashboard:
+
+# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/static
+# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/local
+
+Create local_settings.py with your settings at
+%%PYTHON_SITELIBDIR%%/openstack_dashboard/local
+
+To enable django-compressor add this option to local_settings.py file:
+
+STATIC_ROOT = '%%PYTHON_SITELIBDIR%%/openstack_dashboard/static'
+

Added: head/www/py-horizon/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/py-horizon/pkg-descr	Mon Dec 19 16:39:06 2016	(r428952)
@@ -0,0 +1,7 @@
+Horizon is a Django-based project aimed at providing a complete OpenStack
+Dashboard along with an extensible framework for building new dashboards from
+reusable components. The openstack_dashboard module is a reference
+implementation of a Django site that uses the horizon app to provide web-based
+interactions with the various OpenStack projects.
+
+WWW: http://openstack.org/horizon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612191639.uBJGd6OH061610>