Message ID | 20230603210642.264930-1-romain.naour@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | package/perl-http-message: add missing reverse dependency on perl-clone | expand |
>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes: > 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@gmail.com> Committed, thanks. > --- > 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. Hmm, indeed. Maybe we should just make BR2_PACKAGE_PERL depend on !BR2_STATIC_LIBS. I doubt there are a lot of use cases for a statically built perl.
>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes: > 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@gmail.com> Committed to 2023.02.x, thanks.
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
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@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(+)