Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 437198 - sys-apps/portage-2.2.0_alpha135: pypy1_9 USE flag not honored
Summary: sys-apps/portage-2.2.0_alpha135: pypy1_9 USE flag not honored
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-04 16:29 UTC by Charles G. Waldman
Modified: 2012-10-04 17:38 UTC (History)
1 user (show)

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


Attachments
output from running USE='-python2 -python3 pypy1_9' emerge --verbose portage (build.out,57.38 KB, text/plain)
2012-10-04 16:31 UTC, Charles G. Waldman
Details
output from emerge --info (emerge-info,5.39 KB, text/plain)
2012-10-04 16:31 UTC, Charles G. Waldman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Charles G. Waldman 2012-10-04 16:29:20 UTC
According to this posting, it is possible to use pypy for emerge: http://forums.gentoo.org/viewtopic-p-7002256.html




Reproducible: Always

Steps to Reproduce:
1. USE="pypy1_9 -python2 -python3" emerge portage
2. note that /usr/bin/emerge runs with /usr/bin/python, not /usr/bin/pypy

Actual Results:  
Note that /usr/bin/emerge runs with /usr/bin/python, not /usr/bin/pypy

Expected Results:  
I expected pypy to be used as the Python interpreter for executing emerge.  The ebuild file looks like the shebang line should be modified, but it's not happening.  I can hand-edit /usr/bin/emerge to force use of pypy and it seems to work. 

equery reports that portage has a pypy1_9 USE flag.

# equery hasuse pypy1_9
 * Searching for USE flag pypy1_9 ... 
[IP-] [  ] sys-apps/portage-2.2.0_alpha135:0

which also matches what's in the ebuild:

IUSE="build doc epydoc +ipc linguas_pl pypy1_9 python2 python3 selinux xattr"

But, "equery uses portage" doesn't seem to know about the pypy1_9 USE flag:

# equery uses portage
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for sys-apps/portage-2.2.0_alpha135:
 U I
 - - build      : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of
                  bootstrapping [make stage1]
 - - doc        : Adds extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
 - - epydoc     : Build html API documentation with epydoc.
 - + ipc        : Use inter-process communication between portage and running ebuilds.
 - - linguas_pl : Polish locale
 - - python2    : Use python2 as Python interpreter.
 - - python3    : Use python3 as Python interpreter.
 + + xattr      : Adds support for extended attributes (filesystem-stored metadata)


Here's what I have in package.use:

# cat /etc/portage/package.use/10portage.use 
>=sys-apps/portage-2.2 pypy1_9 -python2 -python3 -linguas_pl xattr

And here's details on my pypy installation:

# equery list pypy
 * Searching for pypy ...
[IP-] [  ] dev-python/pypy-1.9-r1:1.9
x201~# equery uses pypy
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for dev-python/pypy-1.9-r1:
 U I
 + + bzip2       : Use the bzlib compression library
 - - doc         : Adds extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
 - - examples    : Install examples, usually source code
 + + jit         : Enable the JIT compiler
 + + ncurses     : Adds ncurses support (console display library)
 - - sandbox     : Enable sandboxing functionality
 - - shadowstack : Use a shadow stack for finding GC roots
 + + sqlite      : Adds support for sqlite - embedded sql database
 + + ssl         : Adds support for Secure Socket Layer connections
 + + xml         : Add support for XML files

Attached is the output from

 USE='-python2 -python3 pypy1_9' emerge --verbose portage

note in particular the line:

[ebuild   R   *] sys-apps/portage-2.2.0_alpha135  USE="(ipc) xattr -build -doc -epydoc (-pypy1_9) -python2 -python3 (-selinux)" LINGUAS="-pl" 0 kB

which seems to show the pypy1_9 USE flag getting filtered out (?)

Also attached is the output from emerge --info
Comment 1 Charles G. Waldman 2012-10-04 16:31:06 UTC
Created attachment 325658 [details]
output from running USE='-python2 -python3 pypy1_9' emerge --verbose portage
Comment 2 Charles G. Waldman 2012-10-04 16:31:35 UTC
Created attachment 325660 [details]
output from emerge --info
Comment 3 Zac Medico gentoo-dev 2012-10-04 16:58:02 UTC
Please post the output of this command:

   emerge -pv portage

That will show us which USE flags are supposed to be enabled.
Comment 4 Charles G. Waldman 2012-10-04 17:00:49 UTC
# emerge -pv portage

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   *] sys-apps/portage-2.2.0_alpha135  USE="(ipc) xattr -build -doc -epydoc (-pypy1_9) -python2 -python3 (-selinux)" LINGUAS="-pl" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

# USE=pypy1_9 emerge -pv portage

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   *] sys-apps/portage-2.2.0_alpha135  USE="(ipc) xattr -build -doc -epydoc (-pypy1_9) -python2 -python3 (-selinux)" LINGUAS="-pl" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB



Why is pypy1_9 in parens?  And why can't it be set?
Comment 5 Zac Medico gentoo-dev 2012-10-04 17:38:43 UTC
You need to unmask the flag, like this:

mkdir -p /etc/portage/profile
echo "sys-apps/portage -pypy1_9" >> /etc/portage/profile/package.use.mask