Skip to contentSkip to conversation

package/rtmpdump: Fix librtmp.pc defaulting to OpenSSL

PATCH Superseded Bernd Kuhls 2 participants 2 messages Oct 15, 2015

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/rtmpdump: Fix librtmp.pc defaulting to OpenSSL

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.

Fixes
http://autobuild.buildroot.net/results/ae0/ae0c4bab7975ed2ad77a9f9fd6a300d1327d56b9/
http://autobuild.buildroot.net/results/45d/45dd9adbac449ce0ed66af5b4655b4d9b37faa62/

---
 package/rtmpdump/rtmpdump.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/rtmpdump/rtmpdump.mk +4 -0
index 613f1cd..5709cdb 100644
@@ -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)
Signature · 1 line
2.6.1
#1 lore raw

PATCH 1/1 package/rtmpdump: Fix librtmp.pc defaulting to OpenSSL

Quoted 20 lines · Bernd Kuhls

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.

Fixes
http://autobuild.buildroot.net/results/ae0/ae0c4bab7975ed2ad77a9f9fd6a300d1327d56b9/
http://autobuild.buildroot.net/results/45d/45dd9adbac449ce0ed66af5b4655b4d9b37faa62/

---
 package/rtmpdump/rtmpdump.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/rtmpdump/rtmpdump.mk +0 -0
index 613f1cd..5709cdb 100644

package/rtmpdump/rtmpdump.mk RTMPDUMP_CRYPTO = OPENSSL · line 30

Quoted 6 lines
package/rtmpdump/rtmpdump.mk +3 -0
@@ -25,6 +25,10 @@ RTMPDUMP_CRYPTO = OPENSSL
 else
 # no crypto
 RTMPDUMP_CRYPTO =
+define RTMPDUMP_FIX_MAKEFILE
+	$(SED) "s/CRYPTO=.*//g" $(@D)/librtmp/Makefile
+endef

I really don't like modifying the source depending on the configuration...
Also, this doesn't fix it for polarssl and gnutls.

Fortunately, there is a simpler solution. When building, we already pass
CRYPTO= as an override to make, we should do the same when installing. IMHO the other flags should be passed as well, so:

RTMPDUMP_MAKE_OPTS = \
	CRYPTO=$(RTMPDUMP_CRYPTO) \
	prefix=/usr \
	XCFLAGS="$(RTMPDUMP_CFLAGS)" \
	XLDFLAGS="$(TARGET_LDFLAGS)" \
	CROSS_COMPILE="$(TARGET_CROSS)" \
	$(RTMPDUMP_SHARED)

define RTMPDUMP_BUILD_CMDS

	$(MAKE) $(RTMPDUMP_MAKE_OPTS) \
		-C $(@D)/librtmp

endef

define RTMPDUMP_INSTALL_STAGING_CMDS

	$(MAKE) $(RTMPDUMP_MAKE_OPTS) DESTDIR=$(STAGING_DIR) \
		-C $(@D)/librtmp install

endef

define RTMPDUMP_INSTALL_STAGING_CMDS

	$(MAKE) $(RTMPDUMP_MAKE_OPTS) DESTDIR=$(TARGET_DIR) \
		-C $(@D)/librtmp install

endef

Regards,
Arnout

Quoted 5 lines
package/rtmpdump/rtmpdump.mk +1 -0
+RTMPDUMP_POST_PATCH_HOOKS += RTMPDUMP_FIX_MAKEFILE
 endif
 
 RTMPDUMP_CFLAGS = $(TARGET_CFLAGS)
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF