fwupd/contrib/debian/rules
Richard Hughes ee2e2c3674 uefi: Rename to uefi-capsule
Rename the plugin to make it clearer of the scope.

Based on a patch from Mario Limonciello <mario.limonciello@dell.com>
2021-01-05 15:31:22 +00:00

118 lines
3.9 KiB
Makefile
Executable File

#!/usr/bin/make -f
# -*- makefile -*-
export LC_ALL := C.UTF-8
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions
#GPGME needs this for proper building on 32 bit archs
ifeq ($(DEB_HOST_ARCH_BITS),32)
export DEB_CFLAGS_MAINT_APPEND = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
endif
CONFARGS =
ifneq ($(CI),)
CONFARGS += --werror --wrap-mode=default
endif
SB_STYLE := debian
deb_version := $(shell dpkg-parsechangelog --show-field Version)
ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes))
SB_STYLE := ubuntu
tar_name := fwupd_$(deb_version)_$(DEB_HOST_ARCH).tar.gz
CONFARGS += -Dplugin_flashrom=false
else
TMPLDIR := debian/fwupd-$(DEB_HOST_ARCH)-signed-template/usr/share/code-signing/fwupd-$(DEB_HOST_ARCH)-signed-template
ifneq ($(DEB_HOST_ARCH_CPU),ia64)
CONFARGS += -Dplugin_flashrom=true
else
CONFARGS += -Dplugin_flashrom=false
endif
endif
ifeq (yes,$(shell pkg-config --exists libsmbios_c && echo yes))
CONFARGS += -Dplugin_dell=true
else
CONFARGS += -Dplugin_dell=false
endif
ifeq (yes,$(shell pkg-config --exists efivar && echo yes))
CONFARGS += -Dplugin_uefi_capsule=true
else
CONFARGS += -Dplugin_uefi_capsule=false
endif
ifneq ($(filter $(DEB_HOST_ARCH_CPU),i386 amd64),)
CONFARGS += -Dplugin_msr=true
else
CONFARGS += -Dplugin_msr=false
endif
CONFARGS += -Dplugin_dummy=true -Dgtkdoc=true -Dsupported_build=true
%:
dh $@ --with gir
override_dh_auto_clean:
rm -fr obj-*
rm -fr debian/build
ifeq (ubuntu,$(SB_STYLE))
rm -rf debian/fwupd-images
endif
override_dh_auto_configure:
dh_auto_configure -- $(CONFARGS)
override_dh_install:
find debian/tmp/usr -type f -name "*a" -print | xargs rm -f
sed -i 's,wheel,sudo,' debian/tmp/usr/share/polkit-1/rules.d/org.freedesktop.fwupd.rules
dh_install
#install the EFI binaries if needed
[ ! -d debian/tmp/usr/libexec/fwupd/efi/ ] || dh_install -pfwupd usr/libexec/fwupd/efi
#install MSR conf if needed
[ ! -d debian/tmp/usr/lib/modules-load.d ] || dh_install -pfwupd usr/lib/modules-load.d
dh_missing -a --fail-missing
#this is placed in fwupd-tests
rm -f debian/fwupd/usr/lib/*/fwupd-plugins-3/libfu_plugin_test.so
rm -f debian/fwupd/usr/lib/*/fwupd-plugins-3/libfu_plugin_invalid.so
rm -f debian/fwupd/etc/fwupd/remotes.d/fwupd-tests.conf
ifeq (debian,$(SB_STYLE))
# Generate the template source for the Debian signing service to use
mkdir -p $(TMPLDIR)/source-template/debian
cp -a debian/signing-template/* $(TMPLDIR)/source-template/debian
cp debian/README.Debian $(TMPLDIR)/source-template/debian
find $(TMPLDIR)/source-template/debian -type f | xargs sed -i "s,SIGNARCH,$(DEB_HOST_ARCH),"
find $(TMPLDIR)/source-template/debian -type f | xargs sed -i "s,SIGNVERSION,$(deb_version),"
set -e; for file in $$(find $(TMPLDIR)/source-template/debian -type f -name '*SIGNARCH*'); do \
file1=$$(echo $$file | sed "s,SIGNARCH,$(DEB_HOST_ARCH),"); \
mv -v $$file $$file1; \
done
install -m 0755 debian/fwupd.postinst $(TMPLDIR)/source-template/debian/fwupd-$(DEB_HOST_ARCH)-signed.postinst
install -m 0755 debian/fwupd.postrm $(TMPLDIR)/source-template/debian/fwupd-$(DEB_HOST_ARCH)-signed.postrm
debian/gen_signing_changelog $(TMPLDIR)/source-template/debian fwupd $(DEB_HOST_ARCH)
debian/gen_signing_json $(TMPLDIR) fwupd ${DEB_HOST_ARCH}
endif
override_dh_strip_nondeterminism:
dh_strip_nondeterminism -Xfirmware-example.xml.gz
ifneq (yes,$(shell command -v valgrind >/dev/null 2>&1 && echo yes))
override_dh_auto_test:
:
endif
override_dh_builddeb:
dh_builddeb
ifeq (ubuntu,$(SB_STYLE))
set -e; if [ -d debian/tmp/usr/libexec/fwupd/efi/ ]; then \
mkdir -p debian/fwupd-images/$(deb_version); \
cp debian/tmp/usr/libexec/fwupd/efi/fwupd*.efi debian/fwupd-images/$(deb_version); \
echo $(deb_version) > debian/fwupd-images/$(deb_version)/version; \
tar -C debian/fwupd-images -czvf ../$(tar_name) .; \
dpkg-distaddfile $(tar_name) raw-uefi -; \
fi
endif