[OpenWrt-Devel] build: conditional dependencies in packages sharing the same source

Eyal Birger eyal.birger at gmail.com
Sun Apr 24 14:24:31 EDT 2016


On Sun, Apr 24, 2016 at 8:35 PM, Hauke Mehrtens <hauke at hauke-m.de> wrote:
> On 04/24/2016 01:47 PM, Eyal Birger wrote:
>> Hi All,
>>
>> We've encountered an interesting behavior in the OpenWRT build system, on which
>> feedback would be appreciated:
>>
>> When building packages sharing the same source code, all packages
>> prerequisites seem to
>> be joined unconditionally, instead of each prerequisite depending on
>> the package that required
>> it.
>>
>> As an example:
>>
>> ppp-mod-pppoa shares its source code with the ppp package;
>> ppp-mod-pppoa depends on linux-atm;
>> as a result, ppp depends unconditionally on linux-atm.
>>
>> i.e. in the generated tmp/.packagedeps file, the following is generated:
>>
>> $(curdir)/ppp/compile += ... $(curdir)/linux-atm/compile ...
>>
>> And not:
>>
>> $(curdir)/ppp/compile += ... $(if
>> $(CONFIG_ppp-mod-pppoa),$(curdir)/linux-atm/compile) ...
>>
>> This results in unnecessary compilation dependencies.
>>
>> Is this behavior intentional?
>>
>> Best regards,
>> Eyal.
>
> Hi,
>
> When more than one package is build from one source, this is mostly done
> by building the source code once for all binaries and then only
> packaging the stuff into different packages. I assume that there is a
> build time dependency to atm in the ppp source.

Thanks! that's interesting.

In this particular case, there doesn't seem to be such a dependency, i.e. ppp
builds fine without ppp-mod-pppoa and linux-atm (haven't tested all possible
configurations though :))

But if there was a dependency, wouldn't it have been correct for it to be
explicit in the ppp dependencies?
(maybe if ppp-mod-pppoa got deprecated, ppp might break for no apparent
reason...)

Seems that the current behavior masks these subtleties; That's why I'm wondering
if it is intentional, or if it should be changed, so that all
dependencies must be defined
exactly where they are needed.

>
> Hauke
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list