Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 593774 - app-portage/eix-0.31.9: eix-test-obsolete repeats "invalid line" message many times
Summary: app-portage/eix-0.31.9: eix-test-obsolete repeats "invalid line" message many...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-14 16:30 UTC by Daniel Gulotta
Modified: 2016-09-19 07:24 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Gulotta 2016-09-14 16:30:50 UTC
I accidentally used a unicode "punctuation space" in my package.accept_keywords file.  When I ran eix-test-obsolete, it repeated the same warning message 18 times.  Only one warning is needed.

The warning message was:

-- invalid line 245 in /etc/portage/package.accept_keywords: "=dev-libs/libclc-0.2.0_pre20160209 ~amd64 ..."
    garbage ( ~amd64) at end of version "0.2.0_pre20160209 ~amd64"
    accepting version anyway

(The character before the ~ is a unicode punctuation space, not a normal space.)
Comment 1 Martin Väth 2016-09-18 16:09:56 UTC
eix-test-obsolete is just a wrapper for eix which, roughly speaking, calls first eix -te and then eix -Te several times with successively various REDUNDANT_IF_* tests disabled. Of course, eix does not know that it was called previously, and just will spit the warning every time.

If you use "eix-test-obsolete quick" (or simply eix -tTe), then eix is called only twice (or once), and you see the warning also only twice (once), but of course the output has correspondingly less information.

There is not much which can be changed in this structure (unless one would code a completely independent "obsolete" test).
Comment 2 Martin Väth 2016-09-18 19:42:32 UTC
I added the option --nowarn which suppresses certain warnings and added it to all calls of eix in eix-test-obsolte (except for the first call eix -t).

There can still be some duplicate output from eix -t, because files are read twice: Once to get the portage config and once to check for -t redundancy. It would be unnatural to suppress warnings, because they can be disjoint, depending on your configuration.
Comment 3 Martin Väth 2016-09-18 19:44:06 UTC
The fix is in the git master branch on github (>=eix-0.31.10).
A live ebuild for eix is in the mv overlay.
Comment 4 Martin Väth 2016-09-19 07:24:59 UTC
I slept it over and decided to even avoid duplicate output:
Warnings are now cached and printed only once.