[Buildroot] [PATCH] package/perl-http-message: add missing reverse dependency on perl-clone

Romain Naour romain.naour at gmail.com
Sat Jun 3 21:06:42 UTC 2023


Commit [1] added dependency on perl-clone but forgot to propagate
the reverse dependency on !BR2_STATIC_LIBS.

Fixes:

WARNING: unmet direct dependencies detected for BR2_PACKAGE_PERL_CLONE
  Depends on [n]: BR2_PACKAGE_PERL [=y] && !BR2_STATIC_LIBS [=y]
  Selected by [y]:
  - BR2_PACKAGE_PERL_HTTP_MESSAGE [=y] && BR2_PACKAGE_PERL [=y]

http://autobuild.buildroot.org/results/5d5/5d503aaa94b56523c684be7946123921747ebf52

[1] 742258fec06df18782e4bd75b00ca530120312cb

Signed-off-by: Romain Naour <romain.naour at gmail.com>
---
While looking at perl-clone build, I noticed that "-shared" is provided
to lddlflags by the Perl package infrastructure:

  --config lddlflags="-shared $$(TARGET_LDFLAGS)"

It would means that any Perl package in Buildroot requires a dependency
on !BR2_STATIC_LIBS.

Currently some Perl packages doesn't requires !BR2_STATIC_LIBS since they
simply copy some .pm files. But as soon as something is built, it break
for static only builds.
---
 package/perl-http-cookies/Config.in   | 4 ++++
 package/perl-http-daemon/Config.in    | 4 ++++
 package/perl-http-message/Config.in   | 4 ++++
 package/perl-http-negotiate/Config.in | 4 ++++
 package/perl-plack/Config.in          | 4 ++++
 5 files changed, 20 insertions(+)

diff --git a/package/perl-http-cookies/Config.in b/package/perl-http-cookies/Config.in
index 3ca461bf83..147d9521bb 100644
--- a/package/perl-http-cookies/Config.in
+++ b/package/perl-http-cookies/Config.in
@@ -1,8 +1,12 @@
 config BR2_PACKAGE_PERL_HTTP_COOKIES
 	bool "perl-http-cookies"
+	depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone
 	select BR2_PACKAGE_PERL_HTTP_DATE # runtime
 	select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime
 	help
 	  HTTP cookie jars.
 
 	  https://github.com/libwww-perl/HTTP-Cookies
+
+comment "perl-http-cookies needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
diff --git a/package/perl-http-daemon/Config.in b/package/perl-http-daemon/Config.in
index 0c7ffe723a..4d6277a799 100644
--- a/package/perl-http-daemon/Config.in
+++ b/package/perl-http-daemon/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_PERL_HTTP_DAEMON
 	bool "perl-http-daemon"
+	depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone
 	select BR2_PACKAGE_PERL_HTTP_DATE # runtime
 	select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime
 	select BR2_PACKAGE_PERL_LWP_MEDIATYPES # runtime
@@ -7,3 +8,6 @@ config BR2_PACKAGE_PERL_HTTP_DAEMON
 	  A simple http server class.
 
 	  https://github.com/libwww-perl/HTTP-Daemon
+
+comment "perl-http-daemon needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
diff --git a/package/perl-http-message/Config.in b/package/perl-http-message/Config.in
index 3c6849487a..e2cb42f941 100644
--- a/package/perl-http-message/Config.in
+++ b/package/perl-http-message/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_PERL_HTTP_MESSAGE
 	bool "perl-http-message"
+	depends on !BR2_STATIC_LIBS # perl-clone
 	select BR2_PACKAGE_PERL_CLONE # runtime
 	select BR2_PACKAGE_PERL_ENCODE_LOCALE # runtime
 	select BR2_PACKAGE_PERL_HTTP_DATE # runtime
@@ -10,3 +11,6 @@ config BR2_PACKAGE_PERL_HTTP_MESSAGE
 	  HTTP style message (base class).
 
 	  https://github.com/libwww-perl/HTTP-Message
+
+comment "perl-http-message needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
diff --git a/package/perl-http-negotiate/Config.in b/package/perl-http-negotiate/Config.in
index c519ede2df..2e82ce5ad2 100644
--- a/package/perl-http-negotiate/Config.in
+++ b/package/perl-http-negotiate/Config.in
@@ -1,7 +1,11 @@
 config BR2_PACKAGE_PERL_HTTP_NEGOTIATE
 	bool "perl-http-negotiate"
+	depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone
 	select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime
 	help
 	  choose a variant to serve.
 
 	  https://metacpan.org/release/HTTP-Negotiate
+
+comment "perl-http-negotiate needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
diff --git a/package/perl-plack/Config.in b/package/perl-plack/Config.in
index c81ac4a444..420f8257e5 100644
--- a/package/perl-plack/Config.in
+++ b/package/perl-plack/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_PERL_PLACK
 	bool "perl-plack"
+	depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone
 	select BR2_PACKAGE_PERL_APACHE_LOGFORMAT_COMPILER # runtime
 	select BR2_PACKAGE_PERL_COOKIE_BAKER # runtime
 	select BR2_PACKAGE_PERL_DEVEL_STACKTRACE # runtime
@@ -19,3 +20,6 @@ config BR2_PACKAGE_PERL_PLACK
 	  toolkit).
 
 	  https://github.com/plack/Plack
+
+comment "perl-plack needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
-- 
2.34.3




More information about the buildroot mailing list