[OE-core] [PATCH] opkg-collateral: import fixes from OE-Classic

Paul Eggleton paul.eggleton at linux.intel.com
Wed Jul 4 15:13:37 UTC 2012


On Wednesday 04 July 2012 15:50:01 Andreas Oberritter wrote:
> On 03.07.2012 22:14, Paul Eggleton wrote:
> > Unfortunately, it seems this change has caused bug 2595 - moving the
> > config file to /etc/opkg means that it is always read regardless of
> > whether -f is specified or not (as it is during do_rootfs in order to
> > specify our own generated config file), and this means that after
> > opkg-collateral is installed into the rootfs, this version of the config
> > is used, resulting in opkg ignoring the lists it has already downloaded
> > (since it now sees list_dir as var/lib/opkg instead of
> > var/lib/opkg/lists) and thus it fails to install any of the "attemptonly"
> > packages (including *-dev, *-dbg, etc.).
> 
> Would it be possible to download the lists to var/lib/opkg instead, if
> that's the only difference?

Possible yes, but this has exposed some behaviour that means any distro-
specific settings that get put into files in that directory can break the rootfs 
construction, which is not ideal. I'm also wondering if having the lists their 
own directory might be a good thing anyway (I wonder for example what happens 
if you have a feed called "status"), but that's a separate issue.

> I'm not familiar with the use of opkg-collateral during the creation of the
> rootfs.

opkg-collateral isn't really "used" in creation of the rootfs, but it always 
gets installed as a package along with all other packages (since it is in 
ROOTFS_PKGMANAGE for the ipk backend) in the first stage of package 
installation, and once it is installed, the problem occurs.
 
> > The question is, should opkg be fixed to not load anything from etc/opkg/
> > when -f is specified?
> 
> I think this would work only if other files than opkg.conf in etc/opkg/
> aren't needed, which I guess is not the case.

It is the case for rootfs construction, because then opkg has to be able to 
operate initially with etc/opkg being empty (or nonexistent) before any 
packages have been installed. The only other file that gets installed into that 
directory by default is arch.conf, and the values in that are already provided 
in our generated configuration we specify with -f.

Clearly we can work around this by just moving etc/opkg out of the way 
temporarily, and that might be what I end up doing to fix this for the moment; 
however it does seem to me that the behaviour of -f is wrong, unless -f is 
intended to be able to be used in a different manner than we are using it.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre




More information about the Openembedded-core mailing list