Hi Felix,
On 22/12/15 09:03 AM, Felix Fietkau wrote:
On 2015-12-22 06:02, Daniel Dickinson wrote:
Hi all,
I just discovered something. It seems that in a package if you have a
config section that does select PACKAGE_condition_dependency then the
build succeeds but when you do opkg install, opkg does not 'know' about
the dependency.
That means if you have a situation like lldpd where you have a
conditional dependency it is not enough to add selects to same
config section as the conditional compilation flags, but you also need
to add an EXTRA_DEPENDS:=$(if
$(CONFIG_<conditional-compilation-flag>),conditional_dependency) line.
I will be submitting a patch to lldpd with that fix, since my previous
patch fixed compilation, but doesn't solve the opkg problem (although no
one is likely to actually run across it because libjson-c is installed
by default so it's unlikely any failure would actually occur). (Before
my patch even compilation would fail if json output was disable due to
missing dependency, now you would likely never notice the problem
because libjson-c is installed by default, but I discovered the issue in
reference to package to which I'm adding conditional build logic in the
packages feed for which the conditional dependency is not included
unless the package I'm working on depends on it).
You should just use the normal conditional depends syntax for the
DEPENDS line in the package, instead of duplicating it in Config.in and
EXTRA_DEPENDS.
DEPENDS:=+PACKAGE_conditional_package:selected_package
It's actually used in the context of a Package/<pkg>/config section that
does some condition compilation option that when enabled adds another
dependency. Hence the unusual method. Conditional dependency based on
the configure option I had forgotten as an option though:
i.e.
config PACKAGE_LLDPD_JSON
bool "Enable JSON output"
default n
and in depends
DEPENDS:=PACKAGE_LLDPD_JSON:libjson-c
That sound right?
Regards,
Daniel
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel