[OE-core] Why is systemd installed to / (was: [yocto] Export bitbake variables between recipes)

Peter Kjellerstedt peter.kjellerstedt at axis.com
Tue Dec 2 18:27:46 UTC 2014


[ I am moving this discussion to the OE-core list as I believe 
  that is where it belongs. ]

> -----Original Message-----
> From: yocto-bounces at yoctoproject.org [mailto:yocto-
> bounces at yoctoproject.org] On Behalf Of Paul Eggleton
> Sent: den 2 december 2014 15:07
> To: Fabrice Coulon
> Cc: yocto at yoctoproject.org
> Subject: Re: [yocto] Export bitbake variables between recipes
> 
> Hi Fabrice,
> 
> On Tuesday 02 December 2014 14:07:40 Fabrice Coulon wrote:
> > Is it possible to export one bitbake variable from one recipe 
> > and make it available from inside another recipe? For example: 
> > we want to export from our systemd_%.bbappend where the 
> > systemctl command has been installed, in order to, from another 
> > recipe depending on systemd, refer to the absolute path where 
> > systemctl was installed. Any ideas or suggestions on how to do
> > that?
> 
> There's no mechanism to do this, no. The only way for this kind of
> thing to work is for it to be specified at the configuration level 
> (e.g. ${bindir} points to the subdirectory /usr/bin and this variable 
> would be used both when choosing where the executable should be 
> installed and finding it later - this would typically be how this 
> kind of problem would be solved since it would be unusual to have 
> systemctl installed somewhere other than ${bindir}).

Actually, since the systemd recipe in Poky is configured in an 
extremely weird way (using --with-rootprefix=${base_prefix} and 
--with-rootlib=${base_libdir}), systemctl actually ends up in 
${base_bindir} rather than ${bindir}. And this is the whole reason 
for our troubles since everything else we had prior to switching 
to Poky expected systemd to be installed in /usr...

Can anyone please explain why OE-core installs systemd to / rather 
than /usr? Because I have traced the recipe all the way back to its 
introduction in OE classic, and I cannot find any rationale for 
this odd decision. And it is extra weird given the systemd authors' 
agenda that everything should be in /usr (and /etc)...

> (Another alternative is pkg-config, but I don't think that really
> applies in this situation.)

Nope.

> Cheers,
> Paul
> 
> --
> 
> Paul Eggleton
> Intel Open Source Technology Centre

//Peter





More information about the Openembedded-core mailing list