Hi Alex,

I've found that some OE commands print an error during cleanup when
the tmp_dir does not exist and an attempt is made to delete it. I've
submitted a patch to opkg to fix that.
Link: 
https://git.yoctoproject.org/opkg/commit/?id=8dfdda86afd407a66e3dc00a077bdcc8b53d54ea.
That was the one instance that was causing an issue in our builds.
There may be other instances that I don't know of. Given that, I think
the package_manager code should be resilient against any such
miscellaneous stderr messages, which do not result in the command
itself failing.

Hope that helps,
Shruthi

> -----Original Message-----
> From: Alexander Kanavin <alex.kana...@gmail.com>
> Sent: Tuesday, June 28, 2022 1:33 PM
> To: Shruthi Ravichandran <shruthi.ravichand...@ni.com>
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core][PATCH] package_manager/ipk: do not pipe stderr to 
> stdout
>
> This needs additional justification. What are the error messages, why are 
> they harmless and why the solution is to suppress them instead of
> addressing the reasons they appear?
>
> Alex
>
> On Tue 28. Jun 2022 at 23.13, Shruthi Ravichandran 
> <shruthi.ravichand...@ni.com <mailto:shruthi.ravichand...@ni.com> > wrote:
>
>
>       When parsing the output of a command, do not pipe stderr to stdout.
>       Opkg sometimes prints harmless error messages even when the opkg
>       command succeeds. When stderr is piped to stdout, these error
>       messages may clobber the stdout and cause unexpected results while
>       parsing the output.
>
>       Signed-off-by: Shruthi Ravichandran <shruthi.ravichand...@ni.com 
> <mailto:shruthi.ravichand...@ni.com> >
>       ---
>        meta/lib/oe/package_manager/ipk/__init__.py | 2 +-
>        1 file changed, 1 insertion(+), 1 deletion(-)
>
>       diff --git a/meta/lib/oe/package_manager/ipk/__init__.py 
> b/meta/lib/oe/package_manager/ipk/__init__.py
>       index 4cd3963111..d7f3f31853 100644
>       --- a/meta/lib/oe/package_manager/ipk/__init__.py
>       +++ b/meta/lib/oe/package_manager/ipk/__init__.py
>       @@ -103,7 +103,7 @@ class OpkgDpkgPM(PackageManager):
>                """
>
>                try:
>       -            output = subprocess.check_output(cmd, 
> stderr=subprocess.STDOUT, shell=True).decode("utf-8")
>       +            output = subprocess.check_output(cmd, 
> shell=True).decode("utf-8")
>                except subprocess.CalledProcessError as e:
>                    bb.fatal("Unable to list available packages. Command '%s' "
>                             "returned %d:\n%s" % (cmd, e.returncode, 
> e.output.decode("utf-8")))
>       --
>       2.20.1
>
>
>       
>
>


INTERNAL - NI CONFIDENTIAL
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#167388): 
https://lists.openembedded.org/g/openembedded-core/message/167388
Mute This Topic: https://lists.openembedded.org/mt/92051989/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to