Ticket #290 (closed bug: fixed)

Opened 8 years ago

Last modified 8 years ago

[Patch] Drop external/. Use system's libconfig and libdbus-c++ instead

Reported by: adi Assigned to:
Priority: major Milestone: FFADO 2.1
Component: generic Version: FFADO SVN (trunk)
Keywords: Cc: nils
The device the bug applies to:

Description

Right now, FFADO ships a private copy of libdbus-c++ and libconfig in the external/ directory. This is usually discouraged by distributions, because those statically builtin copies needs separate treatment in case of security fixes or other issues.

The attached patch fixes this issue. On Debian-like systems, install libconfig++8-dev and libdbus-c++-dev to satisfy the external dependencies.

Attachments

ffado-external-libs.patch (32.3 kB) - added by adi on 07/13/10 00:42:49.
Refreshed version (by Orcan Ogetbil) of the patch
ffado-external-libs-rev3.patch (33.4 kB) - added by oget on 07/14/10 12:23:54.
3rd revesion of the strip bundled libraries patch. Changes: 1- Don't compile dbus support when dbus-c++ headers are missing. 2- Don't link to expat unless SERIALIZE_USE_EXPAT is passed.
libffado-libconfig145.patch (0.6 kB) - added by oget on 07/14/10 12:28:19.
make ffado compile against libconfig-1.4.5. Backwards compatible patch.

Change History

07/13/10 00:42:49 changed by adi

  • attachment ffado-external-libs.patch added.

Refreshed version (by Orcan Ogetbil) of the patch

07/13/10 17:12:25 changed by oget

Actually, I think we should add another clause to dbus check. Currently, the patch disables dbus support only if one of - dbus headers - dbusxx-xml2cpp is missing. - dbus-c++ headers need to be added to this list. I'll update the patch.

Off topic: Now I have a trac account I will also post my other patches that are packaging related. Make the .desktop file nicer, put the configuration file in /etc instead of /usr/share/libffado etc.

07/14/10 12:23:54 changed by oget

  • attachment ffado-external-libs-rev3.patch added.

3rd revesion of the strip bundled libraries patch. Changes: 1- Don't compile dbus support when dbus-c++ headers are missing. 2- Don't link to expat unless SERIALIZE_USE_EXPAT is passed.

07/14/10 12:28:19 changed by oget

  • attachment libffado-libconfig145.patch added.

make ffado compile against libconfig-1.4.5. Backwards compatible patch.

07/14/10 12:33:59 changed by oget

Hi, I just sent the two patches I made. ffado-external-libs-rev3.patch adds two more features:

1- Don't compile dbus support when dbus-c++ headers are missing. This one is definitely needed.

2- Don't link to expat unless SERIALIZE_USE_EXPAT is passed. By default ffado uses libxml++. Serialization via expat is optional. However, expat was also needed for the bundlud copy of dbus-c++. Since we patched that out, we don't need to link to expat anymore, by default.

libffado-libconfig145.patch: This is to make ffado compile against libconfig-1.4.5. There was a tiny API change that we needed to take into account. I tested the patch against both libconfig-1.3.2 and libconfig-1.4.5. It works. Needless to say, this patch requires the above patch.

07/21/10 10:12:54 changed by adi

  • summary changed from Drop external/. Use system's libconfig and libdbus-c++ instead to [Patch] Drop external/. Use system's libconfig and libdbus-c++ instead.

08/02/10 08:22:17 changed by oget

Hello, is there any progress on reviewing this?

The patch alters SConstruct files, which are usually modified rather frequently. If this does not get reviewed soon, and the code starts to diverge, then we will need to redo all the work we have done.

For the Fedora package, we've been using the ffado-external-libs-rev3.patch and libffado-libconfig145.patch

08/02/10 13:52:45 changed by nils

  • cc set to nils.

09/10/10 14:53:17 changed by arnonym

  • status changed from new to closed.
  • resolution set to fixed.
  • milestone set to FFADO 2.1.

Thanks for the patches. Applied in r1888.