summaryrefslogtreecommitdiffstats
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules98
1 files changed, 98 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..743d5b8
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,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