* [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