Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 143423 - porthole-0.4.1 fails built_with_use (pygtk, gnome)
Summary: porthole-0.4.1 fails built_with_use (pygtk, gnome)
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: High normal
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-09 23:04 UTC by Ed Catmur
Modified: 2006-08-10 14:38 UTC (History)
2 users (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 Ed Catmur 2006-08-09 23:04:49 UTC
* checking ebuild checksums ;-) ...                                      [ ok ]
 * checking auxfile checksums ;-) ...                                     [ ok ]
 * checking miscfile checksums ;-) ...                                    [ ok ]
 * checking porthole-0.4.1.tar.bz2 ;-) ...                                [ ok ]

!!! ERROR: app-portage/porthole-0.4.1 failed.
Call stack:
  ebuild.sh, line 1559:   Called dyn_setup
  ebuild.sh, line 666:   Called pkg_setup
  porthole-0.4.1.ebuild, line 22:   Called built_with_use '<dev-python/pygtk-2.8.0-r2' 'gnome'
  eutils.eclass, line 1592:   Called die

!!! Unable to determine what USE flags  was built with
!!! If you need support, post the topmost build error, and the call stack if relevant.

This is related to but NOT a duplicate of bug 110961.

The problem is that built_with_use was recently changed to error out if the atom cannot be resolved to a vdb entry. To restore the old semantics, porthole needs to use 

	if has_version '<dev-python/pygtk-2.8.0-r2' && ! built_with_use '<dev-python/pygtk-2.8.0-r2' gnome ; then
		...
Comment 1 Ed Catmur 2006-08-09 23:11:12 UTC
Hm, except that might resolve to a 0.6.11 version. Better:

        if ! has_version '>=dev-python/pygtk-2.8.0-r2' && ! built_with_use
'<dev-python/pygtk-2.8.0-r2' gnome ; then

The short-circuiting && will prevent any die()ing.
Comment 2 Harald van Dijk (RETIRED) gentoo-dev 2006-08-10 02:01:24 UTC
(In reply to comment #0)
> The problem is that built_with_use was recently changed to error out if the
> atom cannot be resolved to a vdb entry.

vapier, could you comment? Why was built_with_use changed? It always returned successfully so that package.provided could be made to work, and I was relying on that behaviour (even if for a different reason).
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-08-10 03:05:10 UTC
(In reply to comment #2)
> vapier, could you comment? Why was built_with_use changed? It always returned
> successfully so that package.provided could be made to work, and I was relying
> on that behaviour (even if for a different reason).

Because it doesn't make sense to assume something about stuff that's not even installed or that you can't verify (such as package.provided). See Bug 139842 (also, http://bugs.gentoo.org/attachment.cgi?id=93613&action=view). 

This change has already uncovered quite a few bugs in ebuilds checking for use flags on non-dependencies as a side effect, seems like a good thing (TM) ;)

Comment 4 Harald van Dijk (RETIRED) gentoo-dev 2006-08-10 09:30:17 UTC
(In reply to comment #3)
> Because it doesn't make sense to assume something about stuff that's not even
> installed or that you can't verify (such as package.provided). See Bug 139842
> (also, http://bugs.gentoo.org/attachment.cgi?id=93613&action=view). 

Thanks for the pointer. I think the current built_with_use is wrong because of

Aug 05 23:52:59 SpanKY	if the package is provided, then you have to assume the user didnt fuck it up
Aug 05 23:53:09 SpanKY	otherwise it'd be impossible for user to install
Aug 05 23:53:14 SpanKY	they'd have to edit the ebuild

> This change has already uncovered quite a few bugs in ebuilds checking for use
> flags on non-dependencies as a side effect, seems like a good thing (TM) ;)

but I can agree that it would be reasonable to die if a package is neither installed via portage nor in package.provided, so porthole ebuild updated, and I'll ask about the other case later and elsewhere.
Comment 5 SpanKY gentoo-dev 2006-08-10 14:38:56 UTC
i thought about it some more and decided that you cant assume one way or the other (all flags enabled or all flags disabled) in the built_with_use function as that'll restrict the usability of the function

Bug 142941 tracks the required functionality

for further discussion, there is a thread on the gentoo-portage mailing list