package/shairport-sync: fix avahi dependency
PATCH 1/2 package/shairport-sync: fix avahi dependency
Shairport-syncs avahi (zeroconf) support needs libdns_sd which is only build when BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY is selected.
Fixes autobuild errors:
- http://autobuild.buildroot.net/results/a6a/a6ab7641a3cafcdaeffe11f08d5fcacbbb882d8d/
- http://autobuild.buildroot.net/results/cb4/cb41980f2fb416d627bea0950e1dae727eae0ca6/
- http://autobuild.buildroot.net/results/009/00929df01474813be576936e80e86374efdbc327/
- http://autobuild.buildroot.net/results/a40/a40b8cf9aaa4ade4d96524219276cfad2920104c/
- http://autobuild.buildroot.net/results/03f/03fff2805b3348f2557bbef73a716eadea3add03/
--- package/shairport-sync/shairport-sync.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/shairport-sync/shairport-sync.mk +1 -1
@@ -17,7 +17,7 @@ SHAIRPORT_SYNC_AUTORECONF = YES SHAIRPORT_SYNC_CONF_OPTS = --with-alsa # required # Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns) -ifeq ($(BR2_PACKAGE_AVAHI),y) +ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y) SHAIRPORT_SYNC_DEPENDENCIES += avahi SHAIRPORT_SYNC_CONF_OPTS += --with-avahi else
Signature · 1 line
2.1.3
PATCH 2/2 package/shairport-sync: bump to version 2.1.8
Bump to version 2.1.8:
* remove comment about COPYING (fixed upstream)
* adapt ssl configure option for openssl and polarssl
--- package/shairport-sync/shairport-sync.mk | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
package/shairport-sync/shairport-sync.mk +3 -6
@@ -4,12 +4,9 @@ # ################################################################################ -SHAIRPORT_SYNC_VERSION = 2.1.5 +SHAIRPORT_SYNC_VERSION = 2.1.8 SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION)) -# Note: the COPYING file contains the text of GPLv3, but none of the -# code is under this license. Bug reported upstream at -# https://github.com/mikebrady/shairport-sync/issues/13. SHAIRPORT_SYNC_LICENSE = MIT, BSD-3c SHAIRPORT_SYNC_LICENSE_FILES = LICENSES SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libdaemon popt
@@ -27,10 +24,10 @@ endif # OpenSSL or PolarSSL ifeq ($(BR2_PACKAGE_OPENSSL),y) SHAIRPORT_SYNC_DEPENDENCIES += openssl -SHAIRPORT_SYNC_CONF_OPTS += --with-openssl +SHAIRPORT_SYNC_CONF_OPTS += --with-ssl=openssl else SHAIRPORT_SYNC_DEPENDENCIES += polarssl -SHAIRPORT_SYNC_CONF_OPTS += --with-polarssl +SHAIRPORT_SYNC_CONF_OPTS += --with-ssl=polarssl endif ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR),y)
Signature · 1 line
2.1.3
Thomas Petazzoni
AppliedPATCH 2/2 package/shairport-sync: bump to version 2.1.8
Dear J?rg Krause,
Quoted 8 lines · J?rg Krause
Bump to version 2.1.8:
* remove comment about COPYING (fixed upstream)
* adapt ssl configure option for openssl and polarsslSigned-off-by J?rg Krause <[email protected]>--- package/shairport-sync/shairport-sync.mk | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/2 package/shairport-sync: fix avahi dependency
In reply to Jörg KrauseDear J?rg Krause,
Quoted 20 lines · J?rg Krause
Shairport-syncs avahi (zeroconf) support needs
libdns_sdwhich is only build whenBR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITYis selected.Fixes autobuild errors:
- http://autobuild.buildroot.net/results/a6a/a6ab7641a3cafcdaeffe11f08d5fcacbbb882d8d/
- http://autobuild.buildroot.net/results/cb4/cb41980f2fb416d627bea0950e1dae727eae0ca6/
- http://autobuild.buildroot.net/results/009/00929df01474813be576936e80e86374efdbc327/
- http://autobuild.buildroot.net/results/a40/a40b8cf9aaa4ade4d96524219276cfad2920104c/
- http://autobuild.buildroot.net/results/03f/03fff2805b3348f2557bbef73a716eadea3add03/Signed-off-by J?rg Krause <[email protected]>--- package/shairport-sync/shairport-sync.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/shairport-sync/shairport-sync.mk +0
-0
package/shairport-sync/shairport-sync.mk SHAIRPORT_SYNC_AUTORECONF = YES · line 23
Quoted 8 lines
package/shairport-sync/shairport-sync.mk +1
-1@@ -17,7 +17,7 @@ SHAIRPORT_SYNC_AUTORECONF = YES SHAIRPORT_SYNC_CONF_OPTS = --with-alsa # required # Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns) -ifeq ($(BR2_PACKAGE_AVAHI),y) +ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y) SHAIRPORT_SYNC_DEPENDENCIES += avahi SHAIRPORT_SYNC_CONF_OPTS += --with-avahi else
I'm not sure about this one. Automatic dependencies are OK when they are relatively obvious: it's relatively obvious that if you want Avahi support in package "foo", then you should enable Avahi. However, it's clearly not obvious that if you want Avahi support in Shairport-sync, you should have this libdnssd compatibility option of Avahi enabled.
Therefore, my feeling is that this is the sort of case where we should instead introduce a sub-option of Shairport-sync to enable Avahi support, which would select both BR2_PACKAGE_AVAHI and BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY.
Peter, Arnout, Gustavo, an opinion?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/2 package/shairport-sync: fix avahi dependency
Quoted 38 lines · Thomas Petazzoni
Dear J?rg Krause,
Quoted 20 lines · J?rg Krause
Shairport-syncs avahi (zeroconf) support needs
libdns_sdwhich is only build whenBR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITYis selected.Fixes autobuild errors:
- http://autobuild.buildroot.net/results/a6a/a6ab7641a3cafcdaeffe11f08d5fcacbbb882d8d/
- http://autobuild.buildroot.net/results/cb4/cb41980f2fb416d627bea0950e1dae727eae0ca6/
- http://autobuild.buildroot.net/results/009/00929df01474813be576936e80e86374efdbc327/
- http://autobuild.buildroot.net/results/a40/a40b8cf9aaa4ade4d96524219276cfad2920104c/
- http://autobuild.buildroot.net/results/03f/03fff2805b3348f2557bbef73a716eadea3add03/Signed-off-by J?rg Krause <[email protected]>--- package/shairport-sync/shairport-sync.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/shairport-sync/shairport-sync.mk +0
-0package/shairport-sync/shairport-sync.mk SHAIRPORT_SYNC_AUTORECONF = YES · line 23
Quoted 8 lines
package/shairport-sync/shairport-sync.mk +1
-1@@ -17,7 +17,7 @@ SHAIRPORT_SYNC_AUTORECONF = YES SHAIRPORT_SYNC_CONF_OPTS = --with-alsa # required # Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns) -ifeq ($(BR2_PACKAGE_AVAHI),y) +ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y) SHAIRPORT_SYNC_DEPENDENCIES += avahi SHAIRPORT_SYNC_CONF_OPTS += --with-avahi elseI'm not sure about this one. Automatic dependencies are OK when they are relatively obvious: it's relatively obvious that if you want Avahi support in package "foo", then you should enable Avahi. However, it's clearly not obvious that if you want Avahi support in Shairport-sync, you should have this libdnssd compatibility option of Avahi enabled.
Quoted 6 lines
Therefore, my feeling is that this is the sort of case where we should instead introduce a sub-option of Shairport-sync to enable Avahi support, which would select both
BR2_PACKAGE_AVAHIandBR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY.Peter, Arnout, Gustavo, an opinion?
I agree with your theory. However, in this particular case, what you really
want is the DNS-SD support. In case BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY, you'll still get DNS-SD support, just not through avahi but instead through the bundled tinysvcmdns. So I don't think adding a config option for it is really needed.
However, it would still be useful to use avahi when avahi is available. So
instead I'd add to Config.in:
select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY if BR2_PACKAGE_AVAHI_DAEMON
(with the appropriate explanatory comment).
Regards,
Arnout
Quoted 3 lines
Thomas
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/2 package/shairport-sync: fix avahi dependency
Thomas, Arnout, All,
Quoted 52 lines · Arnout Vandecappelle
Quoted 38 lines · Thomas Petazzoni
Dear J?rg Krause,
Quoted 20 lines · J?rg Krause
Shairport-syncs avahi (zeroconf) support needs
libdns_sdwhich is only build whenBR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITYis selected.Fixes autobuild errors:
- http://autobuild.buildroot.net/results/a6a/a6ab7641a3cafcdaeffe11f08d5fcacbbb882d8d/
- http://autobuild.buildroot.net/results/cb4/cb41980f2fb416d627bea0950e1dae727eae0ca6/
- http://autobuild.buildroot.net/results/009/00929df01474813be576936e80e86374efdbc327/
- http://autobuild.buildroot.net/results/a40/a40b8cf9aaa4ade4d96524219276cfad2920104c/
- http://autobuild.buildroot.net/results/03f/03fff2805b3348f2557bbef73a716eadea3add03/Signed-off-by J?rg Krause <[email protected]>--- package/shairport-sync/shairport-sync.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/shairport-sync/shairport-sync.mk +0
-0package/shairport-sync/shairport-sync.mk SHAIRPORT_SYNC_AUTORECONF = YES · line 23
Quoted 8 lines
package/shairport-sync/shairport-sync.mk +1
-1@@ -17,7 +17,7 @@ SHAIRPORT_SYNC_AUTORECONF = YES SHAIRPORT_SYNC_CONF_OPTS = --with-alsa # required # Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns) -ifeq ($(BR2_PACKAGE_AVAHI),y) +ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y) SHAIRPORT_SYNC_DEPENDENCIES += avahi SHAIRPORT_SYNC_CONF_OPTS += --with-avahi elseI'm not sure about this one. Automatic dependencies are OK when they are relatively obvious: it's relatively obvious that if you want Avahi support in package "foo", then you should enable Avahi. However, it's clearly not obvious that if you want Avahi support in Shairport-sync, you should have this libdnssd compatibility option of Avahi enabled.
Quoted 6 lines
Therefore, my feeling is that this is the sort of case where we should instead introduce a sub-option of Shairport-sync to enable Avahi support, which would select both
BR2_PACKAGE_AVAHIandBR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY.Peter, Arnout, Gustavo, an opinion?
I agree with your theory. However, in this particular case, what you really
want is the DNS-SD support. In caseBR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY, you'll still get DNS-SD support, just not through avahi but instead through the bundled tinysvcmdns. So I don't think adding a config option for it is really needed.
Quoted 6 lines
However, it would still be useful to use avahi when avahi is available. So
instead I'd add to Config.in:select
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITYifBR2_PACKAGE_AVAHI_DAEMON(with the appropriate explanatory comment).
shairport-sync uses mDNS to pubish its service. This task is implemented (among others) in avahi and tinysvcmdns.
To use avahi as the mDNS backend, shairport-sync requires libavahi-client, and not necessarily libdns_sd as I thought. Both will work, but libavahi-client is enough.
Before submitting this patch I have run a test with BR2_PACKAGE_AVAHI_DAEMON enabled, which gaves my the same error about the missing libavahi-client.
I've checked the sources of avahi and noticed that libavahi-client depends not only on avahi-daemon, but also on dbus, which was not selected.
Selecting BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY selects BR2_PACKAGE_DBUS, that's why it builds successfully.
To get libavahi-client support shairport-sync needs to select BR2_PACKAGE_AVAHI_DAEMON and BR2_PACKAGE_DBUS which is not quite obvious if you've not checked avahis configure file.
How about a patch for avahi to add BR2_PACKAGE_LIBAVAHI_CLIENT?
Best regards
J?rg Krause
PATCH 1/2 package/shairport-sync: fix avahi dependency
On 31/10/14 00:42, J?rg Krause wrote:
[snip]
Quoted 15 lines
shairport-sync uses mDNS to pubish its service. This task is implemented (among others) in avahi and tinysvcmdns.
To use avahi as the mDNS backend, shairport-sync requires libavahi-client, and not necessarily
libdns_sdas I thought. Both will work, but libavahi-client is enough.Before submitting this patch I have run a test with
BR2_PACKAGE_AVAHI_DAEMONenabled, which gaves my the same error about the missing libavahi-client.I've checked the sources of avahi and noticed that libavahi-client depends not only on avahi-daemon, but also on dbus, which was not selected.
Quoted 8 lines
Selecting
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITYselectsBR2_PACKAGE_DBUS, that's why it builds successfully.To get libavahi-client support shairport-sync needs to select
BR2_PACKAGE_AVAHI_DAEMONandBR2_PACKAGE_DBUSwhich is not quite obvious if you've not checked avahis configure file.How about a patch for avahi to add
BR2_PACKAGE_LIBAVAHI_CLIENT?
Sounds good to me!
Thanks for the detailed analysis.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F