Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 340597 - linux-mod.eclass calls econf in src_compile (for eapi >=2)
Summary: linux-mod.eclass calls econf in src_compile (for eapi >=2)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-11 22:30 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2023-01-28 23:44 UTC (History)
2 users (show)

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


Attachments
Build log (pcfclock-0.44-r6:20101011-211715.log,9.62 KB, text/plain)
2010-10-11 22:30 UTC, Diego Elio Pettenò (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2010-10-11 22:30:25 UTC
Portage 2.1.9.14 (default/linux/x86/10.0, gcc-4.5.1-asneeded, glibc-2.12.1-r1, 2.6.35.6+ i686)
=================================================================
System uname: Linux-2.6.35.6+-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Fri, 08 Oct 2010 21:00:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.7, 3.1.2-r4
dev-util/ccache:     2.4-r8
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.3
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.5.1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.82
virtual/os-headers:  2.6.35 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/lib/redmine/config /var/phxd /var/spool/torque /var/vpopmail/etc /var/yp/Makefile"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/games/angband/edit/ /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unknown-features-warn unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.wheel.sk/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j14"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/cache/portage/tree"
SYNC="rsync://yamato.home.flameeyes.eu/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap mysql ncurses nls nostatic nptl nptlonly openmp pam pcre perl postgres pppd python qt3support readline reflection ruby session ssl sysfs tcpd unicode vhosts x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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 auth_digest cgi" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 llines 1-43
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-10-11 22:30:42 UTC
Created attachment 250279 [details]
Build log
Comment 2 Stefan Briesenick (RETIRED) gentoo-dev 2010-11-16 15:31:29 UTC
huh? In this ebuild, there isn't even a src_compile() function. So if, then this error is within some eclass.

I will try to investigate this.
Comment 3 Stefan Briesenick (RETIRED) gentoo-dev 2010-11-16 15:35:53 UTC
yup, found it:

[linux-mod.eclass]

# @FUNCTION: linux-mod_src_compile
# @DESCRIPTION:
# It compiles all the modules specified in MODULE_NAMES. For each module the econf command is
# executed only if ECONF_PARAMS is defined, the name of the target is specified by BUILD_TARGETS
# while the options are in BUILD_PARAMS (all the modules share these variables). The compilation
# happens inside ${srcdir}.
#
# Look at the description of these variables for more details.
linux-mod_src_compile() {
[..]

Please open a bug to linux-mod.eclass maintainers.

I will close this bug with CANTFIX, because it's not a fault of my ebuild.
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-11-16 15:39:30 UTC
I'd argue you should have checked the eclasses you've been using _before_ bumping EAPI.

The package is still broken; the eclass is the cause, but who's _fault_ it is, that's still up in the air.

CCing the maintainers of the eclass and QA, this has to get fixed. Soon.
Comment 5 Tomáš Chvátal (RETIRED) gentoo-dev 2010-11-16 15:51:52 UTC
As diego said,
you NOW revert the eapi change and ask eclass maintainers to provide eapi support or write the patch yourself.

You cant bump eapi to something that is not supported by all inherited eclasses.

Hmm might be good idea to write some metaeclass that handles support of this stuff and dies otherwise, and we can just make all call something like
inherit eapi-checker
eapi_supported 0 1 3 4
where if ebuild has eapi=2 then it would die :)

and in eapi-checker we would have something like:

eapi_supported() {
debug-print-function ${FUNCNAME} "$@"
match_found=false
for i in ${@}; do
[ "$i" == "${EAPI:-0}" ] && match_found=true; break
done
[ "$match_found" == "false" ] && die "Eclass does not support specified EAPI=\"${EAPI:-0}\""
}
Comment 6 Stefan Briesenick (RETIRED) gentoo-dev 2010-11-16 16:21:29 UTC
oh, well, EAPI=3 is official. great stuff then...

linux-mod is somewhat often used, so I thought it's safe.

nonetheless, if your wish is to revert to EAPI=0, then ok.

Comment 7 Stefan Briesenick (RETIRED) gentoo-dev 2010-11-16 16:33:52 UTC
ok, reverted to EAPI=0.

But now I found another "Bug". LDFLAGS are not respected (anymore). Have to check this, because it worked already.
Comment 8 Tomáš Chvátal (RETIRED) gentoo-dev 2010-11-16 16:34:59 UTC
(In reply to comment #6)
> oh, well, EAPI=3 is official. great stuff then...
> 
> linux-mod is somewhat often used, so I thought it's safe.
> 
> nonetheless, if your wish is to revert to EAPI=0, then ok.
> 

Eapi is official, problem is that eclass maintainers must take this into effect (just take look how long it took games.eclass to inherit its support) simply put it is up to maintainers, we at qa dont have manpower to migrate all eclass to latest :)

From looking on the linux-mod it is quite simple to provide the support
Comment 9 Pacho Ramos gentoo-dev 2013-06-02 10:35:15 UTC
Remaining issue needs to be solved by eclass maintainers (package already was reverted to eapi0)
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-04-12 04:39:02 UTC
ping!
Comment 11 Mike Pagano gentoo-dev 2022-12-07 13:02:01 UTC
(In reply to Sam James from comment #10)
> ping!

Is there any reason to keep this functionality?  I found one package in the tree that defines ECONF_PARAMS and even that ebuild[1] calls econf itself with those params which makes it redundant.

[1] https://gitweb.gentoo.org/repo/gentoo.git/tree/x11-misc/bumblebee
Comment 12 Larry the Git Cow gentoo-dev 2022-12-07 15:46:27 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f59498ed6e49ef1c6e87392e71680877f8a705ca

commit f59498ed6e49ef1c6e87392e71680877f8a705ca
Author:     Mike Pagano <mpagano@gentoo.org>
AuthorDate: 2022-12-07 15:45:37 +0000
Commit:     Mike Pagano <mpagano@gentoo.org>
CommitDate: 2022-12-07 15:45:37 +0000

    linux-mod.eclass: Warn about removal of econf called in compile phase func
    
    Notify packaga maintainers that their package relies on
    the EAPI deprecated use of econf being called in
    linux-mod_src_compile, which will go away in 30 days (20230107)
    
    Bug: https://bugs.gentoo.org/340597
    
    Signed-off-by: Mike Pagano <mpagano@gentoo.org>

 eclass/linux-mod.eclass | 1 +
 1 file changed, 1 insertion(+)
Comment 13 Larry the Git Cow gentoo-dev 2023-01-28 23:44:48 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a12ba763d457378fd98105511bee9db65becdc71

commit a12ba763d457378fd98105511bee9db65becdc71
Author:     Mike Pagano <mpagano@gentoo.org>
AuthorDate: 2023-01-28 23:44:20 +0000
Commit:     Mike Pagano <mpagano@gentoo.org>
CommitDate: 2023-01-28 23:44:20 +0000

    linux-mod.eclass: Remove EAPI deprecated function call
    
    As warned, remove EAPI deprecated use of econf being called in
    linux-mod_src_compile
    
    Closes: https://bugs.gentoo.org/340597
    See: https://marc.info/?l=gentoo-dev&m=167069431328509
    
    Signed-off-by: Mike Pagano <mpagano@gentoo.org>

 eclass/linux-mod.eclass | 4 ----
 1 file changed, 4 deletions(-)