4 STX_SUBPATH = "openstack/python-horizon/centos/files"
7 file://0001-Remove-the-hard-coded-internal-URL-for-keystone.patch \
10 do_configure_prepend () {
13 # STX remove troublesome files introduced by tox
14 rm -f openstack_dashboard/test/.secret_key_store
15 rm -f openstack_dashboard/test/*.secret_key_store.lock
16 rm -f openstack_dashboard/local/.secret_key_store
17 rm -f openstack_dashboard/local/*.secret_key_store.lock
18 rm -rf horizon.egg-info
21 cp -p ${STX_METADATA_PATH}/openstack-dashboard-httpd-logging.conf .
22 cp -p ${STX_METADATA_PATH}/guni_config.py .
24 # customize default settings
25 # WAS [PATCH] disable debug, move web root
26 sed -i "/^DEBUG =.*/c\DEBUG = False" openstack_dashboard/local/local_settings.py.example
27 sed -i "/^WEBROOT =.*/c\WEBROOT = '/dashboard/'" openstack_dashboard/local/local_settings.py.example
28 sed -i "/^.*ALLOWED_HOSTS =.*/c\ALLOWED_HOSTS = ['horizon.example.com', 'localhost']" openstack_dashboard/local/local_settings.py.example
29 sed -i "/^.*LOCAL_PATH =.*/c\LOCAL_PATH = '/tmp'" openstack_dashboard/local/local_settings.py.example
30 sed -i "/^.*POLICY_FILES_PATH =.*/c\POLICY_FILES_PATH = '/etc/openstack-dashboard'" openstack_dashboard/local/local_settings.py.example
32 sed -i "/^BIN_DIR = .*/c\BIN_DIR = '/usr/bin'" openstack_dashboard/settings.py
33 sed -i "/^COMPRESS_PARSER = .*/a COMPRESS_OFFLINE = True" openstack_dashboard/settings.py
35 # set COMPRESS_OFFLINE=True
36 sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' openstack_dashboard/settings.py
38 # STX: MANIFEST needs .eslintrc files for angular
39 echo "include .eslintrc" >> MANIFEST.in
41 # MANIFEST needs to include json and pot files under openstack_dashboard
42 echo "recursive-include openstack_dashboard *.json *.pot .eslintrc" >> MANIFEST.in
44 # MANIFEST needs to include pot files under horizon
45 echo "recursive-include horizon *.pot .eslintrc" >> MANIFEST.in
48 do_install_append () {
52 install -d -m 755 ${D}/opt/branding
53 mkdir -p ${D}${sysconfdir}/rc.d/init.d
54 install -m 755 -D -p ${STX_METADATA_PATH}/horizon.init ${D}${sysconfdir}/rc.d/init.d/horizon
55 install -m 755 -D -p ${STX_METADATA_PATH}/horizon.init ${D}${sysconfdir}/init.d/horizon
56 install -m 755 -D -p ${STX_METADATA_PATH}/horizon-clearsessions ${D}/${bindir}/horizon-clearsessions
57 install -m 755 -D -p ${STX_METADATA_PATH}/horizon-patching-restart ${D}/${bindir}/horizon-patching-restart
58 install -m 755 -D -p ${STX_METADATA_PATH}/horizon-assets-compress ${D}/${bindir}/horizon-assets-compress
60 # drop httpd-conf snippet
61 install -m 0644 -D -p ${STX_METADATA_PATH}/openstack-dashboard-httpd-2.4.conf ${D}${sysconfdir}/httpd/conf.d/openstack-dashboard.conf
62 install -d -m 755 ${D}${datadir}/openstack-dashboard
63 install -d -m 755 ${D}${sysconfdir}/openstack-dashboard
65 # create directory for systemd snippet
66 mkdir -p ${D}${systemd_system_unitdir}/httpd.service.d/
67 cp ${STX_METADATA_PATH}/python-django-horizon-systemd.conf ${D}${systemd_system_unitdir}/httpd.service.d/openstack-dashboard.conf
69 # Copy everything to /usr/share
70 mv ${D}${libdir}/python2.7/site-packages/openstack_dashboard \
71 ${D}${datadir}/openstack-dashboard
72 cp manage.py ${D}${datadir}/openstack-dashboard
75 cp guni_config.py ${D}${datadir}/openstack-dashboard
76 rm -rf ${D}${libdir}/python2.7/site-packages/openstack_dashboard
78 # remove unnecessary .po files
79 find ${D} -name django.po -exec rm '{}' \;
80 find ${D} -name djangojs.po -exec rm '{}' \;
82 # Move config to /etc, symlink it back to /usr/share
83 mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.py.example ${D}${sysconfdir}/openstack-dashboard/local_settings
85 mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/conf/*.json ${D}${sysconfdir}/openstack-dashboard
86 cp -a ${S}/openstack_dashboard/conf/nova_policy.d ${D}${sysconfdir}/openstack-dashboard
88 # copy static files to ${datadir}/openstack-dashboard/static
89 mkdir -p ${D}${datadir}/openstack-dashboard/static
90 cp -a openstack_dashboard/static/* ${D}${datadir}/openstack-dashboard/static
91 cp -a horizon/static/* ${D}${datadir}/openstack-dashboard/static
93 # create /var/run/openstack-dashboard/ and /var/log/horizon
94 install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
95 echo "d ${localstatedir}/run/openstack-dashboard 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
96 echo "d ${localstatedir}/log/horizon 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
98 # place logrotate config:
99 mkdir -p ${D}${sysconfdir}/logrotate.d
100 cp -a ${STX_METADATA_PATH}/python-django-horizon-logrotate.conf ${D}${sysconfdir}/logrotate.d/openstack-dashboard
102 chown -R root:root ${D}
106 ${datadir}/openstack-dashboard \
107 ${systemd_system_unitdir} \
112 RPROVIDES_${PN} = "openstack-dashboard"