Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-cloud / recipes-devtools / python / python-django-horizon_15.1.0.bbappend
1 inherit stx-metadata
2
3 STX_REPO = "upstream"
4 STX_SUBPATH = "openstack/python-horizon/centos/files"
5
6 SRC_URI_STX += " \
7         file://0001-Remove-the-hard-coded-internal-URL-for-keystone.patch \
8         "
9
10 do_configure_prepend () {
11         cd ${S}
12
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
19
20         # drop config snippet
21         cp -p ${STX_METADATA_PATH}/openstack-dashboard-httpd-logging.conf .
22         cp -p ${STX_METADATA_PATH}/guni_config.py .
23
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
31
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
34
35         # set COMPRESS_OFFLINE=True
36         sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' openstack_dashboard/settings.py
37
38         # STX: MANIFEST needs .eslintrc files for angular
39         echo "include .eslintrc"   >> MANIFEST.in
40
41         # MANIFEST needs to include json and pot files under openstack_dashboard
42         echo "recursive-include openstack_dashboard *.json *.pot .eslintrc"   >> MANIFEST.in
43
44         # MANIFEST needs to include pot files  under horizon
45         echo "recursive-include horizon *.pot .eslintrc"   >> MANIFEST.in
46 }
47
48 do_install_append () {
49         cd ${S}
50
51         # STX
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
59
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
64
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
68
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
73
74         # STX
75         cp guni_config.py ${D}${datadir}/openstack-dashboard
76         rm -rf ${D}${libdir}/python2.7/site-packages/openstack_dashboard
77
78         # remove unnecessary .po files
79         find ${D} -name django.po -exec rm '{}' \;
80         find ${D} -name djangojs.po -exec rm '{}' \;
81
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
84
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
87
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
92
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
97
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
101
102         chown -R root:root ${D}
103 }
104
105 FILES_${PN} += "\
106         ${datadir}/openstack-dashboard \
107         ${systemd_system_unitdir} \
108         ${localstatedir} \
109         /opt \
110         "
111
112 RPROVIDES_${PN} = "openstack-dashboard"