Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 585172 - [booboo] Ebuild failures occuring in global scope
Summary: [booboo] Ebuild failures occuring in global scope
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Infrastructure
Classification: Unclassified
Component: Gentoo Overlays (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sergey 'L29Ah' Alirzaev
URL: https://qa-reports.gentoo.org/output/...
Whiteboard:
Keywords:
Depends on:
Blocks: repository-qa-issues
  Show dependency tree
 
Reported: 2016-06-06 12:13 UTC by Michał Górny
Modified: 2016-06-14 15:26 UTC (History)
0 users

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 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-06-06 12:13:46 UTC
Our automated repository checks [1] have detected that the 'booboo'
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/booboo.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 Sergey 'L29Ah' Alirzaev 2016-06-06 13:12:58 UTC
I don't understand why would a failed globe trigger an exception and how to handle it properly. The ebuild will continue working on my system if i just drop the offending term it seems tho.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-06-06 20:59:53 UTC
Globs are forbidden in global scope as they make ebuild sourcing result depend on the system it is run on, which makes it impossible to generate metadata cache properly.

As for this particular issue, it seems that you are copying some really ancient eclasses that are unlikely to work in any modern Portage version. I think you should consider cleaning up old stuff.
Comment 3 Sergey 'L29Ah' Alirzaev 2016-06-06 21:01:38 UTC
(In reply to Michał Górny from comment #2)
> As for this particular issue, it seems that you are copying some really
> ancient eclasses that are unlikely to work in any modern Portage version. I
> think you should consider cleaning up old stuff.

There aren't newer versions of the package in question, so i don't feel like dropping it. I've added it quite recently, in fact.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-06-06 21:11:36 UTC
(In reply to Sergey 'L29Ah' Alirzaev from comment #3)
> (In reply to Michał Górny from comment #2)
> > As for this particular issue, it seems that you are copying some really
> > ancient eclasses that are unlikely to work in any modern Portage version. I
> > think you should consider cleaning up old stuff.
> 
> There aren't newer versions of the package in question, so i don't feel like
> dropping it. I've added it quite recently, in fact.

kde-functions.eclass has been removed from Gentoo in Jan 2011, and was appointed for removal in Jan 2010.
Comment 5 Sergey 'L29Ah' Alirzaev 2016-06-06 21:20:17 UTC
(In reply to Michał Górny from comment #4)
> (In reply to Sergey 'L29Ah' Alirzaev from comment #3)
> > (In reply to Michał Górny from comment #2)
> > > As for this particular issue, it seems that you are copying some really
> > > ancient eclasses that are unlikely to work in any modern Portage version. I
> > > think you should consider cleaning up old stuff.
> > 
> > There aren't newer versions of the package in question, so i don't feel like
> > dropping it. I've added it quite recently, in fact.
> 
> kde-functions.eclass has been removed from Gentoo in Jan 2011, and was
> appointed for removal in Jan 2010.

How am i supposed to make ebuilds for kde3-based software then?
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-06-06 21:26:47 UTC
(In reply to Sergey 'L29Ah' Alirzaev from comment #5)
> (In reply to Michał Górny from comment #4)
> > kde-functions.eclass has been removed from Gentoo in Jan 2011, and was
> > appointed for removal in Jan 2010.
> 
> How am i supposed to make ebuilds for kde3-based software then?

I suppose you can either remove the eclass and inline the needed code, write your own modern eclass or try to fix this one. You may want to take a look at kde-sunset [1] which has lots of KDE3 stuff, and had some updates since the Gentoo KDE3 removal.

[1]:https://gitweb.gentoo.org/proj/kde-sunset.git/
Comment 7 Sergey 'L29Ah' Alirzaev 2016-06-06 21:39:03 UTC
(In reply to Michał Górny from comment #6)
> (In reply to Sergey 'L29Ah' Alirzaev from comment #5)
> > (In reply to Michał Górny from comment #4)
> > > kde-functions.eclass has been removed from Gentoo in Jan 2011, and was
> > > appointed for removal in Jan 2010.
> > 
> > How am i supposed to make ebuilds for kde3-based software then?
> 
> I suppose you can either remove the eclass and inline the needed code, write
> your own modern eclass or try to fix this one. You may want to take a look
> at kde-sunset [1] which has lots of KDE3 stuff, and had some updates since
> the Gentoo KDE3 removal.
> 
> [1]:https://gitweb.gentoo.org/proj/kde-sunset.git/

Their eclass features the glob line as well. Didn't it trigger your script?
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-06-07 04:29:15 UTC
It has been removed from the official list some time ago.
Comment 9 Sergey 'L29Ah' Alirzaev 2016-06-07 10:57:33 UTC
Okay, dropped the glob.
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-06-14 15:26:55 UTC
The bug seems to be fixed in the repository. Closing.