meta-stx: re-name and re-org to align with upstream
[pti/rtp.git] / meta-starlingx / meta-stx-cloud / recipes-devtools / python / python-django-horizon_15.1.0.bbappend
1
2 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3 SRC_URI += " \
4         file://${BPN}/guni_config.py \
5         file://${BPN}/horizon-assets-compress \
6         file://${BPN}/horizon-clearsessions \
7         file://${BPN}/horizon.init \
8         file://${BPN}/horizon-patching-restart \
9         file://${BPN}/openstack-dashboard-httpd-2.4.conf \
10         file://${BPN}/openstack-dashboard-httpd-logging.conf \
11         file://${BPN}/python-django-horizon-logrotate.conf \
12         file://${BPN}/python-django-horizon-systemd.conf \
13         "
14
15 do_configure_prepend () {
16         cd ${S}
17
18         # STX remove troublesome files introduced by tox
19         rm -f openstack_dashboard/test/.secret_key_store
20         rm -f openstack_dashboard/test/*.secret_key_store.lock
21         rm -f openstack_dashboard/local/.secret_key_store
22         rm -f openstack_dashboard/local/*.secret_key_store.lock
23         rm -rf horizon.egg-info
24
25         # drop config snippet
26         cp -p ${WORKDIR}/${BPN}/openstack-dashboard-httpd-logging.conf .
27         cp -p ${WORKDIR}/${BPN}/guni_config.py .
28
29         # customize default settings
30         # WAS [PATCH] disable debug, move web root
31         sed -i "/^DEBUG =.*/c\DEBUG = False" openstack_dashboard/local/local_settings.py.example
32         sed -i "/^WEBROOT =.*/c\WEBROOT = '/dashboard/'" openstack_dashboard/local/local_settings.py.example
33         sed -i "/^.*ALLOWED_HOSTS =.*/c\ALLOWED_HOSTS = ['horizon.example.com', 'localhost']" openstack_dashboard/local/local_settings.py.example
34         sed -i "/^.*LOCAL_PATH =.*/c\LOCAL_PATH = '/tmp'" openstack_dashboard/local/local_settings.py.example
35         sed -i "/^.*POLICY_FILES_PATH =.*/c\POLICY_FILES_PATH = '/etc/openstack-dashboard'" openstack_dashboard/local/local_settings.py.example
36
37         sed -i "/^BIN_DIR = .*/c\BIN_DIR = '/usr/bin'" openstack_dashboard/settings.py
38         sed -i "/^COMPRESS_PARSER = .*/a COMPRESS_OFFLINE = True" openstack_dashboard/settings.py
39
40         # set COMPRESS_OFFLINE=True
41         sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' openstack_dashboard/settings.py
42
43         # STX: MANIFEST needs .eslintrc files for angular
44         echo "include .eslintrc"   >> MANIFEST.in
45
46         # MANIFEST needs to include json and pot files under openstack_dashboard
47         echo "recursive-include openstack_dashboard *.json *.pot .eslintrc"   >> MANIFEST.in
48
49         # MANIFEST needs to include pot files  under horizon
50         echo "recursive-include horizon *.pot .eslintrc"   >> MANIFEST.in
51 }
52
53 do_install_append () {
54         cd ${S}
55
56         # STX
57         install -d -m 755 ${D}/opt/branding
58         mkdir -p ${D}${sysconfdir}/rc.d/init.d
59         install -m 755 -D -p ${WORKDIR}/${BPN}/horizon.init ${D}${sysconfdir}/rc.d/init.d/horizon
60         install -m 755 -D -p ${WORKDIR}/${BPN}/horizon.init ${D}${sysconfdir}/init.d/horizon
61         install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-clearsessions ${D}/${bindir}/horizon-clearsessions
62         install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-patching-restart ${D}/${bindir}/horizon-patching-restart
63         install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-assets-compress ${D}/${bindir}/horizon-assets-compress
64
65         # drop httpd-conf snippet
66         install -m 0644 -D -p ${WORKDIR}/${BPN}/openstack-dashboard-httpd-2.4.conf ${D}${sysconfdir}/httpd/conf.d/openstack-dashboard.conf
67         install -d -m 755 ${D}${datadir}/openstack-dashboard
68         install -d -m 755 ${D}${sysconfdir}/openstack-dashboard
69
70         # create directory for systemd snippet
71         mkdir -p ${D}${systemd_system_unitdir}/httpd.service.d/
72         cp ${WORKDIR}/${BPN}/python-django-horizon-systemd.conf ${D}${systemd_system_unitdir}/httpd.service.d/openstack-dashboard.conf
73
74         # Copy everything to /usr/share
75         mv ${D}${libdir}/python2.7/site-packages/openstack_dashboard \
76            ${D}${datadir}/openstack-dashboard
77         cp manage.py ${D}${datadir}/openstack-dashboard
78
79         # STX
80         cp guni_config.py ${D}${datadir}/openstack-dashboard
81         rm -rf ${D}${libdir}/python2.7/site-packages/openstack_dashboard
82
83         # remove unnecessary .po files
84         find ${D} -name django.po -exec rm '{}' \;
85         find ${D} -name djangojs.po -exec rm '{}' \;
86
87         # Move config to /etc, symlink it back to /usr/share
88         mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.py.example ${D}${sysconfdir}/openstack-dashboard/local_settings
89
90         mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/conf/*.json ${D}${sysconfdir}/openstack-dashboard
91         cp -a  ${S}/openstack_dashboard/conf/cinder_policy.d ${D}${sysconfdir}/openstack-dashboard
92         cp -a  ${S}/openstack_dashboard/conf/nova_policy.d ${D}${sysconfdir}/openstack-dashboard
93
94         # copy static files to ${datadir}/openstack-dashboard/static
95         mkdir -p ${D}${datadir}/openstack-dashboard/static
96         cp -a openstack_dashboard/static/* ${D}${datadir}/openstack-dashboard/static
97         cp -a horizon/static/* ${D}${datadir}/openstack-dashboard/static
98
99         # create /var/run/openstack-dashboard/ and /var/log/horizon
100         install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
101         echo "d ${localstatedir}/run/openstack-dashboard 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
102         echo "d ${localstatedir}/log/horizon 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
103
104         # place logrotate config:
105         mkdir -p ${D}${sysconfdir}/logrotate.d
106         cp -a ${WORKDIR}/${BPN}/python-django-horizon-logrotate.conf ${D}${sysconfdir}/logrotate.d/openstack-dashboard
107
108         chown -R root:root ${D}
109 }
110
111 FILES_${PN} += "\
112         ${datadir}/openstack-dashboard \
113         ${systemd_system_unitdir} \
114         ${localstatedir} \
115         /opt \
116         "
117
118 RPROVIDES_${PN} = "openstack-dashboard"