Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 292037 Details for
Bug 388125
dev-db/mysql-5.1.59 fails to emerge on prefixed systems due to new eclasses
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
prefix fixes for mysql eclasses (v2)
mysql-prefix-eclass.patch (text/plain), 24.52 KB, created by
Fabian Groffen
on 2011-11-09 18:29:49 UTC
(
hide
)
Description:
prefix fixes for mysql eclasses (v2)
Filename:
MIME Type:
Creator:
Fabian Groffen
Created:
2011-11-09 18:29:49 UTC
Size:
24.52 KB
patch
obsolete
>diff --git a/eclass/mysql-autotools.eclass b/eclass/mysql-autotools.eclass >index bf0b0b5..fb40456 100644 >--- a/eclass/mysql-autotools.eclass >+++ b/eclass/mysql-autotools.eclass >@@ -376,7 +376,7 @@ mysql-autotools_src_prepare() { > > # Make charsets install in the right place > find . -name 'Makefile.am' \ >- -exec sed --in-place -e 's!$(pkgdatadir)!'"${EPREFIX}"${MY_SHAREDSTATEDIR}'!g' {} \; >+ -exec sed --in-place -e 's!$(pkgdatadir)!'${MY_SHAREDSTATEDIR}'!g' {} \; > > # Remove what needs to be recreated, so we're sure it's actually done > einfo "Cleaning up old buildscript files" >@@ -478,11 +478,11 @@ mysql-autotools_src_configure() { > > econf \ > --libexecdir="${EPREFIX}/usr/sbin" \ >- --sysconfdir="${EPREFIX}${MY_SYSCONFDIR}" \ >- --localstatedir="${EPREFIX}${MY_LOCALSTATEDIR}" \ >- --sharedstatedir="${EPREFIX}${MY_SHAREDSTATEDIR}" \ >- --libdir="${EPREFIX}${MY_LIBDIR}" \ >- --includedir="${EPREFIX}${MY_INCLUDEDIR}" \ >+ --sysconfdir="${MY_SYSCONFDIR}" \ >+ --localstatedir="${MY_LOCALSTATEDIR}" \ >+ --sharedstatedir="${MY_SHAREDSTATEDIR}" \ >+ --libdir="${MY_LIBDIR}" \ >+ --includedir="${MY_INCLUDEDIR}" \ > --with-low-memory \ > --with-client-ldflags=-lstdc++ \ > --enable-thread-safe-client \ >@@ -523,8 +523,8 @@ mysql-autotools_src_install() { > > emake install \ > DESTDIR="${D}" \ >- benchdir_root="${EPREFIX}${MY_SHAREDSTATEDIR}" \ >- testroot="${EPREFIX}${MY_SHAREDSTATEDIR}" \ >+ benchdir_root="${MY_SHAREDSTATEDIR}" \ >+ testroot="${MY_SHAREDSTATEDIR}" \ > || die "emake install failed" > > if [[ "${PBXT_NEWSTYLE}" != "1" ]]; then >@@ -539,7 +539,7 @@ mysql-autotools_src_install() { > > # Various junk (my-*.cnf moved elsewhere) > einfo "Removing duplicate /usr/share/mysql files" >- rm -Rf "${D}/usr/share/info" >+ rm -Rf "${ED}/usr/share/info" > for removeme in "mysql-log-rotate" mysql.server* \ > binary-configure* my-*.cnf mi_test_all* > do >@@ -550,8 +550,8 @@ mysql-autotools_src_install() { > if use minimal ; then > einfo "Remove all extra content for minimal build" > rm -Rf "${D}${MY_SHAREDSTATEDIR}"/{mysql-test,sql-bench} >- rm -f "${D}"/usr/bin/{mysql{_install_db,manager*,_secure_installation,_fix_privilege_tables,hotcopy,_convert_table_format,d_multi,_fix_extensions,_zap,_explain_log,_tableinfo,d_safe,_install,_waitpid,binlog,test},myisam*,isam*,pack_isam} >- rm -f "${D}/usr/sbin/mysqld" >+ rm -f "${ED}"/usr/bin/{mysql{_install_db,manager*,_secure_installation,_fix_privilege_tables,hotcopy,_convert_table_format,d_multi,_fix_extensions,_zap,_explain_log,_tableinfo,d_safe,_install,_waitpid,binlog,test},myisam*,isam*,pack_isam} >+ rm -f "${ED}/usr/sbin/mysqld" > rm -f "${D}${MY_LIBDIR}"/lib{heap,merge,nisam,my{sys,strings,sqld,isammrg,isam},vio,dbug}.a > fi > >@@ -567,10 +567,10 @@ mysql-autotools_src_install() { > 5.[1-9]|6*|7*) mysql_mycnf_version="5.1" ;; > esac > einfo "Building default my.cnf (${mysql_mycnf_version})" >- insinto "${MY_SYSCONFDIR}" >+ insinto "${MY_SYSCONFDIR#${EPREFIX}}" > doins scripts/mysqlaccess.conf > mycnf_src="my.cnf-${mysql_mycnf_version}" >- sed -e "s!@DATADIR@!${EPREFIX}${MY_DATADIR}!g" \ >+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ > -e "s!/tmp!${EPREFIX}/tmp!" \ > -e "s!/usr!${EPREFIX}/usr!" \ > -e "s!= /var!= ${EPREFIX}/var!" \ >@@ -589,16 +589,16 @@ mysql-autotools_src_install() { > # Empty directories ... > diropts "-m0750" > if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then >- dodir "${MY_DATADIR}" >- keepdir "${MY_DATADIR}" >+ dodir "${MY_DATADIR#${EPREFIX}}" >+ keepdir "${MY_DATADIR#${EPREFIX}}" > chown -R mysql:mysql "${D}/${MY_DATADIR}" > fi > > diropts "-m0755" >- for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do >+ for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do > dodir "${folder}" > keepdir "${folder}" >- chown -R mysql:mysql "${D}/${folder}" >+ chown -R mysql:mysql "${ED}/${folder}" > done > fi > >@@ -628,5 +628,5 @@ mysql-autotools_src_install() { > > fi > >- mysql_lib_symlinks "${D}" >+ mysql_lib_symlinks "${ED}" > } >diff --git a/eclass/mysql-cmake.eclass b/eclass/mysql-cmake.eclass >index c74f056..38012e3 100644 >--- a/eclass/mysql-cmake.eclass >+++ b/eclass/mysql-cmake.eclass >@@ -268,7 +268,7 @@ mysql-cmake_src_install() { > dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize" > > # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir >- rm -Rf "${D}/usr/data" >+ rm -Rf "${ED}/usr/data" > > # Various junk (my-*.cnf moved elsewhere) > einfo "Removing duplicate /usr/share/mysql files" >@@ -313,16 +313,16 @@ mysql-cmake_src_install() { > # Empty directories ... > diropts "-m0750" > if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then >- dodir "${MY_DATADIR}" >- keepdir "${MY_DATADIR}" >+ dodir "${MY_DATADIR#${EPREFIX}}" >+ keepdir "${MY_DATADIR#${EPREFIX}}" > chown -R mysql:mysql "${D}/${MY_DATADIR}" > fi > > diropts "-m0755" >- for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do >+ for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do > dodir "${folder}" > keepdir "${folder}" >- chown -R mysql:mysql "${D}/${folder}" >+ chown -R mysql:mysql "${ED}/${folder}" > done > fi > >@@ -345,5 +345,5 @@ mysql-cmake_src_install() { > > fi > >- mysql_lib_symlinks "${D}" >+ mysql_lib_symlinks "${ED}" > } >diff --git a/eclass/mysql-v2.eclass b/eclass/mysql-v2.eclass >index d556230..41233e0 100644 >--- a/eclass/mysql-v2.eclass >+++ b/eclass/mysql-v2.eclass >@@ -496,12 +496,12 @@ mysql-v2_pkg_postinst() { > mysql_init_vars > > # Check FEATURES="collision-protect" before removing this >- [[ -d "${EROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${EROOT}${MY_LOGDIR}" >+ [[ -d "${EROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" > > # Secure the logfiles >- touch "${EROOT}${MY_LOGDIR}"/mysql.{log,err} >- chown mysql:mysql "${EROOT}${MY_LOGDIR}"/mysql* >- chmod 0660 "${EROOT}${MY_LOGDIR}"/mysql* >+ touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err} >+ chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql* >+ chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql* > > # Minimal builds don't have the MySQL server > if ! use minimal ; then >@@ -571,8 +571,8 @@ mysql-v2_pkg_config() { > fi > > if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then >- local MY_DATADIR_s="$(strip_duplicate_slashes ${EROOT}/${MY_DATADIR})" >- local old_MY_DATADIR_s="$(strip_duplicate_slashes ${EROOT}/${old_MY_DATADIR})" >+ local MY_DATADIR_s="$(strip_duplicate_slashes ${ROOT}/${MY_DATADIR})" >+ local old_MY_DATADIR_s="$(strip_duplicate_slashes ${ROOT}/${old_MY_DATADIR})" > > if [[ -d "${old_MY_DATADIR_s}" ]]; then > if [[ -d "${MY_DATADIR_s}" ]]; then >@@ -602,9 +602,9 @@ mysql-v2_pkg_config() { > MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${EROOT}/root/.my.cnf")" > fi > >- if [[ -d "${EROOT}/${MY_DATADIR}/mysql" ]] ; then >+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then > ewarn "You have already a MySQL database in place." >- ewarn "(${EROOT}/${MY_DATADIR}/*)" >+ ewarn "(${ROOT}/${MY_DATADIR}/*)" > ewarn "Please rename or delete it if you wish to replace it." > die "MySQL database already exists!" > fi >@@ -633,23 +633,23 @@ mysql-v2_pkg_config() { > local options="" > local sqltmp="$(emktemp)" > >- local help_tables="${EROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql" >+ local help_tables="${ROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql" > [[ -r "${help_tables}" ]] \ > && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \ > || touch "${TMPDIR}/fill_help_tables.sql" > help_tables="${TMPDIR}/fill_help_tables.sql" > > pushd "${TMPDIR}" &>/dev/null >- "${EROOT}/usr/bin/mysql_install_db --basedir=/usr" >"${TMPDIR}"/mysql_install_db.log 2>&1 >+ "${EROOT}/usr/bin/mysql_install_db" "--basedir=${EPREFIX}/usr" >"${TMPDIR}"/mysql_install_db.log 2>&1 > if [ $? -ne 0 ]; then > grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 >- die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" >+ die "Failed to run mysql_install_db. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" > fi > popd &>/dev/null >- [[ -f "${EROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ >+ [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ > || die "MySQL databases not installed" >- chown -R mysql:mysql "${EROOT}/${MY_DATADIR}" 2>/dev/null >- chmod 0750 "${EROOT}/${MY_DATADIR}" 2>/dev/null >+ chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null >+ chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null > > # Figure out which options we need to disable to do the setup > helpfile="${TMPDIR}/mysqld-help" >@@ -682,7 +682,7 @@ mysql-v2_pkg_config() { > ${options} \ > --user=mysql \ > --basedir=${EROOT}/usr \ >- --datadir=${EROOT}/${MY_DATADIR} \ >+ --datadir=${ROOT}/${MY_DATADIR} \ > --max_allowed_packet=8M \ > --net_buffer_length=16K \ > --default-storage-engine=MyISAM \ >@@ -736,5 +736,5 @@ mysql-v2_pkg_config() { > # Remove mysql symlinks. > mysql-v2_pkg_postrm() { > >- : # mysql_lib_symlinks "${D}" >+ : # mysql_lib_symlinks "${ED}" > } >diff --git a/eclass/mysql.eclass b/eclass/mysql.eclass >index 78b482b..6b8a2cd 100644 >--- a/eclass/mysql.eclass >+++ b/eclass/mysql.eclass >@@ -127,7 +127,7 @@ PERCONA_VER="${PERCONA_VER}" > # Be warned, *DEPEND are version-dependant > # These are used for both runtime and compiletime > DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d ) >- userland_GNU? ( sys-process/procps ) >+ kernel_linux? ( sys-process/procps ) > >=sys-apps/sed-4 > >=sys-apps/texinfo-4.7-r1 > >=sys-libs/readline-4.1 >@@ -364,21 +364,21 @@ mysql_disable_test() { > # Initialize global variables > # 2005-11-19 <vivo@gentoo.org> > mysql_init_vars() { >- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="/usr/share/mysql"} >- MY_SYSCONFDIR=${MY_SYSCONFDIR="/etc/mysql"} >- MY_LIBDIR=${MY_LIBDIR="/usr/$(get_libdir)/mysql"} >- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="/var/lib/mysql"} >- MY_LOGDIR=${MY_LOGDIR="/var/log/mysql"} >- MY_INCLUDEDIR=${MY_INCLUDEDIR="/usr/include/mysql"} >+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} >+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} >+ MY_LIBDIR=${MY_LIBDIR="${EPREFIX}/usr/$(get_libdir)/mysql"} >+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} >+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} >+ MY_INCLUDEDIR=${MY_INCLUDEDIR="${EPREFIX}/usr/include/mysql"} > > if [[ -z "${MY_DATADIR}" ]] ; then > MY_DATADIR="" >- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then >+ if [[ -f ${MY_SYSCONFDIR}/my.cnf ]] ; then > MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ > | sed -ne '/datadir/s|^--datadir=||p' \ > | tail -n1` > if [[ -z "${MY_DATADIR}" ]] ; then >- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ >+ MY_DATADIR=`grep ^datadir ${MY_SYSCONFDIR}/my.cnf \ > | sed -e 's/.*=\s*//' \ > | tail -n1` > fi >@@ -460,7 +460,7 @@ configure_common() { > myconf="${myconf} --with-extra-charsets=all" > myconf="${myconf} --with-mysqld-user=mysql" > myconf="${myconf} --with-server" >- myconf="${myconf} --with-unix-socket-path=/var/run/mysqld/mysqld.sock" >+ myconf="${myconf} --with-unix-socket-path=${EPREFIX}/var/run/mysqld/mysqld.sock" > myconf="${myconf} --without-libwrap" > > if use static ; then >@@ -505,12 +505,13 @@ configure_common() { > } > > configure_40_41_50() { >+ myconf="${myconf} --with-zlib-dir=${EPREFIX}/usr" > myconf="${myconf} $(use_with perl bench)" > myconf="${myconf} --enable-assembler" > myconf="${myconf} --with-extra-tools" > myconf="${myconf} --with-innodb" > myconf="${myconf} --without-readline" >- myconf="${myconf} $(use_with ssl openssl)" >+ myconf="${myconf} $(use_with ssl openssl "${EPREFIX}/usr")" > mysql_version_is_at_least "5.0" || myconf="${myconf} $(use_with raid)" > > # --with-vio is not needed anymore, it's on by default and >@@ -586,13 +587,13 @@ configure_51() { > # TODO: !!!! readd --without-readline > # the failure depend upon config/ac-macros/readline.m4 checking into > # readline.h instead of history.h >- myconf="${myconf} $(use_with ssl ssl /usr)" >+ myconf="${myconf} $(use_with ssl ssl "${EPREFIX}"/usr)" > myconf="${myconf} --enable-assembler" > myconf="${myconf} --with-geometry" > myconf="${myconf} --with-readline" >- myconf="${myconf} --with-zlib-dir=/usr/" >+ myconf="${myconf} --with-zlib-dir=${EPREFIX}/usr/" > myconf="${myconf} --without-pstack" >- myconf="${myconf} --with-plugindir=/usr/$(get_libdir)/mysql/plugin" >+ myconf="${myconf} --with-plugindir=${EPREFIX}/usr/$(get_libdir)/mysql/plugin" > > # This is an explict die here, because if we just forcibly disable it, then the > # user's data is not accessible. >@@ -743,7 +744,7 @@ pbxt_src_configure() { > eautoreconf > > local myconf="" >- myconf="${myconf} --with-mysql=${S} --libdir=/usr/$(get_libdir)" >+ myconf="${myconf} --with-mysql=${S} --libdir=${EPREFIX}/usr/$(get_libdir)" > use debug && myconf="${myconf} --with-debug=full" > econf ${myconf} || die "Problem configuring PBXT storage engine" > } >@@ -839,8 +840,9 @@ mysql_pkg_setup() { > # But only for 5.0.8[3-6]! > if mysql_version_is_at_least "5.0.83" && ! mysql_version_is_at_least 5.0.87 ; then > GCC_VER=$(gcc-version) >- case ${GCC_VER} in >- 2*|3*|4.0|4.1|4.2) >+ case ${CHOST}:${GCC_VER} in >+ *-darwin*:4.*) : ;; # bug #310615 >+ *:2*|*:3*|*:4.0|*:4.1|*:4.2) > eerror "Some releases of MySQL required a very new GCC, and then" > eerror "later release relaxed that requirement again. Either pick a" > eerror "MySQL >=5.0.87, or use a newer GCC." >@@ -978,14 +980,14 @@ mysql_src_prepare() { > && use berkdb ; then > einfo "Fixing up berkdb buildsystem" > [[ -w "bdb/dist/ltmain.sh" ]] && cp -f "ltmain.sh" "bdb/dist/ltmain.sh" >- cp -f "/usr/share/aclocal/libtool.m4" "bdb/dist/aclocal/libtool.ac" \ >+ cp -f "${EPREFIX}/usr/share/aclocal/libtool.m4" "bdb/dist/aclocal/libtool.ac" \ > || die "Could not copy libtool.m4 to bdb/dist/" > #These files exist only with libtool-2*, and need to be included. >- if [ -f '/usr/share/aclocal/ltsugar.m4' ]; then >- cat "/usr/share/aclocal/ltsugar.m4" >> "bdb/dist/aclocal/libtool.ac" >- cat "/usr/share/aclocal/ltversion.m4" >> "bdb/dist/aclocal/libtool.ac" >- cat "/usr/share/aclocal/lt~obsolete.m4" >> "bdb/dist/aclocal/libtool.ac" >- cat "/usr/share/aclocal/ltoptions.m4" >> "bdb/dist/aclocal/libtool.ac" >+ if [ -f ${EPREFIX}'/usr/share/aclocal/ltsugar.m4' ]; then >+ cat "${EPREFIX}/usr/share/aclocal/ltsugar.m4" >> "bdb/dist/aclocal/libtool.ac" >+ cat "${EPREFIX}/usr/share/aclocal/ltversion.m4" >> "bdb/dist/aclocal/libtool.ac" >+ cat "${EPREFIX}/usr/share/aclocal/lt~obsolete.m4" >> "bdb/dist/aclocal/libtool.ac" >+ cat "${EPREFIX}/usr/share/aclocal/ltoptions.m4" >> "bdb/dist/aclocal/libtool.ac" > fi > pushd "bdb/dist" &>/dev/null > sh s_all \ >@@ -1046,12 +1048,12 @@ mysql_src_configure() { > filter-flags -fomit-frame-pointer > > econf \ >- --libexecdir="/usr/sbin" \ >- --sysconfdir="${MY_SYSCONFDIR}" \ >- --localstatedir="${MY_LOCALSTATEDIR}" \ >- --sharedstatedir="${MY_SHAREDSTATEDIR}" \ >- --libdir="${MY_LIBDIR}" \ >- --includedir="${MY_INCLUDEDIR}" \ >+ --libexecdir="${EPREFIX}"/usr/sbin \ >+ --sysconfdir=${MY_SYSCONFDIR} \ >+ --localstatedir=${MY_LOCALSTATEDIR} \ >+ --sharedstatedir=${MY_SHAREDSTATEDIR} \ >+ --libdir=${MY_LIBDIR} \ >+ --includedir=${MY_INCLUDEDIR} \ > --with-low-memory \ > --with-client-ldflags=-lstdc++ \ > --enable-thread-safe-client \ >@@ -1096,7 +1098,7 @@ mysql_src_install() { > > emake install \ > DESTDIR="${D}" \ >- benchdir_root="${MY_SHAREDSTATEDIR}" \ >+ benchdir_root=${MY_SHAREDSTATEDIR} \ > testroot="${MY_SHAREDSTATEDIR}" \ > || die "emake install failed" > >@@ -1112,7 +1114,7 @@ mysql_src_install() { > > # Various junk (my-*.cnf moved elsewhere) > einfo "Removing duplicate /usr/share/mysql files" >- rm -Rf "${D}/usr/share/info" >+ rm -Rf "${ED}/usr/share/info" > for removeme in "mysql-log-rotate" mysql.server* \ > binary-configure* my-*.cnf mi_test_all* > do >@@ -1123,8 +1125,8 @@ mysql_src_install() { > if use minimal ; then > einfo "Remove all extra content for minimal build" > rm -Rf "${D}${MY_SHAREDSTATEDIR}"/{mysql-test,sql-bench} >- rm -f "${D}"/usr/bin/{mysql{_install_db,manager*,_secure_installation,_fix_privilege_tables,hotcopy,_convert_table_format,d_multi,_fix_extensions,_zap,_explain_log,_tableinfo,d_safe,_install,_waitpid,binlog,test},myisam*,isam*,pack_isam} >- rm -f "${D}/usr/sbin/mysqld" >+ rm -f "${ED}"/usr/bin/{mysql{_install_db,manager*,_secure_installation,_fix_privilege_tables,hotcopy,_convert_table_format,d_multi,_fix_extensions,_zap,_explain_log,_tableinfo,d_safe,_install,_waitpid,binlog,test},myisam*,isam*,pack_isam} >+ rm -f "${ED}/usr/sbin/mysqld" > rm -f "${D}${MY_LIBDIR}"/lib{heap,merge,nisam,my{sys,strings,sqld,isammrg,isam},vio,dbug}.a > fi > >@@ -1142,12 +1144,16 @@ mysql_src_install() { > 5.[1-9]|6*|7*) mysql_mycnf_version="5.1" ;; > esac > einfo "Building default my.cnf (${mysql_mycnf_version})" >- insinto "${MY_SYSCONFDIR}" >+ insinto "${MY_SYSCONFDIR#${EPREFIX}}" > doins scripts/mysqlaccess.conf > mycnf_src="my.cnf-${mysql_mycnf_version}" > sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ >+ -e "s!/tmp!${EPREFIX}/tmp!" \ >+ -e "s!/usr!${EPREFIX}/usr!" \ >+ -e "s!= /var!= ${EPREFIX}/var!" \ > "${FILESDIR}/${mycnf_src}" \ > > "${TMPDIR}/my.cnf.ok" >+ use prefix && sed -i -e '/^user[ ]*= mysql$/d' "${TMPDIR}/my.cnf.ok" > if use latin1 ; then > sed -i \ > -e "/character-set/s|utf8|latin1|g" \ >@@ -1161,16 +1167,16 @@ mysql_src_install() { > # Empty directories ... > diropts "-m0750" > if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then >- dodir "${MY_DATADIR}" >- keepdir "${MY_DATADIR}" >+ dodir "${MY_DATADIR#${EPREFIX}}" >+ keepdir "${MY_DATADIR#${EPREFIX}}" > chown -R mysql:mysql "${D}/${MY_DATADIR}" > fi > > diropts "-m0755" >- for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do >+ for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do > dodir "${folder}" > keepdir "${folder}" >- chown -R mysql:mysql "${D}/${folder}" >+ chown -R mysql:mysql "${ED}/${folder}" > done > fi > >@@ -1200,7 +1206,7 @@ mysql_src_install() { > > fi > >- mysql_lib_symlinks "${D}" >+ mysql_lib_symlinks "${ED}" > } > > # @FUNCTION: mysql_pkg_preinst >@@ -1224,7 +1230,7 @@ mysql_pkg_postinst() { > mysql_init_vars > > # Check FEATURES="collision-protect" before removing this >- [[ -d "${ROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" >+ [[ -d "${EROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" > > # Secure the logfiles > touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err} >@@ -1325,8 +1331,8 @@ mysql_pkg_config() { > local pwd2="b" > local maxtry=15 > >- if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${ROOT}/root/.my.cnf" ]; then >- MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${ROOT}/root/.my.cnf")" >+ if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${EROOT}/root/.my.cnf" ]; then >+ MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${EROOT}/root/.my.cnf")" > fi > > if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then >@@ -1367,7 +1373,7 @@ mysql_pkg_config() { > help_tables="${TMPDIR}/fill_help_tables.sql" > > pushd "${TMPDIR}" &>/dev/null >- "${ROOT}/usr/bin/mysql_install_db" >"${TMPDIR}"/mysql_install_db.log 2>&1 >+ "${EROOT}/usr/bin/mysql_install_db" >"${TMPDIR}"/mysql_install_db.log 2>&1 > if [ $? -ne 0 ]; then > grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 > die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" >@@ -1395,7 +1401,7 @@ mysql_pkg_config() { > if mysql_version_is_at_least "4.1.3" ; then > # Filling timezones, see > # http://dev.mysql.com/doc/mysql/en/time-zone-support.html >- "${ROOT}/usr/bin/mysql_tzinfo_to_sql" "${ROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null >+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null > > if [[ -r "${help_tables}" ]] ; then > cat "${help_tables}" >> "${sqltmp}" >@@ -1405,12 +1411,14 @@ mysql_pkg_config() { > einfo "Creating the mysql database and setting proper" > einfo "permissions on it ..." > >- local socket="${ROOT}/var/run/mysqld/mysqld${RANDOM}.sock" >- local pidfile="${ROOT}/var/run/mysqld/mysqld${RANDOM}.pid" >- local mysqld="${ROOT}/usr/sbin/mysqld \ >+ use prefix || options="${options} --user=mysql" >+ >+ local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" >+ local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" >+ local mysqld="${EROOT}/usr/sbin/mysqld \ > ${options} \ > --user=mysql \ >- --basedir=${ROOT}/usr \ >+ --basedir=${EROOT}/usr \ > --datadir=${ROOT}/${MY_DATADIR} \ > --max_allowed_packet=8M \ > --net_buffer_length=16K \ >@@ -1435,14 +1443,14 @@ mysql_pkg_config() { > ebegin "Setting root password" > # Do this from memory, as we don't want clear text passwords in temp files > local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'" >- "${ROOT}/usr/bin/mysql" \ >+ "${EROOT}/usr/bin/mysql" \ > --socket=${socket} \ > -hlocalhost \ > -e "${sql}" > eend $? > > ebegin "Loading \"zoneinfo\", this step may require a few seconds ..." >- "${ROOT}/usr/bin/mysql" \ >+ "${EROOT}/usr/bin/mysql" \ > --socket=${socket} \ > -hlocalhost \ > -uroot \ >@@ -1464,5 +1472,5 @@ mysql_pkg_config() { > # @DESCRIPTION: > # Remove mysql symlinks. > mysql_pkg_postrm() { >- : # mysql_lib_symlinks "${D}" >+ : # mysql_lib_symlinks "${ED}" > } >diff --git a/eclass/mysql_fx.eclass b/eclass/mysql_fx.eclass >index cad3114..8cfb079 100644 >--- a/eclass/mysql_fx.eclass >+++ b/eclass/mysql_fx.eclass >@@ -205,14 +205,32 @@ mysql_lib_symlinks() { > libnameln=${libname##*/} > # loop in version of the library to link it, similar to how > # libtool works >- while [[ ${libnameln:0-3} != '${libsuffix}' ]] && [[ ${maxdots} -lt 6 ]] ; do >+ if [[ ${CHOST} == *-darwin* ]] ; then >+ # macho: libname.x.y.z.dylib >+ local libbasename=${libnameln%%.*} # libname >+ local libver=${libnameln#${libbasename}} # .x.y.z.dylib >+ libver=${libver%${libsuffix}} # .x.y.z >+ while [[ -n ${libver} ]] && [[ ${maxdots} -lt 6 ]] ; do >+ libnameln="${libbasename}${libver}${libsuffix}" >+ rm -f "${libnameln}" >+ ln -s "${libname}" "${libnameln}" >+ (( ++maxdots )) >+ libver=${libver%.*} >+ done >+ libnameln="${libbasename}${libsuffix}" > rm -f "${libnameln}" > ln -s "${libname}" "${libnameln}" >- (( ++maxdots )) >- libnameln="${libnameln%.*}" >- done >- rm -f "${libnameln}" >- ln -s "${libname}" "${libnameln}" >+ else >+ # elf: libname.so.x.y.z >+ while [[ ${libnameln:0-3} != '${libsuffix}' ]] && [[ ${maxdots} -lt 6 ]] ; do >+ rm -f "${libnameln}" >+ ln -s "${libname}" "${libnameln}" >+ (( ++maxdots )) >+ libnameln="${libnameln%.*}" >+ done >+ rm -f "${libnameln}" >+ ln -s "${libname}" "${libnameln}" >+ fi > done > done > >@@ -225,21 +243,21 @@ mysql_lib_symlinks() { > # Initialize global variables > # 2005-11-19 <vivo@gentoo.org> > mysql_init_vars() { >- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="/usr/share/mysql"} >- MY_SYSCONFDIR=${MY_SYSCONFDIR="/etc/mysql"} >- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="/var/lib/mysql"} >- MY_LOGDIR=${MY_LOGDIR="/var/log/mysql"} >- MY_INCLUDEDIR=${MY_INCLUDEDIR="/usr/include/mysql"} >- MY_LIBDIR=${MY_LIBDIR="/usr/$(get_libdir)/mysql"} >+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} >+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} >+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} >+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} >+ MY_INCLUDEDIR=${MY_INCLUDEDIR="${EPREFIX}/usr/include/mysql"} >+ MY_LIBDIR=${MY_LIBDIR="${EPREFIX}/usr/$(get_libdir)/mysql"} > > if [[ -z "${MY_DATADIR}" ]] ; then > MY_DATADIR="" >- if [[ -f "${EPREFIX}${MY_SYSCONFDIR}/my.cnf" ]] ; then >+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then > MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ > | sed -ne '/datadir/s|^--datadir=||p' \ > | tail -n1` > if [[ -z "${MY_DATADIR}" ]] ; then >- MY_DATADIR=`grep ^datadir "${EPREFIX}${MY_SYSCONFDIR}/my.cnf" \ >+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ > | sed -e 's/.*=\s*//' \ > | tail -n1` > fi >@@ -247,16 +265,13 @@ mysql_init_vars() { > if [[ -z "${MY_DATADIR}" ]] ; then > MY_DATADIR="${MY_LOCALSTATEDIR}" > einfo "Using default MY_DATADIR" >- else >- # strip leading EPREFIX returned by already installed mysql >- MY_DATADIR="${MY_DATADIR#${EPREFIX}}" > fi >- elog "MySQL MY_DATADIR is ${EPREFIX}${MY_DATADIR}" >+ elog "MySQL MY_DATADIR is ${MY_DATADIR}" > > if [[ -z "${PREVIOUS_DATADIR}" ]] ; then >- if [[ -e "${EPREFIX}${MY_DATADIR}" ]] ; then >+ if [[ -e "${MY_DATADIR}" ]] ; then > # If you get this and you're wondering about it, see bug #207636 >- elog "MySQL datadir found in ${EPREFIX}${MY_DATADIR}" >+ elog "MySQL datadir found in ${MY_DATADIR}" > elog "A new one will not be created." > PREVIOUS_DATADIR="yes" > else >@@ -275,8 +290,6 @@ mysql_init_vars() { > ewarn "MySQL MY_DATADIR has changed" > ewarn "from ${MY_DATADIR}" > ewarn "to ${new_MY_DATADIR}" >- # strip leading EPREFIX returned by already installed mysql >- MY_DATADIR="${new_MY_DATADIR#${EPREFIX}}" > fi > fi > fi
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 388125
:
290535
|
290537
|
290539
|
291977
|
292037
|
296349