Do not install the libdfu helper library

In reality fwupd is the only user and we don't want to hold this library to the
same kind of API and ABI guarantees of libfwupd.
This commit is contained in:
Richard Hughes 2017-09-06 11:01:49 +01:00
parent 49e5e05aa8
commit 4022700bc8
15 changed files with 16 additions and 443 deletions

View File

@ -45,10 +45,6 @@ fi
apt purge -y fwupd \
fwupd-doc \
fwupd-dbgsym \
gir1.2-fwupd-1.0 \
libdfu1 \
libdfu1-dbgsym \
libdfu-dev \
libfwupd1 \
libfwupd1-dbgsym \
libfwupd-dev

View File

@ -69,22 +69,6 @@ Description: Firmware update daemon library
.
This package provides the library used by the daemon.
Package: libdfu1
Architecture: linux-any
Depends: ${misc:Depends},
${gir:Depends},
${shlibs:Depends}
Multi-Arch: same
Description: Firmware update daemon library for DFU support
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.
Currently, firmware updates using the UEFI capsule format and for the
ColorHug are supported. More formats may be supported in the future.
See <https://github.com/hughsie/fwupd> for details
.
This package provides the library used by the daemon for DFU support.
Package: libebitdo1
Architecture: linux-any
Depends: ${misc:Depends}
@ -100,6 +84,12 @@ Depends: ${misc:Depends},
${shlibs:Depends}
Recommends: fwupdate,
python3
Breaks: gir1.2-dfu-1.0 (<< 0.9.7-1),
libdfu1 (<< 0.9.7-1),
libdfu-dev (<< 0.9.7-1)
Replaces: gir1.2-dfu-1.0 (<< 0.9.7-1),
libdfu1 (<< 0.9.7-1),
libdfu-dev (<< 0.9.7-1)
Multi-Arch: foreign
Description: Firmware update daemon
fwupd is a daemon to allow session software to update device firmware.
@ -155,7 +145,6 @@ Architecture: linux-any
Multi-Arch: same
Depends: libfwupd1 (= ${binary:Version}),
gir1.2-fwupd-1.0 (= ${binary:Version}),
gir1.2-dfu-1.0 (= ${binary:Version}),
${misc:Depends}
Breaks: fwupd-dev (<< 0.5.4-2~)
Replaces: fwupd-dev (<< 0.5.4-2~)
@ -184,37 +173,6 @@ Description: GObject introspection data for libfwupd
It can be used by packages using the GIRepository format to generate
dynamic bindings.
Package: gir1.2-dfu-1.0
Architecture: linux-any
Multi-Arch: same
Depends: ${misc:Depends},
${gir:Depends}
Breaks: libdfu1 (<< 0.9.5-1~)
Replaces: libdfu1 (<< 0.9.5-1~)
Section: introspection
Description: GObject introspection data for libdfu
This package provides the introspection data for libdfu.
.
It can be used by packages using the GIRepository format to generate
dynamic bindings.
Package: libdfu-dev
Architecture: linux-any
Multi-Arch: same
Depends: libdfu1 (= ${binary:Version}),
gir1.2-dfu-1.0 (= ${binary:Version}),
${misc:Depends}
Section: libdevel
Description: development files for libdfu
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.
Currently, firmware updates using the UEFI capsule format and for the
ColorHug are supported. More formats may be supported in the future.
See <https://github.com/hughsie/fwupd> for details
.
This package provides the development files for libdfu
Package: libebitdo-dev
Architecture: linux-any
Multi-Arch: same

View File

@ -1 +0,0 @@
usr/lib/*/girepository-1.0/Dfu-1.0.typelib

View File

@ -1,5 +0,0 @@
usr/include/libdfu/*
usr/include/dfu.h
usr/lib/*/libdfu*.so
usr/lib/*/pkgconfig/dfu.pc
usr/share/gir-1.0/Dfu*.gir

View File

@ -1,2 +0,0 @@
usr/lib/*/libdfu*.so.*

View File

@ -1,155 +0,0 @@
libdfu.so.1 libdfu1 #MINVER#
dfu_action_to_string@Base 0.7.5
dfu_cipher_decrypt_devo@Base 0.7.3
dfu_cipher_decrypt_xtea@Base 0.7.3
dfu_cipher_encrypt_devo@Base 0.7.3
dfu_cipher_encrypt_xtea@Base 0.7.3
dfu_cipher_kind_to_string@Base 0.6.3
dfu_context_enumerate@Base 0.6.3
dfu_context_get_device_by_platform_id@Base 0.6.3
dfu_context_get_device_by_vid_pid@Base 0.6.3
dfu_context_get_device_default@Base 0.6.3
dfu_context_get_devices@Base 0.6.3
dfu_context_get_timeout@Base 0.6.3
dfu_context_get_type@Base 0.6.3
dfu_context_new@Base 0.6.3
dfu_context_new_with_context@Base 0.8.0
dfu_context_set_timeout@Base 0.6.3
dfu_device_abort@Base 0.6.3
dfu_device_attach@Base 0.6.3
dfu_device_can_download@Base 0.6.3
dfu_device_can_upload@Base 0.6.3
dfu_device_clear_status@Base 0.6.3
dfu_device_close@Base 0.6.3
dfu_device_detach@Base 0.6.3
dfu_device_download@Base 0.6.3
dfu_device_ensure_interface@Base 0.7.2
dfu_device_error_fixup@Base 0.6.3
dfu_device_get_display_name@Base 0.6.3
dfu_device_get_download_timeout@Base 0.6.3
dfu_device_get_interface@Base 0.6.3
dfu_device_get_mode@Base 0.6.3
dfu_device_get_platform_id@Base 0.6.3
dfu_device_get_quirks_as_string@Base 0.6.3
dfu_device_get_runtime_pid@Base 0.6.3
dfu_device_get_runtime_release@Base 0.6.3
dfu_device_get_runtime_vid@Base 0.6.3
dfu_device_get_serial_number@Base 0.7.3
dfu_device_get_state@Base 0.6.3
dfu_device_get_status@Base 0.6.3
dfu_device_get_target_by_alt_name@Base 0.6.3
dfu_device_get_target_by_alt_setting@Base 0.6.3
dfu_device_get_targets@Base 0.6.3
dfu_device_get_timeout@Base 0.6.3
dfu_device_get_transfer_size@Base 0.6.3
dfu_device_get_type@Base 0.6.3
dfu_device_get_usb_dev@Base 0.6.3
dfu_device_get_version@Base 0.7.2
dfu_device_has_attribute@Base 0.6.3
dfu_device_has_dfuse_support@Base 0.6.3
dfu_device_has_quirk@Base 0.6.3
dfu_device_new@Base 0.6.3
dfu_device_open@Base 0.6.3
dfu_device_refresh@Base 0.6.3
dfu_device_reset@Base 0.6.3
dfu_device_set_new_usb_dev@Base 0.6.3
dfu_device_set_timeout@Base 0.6.3
dfu_device_set_transfer_size@Base 0.6.3
dfu_device_upload@Base 0.6.3
dfu_device_wait_for_replug@Base 0.6.3
dfu_element_get_address@Base 0.6.3
dfu_element_get_contents@Base 0.6.3
dfu_element_get_type@Base 0.6.3
dfu_element_new@Base 0.6.3
dfu_element_set_address@Base 0.6.3
dfu_element_set_contents@Base 0.6.3
dfu_element_set_padding_value@Base 0.7.3
dfu_element_set_target_size@Base 0.6.3
dfu_element_to_string@Base 0.6.3
dfu_error_quark@Base 0.6.3
dfu_firmware_add_image@Base 0.6.3
dfu_firmware_add_symbol@Base 0.7.4
dfu_firmware_detect_dfu@Base 0.7.3
dfu_firmware_detect_elf@Base 0.7.3
dfu_firmware_detect_ihex@Base 0.7.3
dfu_firmware_detect_raw@Base 0.7.3
dfu_firmware_format_from_string@Base 0.7.3
dfu_firmware_format_to_string@Base 0.6.3
dfu_firmware_from_dfu@Base 0.7.3
dfu_firmware_from_dfuse@Base 0.7.3
dfu_firmware_from_elf@Base 0.7.3
dfu_firmware_from_ihex@Base 0.7.3
dfu_firmware_from_metadata@Base 0.7.3
dfu_firmware_from_raw@Base 0.7.3
dfu_firmware_get_cipher_kind@Base 0.6.3
dfu_firmware_get_format@Base 0.6.3
dfu_firmware_get_image@Base 0.6.3
dfu_firmware_get_image_by_name@Base 0.6.3
dfu_firmware_get_image_default@Base 0.6.3
dfu_firmware_get_images@Base 0.6.3
dfu_firmware_get_metadata@Base 0.6.3
dfu_firmware_get_metadata_table@Base 0.7.3
dfu_firmware_get_pid@Base 0.6.3
dfu_firmware_get_release@Base 0.6.3
dfu_firmware_get_size@Base 0.6.3
dfu_firmware_get_symbols@Base 0.7.4
dfu_firmware_get_type@Base 0.6.3
dfu_firmware_get_vid@Base 0.6.3
dfu_firmware_lookup_symbol@Base 0.7.4
dfu_firmware_new@Base 0.6.3
dfu_firmware_parse_data@Base 0.6.3
dfu_firmware_parse_file@Base 0.6.3
dfu_firmware_remove_metadata@Base 0.6.3
dfu_firmware_set_cipher_kind@Base 0.7.3
dfu_firmware_set_format@Base 0.6.3
dfu_firmware_set_metadata@Base 0.6.3
dfu_firmware_set_pid@Base 0.6.3
dfu_firmware_set_release@Base 0.6.3
dfu_firmware_set_vid@Base 0.6.3
dfu_firmware_to_dfu@Base 0.7.3
dfu_firmware_to_dfuse@Base 0.7.3
dfu_firmware_to_elf@Base 0.7.3
dfu_firmware_to_ihex@Base 0.7.3
dfu_firmware_to_metadata@Base 0.7.3
dfu_firmware_to_raw@Base 0.7.3
dfu_firmware_to_string@Base 0.6.3
dfu_firmware_write_data@Base 0.6.3
dfu_firmware_write_file@Base 0.6.3
dfu_image_add_element@Base 0.6.3
dfu_image_get_alt_setting@Base 0.6.3
dfu_image_get_element@Base 0.6.3
dfu_image_get_element_default@Base 0.7.0
dfu_image_get_elements@Base 0.6.3
dfu_image_get_name@Base 0.6.3
dfu_image_get_size@Base 0.6.3
dfu_image_get_type@Base 0.6.3
dfu_image_new@Base 0.6.3
dfu_image_set_alt_setting@Base 0.6.3
dfu_image_set_name@Base 0.6.3
dfu_image_to_string@Base 0.6.3
dfu_mode_to_string@Base 0.6.3
dfu_sector_get_address@Base 0.6.3
dfu_sector_get_id@Base 0.6.3
dfu_sector_get_number@Base 0.7.5
dfu_sector_get_size@Base 0.6.3
dfu_sector_get_size_left@Base 0.6.3
dfu_sector_get_type@Base 0.6.3
dfu_sector_get_zone@Base 0.7.5
dfu_sector_has_cap@Base 0.6.3
dfu_sector_new@Base 0.6.3
dfu_sector_to_string@Base 0.6.3
dfu_state_to_string@Base 0.6.3
dfu_status_to_string@Base 0.6.3
dfu_target_download@Base 0.6.3
dfu_target_download_chunk@Base 0.7.5
dfu_target_get_alt_name@Base 0.6.3
dfu_target_get_alt_name_for_display@Base 0.7.5
dfu_target_get_alt_setting@Base 0.6.3
dfu_target_get_cipher_kind@Base 0.6.3
dfu_target_get_sectors@Base 0.6.3
dfu_target_get_type@Base 0.6.3
dfu_target_new@Base 0.6.3
dfu_target_parse_sectors@Base 0.6.3
dfu_target_upload@Base 0.6.3
dfu_target_upload_chunk@Base 0.6.3
dfu_version_to_string@Base 0.7.2

View File

@ -75,7 +75,6 @@ Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: libdfu%{?_isa} = %{version}-%{release}
Requires: glib2%{?_isa} >= %{glib2_version}
Requires: libappstream-glib%{?_isa} >= %{libappstream_version}
Requires: libgusb%{?_isa} >= %{libgusb_version}
@ -87,6 +86,7 @@ Recommends: python3
Obsoletes: fwupd-sign < 0.1.6
Obsoletes: libebitdo < 0.7.5-3
Obsoletes: libdfu < 0.9.8-1
%description
fwupd is a daemon to allow session software to update device firmware.
@ -95,23 +95,11 @@ fwupd is a daemon to allow session software to update device firmware.
Summary: Development package for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: libebitdo-devel < 0.7.5-3
Obsoletes: libdfu-devel < 0.9.8-1
%description devel
Files for development with %{name}.
%package -n libdfu
Summary: A library for DFU
%description -n libdfu
A library for updating USB devices using DFU.
%package -n libdfu-devel
Summary: Development package for libdfu
Requires: libdfu%{?_isa} = %{version}-%{release}
%description -n libdfu-devel
Files for development with libdfu.
%package labels
Summary: Rendered labels for display during system firmware updates.
# BuildArch: noarch is disabled as we can get "different" .BMP files even when
@ -188,15 +176,13 @@ mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
/sbin/ldconfig
%systemd_postun_with_restart fwupd.service
%post -n libdfu -p /sbin/ldconfig
%postun -n libdfu -p /sbin/ldconfig
%files -f %{name}.lang
%doc README.md AUTHORS NEWS
%license COPYING
%config(noreplace)%{_sysconfdir}/fwupd.conf
%dir %{_libexecdir}/fwupd
%{_libexecdir}/fwupd/fwupd
%{_bindir}/dfu-tool
%{_bindir}/fwupdmgr
%dir %{_sysconfdir}/fwupd
%dir %{_sysconfdir}/fwupd/remotes.d
@ -213,6 +199,7 @@ mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
%{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
%{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
%{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
%{_datadir}/man/man1/dfu-tool.1.gz
%{_datadir}/man/man1/fwupdmgr.1.gz
%{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
%{_datadir}/fwupd/firmware-packager
@ -257,21 +244,6 @@ mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
%{_libdir}/libfwupd*.so
%{_libdir}/pkgconfig/fwupd.pc
%files -n libdfu
%{_bindir}/dfu-tool
%{_datadir}/man/man1/dfu-tool.1.gz
%{_libdir}/girepository-1.0/Dfu-1.0.typelib
%{_libdir}/libdfu*.so.*
%files -n libdfu-devel
%{_datadir}/gir-1.0/Dfu-1.0.gir
%{_datadir}/gtk-doc/html/libdfu
%dir %{_includedir}/libdfu
%{_includedir}/dfu.h
%{_includedir}/libdfu/*.h
%{_libdir}/libdfu*.so
%{_libdir}/pkgconfig/dfu.pc
%files labels
%if 0%{?have_uefi}
%{_datadir}/locale/*/LC_IMAGES/fwupd*

View File

@ -1,6 +0,0 @@
rm -f *.txt
rm -rf html/
rm -rf xml/
rm -rf tmpl/
rm -f *.stamp

View File

@ -1,90 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<book id="index">
<bookinfo>
<title>libdfu Reference Manual</title>
</bookinfo>
<reference id="intro">
<title>About libdfu</title>
<partintro>
<para>
libdfu is a library for updating firmware on DFU-capable devices.
<ulink url="https://en.wikipedia.org/wiki/USB#DFU">DFU</ulink>
is a standardised protocol used on many millions of devices
to safely update device firmware by the user.
Is is designed to be easy to implement in device bootloaders and
also easy to support in native host drivers.
Flashing firmware using DFU is supported in Windows, Linux and OS-X.
</para>
<para>
Updating firmware on a device is typically done using
<ulink url="http://www.fwupd.org/">fwupd</ulink> or by a session
application like GNOME Software.
You can also use <ulink url="http://dfu-util.sourceforge.net/">dfu-util</ulink>
which may support mode device types than <command>dfu-tool</command>
supplied by fwupd.
</para>
<para>
<command>libdfu</command> provides a medium-level API which is
available for all languages that support GObject Introspection.
It supports cancellation using <varname>GCancellable</varname>
and erro reporting using <varname>GError</varname>.
To download a device using the API it is as simple as getting
a <varname>GUsbDevice</varname> and then doing something like
this:
</para>
<programlisting>
dfu_firmware = dfu_firmware_new ();
if (!dfu_firmware_parse_data (dfu_firmware, blob_fw,
DFU_FIRMWARE_PARSE_FLAG_NONE, error))
return FALSE;
dfu_device = dfu_device_new (dev);
if (!dfu_device_download (dfu_device, dfu_firmware,
DFU_TARGET_TRANSFER_FLAG_DETACH |
DFU_TARGET_TRANSFER_FLAG_VERIFY |
DFU_TARGET_TRANSFER_FLAG_BOOT_RUNTIME,
cancelleable,
_progress_cb, userdata,
error))
return FALSE;
</programlisting>
<para>
You can read more about DFU in the <ulink url="http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf">official specification</ulink>.
</para>
</partintro>
</reference>
<reference id="libdfu">
<title>libdfu</title>
<partintro>
<para>
Functionality exported by libdfu.
</para>
</partintro>
<xi:include href="xml/dfu-context.xml"/>
<xi:include href="xml/dfu-device.xml"/>
<xi:include href="xml/dfu-firmware.xml"/>
<xi:include href="xml/dfu-image.xml"/>
<xi:include href="xml/dfu-element.xml"/>
<xi:include href="xml/dfu-sector.xml"/>
<xi:include href="xml/dfu-target.xml"/>
<xi:include href="xml/dfu-common.xml"/>
<xi:include href="xml/dfu-error.xml"/>
</reference>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="deprecated-api-index" role="deprecated">
<title>Index of deprecated API</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

View File

@ -1,7 +0,0 @@
dfu_context_get_type
dfu_device_get_type
dfu_element_get_type
dfu_firmware_get_type
dfu_image_get_type
dfu_target_get_type
dfu_sector_get_type

View File

@ -1,9 +0,0 @@
gnome.gtkdoc(
'libdfu',
src_dir : [
join_paths(meson.source_root(), 'libdfu'),
join_paths(meson.build_root(), 'libdfu'),
],
main_xml : 'libdfu-docs.xml',
install : true
)

View File

@ -1 +0,0 @@
../libdfu/clean.sh

5
docs/libfwupd/clean.sh Normal file
View File

@ -0,0 +1,5 @@
rm -f *.txt
rm -rf html/
rm -rf xml/
rm -rf tmpl/
rm -f *.stamp

View File

@ -1,5 +1,4 @@
if get_option('enable-doc')
subdir('libdfu')
subdir('libfwupd')
endif
if get_option('enable-man')

View File

@ -1,6 +0,0 @@
{
global:
dfu_*;
local:
*;
};

View File

@ -2,22 +2,6 @@ cargs = [
'-DG_LOG_DOMAIN="Dfu"',
]
install_headers('dfu.h')
install_headers([
'dfu-common.h',
'dfu-context.h',
'dfu-device.h',
'dfu-element.h',
'dfu-error.h',
'dfu-firmware.h',
'dfu-image.h',
'dfu-patch.h',
'dfu-sector.h',
'dfu-target.h',
],
subdir : 'libdfu'
)
deps = [
appstream_glib,
giounix,
@ -29,9 +13,7 @@ if get_option('enable-libelf')
deps += libelf
endif
mapfile = 'dfu.map'
vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
dfu = shared_library(
dfu = static_library(
'dfu',
sources : [
'dfu-cipher-devo.c',
@ -53,26 +35,9 @@ dfu = shared_library(
'dfu-sector.c',
'dfu-target.c',
],
soversion : lt_current,
version : lt_version,
dependencies : deps,
c_args : cargs,
include_directories : include_directories('..'),
link_args : vflag,
link_depends : mapfile,
install : true
)
pkgg = import('pkgconfig')
pkgg.generate(
libraries : dfu,
requires : [ 'gio-2.0', 'gusb' ],
requires_private : [ 'libelf', 'appstream-glib' ],
subdirs : 'libdfu',
version : meson.project_version(),
name : 'dfu',
filebase : 'dfu',
description : 'libdfu is a library for reading and writing USB device firmware',
)
executable(
@ -91,46 +56,6 @@ executable(
install_dir : get_option('bindir')
)
if get_option('enable-introspection')
gnome.generate_gir(dfu,
sources : [
'dfu-common.c',
'dfu-common.h',
'dfu-context.c',
'dfu-context.h',
'dfu-device.c',
'dfu-device.h',
'dfu-element.c',
'dfu-element.h',
'dfu-error.c',
'dfu-error.h',
'dfu-firmware.c',
'dfu-firmware.h',
'dfu-image.c',
'dfu-image.h',
'dfu-patch.c',
'dfu-patch.h',
'dfu-sector.c',
'dfu-sector.h',
'dfu-target.c',
'dfu-target.h',
],
nsversion : '1.0',
namespace : 'Dfu',
symbol_prefix : 'dfu',
identifier_prefix : 'Dfu',
export_packages : 'dfu',
dependencies : deps,
includes : [
'AppStreamGlib-1.0',
'Gio-2.0',
'GObject-2.0',
'GUsb-1.0',
],
install : true
)
endif
if get_option('enable-tests')
testdatadir = join_paths(meson.current_source_dir(), 'tests')
cargs += '-DTESTDATADIR="' + testdatadir + '"'