Re: [OE-core] [poky] -dev RPM packages Require:ing all of their bitbake build dependences
On Tue, 2012-01-03 at 21:08 -0500, Colin Walters wrote: I'm trying to use Yocto to generate a target which has standard build tools like gcc, make, the glibc headers etc. In theory, this is solved by task-core-sdk, but I ran into the issue that pkg-config-dev contains pkg.m4 which is obviously necessary for building anything that uses pkg-config and the autotools. The further issue is that OE has a rule that -dev packages Require: all of the RPMs used to build the recipie. In the case of pkgconfig-dev, that pulls in libglib-2.0-dev which pulls in libx11-dev which is already way more than I want. One approach to this problem is to drain the -dev packages into the main runtime package. I have difficulty imagining someone wanting to ship /usr/bin/pkg-config but not pkg.m4 for example. I'm not yet sure how many recipes are affected though. I can imagine someone downloading something and wanting to build it but not reautoconf'ing it. At that point you'd need pkg-config but not the .m4 files. Another approach would be to stop injecting -dev Requires by default. I imagine this was done to handle the case of library A whose headers require library B. However, a saner way to handle this I think is simply to push people to use pkg-config; IIRC a script exists to extract pkg-config dependencies from the .pc files and use that for the RPM auto-dependency phase. That would ensure that e.g. gtk+-dev Requires: glib-dev. This doesn't help non-pkg-config libraries, but those people should be shamed anyways =) I think these dependencies are wrong and need revisiting. Currently, -dev and -dbg packages share the same code and its tilted more in favour of -dbg than it is for -dev. I think the -dev packages make sense if you want to build X but not build something that just depends on X. We should therefore move the dependencies to a new package (need a good name) and rethink the -dev package dependencies. Cheers, Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [poky] -dev RPM packages Require:ing all of their bitbake build dependences
On Wed, Jan 4, 2012 at 9:23 AM, Richard Purdie richard.pur...@linuxfoundation.org wrote: Another approach would be to stop injecting -dev Requires by default. I imagine this was done to handle the case of library A whose headers require library B. However, a saner way to handle this I think is simply to push people to use pkg-config; IIRC a script exists to extract pkg-config dependencies from the .pc files and use that for the RPM auto-dependency phase. That would ensure that e.g. gtk+-dev Requires: glib-dev. This doesn't help non-pkg-config libraries, but those people should be shamed anyways =) I think these dependencies are wrong and need revisiting. Currently, -dev and -dbg packages share the same code and its tilted more in favour of -dbg than it is for -dev. I think the -dev packages make sense if you want to build X but not build something that just depends on X. We should therefore move the dependencies to a new package (need a good name) and rethink the -dev package dependencies. I'm inclined to say let the user install the deps needed to build X themselves, or build it with bitbake, and let -dev work the way it does in other distros, the bits needed to build against X. -- Christopher Larson ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [poky] -dev RPM packages Require:ing all of their bitbake build dependences
On 1/4/12 10:34 AM, Chris Larson wrote: On Wed, Jan 4, 2012 at 9:23 AM, Richard Purdie richard.pur...@linuxfoundation.org wrote: Another approach would be to stop injecting -dev Requires by default. I imagine this was done to handle the case of library A whose headers require library B. However, a saner way to handle this I think is simply to push people to use pkg-config; IIRC a script exists to extract pkg-config dependencies from the .pc files and use that for the RPM auto-dependency phase. That would ensure that e.g. gtk+-dev Requires: glib-dev. This doesn't help non-pkg-config libraries, but those people should be shamed anyways =) I think these dependencies are wrong and need revisiting. Currently, -dev and -dbg packages share the same code and its tilted more in favour of -dbg than it is for -dev. I think the -dev packages make sense if you want to build X but not build something that just depends on X. We should therefore move the dependencies to a new package (need a good name) and rethink the -dev package dependencies. I'm inclined to say let the user install the deps needed to build X themselves, or build it with bitbake, and let -dev work the way it does in other distros, the bits needed to build against X. Ya, that seems to be the best solution for a more modern system. This will require a combination of additional automatic dependency detection and also manual intervention when that detection isn't complete. The complications with the automatic detection are around the header files... we'll need to detect when one header includes another, and then translate that to an associated -dev file. But I know there are intentionally broken includes (wrapped in #if's etc..) --Mark ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core