Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/rtmpdump: Fix librtmp.pc defaulting to OpenSSL
@ 2015-10-15 18:33 Bernd Kuhls
  2015-10-15 22:01 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: Bernd Kuhls @ 2015-10-15 18:33 UTC (permalink / raw)
  To: buildroot

rtmpdump has an optional dependency to OpenSSL or GnuTLS.
The 'Requires: ' section of librtmp.pc defaults to "libssl,libcrypto"
even when no crypto lib is available because the 'CRYPTO=' override in
rtmpdump.mk does not force librtmp/Makefile, line 35, to not include
these libraries. This breaks ffmpeg configure.

The bug occured using this defconfig

BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y
BR2_PACKAGE_FFMPEG_FFPLAY=y
BR2_PACKAGE_FFMPEG_FFSERVER=y
BR2_PACKAGE_FFMPEG_FFPROBE=y
BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_RTMPDUMP=y

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: Removed "Fixes" section because this patch addresses another bug.

 package/rtmpdump/rtmpdump.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk
index 613f1cd..5709cdb 100644
--- a/package/rtmpdump/rtmpdump.mk
+++ b/package/rtmpdump/rtmpdump.mk
@@ -25,6 +25,10 @@ RTMPDUMP_CRYPTO = OPENSSL
 else
 # no crypto
 RTMPDUMP_CRYPTO =
+define RTMPDUMP_FIX_MAKEFILE
+	$(SED) "s/CRYPTO=.*//g" $(@D)/librtmp/Makefile
+endef
+RTMPDUMP_POST_PATCH_HOOKS += RTMPDUMP_FIX_MAKEFILE
 endif
 
 RTMPDUMP_CFLAGS = $(TARGET_CFLAGS)
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/rtmpdump: Fix librtmp.pc defaulting to OpenSSL
  2015-10-15 18:33 [Buildroot] [PATCH v2 1/1] package/rtmpdump: Fix librtmp.pc defaulting to OpenSSL Bernd Kuhls
@ 2015-10-15 22:01 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2015-10-15 22:01 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Thu, 15 Oct 2015 20:33:32 +0200, Bernd Kuhls wrote:

> diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk
> index 613f1cd..5709cdb 100644
> --- a/package/rtmpdump/rtmpdump.mk
> +++ b/package/rtmpdump/rtmpdump.mk
> @@ -25,6 +25,10 @@ RTMPDUMP_CRYPTO = OPENSSL
>  else
>  # no crypto
>  RTMPDUMP_CRYPTO =
> +define RTMPDUMP_FIX_MAKEFILE
> +	$(SED) "s/CRYPTO=.*//g" $(@D)/librtmp/Makefile
> +endef
> +RTMPDUMP_POST_PATCH_HOOKS += RTMPDUMP_FIX_MAKEFILE
>  endif
>  
>  RTMPDUMP_CFLAGS = $(TARGET_CFLAGS)

This is the wrong fix. We are already passing CRYPTO= when no crypto
library is used. The only problem is that we are only passing it at
build time, while the .pc file is generated from .pc.in at install
time. So all we need to do is pass CRYPTO also at install time. My
proposal is therefore:

diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk
index 613f1cd..a59ec9c 100644
--- a/package/rtmpdump/rtmpdump.mk
+++ b/package/rtmpdump/rtmpdump.mk
@@ -35,22 +35,25 @@ else
 RTMPDUMP_SHARED = "SHARED="
 endif
 
+RTMPDUMP_MAKE_FLAGS = \
+       CRYPTO=$(RTMPDUMP_CRYPTO) \
+       prefix=/usr \
+       $(RTMPDUMP_SHARED)
+
 define RTMPDUMP_BUILD_CMDS
-       $(MAKE) CRYPTO=$(RTMPDUMP_CRYPTO) \
-               prefix=/usr \
+       $(MAKE) $(RTMPDUMP_MAKE_FLAGS) \
                XCFLAGS="$(RTMPDUMP_CFLAGS)" \
                XLDFLAGS="$(TARGET_LDFLAGS)" \
                CROSS_COMPILE="$(TARGET_CROSS)" \
-               $(RTMPDUMP_SHARED) \
                -C $(@D)/librtmp
 endef
 
 define RTMPDUMP_INSTALL_STAGING_CMDS
-       $(MAKE) prefix=/usr -C $(@D)/librtmp install DESTDIR=$(STAGING_DIR) $(RTMPDUMP_SHARED)
+       $(MAKE) -C $(@D)/librtmp install DESTDIR=$(STAGING_DIR) $(RTMPDUMP_MAKE_FLAGS)
 endef
 
 define RTMPDUMP_INSTALL_TARGET_CMDS
-       $(MAKE) prefix=/usr -C $(@D)/librtmp install DESTDIR=$(TARGET_DIR) $(RTMPDUMP_SHARED)
+       $(MAKE) -C $(@D)/librtmp install DESTDIR=$(TARGET_DIR) $(RTMPDUMP_MAKE_FLAGS)
 endef
 
 $(eval $(generic-package))

I tested it, it works for me. If it does for you, can you submit it as
a proper patch?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-10-15 22:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-15 18:33 [Buildroot] [PATCH v2 1/1] package/rtmpdump: Fix librtmp.pc defaulting to OpenSSL Bernd Kuhls
2015-10-15 22:01 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox