[LEDE-DEV] Need help with package dependencies

Zefir Kurtisi zefir.kurtisi at neratec.com
Thu Oct 20 06:11:24 PDT 2016


On 10/19/2016 07:12 PM, Alexandru Ardelean wrote:
> On Tue, Oct 18, 2016 at 2:09 PM, Zefir Kurtisi
> <zefir.kurtisi at neratec.com> wrote:
>>
>> Hi,
>>
>> to those understanding the package dependency logic by heart, I'm trying to
>> achieve something I assumed to be common, but fail to get there with the help of
>> the available documentation.
>>
>> The short version is this:
>> * package A has an optional feature X provided by package B
>> * package B is optional (feeds package)
>>   => feature X should be selectable only if B is installed and selected
>> * if feature X is activated, package A depends from package B
>>
>> I did:
>> 1) in Config.in of package A add
>> config WITH_FEATURE_X
>>         bool
>>         depends on PACKAGE_B
>>         prompt "Enable feature X"
>>         default n
>>
>> 2) in Makefile of package A add
>> DEPENDS += +WITH_FEATURE_X:B
> Why not just do  DEPENDS+=+PACKAGE_B:B ?
> This has the semantic that package A depends on B, only if it was
> selected by some other package.
> 
This would add an unconditional dependency (A depends from B when B is selected),
which is maybe not desirable. I.e. you can have packages snmp and lldpd installed,
but lldpd's SNMP agentx support is not mandatory. That's the idea of having
WITH_FEATURE_X selectable in menu.

> There are other depends like this PACKAGE_x around.
> 
> You could then drop WITH_FEATURE_X config option in A
> 
> If you need to add any other CFLAGS or LDFLAGS in A, you can just do
> ifeq ($(CONFIG_PACKAGE_B),y)
> CFLAGS+=
> LDFLAGS+=
> etc
> endif
> 
> I hope I understood correctly what you want to do.
> 
Looked through all packages with Config.in menus, but did not find any with such
inter-package dependencies. Maybe it is just not supported out of the box.


Thanks anyway, I'll report back if I find some workaround.




More information about the Lede-dev mailing list