Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 629102

Summary: [ROKO__] Ebuild failures occuring in global scope
Product: Gentoo Linux Reporter: Michał Górny <mgorny>
Component: OverlaysAssignee: Росен Александров <sandikata>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 552950    

Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-08-27 20:46:01 UTC
Our automated repository checks [1] have detected that the 'ROKO__'
repository contains ebuilds that trigger fatal errors during the cache
regeneration. This usually means that the ebuilds call 'die' in global
scope indicating serious issues.

Global-scope failures prevent the ebuild not only from being installed
but also from being properly processed by the Package Manager. Since
metadata can not be obtained for those ebuilds, no cache entries are
created for them and the Package Manager needs to retry running them
every time it stumbles upon them. This involves both a serious slowdown
and repeating error output while performing dependency resolution.

The most common cause of global-scope failures is use of removed or
banned APIs in old ebuilds. In particular, this includes eclasses being
removed or removing support for old EAPIs. Nonetheless there are also
other issues such as performing illegal operations in global scope
(external program calls), malformed bash in ebuilds or malformed
metadata.xml.

The error log for the repository can be found at:

  https://qa-reports.gentoo.org/output/repos/ROKO__.html

In particular, please look for highlighted '!!! ERROR' and '!!! caught
exception' lines. The former usually mean failures coming from eclasses
and the ebuild itself, while exceptions usually mean malformed ebuilds
or metadata.xml.

While at it, please consider fixing global-scope 'use' call warnings (if
any). They are not fatal but are considered a serious QA violation.
'use' functions must not ever be called outside of phase functions.

Please fix the issue ASAP, possibly via removing unmaintained, old
ebuilds. We reserve the right to remove the repository from our list if
we do not receive any reply within 4 weeks.

[1]:https://wiki.gentoo.org/wiki/Project:Repository_mirror_and_CI
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-08-27 20:49:51 UTC
I'll have to disable this specific check for now, so copying the result here instead:



 * ERROR: dev-qt/qt-telegram-static-5.6.0_p20160510 failed (depend phase):
 *   External commands disallowed during metadata regen: tr -d p
 * 
 * Call stack:
 *                       isolated-functions.lib, line 345:  Called source '/home/mgorny/repos/ROKO__/dev-qt/qt-telegram-static/qt-telegram-static-5.6.0_p20160510.ebuild'
 *    qt-telegram-static-5.6.0_p20160510.ebuild, line  12:  Called command_not_found_handle 'tr' '-d' 'p'
 *                           ebuild-daemon.bash, line 383:  Called die


Long story short, qt-telegram-static is calling 'tr' outside phase functions which is forbidden. You need to use pure bash there.
Comment 2 Росен Александров 2017-08-28 07:15:38 UTC
Fixed ebuild, but i cannot realize what you mean with layout.conf?
I have already set masters on it.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-08-28 09:34:57 UTC
That's warning for another repo. Please disregard.
Comment 4 Росен Александров 2017-08-28 12:06:20 UTC
Well, i close it as fixed.