[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    Re: [OE-core][PATCH] package_manager/ipk: do not pipe stderr to stdout
From:       "Shruthi Ravichandran" <shruthi.ravichandran () ni ! com>
Date:       2022-06-30 22:30:06
Message-ID: SN4PR04MB836516C391002BA878B9E828E4BA9 () SN4PR04MB8365 ! namprd04 ! prod ! outlook ! com
[Download RAW message or body]

[Attachment #2 (unknown)]

The change currently does discard everything in stderr. I can update
it to capture stderr and push it to bb.note on command success and
bb.fatal on command failure. In fact, I can make those changes to the
several other instances in this file where stderr is piped to stdout
too. Would that be acceptable?

Shruthi

> -----Original Message-----
> From: Alexander Kanavin <alex.kanavin@gmail.com>
> Sent: Thursday, June 30, 2022 1:47 AM
> To: Shruthi Ravichandran <shruthi.ravichandran@ni.com>
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core][PATCH] package_manager/ipk: do not pipe stderr to stdout
> 
> Thanks for the information - perhaps this should be added to the commit message?
> 
> Does this change discard things that appear on stderr completely, or
> does it still go somewhere where it can be seen later?
> 
> Alex
> 
> On Wed, 29 Jun 2022 at 21:22, Shruthi Ravichandran
> <shruthi.ravichandran@ni.com> wrote:
> > 
> > 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://urldefense.com/v3/__https://git.yoctoproject.org/opkg/commit/?id=8dfdda86afd407a66e3dc00a077bdcc8b53d54ea__;!!FbZ0ZwI
>  3Qg!omDrJfbrjlLbY2OMgsAgQrIcnap222jrjZJAhJX_BWhVJfMi09419QAHH1bVf1VafwMRcVuWBaQ5k8y6gk-W-iLjh48$ \
> .
> > 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.kanavin@gmail.com>
> > > Sent: Tuesday, June 28, 2022 1:33 PM
> > > To: Shruthi Ravichandran <shruthi.ravichandran@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.ravichandran@ni.com \
> > > <mailto:shruthi.ravichandran@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.ravichandran@ni.com \
> > >                 <mailto:shruthi.ravichandran@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

INTERNAL - NI CONFIDENTIAL



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#167446): https://lists.openembedded.org/g/openembedded-core/message/167446
Mute This Topic: https://lists.openembedded.org/mt/92051989/4454766
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [openembedded-core@marc.info]
-=-=-=-=-=-=-=-=-=-=-=-



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic