File: rules

package info (click to toggle)
horizon 3%3A25.5.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,016 kB
  • sloc: python: 100,186; javascript: 49,520; sh: 440; makefile: 79
file content (130 lines) | stat: -rwxr-xr-x 6,605 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/usr/bin/make -f

include /usr/share/openstack-pkg-tools/pkgos.make

%:
	dh $@ --buildsystem=pybuild --with python3,sphinxdoc

override_dh_install:
	echo "Do nothing..."

override_dh_auto_clean:
	python3 setup.py clean
	find . -iname '*.mo' -delete
	rm -rf build .coverage .pytest_cache
	rm -rf $(CURDIR)/static
	rm -rf $(CURDIR)/horizon/build
	rm -rf $(CURDIR)/horizon.egg-info
	rm -rf $(CURDIR)/openstack_dashboard/openstack_dashboard.egg-info
	rm -rf doc/source/sourcecode
	rm -rf $(CURDIR)/doc/build
	rm -f horizon/openstack_dashboard/test/.secret_key_store
	find $(CURDIR)/openstack_dashboard -iname '*.pyc' -delete
	rm -rf .eggs
	rm -f AUTHORS
	rm -f ChangeLog
	find . -iname '*.pyc' -delete
	for i in $$(find . -type d -iname __pycache__) ; do rm -rf $$i ; done
	rm -f openstack_dashboard/locale/djangojs.pot openstack_dashboard/locale/django.pot openstack_dashboard/local/_build_horizon* .test_secret_key_store.lock horizon/locale/django.pot horizon/locale/djangojs.pot
	rm -f openstack_auth/locale/django.pot openstack_auth/locale/djangojs.pot
	rm -f openstack_dashboard/local/.secret_key_store

override_dh_auto_build:
ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS)))
	python3 -m sphinx -b html doc/source debian/horizon-doc/usr/share/doc/horizon-doc/html
endif

override_dh_auto_install:

	# Compile language files
	chmod +x debian/compile-messages
	$(CURDIR)/debian/compile-messages

	set -e && for pyvers in $(PYTHON3S); do \
		python$$pyvers setup.py install \
			--install-layout=deb \
			--root $(CURDIR)/debian/tmp \
			--no-compile -O0; \
	done

	# Prepare openstack-dashboard folder and copy manage.py
	install -d -m 755 $(CURDIR)/debian/tmp/usr/share/openstack-dashboard
	cp $(CURDIR)/manage.py $(CURDIR)/debian/tmp/usr/share/openstack-dashboard/

	# Move themes folder to standard location
	mv -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/themes \
		$(CURDIR)/debian/tmp/usr/share/openstack-dashboard/

	# Create /etc/openstack-dashboard/ and move policy files into
	install -d -m 755 $(CURDIR)/debian/tmp/etc/openstack-dashboard/
	mv -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/conf \
		$(CURDIR)/debian/tmp/etc/openstack-dashboard/policy

	# Move conf to standard location
	mv -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/local/enabled \
		$(CURDIR)/debian/tmp/etc/openstack-dashboard/
	rm -f $(CURDIR)/debian/tmp/etc/openstack-dashboard/enabled/__init__.py
	rm -f $(CURDIR)/debian/tmp/etc/openstack-dashboard/enabled/*.example

	# Move wsgi file to standard location
	mv $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/wsgi.py \
		$(CURDIR)/debian/tmp/usr/share/openstack-dashboard/

	# Move local_settings.d to /etc and modify local_settings.py
	mv -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/local/local_settings.d \
		$(CURDIR)/debian/tmp/etc/openstack-dashboard/
	rm -f $(CURDIR)/debian/tmp/etc/openstack-dashboard/local_settings.d/*.example

	install -d -m 755 $(CURDIR)/debian/tmp/usr/share/openstack-dashboard/examples
	mv -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/local/local_settings.py.example \
		$(CURDIR)/debian/tmp/usr/share/openstack-dashboard/examples/local_settings.py

	# Secret key has to be replaced here
	sed -i -e 's/os.path.join(LOCAL_PATH,/os.path.join("\/","var","lib","openstack-dashboard","secret-key",/' $(CURDIR)/debian/tmp/usr/share/openstack-dashboard/examples/local_settings.py

	# Set debug to false in local.settings.d not working as expected
	# So, it needs to be replaced to false directly in local_settings.py
	sed -i -e 's/DEBUG = True/DEBUG = False/g' $(CURDIR)/debian/tmp/usr/share/openstack-dashboard/examples/local_settings.py

	# Move osprofiler conf files to be enabled to standard location
	# and remove /usr/lib/python3/dist-packages/openstack_dashboard/contrib/developer/enabled
	mv -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/contrib/developer/enabled/_[0-9]*.py \
		$(CURDIR)/debian/tmp/etc/openstack-dashboard/enabled/
	rm -rf $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/contrib/developer/enabled

	# Remove secret_key_store as we will use it in /var/lib/
	rm -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/local/.secret_key_store

	## Delete __pycache__
	find . -name __pycache__ -prune -exec rm -rf {} +;

	## Delete not needed files
	rm -f $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/local/_build*.lock

	dh_install
	dh_missing --fail-missing
	find $(CURDIR)/debian -iname .eslintrc -delete

	# Redering this file looks like the cause of #1069097.
	# Not a lot of people would be using the serial console
	# thingy, but more likely the VNC or Spice console.
	# Threfore, as a workaround, let's just delete it.
#	rm $(CURDIR)/debian/python3-django-horizon/usr/lib/python3/dist-packages/openstack_dashboard/templates/serial_console.html

override_dh_auto_test:
ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
	# Blacklist:
	# test_site_branding_tag: https://bugs.launchpad.net/horizon/+bug/1980214
	# We should add --compilemessages when the .mo are removed.
	# Ignore openstack_dashboard/dashboards/project/backups/tests.py,
	# see https://bugs.debian.org/1026610 and https://github.com/python/cpython/commit/92a6abf72e7a8274f96edbb5297119d4ff055be7
	set -e ; set -x ; for i in $(PYTHON3S) ; do \
		http_proxy=127.0.0.1:9 https_proxy=127.0.0.9:9 \
		HTTP_PROXY=127.0.0.1:9 HTTPS_PROXY=127.0.0.1:9 \
		PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python3/dist-packages PYTHON=python$$i python$$i -m coverage run -a -m pytest horizon/test/ -n $$(nproc --all) -v --ds=horizon.test.settings -m "not selenium and not integration" ; \
		PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python3/dist-packages PYTHON=python$$i python$$i -m coverage run -a -m pytest --ignore=openstack_dashboard/test/unit/api/rest/test_policy.py openstack_dashboard -v --ds=openstack_dashboard.test.settings --ignore openstack_dashboard/dashboards/project/backups/tests.py --ignore openstack_dashboard/test/integration_tests --ignore openstack_dashboard/test/selenium -k "not selenium and not integration and not test_instance_details_metadata" ; \
		PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python3/dist-packages PYTHON=python$$i python$$i -m coverage run -a -m pytest openstack_auth/tests -n $$(nproc --all) -v --ds=openstack_auth.tests.settings -m "not selenium and not integration" ; \
	done
	## Delete __pycache__
	find . -name __pycache__ -prune -exec rm -rf {} +;
endif