On 26/10/2014 19:37, Paul Barker wrote: > On 26 October 2014 19:36, Paul Barker <p...@paulbarker.me.uk> wrote: >> In package_manager.py, when using opkg as the packager, the command 'opkg >> <args> >> info <pkg>' is called to get information about each pkg in >> BAD_RECOMMENDATIONS >> in a format that can be written to the status file. The 'Status: ...' line is >> modified and all other lines are passed through. Changing the verbosity level >> argument for this command will change what it written into the status file. >> Crucially, with the default verbosity level, no blank lines are being >> printed by >> the opkg command and so no blank lines are being written to the status file >> to >> separate each package entry. >> >> The package parsing code in opkg expects package entries in the status file >> to >> be separated by at least one blank line. If no blank line is seen, the next >> package entry is interpreted as a continuation of the last package entry, but >> the new values overwrite the old values. >> >> So with the default verbosity level, a blank line follows some package >> entries >> and these are parsed. The others are dropped due to the lack of blank lines. >> As >> the verbosity increases, more debugging messages add blank lines and more >> packages are parsed. >> >> The solution to ensure that this works correctly regardless of the verbosity >> level is simply add a blank line after the output of 'opkg info' is written >> to >> the status file, ensuring that the next package is separated from the current >> package. >> >> [YOCTO #6816] >> >> Signed-off-by: Paul Barker <p...@paulbarker.me.uk> >> Cc: Chris Carr <chris.c...@ge.com> >> --- >> meta/lib/oe/package_manager.py | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py >> index ffb83b2..85d7fd4 100644 >> --- a/meta/lib/oe/package_manager.py >> +++ b/meta/lib/oe/package_manager.py >> @@ -1408,6 +1408,10 @@ class OpkgPM(PackageManager): >> else: >> status.write(line + "\n") >> >> + # Append a blank line after each package entry to ensure >> that it >> + # is separated from the following entry >> + status.write("\n") >> + >> ''' >> The following function dummy installs pkgs and returns the log of >> output. >> ''' >> -- >> 2.1.2 >> > > Chris, could you give this a test and let us know if it fixes the issue. > > Thanks, >
Paul, I've tried the patch with my build and all the packages in BAD_RECOMMENDATIONS are now being processed correctly and do not appear in the target rootfs. [My subscription to the OE Core mailing list had quietly expired, so I've re-subscribed to ensure that this reply goes to the list as well] Chris Carr -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core