From: "Carr, Chris (GE Intelligent Platforms)" <chris.carr@ge.com>
To: Paul Barker <paul@paulbarker.me.uk>
Cc: OE Core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] package_manager: Fix BAD_RECOMMENDATIONS for opkg
Date: Mon, 3 Nov 2014 13:18:37 +0000 [thread overview]
Message-ID: <545780AD.30106@ge.com> (raw)
In-Reply-To: <CANyK_8cVn-EuWaFT3KsAOKP_QoKwcGxE7QSqFNHoe6mQERRcdA@mail.gmail.com>
On 26/10/2014 19:37, Paul Barker wrote:
> On 26 October 2014 19:36, Paul Barker <paul@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 <paul@paulbarker.me.uk>
>> Cc: Chris Carr <chris.carr@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
prev parent reply other threads:[~2014-11-03 13:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-26 19:36 [PATCH] package_manager: Fix BAD_RECOMMENDATIONS for opkg Paul Barker
2014-10-26 19:37 ` Paul Barker
2014-10-27 7:17 ` Johan Hovold
2014-11-03 13:18 ` Carr, Chris (GE Intelligent Platforms) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=545780AD.30106@ge.com \
--to=chris.carr@ge.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=paul@paulbarker.me.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.