* Re: [poky] -dev RPM packages Require:ing all of their bitbake build dependences
[not found] <1325642890.24646.8.camel@lenny>
@ 2012-01-04 16:23 ` Richard Purdie
2012-01-04 16:34 ` Chris Larson
0 siblings, 1 reply; 3+ messages in thread
From: Richard Purdie @ 2012-01-04 16:23 UTC (permalink / raw)
To: Colin Walters; +Cc: poky, openembedded-core
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [poky] -dev RPM packages Require:ing all of their bitbake build dependences
2012-01-04 16:23 ` [poky] -dev RPM packages Require:ing all of their bitbake build dependences Richard Purdie
@ 2012-01-04 16:34 ` Chris Larson
2012-01-04 16:40 ` Mark Hatle
0 siblings, 1 reply; 3+ messages in thread
From: Chris Larson @ 2012-01-04 16:34 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer; +Cc: poky, Colin Walters
On Wed, Jan 4, 2012 at 9:23 AM, Richard Purdie
<richard.purdie@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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [poky] -dev RPM packages Require:ing all of their bitbake build dependences
2012-01-04 16:34 ` Chris Larson
@ 2012-01-04 16:40 ` Mark Hatle
0 siblings, 0 replies; 3+ messages in thread
From: Mark Hatle @ 2012-01-04 16:40 UTC (permalink / raw)
To: openembedded-core
On 1/4/12 10:34 AM, Chris Larson wrote:
> On Wed, Jan 4, 2012 at 9:23 AM, Richard Purdie
> <richard.purdie@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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-01-04 16:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1325642890.24646.8.camel@lenny>
2012-01-04 16:23 ` [poky] -dev RPM packages Require:ing all of their bitbake build dependences Richard Purdie
2012-01-04 16:34 ` Chris Larson
2012-01-04 16:40 ` Mark Hatle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox