From ec0496b47a93fb1a69449dbdd26b64452314ae71 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Tue, 27 Sep 2022 15:39:49 -0500 Subject: [PATCH] Make libfwupdplugin an internal library instead This drops the requirement on us being so strict on a particular ABI version, and also more strongly discourages out of tree plugin development. We should still strive to keep API stable, and as such keep a symbol map still. Use rpath instead for the static plugins, and set the plugin install directory to just fwupd-$ABI$ as we're storing more than just plugins here now. --- contrib/ci/arch.sh | 4 - contrib/ci/out-of-tree-link/.gitignore | 1 - contrib/ci/out-of-tree-link/fwupd.c | 12 -- contrib/ci/out-of-tree-link/fwupdplugin.c | 13 -- contrib/ci/out-of-tree-link/meson.build | 27 --- contrib/debian/control.in | 57 +----- contrib/debian/fwupd.install | 2 +- contrib/debian/gir1.2-fwupdplugin-1.0.install | 1 - contrib/debian/libfwupdplugin-dev.install | 5 - contrib/debian/libfwupdplugin7.install | 1 - contrib/fwupd.spec.in | 189 +++++++++--------- contrib/meson.build | 1 - libfwupdplugin/meson.build | 23 +-- meson.build | 8 +- plugins/acpi-dmar/meson.build | 1 + plugins/acpi-facp/meson.build | 1 + plugins/acpi-ivrs/meson.build | 1 + plugins/acpi-phat/meson.build | 1 + plugins/ata/meson.build | 1 + plugins/bcm57xx/meson.build | 1 + plugins/ccgx/meson.build | 1 + plugins/dfu/meson.build | 1 + plugins/elantp/meson.build | 1 + plugins/linux-swap/meson.build | 1 + plugins/mtd/meson.build | 1 + plugins/nitrokey/meson.build | 1 + plugins/nvme/meson.build | 1 + plugins/pixart-rf/meson.build | 1 + plugins/redfish/meson.build | 1 + plugins/synaptics-mst/meson.build | 1 + plugins/synaptics-prometheus/meson.build | 1 + plugins/synaptics-rmi/meson.build | 1 + plugins/uefi-dbx/meson.build | 1 + plugins/uf2/meson.build | 1 + plugins/vli/meson.build | 1 + plugins/wacom-usb/meson.build | 1 + src/meson.build | 4 + 37 files changed, 125 insertions(+), 245 deletions(-) delete mode 100644 contrib/ci/out-of-tree-link/.gitignore delete mode 100644 contrib/ci/out-of-tree-link/fwupd.c delete mode 100644 contrib/ci/out-of-tree-link/fwupdplugin.c delete mode 100644 contrib/ci/out-of-tree-link/meson.build delete mode 100644 contrib/debian/gir1.2-fwupdplugin-1.0.install delete mode 100644 contrib/debian/libfwupdplugin-dev.install delete mode 100644 contrib/debian/libfwupdplugin7.install diff --git a/contrib/ci/arch.sh b/contrib/ci/arch.sh index 40498f201..3392918bb 100755 --- a/contrib/ci/arch.sh +++ b/contrib/ci/arch.sh @@ -44,10 +44,6 @@ pacman -S --noconfirm qt5-base meson qt5-thread-test ../contrib/ci/qt5-thread-test ninja -C qt5-thread-test test -#run the CI tests for making sure we can link fwupd/fwupdplugin -meson out-of-tree-link ../contrib/ci/out-of-tree-link -ninja -C out-of-tree-link test - # move the package to working dir mv *.pkg.* ../dist diff --git a/contrib/ci/out-of-tree-link/.gitignore b/contrib/ci/out-of-tree-link/.gitignore deleted file mode 100644 index 378eac25d..000000000 --- a/contrib/ci/out-of-tree-link/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/contrib/ci/out-of-tree-link/fwupd.c b/contrib/ci/out-of-tree-link/fwupd.c deleted file mode 100644 index 31026035c..000000000 --- a/contrib/ci/out-of-tree-link/fwupd.c +++ /dev/null @@ -1,12 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ - -#undef NDEBUG -#include -#include - -int -main(void) -{ - assert(fwupd_error_to_string(FWUPD_ERROR_NOTHING_TO_DO) != NULL); - return 0; -} diff --git a/contrib/ci/out-of-tree-link/fwupdplugin.c b/contrib/ci/out-of-tree-link/fwupdplugin.c deleted file mode 100644 index 9af8d234c..000000000 --- a/contrib/ci/out-of-tree-link/fwupdplugin.c +++ /dev/null @@ -1,13 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ - -#undef NDEBUG -#include - -#include - -int -main(void) -{ - assert(fu_version_compare("1.0", "2.1", FWUPD_VERSION_FORMAT_NUMBER) < 0); - return 0; -} diff --git a/contrib/ci/out-of-tree-link/meson.build b/contrib/ci/out-of-tree-link/meson.build deleted file mode 100644 index 5ba47c3f2..000000000 --- a/contrib/ci/out-of-tree-link/meson.build +++ /dev/null @@ -1,27 +0,0 @@ - project('out-of-tree-link', 'c', - license: 'LGPL-2.1+', -) -fwupd = dependency('fwupd') -fwupdplugin = dependency('fwupdplugin') -env = environment() -env.set('G_DEBUG', 'fatal-criticals') -e = executable( - 'fwupd', - sources: [ - 'fwupd.c' - ], - dependencies: [ - fwupd - ], - ) -test('fwupd', e, timeout: 60, env: env) -e = executable( - 'fwupdplugin', - sources: [ - 'fwupdplugin.c' - ], - dependencies: [ - fwupdplugin - ], - ) -test('fwupdplugin', e, timeout: 60, env: env) diff --git a/contrib/debian/control.in b/contrib/debian/control.in index 857f267df..85d1af4b4 100644 --- a/contrib/debian/control.in +++ b/contrib/debian/control.in @@ -14,21 +14,6 @@ Homepage: https://github.com/fwupd/fwupd Vcs-Git: https://salsa.debian.org/efi-team/fwupd.git Vcs-Browser: https://salsa.debian.org/efi-team/fwupd -Package: libfwupdplugin7 -Section: libs -Architecture: linux-any -Depends: ${misc:Depends}, - ${shlibs:Depends} -Multi-Arch: same -Description: Firmware update daemon plugin library - fwupd is a daemon to allow session software to update device firmware. - You can either use a GUI software manager like GNOME Software to view and - apply updates, the command-line tool or the system D-Bus interface directly. - Firmware updates are supported for a variety of technologies. - See for details - . - This package provides the library for the interface between daemon and plugins. - Package: libfwupd2 Section: libs Architecture: linux-any @@ -152,44 +137,4 @@ Description: GObject introspection data for libfwupd This package provides the introspection data for libfwupd. . It can be used by packages using the GIRepository format to generate - dynamic bindings. - -Package: libfwupdplugin-dev -Architecture: linux-any -Multi-Arch: same -Depends: libfwupdplugin7 (= ${binary:Version}), - gir1.2-fwupdplugin-1.0 (= ${binary:Version}), - libarchive-dev, - libcbor-dev, - libcurl4-gnutls-dev, - libfwupd-dev (= ${binary:Version}), - libgcab-dev, - libglib2.0-dev (>= 2.45.8), - libgudev-1.0-dev, - libgusb-dev (>= 0.3.5), - libjcat-dev, - libjson-glib-dev (>= 1.1.1), - libxmlb-dev (>= 0.1.13), - valgrind [!ia64 !riscv64 !x32 !mips !sparc64 !sh4 !ppc64 !powerpcspe !hppa !alpha !mips64el !armhf !armel !mipsel !m68k], - ${misc:Depends} -Section: libdevel -Description: development files for libfwupdplugin - fwupd is a daemon to allow session software to update device firmware. - You can either use a GUI software manager like GNOME Software to view and - apply updates, the command-line tool or the system D-Bus interface directly. - Firmware updates are supported for a variety of technologies. - See for details - . - This package provides the development files for libfwupdplugin - -Package: gir1.2-fwupdplugin-1.0 -Architecture: linux-any -Multi-Arch: same -Depends: ${misc:Depends}, - ${gir:Depends} -Section: introspection -Description: GObject introspection data for libfwupdplugin - This package provides the introspection data for libfwupdplugin. - . - It can be used by packages using the GIRepository format to generate - dynamic bindings. + dynamic bindings. \ No newline at end of file diff --git a/contrib/debian/fwupd.install b/contrib/debian/fwupd.install index e28af98af..e1d5abcd9 100644 --- a/contrib/debian/fwupd.install +++ b/contrib/debian/fwupd.install @@ -18,6 +18,6 @@ lib/systemd/system-shutdown/* lib/udev/rules.d/* data/daemon.conf etc/fwupd debian/fwupd.pkla /var/lib/polkit-1/localauthority/10-vendor.d -usr/lib/*/fwupd-plugins-*/*.so +usr/lib/*/fwupd-*/*.so debian/lintian/fwupd usr/share/lintian/overrides obj*/data/motd/85-fwupd /etc/update-motd.d diff --git a/contrib/debian/gir1.2-fwupdplugin-1.0.install b/contrib/debian/gir1.2-fwupdplugin-1.0.install deleted file mode 100644 index 009c462fd..000000000 --- a/contrib/debian/gir1.2-fwupdplugin-1.0.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/girepository-1.0/FwupdPlugin-*.typelib diff --git a/contrib/debian/libfwupdplugin-dev.install b/contrib/debian/libfwupdplugin-dev.install deleted file mode 100644 index c11069a4e..000000000 --- a/contrib/debian/libfwupdplugin-dev.install +++ /dev/null @@ -1,5 +0,0 @@ -usr/include/fwupd-1/fwupdplugin.h -usr/include/fwupd-1/libfwupdplugin -usr/lib/*/libfwupdplugin.so -usr/lib/*/pkgconfig/fwupdplugin.pc -usr/share/gir-1.0/FwupdPlugin-*.gir diff --git a/contrib/debian/libfwupdplugin7.install b/contrib/debian/libfwupdplugin7.install deleted file mode 100644 index 6c3648c06..000000000 --- a/contrib/debian/libfwupdplugin7.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libfwupdplugin.so.* diff --git a/contrib/fwupd.spec.in b/contrib/fwupd.spec.in index b9aa72c97..e1632dc05 100644 --- a/contrib/fwupd.spec.in +++ b/contrib/fwupd.spec.in @@ -5,7 +5,7 @@ %global libjcat_version 0.1.0 %global systemd_version 231 %global json_glib_version 1.1.1 -%global fwupdplugin_version @FWUPD_PLUGINVER@ +%global fwupdplugin_version @FWUPD_VERSION@ # although we ship a few tiny python files these are utilities that 99.99% # of users do not need -- use this to avoid dragging python onto CoreOS @@ -420,131 +420,130 @@ done %{_sysconfdir}/grub.d/35_fwupd %endif %{_libdir}/libfwupd.so.2* -%{_libdir}/libfwupdplugin.so.%{fwupdplugin_version}* %{_libdir}/girepository-1.0/Fwupd-2.0.typelib -%{_libdir}/girepository-1.0/FwupdPlugin-1.0.typelib /usr/lib/udev/rules.d/*.rules /usr/lib/systemd/system-shutdown/fwupd.shutdown -%dir %{_libdir}/fwupd-plugins-%{fwupdplugin_version} +%dir %{_libdir}/fwupd-%{fwupdplugin_version} +%{_libdir}/fwupd-%{fwupdplugin_version}/libfwupdplugin.so %ifarch i686 x86_64 -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_acpi_facp.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_acpi_facp.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_acpi_phat.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_amt.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_analogix.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_android_boot.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ata.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_bcm57xx.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_cfu.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ccgx.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ch341a.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_colorhug.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_corsair.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_cros_ec.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_cpu.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_acpi_phat.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_amt.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_analogix.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_android_boot.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_ata.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_bcm57xx.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_cfu.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_ccgx.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_ch341a.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_colorhug.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_corsair.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_cros_ec.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_cpu.so %if 0%{?have_dell} -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dell.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dell_esrt.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_dell.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_dell_esrt.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dell_dock.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dfu.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dfu_csr.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ebitdo.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_elantp.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_elanfp.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_emmc.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ep963x.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_fastboot.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_focalfp.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_fpc.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_fresco_pd.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_genesys.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_dell_dock.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_dfu.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_dfu_csr.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_ebitdo.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_elantp.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_elanfp.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_emmc.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_ep963x.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_fastboot.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_focalfp.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_fpc.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_fresco_pd.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_genesys.so %if 0%{?have_gpio} -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_gpio.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_gpio.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_hailuck.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_intel_usb4.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_hailuck.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_intel_usb4.so %ifarch i686 x86_64 -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_iommu.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_iommu.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_jabra.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_jabra.so %if 0%{?have_uefi} -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_lenovo_thinklmi.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_lenovo_thinklmi.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_lockdown.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_linux_lockdown.so %ifarch i686 x86_64 -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_sleep.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_linux_sleep.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_swap.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_tainted.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_linux_swap.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_linux_tainted.so %if 0%{?have_msr} -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_acpi_dmar.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_acpi_ivrs.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_msr.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_acpi_dmar.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_acpi_ivrs.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_msr.so %endif %ifarch i686 x86_64 -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_amd_pmc.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_pci_psp.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_amd_pmc.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_pci_psp.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_mtd.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_nitrokey.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_nordic_hid.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_nvme.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_optionrom.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_parade_lspcon.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_pci_bcr.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_pci_mei.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_pixart_rf.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_realtek_mst.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_redfish.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_rts54hid.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_rts54hub.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_scsi.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_steelseries.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_superio.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_mst.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_cape.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_cxaudio.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_prometheus.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_rmi.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_system76_launch.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_mtd.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_nitrokey.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_nordic_hid.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_nvme.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_optionrom.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_parade_lspcon.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_pci_bcr.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_pci_mei.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_pixart_rf.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_realtek_mst.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_redfish.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_rts54hid.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_rts54hub.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_scsi.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_steelseries.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_superio.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_synaptics_mst.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_synaptics_cape.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_synaptics_cxaudio.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_synaptics_prometheus.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_synaptics_rmi.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_system76_launch.so %if 0%{?enable_dummy} -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_test.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_test_ble.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_invalid.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_test.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_test_ble.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_invalid.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_thelio_io.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_thelio_io.so %if 0%{?have_thunderbolt} -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_thunderbolt.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_thunderbolt.so %endif %if 0%{?have_uefi} -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_tpm.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_bios.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_capsule.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_dbx.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_pk.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_recovery.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_tpm.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_bios.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_uefi_capsule.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_uefi_dbx.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_uefi_pk.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_uefi_recovery.so %endif -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_usi_dock.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_vbe.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_logind.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_logitech_bulkcontroller.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_logitech_hidpp.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uf2.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_upower.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_vli.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_wacom_raw.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_wacom_usb.so -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_goodixmoc.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_usi_dock.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_vbe.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_logind.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_logitech_bulkcontroller.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_logitech_hidpp.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_uf2.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_upower.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_vli.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_wacom_raw.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_wacom_usb.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_goodixmoc.so %ghost %{_localstatedir}/lib/fwupd/gnupg %if 0%{?have_modem_manager} %files plugin-modem-manager -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_modem_manager.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_modem_manager.so %endif %if 0%{?have_flashrom} %files plugin-flashrom -%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_flashrom.so +%{_libdir}/fwupd-%{fwupdplugin_version}/libfu_plugin_flashrom.so %endif %if 0%{?have_uefi} %files plugin-uefi-capsule-data @@ -553,7 +552,6 @@ done %files devel %{_datadir}/gir-1.0/Fwupd-2.0.gir -%{_datadir}/gir-1.0/FwupdPlugin-1.0.gir %{_datadir}/doc/fwupd/libfwupdplugin %{_datadir}/doc/fwupd/libfwupd %{_datadir}/doc/libfwupdplugin @@ -562,7 +560,6 @@ done %{_includedir}/fwupd-1 %{_libdir}/libfwupd*.so %{_libdir}/pkgconfig/fwupd.pc -%{_libdir}/pkgconfig/fwupdplugin.pc %files tests %if 0%{?enable_tests} diff --git a/contrib/meson.build b/contrib/meson.build index 980a42f21..e4ca0958e 100644 --- a/contrib/meson.build +++ b/contrib/meson.build @@ -5,7 +5,6 @@ endif con2 = configuration_data() con2.set('FWUPD_VERSION', fwupd_version) -con2.set('FWUPD_PLUGINVER', libfwupdplugin_lt_current) configure_file( input: 'fwupd.spec.in', diff --git a/libfwupdplugin/meson.build b/libfwupdplugin/meson.build index 9ff8b4471..f2e6a2db3 100644 --- a/libfwupdplugin/meson.build +++ b/libfwupdplugin/meson.build @@ -177,13 +177,6 @@ fwupdplugin_headers = [ 'fu-usb-device.h', 'fu-hid-device.h', ] -install_headers( - 'fwupdplugin.h', - subdir: 'fwupd-1', -) -install_headers([fwupdplugin_headers, 'fu-plugin-vfuncs.h'], - subdir: 'fwupd-1/libfwupdplugin', -) fu_hash = custom_target( 'fu-hash.h', @@ -254,8 +247,6 @@ fwupdplugin = library( fwupdplugin_headers, fwupdplugin_headers_private, ], - soversion: libfwupdplugin_lt_current, - version: libfwupdplugin_lt_version, include_directories: [ root_incdir, fwupd_incdir, @@ -268,20 +259,10 @@ fwupdplugin = library( ], link_args: cc.get_supported_link_arguments([vflag]), link_depends: fwupdplugin_mapfile, + install_dir: plugin_dir, install: true ) -fwupdplugin_pkgg = import('pkgconfig') -fwupdplugin_pkgg.generate( - libraries: fwupdplugin, - requires: pkgg_requires, - subdirs: 'fwupd-1', - version: meson.project_version(), - name: 'fwupdplugin', - filebase: 'fwupdplugin', - description: 'library for plugins to use to interact with fwupd daemon', -) - if introspection.allowed() gir_dep = declare_dependency(sources: fwupd_gir) girtargets = [] @@ -328,7 +309,7 @@ if introspection.allowed() girtargets, fwupd_gir[0], ], - install: true + install: false ) # Verify the map file is correct -- note we can't actually use the generated diff --git a/meson.build b/meson.build index 863975dfa..c93e29203 100644 --- a/meson.build +++ b/meson.build @@ -52,10 +52,6 @@ libfwupd_lt_current = '2' libfwupd_lt_revision = '0' libfwupd_lt_age = '0' libfwupd_lt_version = '@0@.@1@.@2@'.format(libfwupd_lt_current, libfwupd_lt_age, libfwupd_lt_revision) -libfwupdplugin_lt_current = '7' -libfwupdplugin_lt_revision = '0' -libfwupdplugin_lt_age = '0' -libfwupdplugin_lt_version = '@0@.@1@.@2@'.format(libfwupdplugin_lt_current, libfwupdplugin_lt_age, libfwupdplugin_lt_revision) # get supported warning flags warning_flags = [ @@ -504,9 +500,9 @@ conf.set_quoted('FWUPD_LOCALEDIR', localedir) if build_standalone if host_machine.system() == 'windows' - plugin_dir = 'fwupd-plugins-@0@'.format(libfwupdplugin_lt_current) + plugin_dir = 'fwupd-@0@'.format(fwupd_version) else - plugin_dir = join_paths(libdir, 'fwupd-plugins-@0@'.format(libfwupdplugin_lt_current)) + plugin_dir = join_paths(libdir, 'fwupd-@0@'.format(fwupd_version)) endif conf.set_quoted('FWUPD_PLUGINDIR', plugin_dir) endif diff --git a/plugins/acpi-dmar/meson.build b/plugins/acpi-dmar/meson.build index 90fa4b301..5e4398d3d 100644 --- a/plugins/acpi-dmar/meson.build +++ b/plugins/acpi-dmar/meson.build @@ -48,6 +48,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('acpi-dmar-self-test', e, env: env) # added to installed-tests diff --git a/plugins/acpi-facp/meson.build b/plugins/acpi-facp/meson.build index e423c3e42..17cc7f095 100644 --- a/plugins/acpi-facp/meson.build +++ b/plugins/acpi-facp/meson.build @@ -48,6 +48,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('acpi-facp-self-test', e, env: env) # added to installed-tests diff --git a/plugins/acpi-ivrs/meson.build b/plugins/acpi-ivrs/meson.build index 75eb1f137..3e2a4f030 100644 --- a/plugins/acpi-ivrs/meson.build +++ b/plugins/acpi-ivrs/meson.build @@ -48,6 +48,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('acpi-ivrs-self-test', e, env: env) # added to installed-tests diff --git a/plugins/acpi-phat/meson.build b/plugins/acpi-phat/meson.build index 7eca61652..6329d997e 100644 --- a/plugins/acpi-phat/meson.build +++ b/plugins/acpi-phat/meson.build @@ -54,6 +54,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('acpi-phat-self-test', e, env: env) # added to installed-tests diff --git a/plugins/ata/meson.build b/plugins/ata/meson.build index 1a7002fa1..5e2c5f795 100644 --- a/plugins/ata/meson.build +++ b/plugins/ata/meson.build @@ -54,6 +54,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('ata-self-test', e, env: env) # added to installed-tests diff --git a/plugins/bcm57xx/meson.build b/plugins/bcm57xx/meson.build index d4599979b..8a2408bc9 100644 --- a/plugins/bcm57xx/meson.build +++ b/plugins/bcm57xx/meson.build @@ -64,6 +64,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('bcm57xx-self-test', e, env: env) diff --git a/plugins/ccgx/meson.build b/plugins/ccgx/meson.build index 109830c25..5fa608712 100644 --- a/plugins/ccgx/meson.build +++ b/plugins/ccgx/meson.build @@ -67,6 +67,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('ccgx-self-test', e, env: env) diff --git a/plugins/dfu/meson.build b/plugins/dfu/meson.build index dd1dac230..459d92a9e 100644 --- a/plugins/dfu/meson.build +++ b/plugins/dfu/meson.build @@ -115,6 +115,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('fu-dfu-self-test', e, env: env) # added to installed-tests diff --git a/plugins/elantp/meson.build b/plugins/elantp/meson.build index ab4675be9..95f5b2249 100644 --- a/plugins/elantp/meson.build +++ b/plugins/elantp/meson.build @@ -58,6 +58,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('elantp-self-test', e, env: env) diff --git a/plugins/linux-swap/meson.build b/plugins/linux-swap/meson.build index ff52f16e1..644a8359c 100644 --- a/plugins/linux-swap/meson.build +++ b/plugins/linux-swap/meson.build @@ -45,6 +45,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('linux-swap-self-test', e) # added to installed-tests diff --git a/plugins/mtd/meson.build b/plugins/mtd/meson.build index 7d85b1995..72fb625ec 100644 --- a/plugins/mtd/meson.build +++ b/plugins/mtd/meson.build @@ -47,6 +47,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('mtd-self-test', e) # added to installed-tests diff --git a/plugins/nitrokey/meson.build b/plugins/nitrokey/meson.build index fe6f12e10..d65c70faa 100644 --- a/plugins/nitrokey/meson.build +++ b/plugins/nitrokey/meson.build @@ -48,6 +48,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('nitrokey-self-test', e) # added to installed-tests diff --git a/plugins/nvme/meson.build b/plugins/nvme/meson.build index 0037bd8c9..cec5e0181 100644 --- a/plugins/nvme/meson.build +++ b/plugins/nvme/meson.build @@ -60,6 +60,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('nvme-self-test', e, env: env) # added to installed-tests diff --git a/plugins/pixart-rf/meson.build b/plugins/pixart-rf/meson.build index 7bffdbf86..cdb839b8e 100644 --- a/plugins/pixart-rf/meson.build +++ b/plugins/pixart-rf/meson.build @@ -56,6 +56,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('pxi-self-test', e, env: env) diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build index d53d3d81b..bcd0facb3 100644 --- a/plugins/redfish/meson.build +++ b/plugins/redfish/meson.build @@ -91,6 +91,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('redfish-self-test', e, env: env) # added to installed-tests diff --git a/plugins/synaptics-mst/meson.build b/plugins/synaptics-mst/meson.build index b96f3eb31..3bf72c161 100644 --- a/plugins/synaptics-mst/meson.build +++ b/plugins/synaptics-mst/meson.build @@ -67,6 +67,7 @@ if get_option('tests') cargs, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('synaptics-mst-self-test', e, env: env) diff --git a/plugins/synaptics-prometheus/meson.build b/plugins/synaptics-prometheus/meson.build index ed14d1464..9be1487b1 100644 --- a/plugins/synaptics-prometheus/meson.build +++ b/plugins/synaptics-prometheus/meson.build @@ -59,6 +59,7 @@ if get_option('tests') ], c_args: cargs, install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('synaptics-prometheus-self-test', e, env: env) # added to installed-tests diff --git a/plugins/synaptics-rmi/meson.build b/plugins/synaptics-rmi/meson.build index 4414f5c49..d17945457 100644 --- a/plugins/synaptics-rmi/meson.build +++ b/plugins/synaptics-rmi/meson.build @@ -63,6 +63,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('synaptics-rmi-self-test', e, env: env) diff --git a/plugins/uefi-dbx/meson.build b/plugins/uefi-dbx/meson.build index 68ba47aab..fc766547e 100644 --- a/plugins/uefi-dbx/meson.build +++ b/plugins/uefi-dbx/meson.build @@ -54,6 +54,7 @@ if get_option('tests') ], c_args: cargs, install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('uefi-dbx-self-test', e, env: env) # added to installed-tests diff --git a/plugins/uf2/meson.build b/plugins/uf2/meson.build index 5bff320db..73ec68f1e 100644 --- a/plugins/uf2/meson.build +++ b/plugins/uf2/meson.build @@ -55,6 +55,7 @@ if get_option('tests') fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('uf2-self-test', e, env: env) diff --git a/plugins/vli/meson.build b/plugins/vli/meson.build index 98af1d784..5ff283070 100644 --- a/plugins/vli/meson.build +++ b/plugins/vli/meson.build @@ -67,6 +67,7 @@ if get_option('tests') ], c_args: cargs, install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('vli-self-test', e) # added to installed-tests diff --git a/plugins/wacom-usb/meson.build b/plugins/wacom-usb/meson.build index 966f12f52..a58dc4f74 100644 --- a/plugins/wacom-usb/meson.build +++ b/plugins/wacom-usb/meson.build @@ -61,6 +61,7 @@ if get_option('tests') ], c_args: cargs, install: true, + install_rpath: plugin_dir, install_dir: installed_test_bindir, ) test('wacom-usb-self-test', e, env: env) # added to installed-tests diff --git a/src/meson.build b/src/meson.build index 4976723a9..a0448b810 100644 --- a/src/meson.build +++ b/src/meson.build @@ -105,6 +105,7 @@ fwupdmgr = executable( fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: bindir ) @@ -144,6 +145,7 @@ fwupdoffline = executable( fwupdplugin, ], install: true, + install_rpath: plugin_dir, install_dir: join_paths(libexecdir, 'fwupd') ) endif @@ -185,6 +187,7 @@ fwupdtool = executable( fwupdplugin ], install: true, + install_rpath: plugin_dir, install_dir: bindir ) @@ -252,6 +255,7 @@ executable( '-DFU_OFFLINE_DESTDIR=""', ], install: true, + install_rpath: plugin_dir, install_dir: daemon_dir )