Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 405653 - python.eclass: default implementation of python_src_test() is incompatible with EAPI 4
Summary: python.eclass: default implementation of python_src_test() is incompatible wi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-24 21:25 UTC by Chris Reffett (RETIRED)
Modified: 2012-03-07 04:14 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,7.75 KB, text/plain)
2012-02-24 21:28 UTC, Chris Reffett (RETIRED)
Details
fix-default-src_test.patch (fix-default-src_test.patch,903 bytes, patch)
2012-03-02 17:35 UTC, Davide Pesavento (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Reffett (RETIRED) gentoo-dev Security 2012-02-24 21:25:15 UTC
sip finishes compile phase, moves on to " * Testing of dev-python/sip-4.13.2-r1 with CPython 2.7..." and then the ebuild fails with error message "emake failed." The build.log ends at the line I mentioned above and does not include the usual end-of-emerge error message, so I suspect an EOF is involved somewhere.

Reproducible: Always

Steps to Reproduce:
1. FEATURES="test" emerge -1 =dev-python/sip-4.13.2
Actual Results:  
Emerge fails test phase.

Expected Results:  
Emerge should complete test phase and finish successfully.

emerge --info:
Portage 2.2.0_alpha89 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.14.1-r2, 3.2.6-gentoo-zeugma x86_64)
=================================================================
System uname: Linux-3.2.6-gentoo-zeugma-x86_64-Intel-R-_Core-TM-_i5_CPU_M_560_@_2.67GHz-with-gentoo-2.1
Timestamp of tree: Fri, 24 Feb 2012 19:30:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.7-r3
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.11.2-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.2 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r2
Repositories: gentoo gamerlay-stable kde sunrise zeugma-local
Installed sets: @kde-4.8
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1 dlj-1.1 googleearth google-talkplugin Oracle-BCLA-JavaSE RTCW-ETEULA Q3AEULA skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=core2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="http://mirror.rit.edu/gentoo http://gtlib.gatech.edu/pub/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/gamerlay /var/lib/layman/kde /var/lib/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X accessibility acl acpi alsa amd64 bash-completion berkdb bluetooth bzip2 cairo cdda cddb cli consolekit cracklib crypt cups cxx dbus dri dvd encode ffmpeg flac fortran gdbm geoip git gnutls gpm gstreamer iconv icu id3tag ipod ipv6 java jpeg kde lame latex libnotify mad mmx mng modules mp3 mpeg mudflap multilib ncurses networkmanager nls nptl nptlonly nsplugin offensive ogg openal opengl openmp pam pcre png policykit pppd qt3support qt4 readline semantic-desktop session spell sql sse sse2 ssl ssse3 svg sysfs tcpd threads tiff truetype udev unicode usb v4l v4l2 vcd vim-syntax vorbis wifi xcomposite xinerama xorg xscreensaver zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="mouse keyboard evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="ati radeon fglrx intel uvesafb v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Chris Reffett (RETIRED) gentoo-dev Security 2012-02-24 21:28:33 UTC
Created attachment 303093 [details]
build.log

Note that the build.log does not include the usual end-of-emerge error. However, the emerge process did print it. Copy-pasted below, for what it's worth.

>>> Failed to emerge dev-python/sip-4.13.2-r1, Log file:

>>>  '/var/tmp/portage/dev-python/sip-4.13.2-r1/temp/build.log'

 * Messages for package dev-python/sip-4.13.2-r1:

 * ERROR: dev-python/sip-4.13.2-r1 failed (test phase):
 *   emake failed
 * 
 * If you need support, post the output of 'emerge --info =dev-python/sip-4.13.2-r1',
 * the complete build log and the output of 'emerge -pqv =dev-python/sip-4.13.2-r1'.
 * The complete build log is located at '/var/tmp/portage/dev-python/sip-4.13.2-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/sip-4.13.2-r1/temp/environment'.
 * S: '/var/tmp/portage/dev-python/sip-4.13.2-r1/work/sip-4.13.2'
Comment 2 Ian Delaney (RETIRED) gentoo-dev 2012-02-25 11:06:32 UTC
Chris:

* Testing of dev-python/sip-4.13.2-r1 with CPython 2.7..

This is 4.13.2-r1, not 4.13.2. Should I adjust summary.

localhost sip # ebuild sip-4.13.2-r1.ebuild clean test
'/mnt/gen2/old-portage/dev-python/sip/sip-4.13.2-r1.ebuild' does not exist.

localhost sip # ebuild sip-4.13.2.ebuild clean test
--------------------------------------------------------------
>>> Source compiled.
 * Testing of dev-python/sip-4.13.2 with CPython 2.7...
 * Testing of dev-python/sip-4.13.2 with CPython 3.1...

Indicating no error triggerred in either. Could not replicate.  Has something gone awry in the -r1?  At least retry with sip-4.13.2 as I did here.
Comment 3 Davide Pesavento (RETIRED) gentoo-dev 2012-02-25 14:20:25 UTC
The issue has been triggered by switching to EAPI=4.

src_test() is python_src_test(), which calls "python_execute_function -d -s", which performs the following test:
    if emake -j1 -n check &> /dev/null

make returns 2 as expected, because there's no "check" target, thus emake calls die because in EAPI=4 failures are fatal.
Therefore I think this is a bug in python eclass.
Comment 4 Arfrever Frehtes Taifersar Arahesis 2012-02-25 17:02:01 UTC
The correct fix is:
http://code.google.com/p/gentoo-progress/source/detail?r=1342
Comment 5 Davide Pesavento (RETIRED) gentoo-dev 2012-02-25 17:20:31 UTC
(In reply to comment #4)
> The correct fix is:
> http://code.google.com/p/gentoo-progress/source/detail?r=1342

That requires backporting python_execute().
I suggest just copying portage's _eapi0_src_test(), located in phase-helpers.sh
Comment 6 Arfrever Frehtes Taifersar Arahesis 2012-02-25 18:47:27 UTC
(In reply to comment #5)
> That requires backporting python_execute().

http://code.google.com/p/gentoo-progress/source/detail?r=1341
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2012-02-26 11:08:30 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > That requires backporting python_execute().
> 
> http://code.google.com/p/gentoo-progress/source/detail?r=1341

Adding even more complexity to an already-too-complex eclass...
Comment 8 Davide Pesavento (RETIRED) gentoo-dev 2012-03-02 17:35:38 UTC
Created attachment 304013 [details, diff]
fix-default-src_test.patch

Proposed patch.
Comment 9 Mike Gilbert gentoo-dev 2012-03-07 04:14:04 UTC
(In reply to comment #8)

Thanks for that. Committed.