]> review.fuel-infra Code Review - openstack-build/horizon-build.git/commitdiff
Sync Fuel 8.0 changes in Horizon build scripts.
authorIvan Udovichenko <iudovichenko@mirantis.com>
Wed, 30 Mar 2016 19:46:34 +0000 (22:46 +0300)
committerIvan Udovichenko <iudovichenko@mirantis.com>
Wed, 30 Mar 2016 19:46:34 +0000 (22:46 +0300)
Rewritten-From: 3311068fd663e7ed3dd907f5dacf30726acd749f

trusty/debian/apache-sites-available/openstack-dashboard-alias-only.conf
trusty/debian/apache-sites-available/openstack-dashboard-ssl.conf
trusty/debian/apache-sites-available/openstack-dashboard.conf
trusty/debian/changelog
trusty/debian/control
trusty/debian/openstack-dashboard-apache.postinst
trusty/debian/openstack-dashboard.links
trusty/debian/openstack-dashboard.postinst
trusty/debian/rules

index 20f7f34ec1d3b5486e0e9ea6be9ddaa22176f33c..0f095b27b6f05276c11ac7705fc01f503e504ae1 100644 (file)
@@ -1,18 +1,13 @@
 WSGIScriptAlias /horizon /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
-WSGIDaemonProcess horizon user=www-data group=www-data
-Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static
-Alias /horizon/static /usr/share/openstack-dashboard/openstack_dashboard/static
+WSGIDaemonProcess horizon user=horizon group=horizon
+Alias /static /var/lib/openstack-dashboard/static
+Alias /horizon/static /var/lib/openstack-dashboard/static
 
 
-<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi/>
-       Order allow,deny
-       Allow from all
+<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
+       Require all granted
 </Directory>
-<Directory /usr/lib/python2.7/dist-packages/horizon/static/horizon>
-       Order allow,deny
-       Allow from all
-</Directory>
-<Directory /usr/share/openstack-dashboard/openstack_dashboard/static/>
-       Order allow,deny
-       Allow from all
+
+<Directory /var/lib/openstack-dashboard/static>
+       Require all granted
 </Directory>
index 3d13018aefbedd9b5399b8b00fb7a24edfb8717d..6ce9f4407b027849cfa2f46c88b398ed53998d0d 100644 (file)
@@ -9,9 +9,10 @@
     BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
 
     WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
-    WSGIDaemonProcess horizon user=www-data group=www-data
+    WSGIDaemonProcess horizon user=horizon group=horizon
     #WSGIProcessGroup openstack-dashboard
-    Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static
+    Alias /static /var/lib/openstack-dashboard/static
+    Alias /horizon/static /var/lib/openstack-dashboard/static
 
     DocumentRoot /var/www
 
     </Directory>
 
     <Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi/>
-       Order allow,deny
-       Allow from all
+       Require all granted
     </Directory>
 
-    <Directory /usr/lib/python2.7/dist-packages/horizon/static/horizon>
-       Order allow,deny
-       Allow from all
-    </Directory>
-
-    <Directory /usr/share/openstack-dashboard/openstack_dashboard/static/>
-       Order allow,deny
-       Allow from all
+    <Directory /var/lib/openstack-dashboard/static>
+       Require all granted
     </Directory>
 
     ErrorLog ${APACHE_LOG_DIR}/error.log
index 39276f5d175096aa07fc17fc91fd2166fcf71f9c..b841718b787504142772a9ee8054921d91469e53 100644 (file)
@@ -3,7 +3,8 @@
     WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
     WSGIDaemonProcess horizon user=horizon group=horizon
     #WSGIProcessGroup openstack-dashboard
-    Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static
+    Alias /static /var/lib/openstack-dashboard/static
+    Alias /horizon/static /var/lib/openstack-dashboard/static
 
     DocumentRoot /var/www
 
        AllowOverride None
     </Directory>
 
-    <Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi/>
-       Order allow,deny
-       Allow from all
+    <Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
+       Require all granted
     </Directory>
 
-    Alias /static/horizon /usr/lib/python2.7/dist-packages/horizon/static/horizon
-
-    <Directory /usr/lib/python2.7/dist-packages/horizon/static/horizon>
-       Order allow,deny
-       Allow from all
+    <Directory /var/lib/openstack-dashboard/static>
+       Require all granted
     </Directory>
 
-    <Directory /usr/share/openstack-dashboard/openstack_dashboard/static/>
-       Order allow,deny
-       Allow from all
-    </Directory>
     ErrorLog ${APACHE_LOG_DIR}/error.log
     LogLevel warn
     CustomLog ${APACHE_LOG_DIR}/access.log combined
- </VirtualHost>
+</VirtualHost>
index 7677a9d92b709bbcad6a0196172767f4716bcfe6..e66aee04e1aad195d70e5aca291138ab570c581a 100644 (file)
@@ -1,9 +1,28 @@
 horizon (2:9.0.0~rc1-2) UNRELEASED; urgency=medium
 
+  [ Thomas Goirand ]
   * Also copy openstack_dashboard/dashboards/project/static/dashboard/project
     which were not packaged.
 
- -- Thomas Goirand <zigo@debian.org>  Fri, 25 Mar 2016 15:21:06 +0100
+  [ Ivan Udovichenko ]
+  * d/control: Add python-xstatic-magic-search dependency.
+               Move memcached and openstack-dashboard-apache to Suggests field.
+  * d/openstack-dashboard-apache.postinst:
+      - Remove /usr/share/openstack-dashboard/static directory and create a link
+        to /var/lib/openstack-dashboard/static directory to make it compatible with
+        Ubuntu OpenStack Puppet manifests.
+      - Delete the .secret_ket_store file if exists.
+      - Make www-data the owner of /var/lib/openstack-dashboard/secret-key and
+        /var/lib/openstack-dashboard/static directories.
+      - Set new alias to Horizon static files.
+      - Call collectstatic with --clear and --noinput options.
+  * d/rules: Do not copy/create additional files/links with/to static files. 
+  * d/openstack-dashboard.links: Remove all links except a link to /usr/bin/lessc binary.
+  * d/debian/apache-sites-available/*.conf:
+      - Change/add alias path to static files.
+      - Update permissions according to Apache 2.4 improvements.
+
+ -- Ivan Udovichenko <iudovichenko@mirantis.com>  Wed, 30 Mar 2016 22:23:48 +0300
 
 horizon (2:9.0.0~rc1-1) experimental; urgency=medium
 
index 378956cda973ae7bbf3f4fa8a4a72861bec5fec1..915e07e6ee5b662a82745b6ea04481a5d1d21e18 100644 (file)
@@ -70,6 +70,7 @@ Build-Depends-Indep: gettext,
                      python-xstatic-jquery.quicksearch,
                      python-xstatic-jquery.tablesorter (>= 2.14.5.1),
                      python-xstatic-jsencrypt,
+                     python-xstatic-magic-search (>= 0.2.5.1),
                      python-xstatic-mdi,
                      python-xstatic-rickshaw,
                      python-xstatic-roboto-fontface (>= 0.4.3.2),
@@ -133,6 +134,7 @@ Depends: python-babel,
          python-xstatic-jquery.quicksearch,
          python-xstatic-jquery.tablesorter (>= 2.14.5.1),
          python-xstatic-jsencrypt,
+         python-xstatic-magic-search (>= 0.2.5.1),
          python-xstatic-mdi,
          python-xstatic-rickshaw,
          python-xstatic-roboto-fontface (>= 0.4.3.2),
@@ -142,7 +144,7 @@ Depends: python-babel,
          python-yaml,
          ${misc:Depends},
          ${python:Depends},
-Recommends: memcached,
+Suggests: memcached,
 Description: Django module providing web interaction with OpenStack
  The OpenStack Dashboard is a web application to control an OpenStack
  cloud. It connects to OpenStack services such as Nova, Swift, or Keystone
@@ -161,8 +163,8 @@ Depends: adduser,
          ${misc:Depends},
          ${python:Depends},
          ${shlibs:Depends},
-Recommends: memcached,
-            openstack-dashboard-apache,
+Suggests: memcached,
+          openstack-dashboard-apache,
 Description: web application to control an OpenStack cloud
  The OpenStack Dashboard is a web application to control an OpenStack
  cloud. It connects to OpenStack services such as Nova, Swift, or Keystone
@@ -171,7 +173,7 @@ Description: web application to control an OpenStack cloud
 
 Package: openstack-dashboard-apache
 Architecture: all
-Depends: apache2,
+Depends: apache2 (>= 2.4),
          debconf,
          libapache2-mod-wsgi (>= 2.3),
          openstack-dashboard,
index 2a8b8c9e0f12520bdcf27ad006fa5adce2b0216f..691e0077b3e9ecbabc6c4023834a46e2fc17c7c2 100644 (file)
@@ -42,22 +42,46 @@ HORIZON_USE_SSL=yes" >/etc/default/openstack-dashboard-apache
                        a2dissite openstack-dashboard-alias-only.conf
                        a2ensite openstack-dashboard.conf
                fi
+               if [ -d '/usr/share/openstack-dashboard/static' ] ; then
+                       rm -rf /usr/share/openstack-dashboard/static
+               fi
+               ln -s /var/lib/openstack-dashboard/static /usr/share/openstack-dashboard/static
+               /usr/share/openstack-dashboard/manage.py collectstatic --clear --noinput
                /usr/share/openstack-dashboard/manage.py compress --force
-               rm -f /var/lib/openstack-dashboard/secret-key/.secret_key_store
-               chown -R www-data /var/lib/openstack-dashboard/secret-key
+               if [ -f '/var/lib/openstack-dashboard/secret-key/.secret_key_store' ]; then
+                       rm -f /var/lib/openstack-dashboard/secret-key/.secret_key_store
+               fi
+               chown -R www-data /var/lib/openstack-dashboard/secret-key /var/lib/openstack-dashboard/static
                invoke-rc.d --quiet apache2 reload
        else
                sed -i 's#[ \t]*HORIZON_ACTIVATE_VHOSTS=.*#HORIZON_ACTIVATE_VHOSTS=no#' /etc/default/openstack-dashboard-apache
+               site_configs='openstack-dashboard-ssl-redirect.conf
+                       openstack-dashboard-ssl.conf
+                       openstack-dashboard.conf
+                       openstack-dashboard-alias-only.conf'
+               for site_config in $site_configs
+               do
+                       if [ -f /etc/apache2/sites-available/$site_config ]; then
+                               sed -i 's#WSGIScriptAlias / #WSGIScriptAlias /horizon #g' /etc/apache2/sites-available/$site_config
+                       fi
+               done
                a2ensite 000-default.conf || true
                a2ensite default-ssl.conf || true
                sed -i "s|^[ \t]*WEBROOT[ \t]=.*|WEBROOT = '/horizon'|" /etc/openstack-dashboard/local_settings.py
                a2dissite openstack-dashboard.conf
                a2dissite openstack-dashboard-ssl-redirect.conf
                a2dissite openstack-dashboard-ssl.conf
-               a2ensite openstack-dashboard-alias-only.conf
+               a2dissite openstack-dashboard-alias-only.conf
+               if [ -d '/usr/share/openstack-dashboard/static' ] ; then
+                       rm -rf /usr/share/openstack-dashboard/static
+               fi
+               ln -s /var/lib/openstack-dashboard/static /usr/share/openstack-dashboard/static
+               /usr/share/openstack-dashboard/manage.py collectstatic --clear --noinput
                /usr/share/openstack-dashboard/manage.py compress --force
-               rm -f /var/lib/openstack-dashboard/secret-key/.secret_key_store
-               chown -R www-data /var/lib/openstack-dashboard/secret-key
+               if [ -f /var/lib/openstack-dashboard/secret-key/.secret_key_store ]; then
+                       rm -f /var/lib/openstack-dashboard/secret-key/.secret_key_store
+               fi
+               chown -R www-data /var/lib/openstack-dashboard/secret-key /var/lib/openstack-dashboard/static
                invoke-rc.d --quiet apache2 reload
        fi
        db_stop
index 4f2b7d7170998df7f44f7fd6f88fc4b912aba9c2..0dc73d1ca759fffb6ce3e8814b8bb31e68661705 100644 (file)
@@ -1,10 +1 @@
-/usr/bin/lessc                                         /usr/share/openstack-dashboard/bin/less/lessc
-
-/usr/share/openstack-dashboard/openstack_dashboard/static /usr/share/openstack-dashboard/static
-/usr/lib/python2.7/dist-packages/horizon/static/horizon                /usr/share/openstack-dashboard/openstack_dashboard/static/horizon
-/var/lib/openstack-dashboard/static/scss /usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/scss
-/var/lib/openstack-dashboard/static/js /usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/js
-
-/usr/share/fonts-font-awesome/fonts /usr/lib/python2.7/dist-packages/horizon/static/horizon/lib/font-awesome/fonts
-/usr/share/fonts-roboto-fontface/fonts /usr/lib/python2.7/dist-packages/horizon/static/horizon/lib/roboto_fontface/fonts
-/usr/share/fonts-materialdesignicons-webfont/fonts /usr/lib/python2.7/dist-packages/horizon/static/horizon/lib/mdi/fonts
+/usr/bin/lessc         /usr/share/openstack-dashboard/bin/less/lessc
index db6f5d12bae4b44609f93e551cf1a30383e81c42..3bb4e8a143dd43e9c71bfeb09afe29799a42290b 100644 (file)
@@ -9,12 +9,7 @@ if [ "$1" = "configure" ] ; then
                --disabled-password \
                --group horizon
 
-       mkdir -p /var/lib/openstack-dashboard/static/js
-       mkdir -p /var/lib/openstack-dashboard/static/css
        mkdir -p /var/lib/openstack-dashboard/secret-key
-       chown www-data:www-data /var/lib/openstack-dashboard/static
-       chown www-data:www-data /var/lib/openstack-dashboard/static/css
-       chown www-data:www-data /var/lib/openstack-dashboard/static/js
        chown www-data:www-data /var/lib/openstack-dashboard/secret-key
 
        mkdir -p /etc/openstack-dashboard
@@ -22,16 +17,27 @@ if [ "$1" = "configure" ] ; then
                cp /usr/share/openstack-dashboard/local_settings.py /etc/openstack-dashboard/local_settings.py
        fi
 
+       if [ -d '/usr/share/openstack-dashboard/static' ] ; then
+               rm -rf /usr/share/openstack-dashboard/static
+       fi
+       ln -s /var/lib/openstack-dashboard/static /usr/share/openstack-dashboard/static
+
        # Compress the JS and CSS with python-compressor and python-lesscpy
+       /usr/share/openstack-dashboard/manage.py collectstatic --clear --noinput
        /usr/share/openstack-dashboard/manage.py compress --force
-       rm /var/lib/openstack-dashboard/secret-key/.secret_key_store
-       chown -R www-data /var/lib/openstack-dashboard/secret-key
+       if [ -f /var/lib/openstack-dashboard/secret-key/.secret_key_store ]; then
+               rm /var/lib/openstack-dashboard/secret-key/.secret_key_store
+       fi
+       chown -R www-data /var/lib/openstack-dashboard/secret-key /var/lib/openstack-dashboard/static
 fi
 
 if [ "$1" = "triggered" ] ; then
+       /usr/share/openstack-dashboard/manage.py collectstatic --clear --noinput
        /usr/share/openstack-dashboard/manage.py compress --force
-       rm /var/lib/openstack-dashboard/secret-key/.secret_key_store
-       chown -R www-data /var/lib/openstack-dashboard/secret-key
+       if [ -f /var/lib/openstack-dashboard/secret-key/.secret_key_store ]; then
+               rm /var/lib/openstack-dashboard/secret-key/.secret_key_store
+       fi
+       chown -R www-data /var/lib/openstack-dashboard/secret-key /var/lib/openstack-dashboard/static
 fi
 
 #DEBHELPER#
index 81cc4b7621148479de7a7f52c9ccf537b09929a2..562bff46829e0367aacd479611b811ed164f3ac3 100755 (executable)
@@ -21,32 +21,22 @@ override_dh_auto_install:
                        --no-compile -O0; \
        done
 
-       install -d -m 755  $(CURDIR)/debian/tmp/usr/share/openstack-dashboard
+       install -d -m 755 $(CURDIR)/debian/tmp/usr/share/openstack-dashboard
 
        cp -a $(CURDIR)/openstack_dashboard/ $(CURDIR)/debian/tmp/usr/share/openstack-dashboard/
 
        # Sets memcached by default in local_settings.py
-       cp $(CURDIR)/openstack_dashboard/local/local_settings.py.example                                                $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/local_settings.py
-       sed -i -e 's/os.path.join(LOCAL_PATH,/os.path.join("\/","var","lib","openstack-dashboard","secret-key",/'       $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/local_settings.py
-       echo "COMPRESS_OFFLINE=True" >>                                                                                 $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/local_settings.py
+       cp $(CURDIR)/openstack_dashboard/local/local_settings.py.example $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/local_settings.py
+       sed -i -e 's/os.path.join(LOCAL_PATH,/os.path.join("\/","var","lib","openstack-dashboard","secret-key",/' $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/local_settings.py
+       echo "COMPRESS_OFFLINE=True" >> $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/local_settings.py
+       install -d -m 755 $(CURDIR)/debian/openstack-dashboard/var/lib/openstack-dashboard/static
+
 
        cp $(CURDIR)/manage.py \
                $(CURDIR)/debian/tmp/usr/share/openstack-dashboard/
        ln -fs /etc/openstack-dashboard/local_settings.py \
                $(CURDIR)/debian/tmp/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py
 
-       mkdir -p $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard
-       cp -axuf $(CURDIR)/openstack_dashboard/dashboards/project/static/dashboard/project $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard
-
-override_dh_link:
-       mkdir -p $(CURDIR)/debian/openstack-dashboard/var/lib/openstack-dashboard/static/scss
-       mv $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/scss/* $(CURDIR)/debian/openstack-dashboard/var/lib/openstack-dashboard/static/scss
-       rmdir $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/scss
-       dh_link
-       for i in auth framework horizon ; do \
-               ln -s /usr/lib/python2.7/dist-packages/horizon/static/$$i $(CURDIR)/debian/openstack-dashboard/usr/share/openstack-dashboard/openstack_dashboard/static/$$i ; \
-       done
-
 override_dh_auto_clean:
        dh_auto_clean
        python setup.py clean
@@ -70,3 +60,4 @@ override_dh_auto_test:
        # We should add --compilemessages when the .mo are removed.
        ./run_tests.sh --no-virtual-env --no-pep8 --verbosity=2
 endif
+