summaryrefslogtreecommitdiffstats
path: root/debian/rules
blob: 743d5b855e7fb3cc1dc9ef900770c0f33daf2ae4 (plain)
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
#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,-z,defs

# Fix the Flatpak plugin: https://launchpad.net/bugs/1650783
export DEB_LDFLAGS_MAINT_STRIP := -Wl,-Bsymbolic-functions

GS_CONFIGURE_FLAGS = \
	-Dgsettings_desktop_schemas=enabled \
	-Dpackagekit=true \
	-Dpackagekit_autoremove=true \
	-Drpm_ostree=false \
	-Dapt=true

# these are conditionally re-enabled later
GS_CONFIGURE_FLAGS += \
	-Dfwupd=false \
	-Dflatpak=false \
	-Dgudev=false \
	-Dmalcontent=false

ifeq ($(DEB_HOST_ARCH_OS), linux)
	# Enable Flatpak support on supported architectures
	ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x hppa powerpc ppc64 riscv64 x32))
		GS_CONFIGURE_FLAGS += -Dflatpak=true -Dmalcontent=true
	endif

	# Enable GUdev support on Linux
	GS_CONFIGURE_FLAGS += -Dgudev=true
	
	# Enable fwupd support on Linux
	GS_CONFIGURE_FLAGS += -Dfwupd=true

	# Enable snap support on supported architectures
	ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 ppc64el s390x))
		GS_CONFIGURE_FLAGS += -Dsnap=true
	endif
endif

DISTRO_ID = debian
FREE_REPOS = \'@DISTRO@-*-main\'
FREE_URL = https:\/\/www.debian.org\/social_contract\#guidelines
ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes))
	DISTRO_ID = ubuntu
	FREE_REPOS = \'@DISTRO@-*-main\', \'@DISTRO@-*-universe\'
	FREE_URL = https:\/\/www.ubuntu.com\/about\/about-ubuntu\/licensing
else ifeq (yes,$(shell dpkg-vendor --derives-from Tanglu && echo yes))
	DISTRO_ID = tanglu
else ifeq (yes,$(shell dpkg-vendor --derives-from PureOS && echo yes))
	DISTRO_ID = pureos
endif

%:
	dh $@

override_dh_auto_configure:
	dh_auto_configure -- $(GS_CONFIGURE_FLAGS)

override_dh_installgsettings:
	sed "s#@FREE_REPOS@#$(FREE_REPOS)#g" debian/gnome-software.gsettings-override.in > debian/gnome-software.gsettings-override
	sed -i "s/@DISTRO@/$(DISTRO_ID)/g" debian/gnome-software.gsettings-override
	sed -i "s/@URL@/$(FREE_URL)/g" debian/gnome-software.gsettings-override
	dh_installgsettings

override_dh_install:
	# Remove unused files
	rm -f debian/tmp/usr/lib/*/gnome-software/plugins-*/libgs_plugin_fedora*
	dh_install

override_dh_missing:
	dh_missing --fail-missing

	# These files are split out to separate packages
	rm -f debian/gnome-software/usr/lib/*/gnome-software/plugins-*/libgs_plugin_flatpak*
	rm -f debian/gnome-software/usr/lib/*/gnome-software/plugins-*/libgs_plugin_snap*
	rm -f debian/gnome-software/usr/share/metainfo/org.gnome.Software.Plugin.Flatpak.metainfo.xml
	rm -f debian/gnome-software/usr/share/metainfo/org.gnome.Software.Plugin.Snap.metainfo.xml

override_dh_makeshlibs:
	dh_makeshlibs -Xlibgs_plugin

override_dh_shlibdeps:
	dh_shlibdeps -l/usr/lib/$(DEB_HOST_MULTIARCH)/gnome-software/

# DISABLED
override_dh_auto_test:

override_dh_gencontrol:
ifeq ($(shell dpkg-vendor --query vendor),Ubuntu)
	dh_gencontrol -- -Vplugin:Recommends='gnome-software-plugin-snap [linux-any]'
else
	dh_gencontrol -- -Vplugin:Suggests='gnome-software-plugin-snap [linux-any]'
endif

override_dh_clean:
	rm -f debian/gnome-software.gsettings-override
	dh_clean