Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 124211 - mysql.eclass: bad EXPORT_FUNCTIONS
Summary: mysql.eclass: bad EXPORT_FUNCTIONS
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux MySQL bugs team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-26 15:49 UTC by Ciaran McCreesh
Modified: 2006-02-28 04:52 UTC (History)
1 user (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 Ciaran McCreesh 2006-02-26 15:49:33 UTC
EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_config mysql_pkg_prerm pkg_postrm

Is there a reason for using mysql_pkg_prerm there?
Comment 1 SpanKY gentoo-dev 2006-02-26 16:23:41 UTC
we should just strip EXPORT_FUNCTIONS from all eclasses, it isnt needed anymore
Comment 2 Francesco R. (RETIRED) gentoo-dev 2006-02-27 04:06:00 UTC
mysql_pkg_prerm using eselect to remove linkage relative to it's own slot is a workaround needed now, after the move of the creation of /var/lib/eselect/mysql/mysql-${SLOT}.filelist into "mysql_src_install" prior it was in a post install thing (thus not removed by any cleanup).

The first solution adopted permit to have a mysql ideally functioning the same way using slotted or not (at least for the first install).

The latter need removal of symlinks created because ".filelist" file is removed too.

The first solution was the preferred (at least by me) but create nasty bugs in package removal (also previous version) due to some hidden (at least to me) portage behaviour.

About removal of EXPORT_FUNCTIONS, or it's cutting I'm (slowly) researching for more infos.
Comment 3 SpanKY gentoo-dev 2006-02-27 06:17:44 UTC
> mysql_pkg_prerm using eselect to remove linkage relative to it's own slot is a
> workaround needed now, after the move of the creation of
> /var/lib/eselect/mysql/mysql-${SLOT}.filelist into "mysql_src_install" prior it
> was in a post install thing (thus not removed by any cleanup).

the question isnt "what does mysql_pkg_prerm do", the question was "why is it in the EXPORT_FUNCTIONS list"

i think you're confused as to what EXPORT_FUNCTIONS actually does (or used to do seeing as how it isnt needed anymore) ... you had to declare which functions overrode default portage functions so that portage would know what function to call to perform the src_unpack/src_compile/src_install/etc... step

thus there is no reason for mysql_pkg_prerm to ever be in the EXPORT_FUNCTIONS list
Comment 4 Brian Harring (RETIRED) gentoo-dev 2006-02-27 18:13:29 UTC
clarifying since spanky didn't state it straight out, EXPORT_FUNCTIONS takes args of functions to override with the eclass func;

eg,
ECLASS="blah"
EXPORT_FUNCTIONS pkg_prerm
results in
pkg_prerm() { blah_pkg_prerm "$@"; }
Iow, the args to specify is the func to _override_, not what you're overriding it with.  EXPORT_FUNCTIONS forces the override to be ${ECLASS}_${PHASE_TO_OVERRIDE}

Thus... EXPORT_FUNCTIONS mysql_pkg_prerm # results in
pkg_prerm() { mysql_mysql_pkg_prerm "$@"; } , which is likely not your intention. :)
Comment 5 SpanKY gentoo-dev 2006-02-27 19:08:26 UTC
it seems to be a typo ... it should read 'EXPORT_FUNCTIONS pkg_prerm', not 'EXPORT_FUNCTIONS mysql_pkg_prerm'
Comment 6 Francesco R. (RETIRED) gentoo-dev 2006-02-28 04:52:48 UTC
/me blind, fixed thanks