File: rules

package info (click to toggle)
mutter 48.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 50,240 kB
  • sloc: ansic: 376,779; xml: 3,703; python: 3,060; sh: 391; ruby: 167; makefile: 61; javascript: 26
file content (97 lines) | stat: -rwxr-xr-x 3,204 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
#!/usr/bin/make -f

include /usr/share/dpkg/default.mk

built_binaries := $(shell dh_listpackages)

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1
export DPKG_GENSYMBOLS_CHECK_LEVEL = 4

# Following upstream method to compute the API version
MUTTER_MAJOR_VERSION = $(shell echo $(DEB_VERSION_UPSTREAM) | sed 's/[~.].*//')
MUTTER_API_VERSION = $(shell echo $$(( $(MUTTER_MAJOR_VERSION) - 32 )) )
MUTTER_SONAME = 0

export MUTTER_API_VERSION
export MUTTER_SONAME

%:
	dh $@

CONFFLAGS = \
	-Dauto_features=enabled \
	-Degl_device=true \
	-Dremote_desktop=true \
	-Dwayland_eglstream=true
export deb_udevdir = $(shell pkg-config --variable=udevdir udev | sed s,^/,,)

# Update the cogl_trace architectures in the symbols file to match this list:
ifeq (,$(filter amd64 arm64 armel armhf mips64el ppc64el riscv64 s390x,$(DEB_HOST_ARCH)))
CONFFLAGS +=-Dprofiler=false
endif

ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
CONFFLAGS += --cross-file=$(DEB_HOST_GNU_TYPE)-gobject-introspection.ini
endif

override_dh_gnome_clean:

override_dh_auto_configure:
	dh_auto_configure -- \
		$(CONFFLAGS)

# Use meson test directly as it allows us to use the timeout multiplier
BUILDDIR=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)
TEST_COMMAND_BASE=env \
	GIO_USE_VFS=local \
	GIO_USE_VOLUME_MONITOR=unix \
	GVFS_DISABLE_FUSE=1 \
	dbus-run-session -- \
	xvfb-run -e /proc/self/fd/2 -s '+iglx -noreset -screen 0 1280x1024x24' -a \
	dh_auto_test -- -C $(BUILDDIR) --no-rebuild --verbose --timeout-multiplier 6 \
	           --no-stdsplit --print-errorlogs
TEST_COMMAND=$(TEST_COMMAND_BASE) --no-suite flaky --no-suite broken --no-suite mutter/x11
TEST_COMMAND_FLAKY=env DEB_ALLOW_FLAKY_TESTS=1 $(TEST_COMMAND_BASE) --suite flaky --suite mutter/x11

# Ignore test failures on official architectures
# because it is believed that significant debian-installer/tasksel issues
# occur if task-gnome-desktop is not installable.
#
# We suspect that GNOME Shell might not work on mips64el and s390x.
# See gnome-settings-daemon where a simple mutter session fails there.
#
# But GNOME Shell is apparently usable on Ubuntu's riscv64:
# https://discourse.ubuntu.com/t/33807
#
# Please keep this list in sync with debian/tests/installed-tests
override_dh_auto_test-arch:
	debian/tests/ensure-x11-dir
ifeq (,$(filter mips64el riscv64 s390x,$(DEB_HOST_ARCH)))
	$(TEST_COMMAND)
	-$(TEST_COMMAND_FLAKY) --logbase flaky-tests
else
	-$(TEST_COMMAND)
	-$(TEST_COMMAND_FLAKY) --logbase flaky-tests
endif

# Don't re-run the tests if we are only building Architecture: all
override_dh_auto_test-indep:

# debhelper >= 13.4 makes all of /usr/libexec executable, which is not
# quite right for installed-tests
override_dh_fixperms:
	dh_fixperms -Xusr/libexec/installed-tests
ifneq ($(filter %-tests,$(built_binaries)),)
	chmod --recursive --changes a+rX,u+w,og-w debian/*-tests/usr/libexec/installed-tests
endif

override_dh_girepository:
	dh_girepository /usr/lib/$(DEB_HOST_MULTIARCH)/mutter-$(MUTTER_API_VERSION)

override_dh_makeshlibs:
	dh_makeshlibs -V

override_dh_shlibdeps:
	dh_shlibdeps -Llibmutter-$(MUTTER_API_VERSION)-$(MUTTER_SONAME) \
		-l/usr/lib/$(DEB_HOST_MULTIARCH)/mutter-$(MUTTER_API_VERSION)