Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 518106 (myconfargs-typo) - packages inheriting autotools-utils.eclass but using myconfargs instead of myeconfargs
Summary: packages inheriting autotools-utils.eclass but using myconfargs instead of my...
Status: RESOLVED FIXED
Alias: myconfargs-typo
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Maciej Mrozowski
URL:
Whiteboard:
Keywords: Tracker
Depends on: 519286 519288 519292 519294 519296
Blocks:
  Show dependency tree
 
Reported: 2014-07-25 15:22 UTC by Casper Ti. Vector
Modified: 2014-08-07 16:48 UTC (History)
3 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 Casper Ti. Vector 2014-07-25 15:22:25 UTC
As the title implies, `myconfargs' is not a valid eclass API, and should be replaced by `myeconfargs'.

For your convience, these ebuilds in Portage are affected:
% find /usr/portage -name '*.ebuild' -exec grep -H 'myconfargs' '{}' ';'
find: ‘/usr/portage/packages’: Permission denied
/usr/portage/app-i18n/fbterm/fbterm-1.7.ebuild:	local myconfargs=(
/usr/portage/sci-misc/nco/nco-4.4.2.ebuild:		myconfargs+=( --disable-netcdf4 )
/usr/portage/dev-util/difffilter/difffilter-0.3.1.ebuild:	local myconfargs=(
/usr/portage/dev-util/difffilter/difffilter-0.3.3.ebuild:	local myconfargs=(
/usr/portage/media-libs/giflib/giflib-5.0.6.ebuild:	local myconfargs=(
/usr/portage/media-libs/libwmf/libwmf-0.2.8.4-r5.ebuild:	local myconfargs=()

They can be processed using:
# find /usr/portage -name '*.ebuild' -exec sed -i 's/myconfargs/myeconfargs/g' '{}' ';'
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-07-28 11:10:15 UTC
(In reply to Casper Ti. Vector from comment #0)
> As the title implies, `myconfargs' is not a valid eclass API, and should be
> replaced by `myeconfargs'.

What is an eclass EAPI?

> # find /usr/portage -name '*.ebuild' -exec sed -i
> 's/myconfargs/myeconfargs/g' '{}' ';'

If it is that trivial then what is the point?
Comment 2 Casper Ti. Vector 2014-07-28 11:22:17 UTC
To put it clearly, `myconfargs' is a typo [1], and should be replaced by `myeconfargs', which is used by eclasses to provide extra arguments to wrapped `econf' (for example, those in `autotools-utils_src_configure'):

%  grep -r 'myconfargs' /usr/portage/eclass
%  grep -r 'myeconfargs' /usr/portage/eclass
/usr/portage/eclass/ChangeLog-2013:  Deprecate systemd_to_myeconfargs(). It's redundant and unnecessarily
/usr/portage/eclass/xorg-2.eclass:	local myeconfargs=(
/usr/portage/eclass/systemd.eclass:#	local myeconfargs=(
/usr/portage/eclass/systemd.eclass:#	econf "${myeconfargs[@]}"
/usr/portage/eclass/systemd.eclass:# to preserve whitespace in paths. systemd_to_myeconfargs() is preferred over
/usr/portage/eclass/systemd.eclass:# @FUNCTION: systemd_to_myeconfargs
/usr/portage/eclass/systemd.eclass:# scripts to the myeconfargs variable used by autotools-utils eclass. Handles
/usr/portage/eclass/systemd.eclass:systemd_to_myeconfargs() {
/usr/portage/eclass/systemd.eclass:	eqawarn 'systemd_to_myeconfargs() is deprecated and will be removed on 2013-10-11.'
/usr/portage/eclass/systemd.eclass:	myeconfargs=(
/usr/portage/eclass/systemd.eclass:		"${myeconfargs[@]}"
/usr/portage/eclass/autotools-utils.eclass:# 	local myeconfargs=(
/usr/portage/eclass/autotools-utils.eclass:# in myeconfargs are passed here to econf. Additionally following USE
/usr/portage/eclass/autotools-utils.eclass:# @VARIABLE: myeconfargs
/usr/portage/eclass/autotools-utils.eclass:# 	local myeconfargs=(
/usr/portage/eclass/autotools-utils.eclass:	[[ -z ${myeconfargs+1} || $(declare -p myeconfargs) == 'declare -a'* ]] \
/usr/portage/eclass/autotools-utils.eclass:		|| die 'autotools-utils.eclass: myeconfargs has to be an array.'
/usr/portage/eclass/autotools-utils.eclass:	econfargs+=("${myeconfargs[@]}")

[1] Among the ebuilds found using `myconfargs', no one seems to use it side by side with `myeconfargs' deliberately, which indicate they are exactly typos.
Comment 3 Casper Ti. Vector 2014-08-07 06:04:04 UTC
After consulting devs on #gentoo at freenode, this has been reported separately (one per package) as #519286, #519288, #519292, #519294 and #519296, though I personally doubt whether this is more efficient than reporting as one bug.

Plus, reverting status to `UNCONFIRMED' after consulting the same people on IRC.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-07 09:39:36 UTC
Hmm, lolfail. Let's find the pattern.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-07 09:47:19 UTC
Ok, I don't see any specific pattern. It seems that different people are making this typo. Yet another reason to kill autotools-utils.
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-07 16:48:02 UTC
All occurrences fixed now. Thanks for the report!