From owner-svn-ports-all@freebsd.org Mon Dec 19 16:39:08 2016 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 90C86C87AB0; Mon, 19 Dec 2016 16:39:08 +0000 (UTC) (envelope-from novel@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 445A71F2E; Mon, 19 Dec 2016 16:39:08 +0000 (UTC) (envelope-from novel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id uBJGd7I0061618; Mon, 19 Dec 2016 16:39:07 GMT (envelope-from novel@FreeBSD.org) Received: (from novel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id uBJGd6OH061610; Mon, 19 Dec 2016 16:39:06 GMT (envelope-from novel@FreeBSD.org) Message-Id: <201612191639.uBJGd6OH061610@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: novel set sender to novel@FreeBSD.org using -f From: Roman Bogorodskiy Date: Mon, 19 Dec 2016 16:39:06 +0000 (UTC) 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 X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Dec 2016 16:39:08 -0000 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 +# $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 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 + + Require all granted + + + Require all granted + + +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