On Sun, Apr 24, 2016 at 8:35 PM, Hauke Mehrtens <[email protected]> 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 [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
