Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 388125 | Differences between
and this patch

Collapse All | Expand All

(-)a/eclass/mysql-autotools.eclass (-18 / +18 lines)
Lines 376-382 mysql-autotools_src_prepare() { Link Here
376
376
377
	# Make charsets install in the right place
377
	# Make charsets install in the right place
378
	find . -name 'Makefile.am' \
378
	find . -name 'Makefile.am' \
379
		-exec sed --in-place -e 's!$(pkgdatadir)!'"${EPREFIX}"${MY_SHAREDSTATEDIR}'!g' {} \;
379
		-exec sed --in-place -e 's!$(pkgdatadir)!'${MY_SHAREDSTATEDIR}'!g' {} \;
380
380
381
	# Remove what needs to be recreated, so we're sure it's actually done
381
	# Remove what needs to be recreated, so we're sure it's actually done
382
	einfo "Cleaning up old buildscript files"
382
	einfo "Cleaning up old buildscript files"
Lines 478-488 mysql-autotools_src_configure() { Link Here
478
478
479
	econf \
479
	econf \
480
		--libexecdir="${EPREFIX}/usr/sbin" \
480
		--libexecdir="${EPREFIX}/usr/sbin" \
481
		--sysconfdir="${EPREFIX}${MY_SYSCONFDIR}" \
481
		--sysconfdir="${MY_SYSCONFDIR}" \
482
		--localstatedir="${EPREFIX}${MY_LOCALSTATEDIR}" \
482
		--localstatedir="${MY_LOCALSTATEDIR}" \
483
		--sharedstatedir="${EPREFIX}${MY_SHAREDSTATEDIR}" \
483
		--sharedstatedir="${MY_SHAREDSTATEDIR}" \
484
		--libdir="${EPREFIX}${MY_LIBDIR}" \
484
		--libdir="${MY_LIBDIR}" \
485
		--includedir="${EPREFIX}${MY_INCLUDEDIR}" \
485
		--includedir="${MY_INCLUDEDIR}" \
486
		--with-low-memory \
486
		--with-low-memory \
487
		--with-client-ldflags=-lstdc++ \
487
		--with-client-ldflags=-lstdc++ \
488
		--enable-thread-safe-client \
488
		--enable-thread-safe-client \
Lines 523-530 mysql-autotools_src_install() { Link Here
523
523
524
	emake install \
524
	emake install \
525
		DESTDIR="${D}" \
525
		DESTDIR="${D}" \
526
		benchdir_root="${EPREFIX}${MY_SHAREDSTATEDIR}" \
526
		benchdir_root="${MY_SHAREDSTATEDIR}" \
527
		testroot="${EPREFIX}${MY_SHAREDSTATEDIR}" \
527
		testroot="${MY_SHAREDSTATEDIR}" \
528
		|| die "emake install failed"
528
		|| die "emake install failed"
529
529
530
	if [[ "${PBXT_NEWSTYLE}" != "1" ]]; then
530
	if [[ "${PBXT_NEWSTYLE}" != "1" ]]; then
Lines 539-545 mysql-autotools_src_install() { Link Here
539
539
540
	# Various junk (my-*.cnf moved elsewhere)
540
	# Various junk (my-*.cnf moved elsewhere)
541
	einfo "Removing duplicate /usr/share/mysql files"
541
	einfo "Removing duplicate /usr/share/mysql files"
542
	rm -Rf "${D}/usr/share/info"
542
	rm -Rf "${ED}/usr/share/info"
543
	for removeme in  "mysql-log-rotate" mysql.server* \
543
	for removeme in  "mysql-log-rotate" mysql.server* \
544
		binary-configure* my-*.cnf mi_test_all*
544
		binary-configure* my-*.cnf mi_test_all*
545
	do
545
	do
Lines 550-557 mysql-autotools_src_install() { Link Here
550
	if use minimal ; then
550
	if use minimal ; then
551
		einfo "Remove all extra content for minimal build"
551
		einfo "Remove all extra content for minimal build"
552
		rm -Rf "${D}${MY_SHAREDSTATEDIR}"/{mysql-test,sql-bench}
552
		rm -Rf "${D}${MY_SHAREDSTATEDIR}"/{mysql-test,sql-bench}
553
		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}
553
		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}
554
		rm -f "${D}/usr/sbin/mysqld"
554
		rm -f "${ED}/usr/sbin/mysqld"
555
		rm -f "${D}${MY_LIBDIR}"/lib{heap,merge,nisam,my{sys,strings,sqld,isammrg,isam},vio,dbug}.a
555
		rm -f "${D}${MY_LIBDIR}"/lib{heap,merge,nisam,my{sys,strings,sqld,isammrg,isam},vio,dbug}.a
556
	fi
556
	fi
557
557
Lines 567-576 mysql-autotools_src_install() { Link Here
567
		5.[1-9]|6*|7*) mysql_mycnf_version="5.1" ;;
567
		5.[1-9]|6*|7*) mysql_mycnf_version="5.1" ;;
568
	esac
568
	esac
569
	einfo "Building default my.cnf (${mysql_mycnf_version})"
569
	einfo "Building default my.cnf (${mysql_mycnf_version})"
570
	insinto "${MY_SYSCONFDIR}"
570
	insinto "${MY_SYSCONFDIR#${EPREFIX}}"
571
	doins scripts/mysqlaccess.conf
571
	doins scripts/mysqlaccess.conf
572
	mycnf_src="my.cnf-${mysql_mycnf_version}"
572
	mycnf_src="my.cnf-${mysql_mycnf_version}"
573
	sed -e "s!@DATADIR@!${EPREFIX}${MY_DATADIR}!g" \
573
	sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
574
		-e "s!/tmp!${EPREFIX}/tmp!" \
574
		-e "s!/tmp!${EPREFIX}/tmp!" \
575
		-e "s!/usr!${EPREFIX}/usr!" \
575
		-e "s!/usr!${EPREFIX}/usr!" \
576
		-e "s!= /var!= ${EPREFIX}/var!" \
576
		-e "s!= /var!= ${EPREFIX}/var!" \
Lines 589-604 mysql-autotools_src_install() { Link Here
589
		# Empty directories ...
589
		# Empty directories ...
590
		diropts "-m0750"
590
		diropts "-m0750"
591
		if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
591
		if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
592
			dodir "${MY_DATADIR}"
592
			dodir "${MY_DATADIR#${EPREFIX}}"
593
			keepdir "${MY_DATADIR}"
593
			keepdir "${MY_DATADIR#${EPREFIX}}"
594
			chown -R mysql:mysql "${D}/${MY_DATADIR}"
594
			chown -R mysql:mysql "${D}/${MY_DATADIR}"
595
		fi
595
		fi
596
596
597
		diropts "-m0755"
597
		diropts "-m0755"
598
		for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do
598
		for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do
599
			dodir "${folder}"
599
			dodir "${folder}"
600
			keepdir "${folder}"
600
			keepdir "${folder}"
601
			chown -R mysql:mysql "${D}/${folder}"
601
			chown -R mysql:mysql "${ED}/${folder}"
602
		done
602
		done
603
	fi
603
	fi
604
604
Lines 628-632 mysql-autotools_src_install() { Link Here
628
628
629
	fi
629
	fi
630
630
631
	mysql_lib_symlinks "${D}"
631
	mysql_lib_symlinks "${ED}"
632
}
632
}
(-)a/eclass/mysql-cmake.eclass (-6 / +6 lines)
Lines 268-274 mysql-cmake_src_install() { Link Here
268
	dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
268
	dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
269
269
270
	# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
270
	# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
271
	rm -Rf "${D}/usr/data"
271
	rm -Rf "${ED}/usr/data"
272
272
273
	# Various junk (my-*.cnf moved elsewhere)
273
	# Various junk (my-*.cnf moved elsewhere)
274
	einfo "Removing duplicate /usr/share/mysql files"
274
	einfo "Removing duplicate /usr/share/mysql files"
Lines 313-328 mysql-cmake_src_install() { Link Here
313
		# Empty directories ...
313
		# Empty directories ...
314
		diropts "-m0750"
314
		diropts "-m0750"
315
		if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
315
		if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
316
			dodir "${MY_DATADIR}"
316
			dodir "${MY_DATADIR#${EPREFIX}}"
317
			keepdir "${MY_DATADIR}"
317
			keepdir "${MY_DATADIR#${EPREFIX}}"
318
			chown -R mysql:mysql "${D}/${MY_DATADIR}"
318
			chown -R mysql:mysql "${D}/${MY_DATADIR}"
319
		fi
319
		fi
320
320
321
		diropts "-m0755"
321
		diropts "-m0755"
322
		for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do
322
		for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do
323
			dodir "${folder}"
323
			dodir "${folder}"
324
			keepdir "${folder}"
324
			keepdir "${folder}"
325
			chown -R mysql:mysql "${D}/${folder}"
325
			chown -R mysql:mysql "${ED}/${folder}"
326
		done
326
		done
327
	fi
327
	fi
328
328
Lines 345-349 mysql-cmake_src_install() { Link Here
345
345
346
	fi
346
	fi
347
347
348
	mysql_lib_symlinks "${D}"
348
	mysql_lib_symlinks "${ED}"
349
}
349
}
(-)a/eclass/mysql-v2.eclass (-16 / +16 lines)
Lines 496-507 mysql-v2_pkg_postinst() { Link Here
496
	mysql_init_vars
496
	mysql_init_vars
497
497
498
	# Check FEATURES="collision-protect" before removing this
498
	# Check FEATURES="collision-protect" before removing this
499
	[[ -d "${EROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${EROOT}${MY_LOGDIR}"
499
	[[ -d "${EROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
500
500
501
	# Secure the logfiles
501
	# Secure the logfiles
502
	touch "${EROOT}${MY_LOGDIR}"/mysql.{log,err}
502
	touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
503
	chown mysql:mysql "${EROOT}${MY_LOGDIR}"/mysql*
503
	chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql*
504
	chmod 0660 "${EROOT}${MY_LOGDIR}"/mysql*
504
	chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
505
505
506
	# Minimal builds don't have the MySQL server
506
	# Minimal builds don't have the MySQL server
507
	if ! use minimal ; then
507
	if ! use minimal ; then
Lines 571-578 mysql-v2_pkg_config() { Link Here
571
	fi
571
	fi
572
572
573
	if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
573
	if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
574
		local MY_DATADIR_s="$(strip_duplicate_slashes ${EROOT}/${MY_DATADIR})"
574
		local MY_DATADIR_s="$(strip_duplicate_slashes ${ROOT}/${MY_DATADIR})"
575
		local old_MY_DATADIR_s="$(strip_duplicate_slashes ${EROOT}/${old_MY_DATADIR})"
575
		local old_MY_DATADIR_s="$(strip_duplicate_slashes ${ROOT}/${old_MY_DATADIR})"
576
576
577
		if [[ -d "${old_MY_DATADIR_s}" ]]; then
577
		if [[ -d "${old_MY_DATADIR_s}" ]]; then
578
			if [[ -d "${MY_DATADIR_s}" ]]; then
578
			if [[ -d "${MY_DATADIR_s}" ]]; then
Lines 602-610 mysql-v2_pkg_config() { Link Here
602
		MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${EROOT}/root/.my.cnf")"
602
		MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${EROOT}/root/.my.cnf")"
603
	fi
603
	fi
604
604
605
	if [[ -d "${EROOT}/${MY_DATADIR}/mysql" ]] ; then
605
	if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
606
		ewarn "You have already a MySQL database in place."
606
		ewarn "You have already a MySQL database in place."
607
		ewarn "(${EROOT}/${MY_DATADIR}/*)"
607
		ewarn "(${ROOT}/${MY_DATADIR}/*)"
608
		ewarn "Please rename or delete it if you wish to replace it."
608
		ewarn "Please rename or delete it if you wish to replace it."
609
		die "MySQL database already exists!"
609
		die "MySQL database already exists!"
610
	fi
610
	fi
Lines 633-655 mysql-v2_pkg_config() { Link Here
633
	local options=""
633
	local options=""
634
	local sqltmp="$(emktemp)"
634
	local sqltmp="$(emktemp)"
635
635
636
	local help_tables="${EROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
636
	local help_tables="${ROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
637
	[[ -r "${help_tables}" ]] \
637
	[[ -r "${help_tables}" ]] \
638
	&& cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
638
	&& cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
639
	|| touch "${TMPDIR}/fill_help_tables.sql"
639
	|| touch "${TMPDIR}/fill_help_tables.sql"
640
	help_tables="${TMPDIR}/fill_help_tables.sql"
640
	help_tables="${TMPDIR}/fill_help_tables.sql"
641
641
642
	pushd "${TMPDIR}" &>/dev/null
642
	pushd "${TMPDIR}" &>/dev/null
643
	"${EROOT}/usr/bin/mysql_install_db --basedir=/usr" >"${TMPDIR}"/mysql_install_db.log 2>&1
643
	"${EROOT}/usr/bin/mysql_install_db" "--basedir=${EPREFIX}/usr" >"${TMPDIR}"/mysql_install_db.log 2>&1
644
	if [ $? -ne 0 ]; then
644
	if [ $? -ne 0 ]; then
645
		grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
645
		grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
646
		die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
646
		die "Failed to run mysql_install_db. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
647
	fi
647
	fi
648
	popd &>/dev/null
648
	popd &>/dev/null
649
	[[ -f "${EROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
649
	[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
650
	|| die "MySQL databases not installed"
650
	|| die "MySQL databases not installed"
651
	chown -R mysql:mysql "${EROOT}/${MY_DATADIR}" 2>/dev/null
651
	chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null
652
	chmod 0750 "${EROOT}/${MY_DATADIR}" 2>/dev/null
652
	chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null
653
653
654
	# Figure out which options we need to disable to do the setup
654
	# Figure out which options we need to disable to do the setup
655
	helpfile="${TMPDIR}/mysqld-help"
655
	helpfile="${TMPDIR}/mysqld-help"
Lines 682-688 mysql-v2_pkg_config() { Link Here
682
		${options} \
682
		${options} \
683
		--user=mysql \
683
		--user=mysql \
684
		--basedir=${EROOT}/usr \
684
		--basedir=${EROOT}/usr \
685
		--datadir=${EROOT}/${MY_DATADIR} \
685
		--datadir=${ROOT}/${MY_DATADIR} \
686
		--max_allowed_packet=8M \
686
		--max_allowed_packet=8M \
687
		--net_buffer_length=16K \
687
		--net_buffer_length=16K \
688
		--default-storage-engine=MyISAM \
688
		--default-storage-engine=MyISAM \
Lines 736-740 mysql-v2_pkg_config() { Link Here
736
# Remove mysql symlinks.
736
# Remove mysql symlinks.
737
mysql-v2_pkg_postrm() {
737
mysql-v2_pkg_postrm() {
738
738
739
	: # mysql_lib_symlinks "${D}"
739
	: # mysql_lib_symlinks "${ED}"
740
}
740
}
(-)a/eclass/mysql.eclass (-51 / +59 lines)
Lines 127-133 PERCONA_VER="${PERCONA_VER}" Link Here
127
# Be warned, *DEPEND are version-dependant
127
# Be warned, *DEPEND are version-dependant
128
# These are used for both runtime and compiletime
128
# These are used for both runtime and compiletime
129
DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d )
129
DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d )
130
		userland_GNU? ( sys-process/procps )
130
		kernel_linux? ( sys-process/procps )
131
		>=sys-apps/sed-4
131
		>=sys-apps/sed-4
132
		>=sys-apps/texinfo-4.7-r1
132
		>=sys-apps/texinfo-4.7-r1
133
		>=sys-libs/readline-4.1
133
		>=sys-libs/readline-4.1
Lines 364-384 mysql_disable_test() { Link Here
364
# Initialize global variables
364
# Initialize global variables
365
# 2005-11-19 <vivo@gentoo.org>
365
# 2005-11-19 <vivo@gentoo.org>
366
mysql_init_vars() {
366
mysql_init_vars() {
367
	MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="/usr/share/mysql"}
367
	MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
368
	MY_SYSCONFDIR=${MY_SYSCONFDIR="/etc/mysql"}
368
	MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
369
	MY_LIBDIR=${MY_LIBDIR="/usr/$(get_libdir)/mysql"}
369
	MY_LIBDIR=${MY_LIBDIR="${EPREFIX}/usr/$(get_libdir)/mysql"}
370
	MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="/var/lib/mysql"}
370
	MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
371
	MY_LOGDIR=${MY_LOGDIR="/var/log/mysql"}
371
	MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
372
	MY_INCLUDEDIR=${MY_INCLUDEDIR="/usr/include/mysql"}
372
	MY_INCLUDEDIR=${MY_INCLUDEDIR="${EPREFIX}/usr/include/mysql"}
373
373
374
	if [[ -z "${MY_DATADIR}" ]] ; then
374
	if [[ -z "${MY_DATADIR}" ]] ; then
375
		MY_DATADIR=""
375
		MY_DATADIR=""
376
		if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
376
		if [[ -f ${MY_SYSCONFDIR}/my.cnf ]] ; then
377
			MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
377
			MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
378
				| sed -ne '/datadir/s|^--datadir=||p' \
378
				| sed -ne '/datadir/s|^--datadir=||p' \
379
				| tail -n1`
379
				| tail -n1`
380
			if [[ -z "${MY_DATADIR}" ]] ; then
380
			if [[ -z "${MY_DATADIR}" ]] ; then
381
				MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
381
				MY_DATADIR=`grep ^datadir ${MY_SYSCONFDIR}/my.cnf \
382
				| sed -e 's/.*=\s*//' \
382
				| sed -e 's/.*=\s*//' \
383
				| tail -n1`
383
				| tail -n1`
384
			fi
384
			fi
Lines 460-466 configure_common() { Link Here
460
	myconf="${myconf} --with-extra-charsets=all"
460
	myconf="${myconf} --with-extra-charsets=all"
461
	myconf="${myconf} --with-mysqld-user=mysql"
461
	myconf="${myconf} --with-mysqld-user=mysql"
462
	myconf="${myconf} --with-server"
462
	myconf="${myconf} --with-server"
463
	myconf="${myconf} --with-unix-socket-path=/var/run/mysqld/mysqld.sock"
463
	myconf="${myconf} --with-unix-socket-path=${EPREFIX}/var/run/mysqld/mysqld.sock"
464
	myconf="${myconf} --without-libwrap"
464
	myconf="${myconf} --without-libwrap"
465
465
466
	if use static ; then
466
	if use static ; then
Lines 505-516 configure_common() { Link Here
505
}
505
}
506
506
507
configure_40_41_50() {
507
configure_40_41_50() {
508
	myconf="${myconf} --with-zlib-dir=${EPREFIX}/usr"
508
	myconf="${myconf} $(use_with perl bench)"
509
	myconf="${myconf} $(use_with perl bench)"
509
	myconf="${myconf} --enable-assembler"
510
	myconf="${myconf} --enable-assembler"
510
	myconf="${myconf} --with-extra-tools"
511
	myconf="${myconf} --with-extra-tools"
511
	myconf="${myconf} --with-innodb"
512
	myconf="${myconf} --with-innodb"
512
	myconf="${myconf} --without-readline"
513
	myconf="${myconf} --without-readline"
513
	myconf="${myconf} $(use_with ssl openssl)"
514
	myconf="${myconf} $(use_with ssl openssl "${EPREFIX}/usr")"
514
	mysql_version_is_at_least "5.0" || myconf="${myconf} $(use_with raid)"
515
	mysql_version_is_at_least "5.0" || myconf="${myconf} $(use_with raid)"
515
516
516
	# --with-vio is not needed anymore, it's on by default and
517
	# --with-vio is not needed anymore, it's on by default and
Lines 586-598 configure_51() { Link Here
586
	# TODO: !!!! readd --without-readline
587
	# TODO: !!!! readd --without-readline
587
	# the failure depend upon config/ac-macros/readline.m4 checking into
588
	# the failure depend upon config/ac-macros/readline.m4 checking into
588
	# readline.h instead of history.h
589
	# readline.h instead of history.h
589
	myconf="${myconf} $(use_with ssl ssl /usr)"
590
	myconf="${myconf} $(use_with ssl ssl "${EPREFIX}"/usr)"
590
	myconf="${myconf} --enable-assembler"
591
	myconf="${myconf} --enable-assembler"
591
	myconf="${myconf} --with-geometry"
592
	myconf="${myconf} --with-geometry"
592
	myconf="${myconf} --with-readline"
593
	myconf="${myconf} --with-readline"
593
	myconf="${myconf} --with-zlib-dir=/usr/"
594
	myconf="${myconf} --with-zlib-dir=${EPREFIX}/usr/"
594
	myconf="${myconf} --without-pstack"
595
	myconf="${myconf} --without-pstack"
595
	myconf="${myconf} --with-plugindir=/usr/$(get_libdir)/mysql/plugin"
596
	myconf="${myconf} --with-plugindir=${EPREFIX}/usr/$(get_libdir)/mysql/plugin"
596
597
597
	# This is an explict die here, because if we just forcibly disable it, then the
598
	# This is an explict die here, because if we just forcibly disable it, then the
598
	# user's data is not accessible.
599
	# user's data is not accessible.
Lines 743-749 pbxt_src_configure() { Link Here
743
	eautoreconf
744
	eautoreconf
744
745
745
	local myconf=""
746
	local myconf=""
746
	myconf="${myconf} --with-mysql=${S} --libdir=/usr/$(get_libdir)"
747
	myconf="${myconf} --with-mysql=${S} --libdir=${EPREFIX}/usr/$(get_libdir)"
747
	use debug && myconf="${myconf} --with-debug=full"
748
	use debug && myconf="${myconf} --with-debug=full"
748
	econf ${myconf} || die "Problem configuring PBXT storage engine"
749
	econf ${myconf} || die "Problem configuring PBXT storage engine"
749
}
750
}
Lines 839-846 mysql_pkg_setup() { Link Here
839
	# But only for 5.0.8[3-6]!
840
	# But only for 5.0.8[3-6]!
840
	if mysql_version_is_at_least "5.0.83"  && ! mysql_version_is_at_least 5.0.87 ; then
841
	if mysql_version_is_at_least "5.0.83"  && ! mysql_version_is_at_least 5.0.87 ; then
841
		GCC_VER=$(gcc-version)
842
		GCC_VER=$(gcc-version)
842
		case ${GCC_VER} in
843
		case ${CHOST}:${GCC_VER} in
843
			2*|3*|4.0|4.1|4.2)
844
			*-darwin*:4.*) : ;; # bug #310615
845
			*:2*|*:3*|*:4.0|*:4.1|*:4.2)
844
			eerror "Some releases of MySQL required a very new GCC, and then"
846
			eerror "Some releases of MySQL required a very new GCC, and then"
845
			eerror "later release relaxed that requirement again. Either pick a"
847
			eerror "later release relaxed that requirement again. Either pick a"
846
			eerror "MySQL >=5.0.87, or use a newer GCC."
848
			eerror "MySQL >=5.0.87, or use a newer GCC."
Lines 978-991 mysql_src_prepare() { Link Here
978
	&& use berkdb ; then
980
	&& use berkdb ; then
979
		einfo "Fixing up berkdb buildsystem"
981
		einfo "Fixing up berkdb buildsystem"
980
		[[ -w "bdb/dist/ltmain.sh" ]] && cp -f "ltmain.sh" "bdb/dist/ltmain.sh"
982
		[[ -w "bdb/dist/ltmain.sh" ]] && cp -f "ltmain.sh" "bdb/dist/ltmain.sh"
981
		cp -f "/usr/share/aclocal/libtool.m4" "bdb/dist/aclocal/libtool.ac" \
983
		cp -f "${EPREFIX}/usr/share/aclocal/libtool.m4" "bdb/dist/aclocal/libtool.ac" \
982
		|| die "Could not copy libtool.m4 to bdb/dist/"
984
		|| die "Could not copy libtool.m4 to bdb/dist/"
983
		#These files exist only with libtool-2*, and need to be included.
985
		#These files exist only with libtool-2*, and need to be included.
984
		if [ -f '/usr/share/aclocal/ltsugar.m4' ]; then
986
		if [ -f ${EPREFIX}'/usr/share/aclocal/ltsugar.m4' ]; then
985
			cat "/usr/share/aclocal/ltsugar.m4" >>  "bdb/dist/aclocal/libtool.ac"
987
			cat "${EPREFIX}/usr/share/aclocal/ltsugar.m4" >>  "bdb/dist/aclocal/libtool.ac"
986
			cat "/usr/share/aclocal/ltversion.m4" >>  "bdb/dist/aclocal/libtool.ac"
988
			cat "${EPREFIX}/usr/share/aclocal/ltversion.m4" >>  "bdb/dist/aclocal/libtool.ac"
987
			cat "/usr/share/aclocal/lt~obsolete.m4" >>  "bdb/dist/aclocal/libtool.ac"
989
			cat "${EPREFIX}/usr/share/aclocal/lt~obsolete.m4" >>  "bdb/dist/aclocal/libtool.ac"
988
			cat "/usr/share/aclocal/ltoptions.m4" >>  "bdb/dist/aclocal/libtool.ac"
990
			cat "${EPREFIX}/usr/share/aclocal/ltoptions.m4" >>  "bdb/dist/aclocal/libtool.ac"
989
		fi
991
		fi
990
		pushd "bdb/dist" &>/dev/null
992
		pushd "bdb/dist" &>/dev/null
991
		sh s_all \
993
		sh s_all \
Lines 1046-1057 mysql_src_configure() { Link Here
1046
		filter-flags -fomit-frame-pointer
1048
		filter-flags -fomit-frame-pointer
1047
1049
1048
	econf \
1050
	econf \
1049
		--libexecdir="/usr/sbin" \
1051
		--libexecdir="${EPREFIX}"/usr/sbin \
1050
		--sysconfdir="${MY_SYSCONFDIR}" \
1052
		--sysconfdir=${MY_SYSCONFDIR} \
1051
		--localstatedir="${MY_LOCALSTATEDIR}" \
1053
		--localstatedir=${MY_LOCALSTATEDIR} \
1052
		--sharedstatedir="${MY_SHAREDSTATEDIR}" \
1054
		--sharedstatedir=${MY_SHAREDSTATEDIR} \
1053
		--libdir="${MY_LIBDIR}" \
1055
		--libdir=${MY_LIBDIR} \
1054
		--includedir="${MY_INCLUDEDIR}" \
1056
		--includedir=${MY_INCLUDEDIR} \
1055
		--with-low-memory \
1057
		--with-low-memory \
1056
		--with-client-ldflags=-lstdc++ \
1058
		--with-client-ldflags=-lstdc++ \
1057
		--enable-thread-safe-client \
1059
		--enable-thread-safe-client \
Lines 1096-1102 mysql_src_install() { Link Here
1096
1098
1097
	emake install \
1099
	emake install \
1098
		DESTDIR="${D}" \
1100
		DESTDIR="${D}" \
1099
		benchdir_root="${MY_SHAREDSTATEDIR}" \
1101
		benchdir_root=${MY_SHAREDSTATEDIR} \
1100
		testroot="${MY_SHAREDSTATEDIR}" \
1102
		testroot="${MY_SHAREDSTATEDIR}" \
1101
		|| die "emake install failed"
1103
		|| die "emake install failed"
1102
1104
Lines 1112-1118 mysql_src_install() { Link Here
1112
1114
1113
	# Various junk (my-*.cnf moved elsewhere)
1115
	# Various junk (my-*.cnf moved elsewhere)
1114
	einfo "Removing duplicate /usr/share/mysql files"
1116
	einfo "Removing duplicate /usr/share/mysql files"
1115
	rm -Rf "${D}/usr/share/info"
1117
	rm -Rf "${ED}/usr/share/info"
1116
	for removeme in  "mysql-log-rotate" mysql.server* \
1118
	for removeme in  "mysql-log-rotate" mysql.server* \
1117
		binary-configure* my-*.cnf mi_test_all*
1119
		binary-configure* my-*.cnf mi_test_all*
1118
	do
1120
	do
Lines 1123-1130 mysql_src_install() { Link Here
1123
	if use minimal ; then
1125
	if use minimal ; then
1124
		einfo "Remove all extra content for minimal build"
1126
		einfo "Remove all extra content for minimal build"
1125
		rm -Rf "${D}${MY_SHAREDSTATEDIR}"/{mysql-test,sql-bench}
1127
		rm -Rf "${D}${MY_SHAREDSTATEDIR}"/{mysql-test,sql-bench}
1126
		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}
1128
		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}
1127
		rm -f "${D}/usr/sbin/mysqld"
1129
		rm -f "${ED}/usr/sbin/mysqld"
1128
		rm -f "${D}${MY_LIBDIR}"/lib{heap,merge,nisam,my{sys,strings,sqld,isammrg,isam},vio,dbug}.a
1130
		rm -f "${D}${MY_LIBDIR}"/lib{heap,merge,nisam,my{sys,strings,sqld,isammrg,isam},vio,dbug}.a
1129
	fi
1131
	fi
1130
1132
Lines 1142-1153 mysql_src_install() { Link Here
1142
		5.[1-9]|6*|7*) mysql_mycnf_version="5.1" ;;
1144
		5.[1-9]|6*|7*) mysql_mycnf_version="5.1" ;;
1143
	esac
1145
	esac
1144
	einfo "Building default my.cnf (${mysql_mycnf_version})"
1146
	einfo "Building default my.cnf (${mysql_mycnf_version})"
1145
	insinto "${MY_SYSCONFDIR}"
1147
	insinto "${MY_SYSCONFDIR#${EPREFIX}}"
1146
	doins scripts/mysqlaccess.conf
1148
	doins scripts/mysqlaccess.conf
1147
	mycnf_src="my.cnf-${mysql_mycnf_version}"
1149
	mycnf_src="my.cnf-${mysql_mycnf_version}"
1148
	sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
1150
	sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
1151
		-e "s!/tmp!${EPREFIX}/tmp!" \
1152
		-e "s!/usr!${EPREFIX}/usr!" \
1153
		-e "s!= /var!= ${EPREFIX}/var!" \
1149
		"${FILESDIR}/${mycnf_src}" \
1154
		"${FILESDIR}/${mycnf_src}" \
1150
		> "${TMPDIR}/my.cnf.ok"
1155
		> "${TMPDIR}/my.cnf.ok"
1156
	use prefix && sed -i -e '/^user[ 	]*= mysql$/d' "${TMPDIR}/my.cnf.ok"
1151
	if use latin1 ; then
1157
	if use latin1 ; then
1152
		sed -i \
1158
		sed -i \
1153
			-e "/character-set/s|utf8|latin1|g" \
1159
			-e "/character-set/s|utf8|latin1|g" \
Lines 1161-1176 mysql_src_install() { Link Here
1161
		# Empty directories ...
1167
		# Empty directories ...
1162
		diropts "-m0750"
1168
		diropts "-m0750"
1163
		if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
1169
		if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
1164
			dodir "${MY_DATADIR}"
1170
			dodir "${MY_DATADIR#${EPREFIX}}"
1165
			keepdir "${MY_DATADIR}"
1171
			keepdir "${MY_DATADIR#${EPREFIX}}"
1166
			chown -R mysql:mysql "${D}/${MY_DATADIR}"
1172
			chown -R mysql:mysql "${D}/${MY_DATADIR}"
1167
		fi
1173
		fi
1168
1174
1169
		diropts "-m0755"
1175
		diropts "-m0755"
1170
		for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do
1176
		for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do
1171
			dodir "${folder}"
1177
			dodir "${folder}"
1172
			keepdir "${folder}"
1178
			keepdir "${folder}"
1173
			chown -R mysql:mysql "${D}/${folder}"
1179
			chown -R mysql:mysql "${ED}/${folder}"
1174
		done
1180
		done
1175
	fi
1181
	fi
1176
1182
Lines 1200-1206 mysql_src_install() { Link Here
1200
1206
1201
	fi
1207
	fi
1202
1208
1203
	mysql_lib_symlinks "${D}"
1209
	mysql_lib_symlinks "${ED}"
1204
}
1210
}
1205
1211
1206
# @FUNCTION: mysql_pkg_preinst
1212
# @FUNCTION: mysql_pkg_preinst
Lines 1224-1230 mysql_pkg_postinst() { Link Here
1224
	mysql_init_vars
1230
	mysql_init_vars
1225
1231
1226
	# Check FEATURES="collision-protect" before removing this
1232
	# Check FEATURES="collision-protect" before removing this
1227
	[[ -d "${ROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
1233
	[[ -d "${EROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
1228
1234
1229
	# Secure the logfiles
1235
	# Secure the logfiles
1230
	touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
1236
	touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
Lines 1325-1332 mysql_pkg_config() { Link Here
1325
	local pwd2="b"
1331
	local pwd2="b"
1326
	local maxtry=15
1332
	local maxtry=15
1327
1333
1328
	if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${ROOT}/root/.my.cnf" ]; then
1334
	if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${EROOT}/root/.my.cnf" ]; then
1329
		MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${ROOT}/root/.my.cnf")"
1335
		MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${EROOT}/root/.my.cnf")"
1330
	fi
1336
	fi
1331
1337
1332
	if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
1338
	if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
Lines 1367-1373 mysql_pkg_config() { Link Here
1367
	help_tables="${TMPDIR}/fill_help_tables.sql"
1373
	help_tables="${TMPDIR}/fill_help_tables.sql"
1368
1374
1369
	pushd "${TMPDIR}" &>/dev/null
1375
	pushd "${TMPDIR}" &>/dev/null
1370
	"${ROOT}/usr/bin/mysql_install_db" >"${TMPDIR}"/mysql_install_db.log 2>&1
1376
	"${EROOT}/usr/bin/mysql_install_db" >"${TMPDIR}"/mysql_install_db.log 2>&1
1371
	if [ $? -ne 0 ]; then
1377
	if [ $? -ne 0 ]; then
1372
		grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
1378
		grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
1373
		die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
1379
		die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
Lines 1395-1401 mysql_pkg_config() { Link Here
1395
	if mysql_version_is_at_least "4.1.3" ; then
1401
	if mysql_version_is_at_least "4.1.3" ; then
1396
		# Filling timezones, see
1402
		# Filling timezones, see
1397
		# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
1403
		# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
1398
		"${ROOT}/usr/bin/mysql_tzinfo_to_sql" "${ROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
1404
		"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
1399
1405
1400
		if [[ -r "${help_tables}" ]] ; then
1406
		if [[ -r "${help_tables}" ]] ; then
1401
			cat "${help_tables}" >> "${sqltmp}"
1407
			cat "${help_tables}" >> "${sqltmp}"
Lines 1405-1416 mysql_pkg_config() { Link Here
1405
	einfo "Creating the mysql database and setting proper"
1411
	einfo "Creating the mysql database and setting proper"
1406
	einfo "permissions on it ..."
1412
	einfo "permissions on it ..."
1407
1413
1408
	local socket="${ROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
1414
	use prefix || options="${options} --user=mysql"
1409
	local pidfile="${ROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
1415
1410
	local mysqld="${ROOT}/usr/sbin/mysqld \
1416
	local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
1417
	local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
1418
	local mysqld="${EROOT}/usr/sbin/mysqld \
1411
		${options} \
1419
		${options} \
1412
		--user=mysql \
1420
		--user=mysql \
1413
		--basedir=${ROOT}/usr \
1421
		--basedir=${EROOT}/usr \
1414
		--datadir=${ROOT}/${MY_DATADIR} \
1422
		--datadir=${ROOT}/${MY_DATADIR} \
1415
		--max_allowed_packet=8M \
1423
		--max_allowed_packet=8M \
1416
		--net_buffer_length=16K \
1424
		--net_buffer_length=16K \
Lines 1435-1448 mysql_pkg_config() { Link Here
1435
	ebegin "Setting root password"
1443
	ebegin "Setting root password"
1436
	# Do this from memory, as we don't want clear text passwords in temp files
1444
	# Do this from memory, as we don't want clear text passwords in temp files
1437
	local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'"
1445
	local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'"
1438
	"${ROOT}/usr/bin/mysql" \
1446
	"${EROOT}/usr/bin/mysql" \
1439
		--socket=${socket} \
1447
		--socket=${socket} \
1440
		-hlocalhost \
1448
		-hlocalhost \
1441
		-e "${sql}"
1449
		-e "${sql}"
1442
	eend $?
1450
	eend $?
1443
1451
1444
	ebegin "Loading \"zoneinfo\", this step may require a few seconds ..."
1452
	ebegin "Loading \"zoneinfo\", this step may require a few seconds ..."
1445
	"${ROOT}/usr/bin/mysql" \
1453
	"${EROOT}/usr/bin/mysql" \
1446
		--socket=${socket} \
1454
		--socket=${socket} \
1447
		-hlocalhost \
1455
		-hlocalhost \
1448
		-uroot \
1456
		-uroot \
Lines 1464-1468 mysql_pkg_config() { Link Here
1464
# @DESCRIPTION:
1472
# @DESCRIPTION:
1465
# Remove mysql symlinks.
1473
# Remove mysql symlinks.
1466
mysql_pkg_postrm() {
1474
mysql_pkg_postrm() {
1467
	: # mysql_lib_symlinks "${D}"
1475
	: # mysql_lib_symlinks "${ED}"
1468
}
1476
}
(-)a/eclass/mysql_fx.eclass (-22 / +35 lines)
Lines 205-218 mysql_lib_symlinks() { Link Here
205
			libnameln=${libname##*/}
205
			libnameln=${libname##*/}
206
			# loop in version of the library to link it, similar to how
206
			# loop in version of the library to link it, similar to how
207
			# libtool works
207
			# libtool works
208
			while [[ ${libnameln:0-3} != '${libsuffix}' ]] && [[ ${maxdots} -lt 6 ]] ; do
208
			if [[ ${CHOST} == *-darwin* ]] ; then
209
				# macho: libname.x.y.z.dylib
210
				local libbasename=${libnameln%%.*}       # libname
211
				local libver=${libnameln#${libbasename}} # .x.y.z.dylib
212
				libver=${libver%${libsuffix}}            # .x.y.z
213
				while [[ -n ${libver} ]] && [[ ${maxdots} -lt 6 ]] ; do
214
					libnameln="${libbasename}${libver}${libsuffix}"
215
					rm -f "${libnameln}"
216
					ln -s "${libname}" "${libnameln}"
217
					(( ++maxdots ))
218
					libver=${libver%.*}
219
				done
220
				libnameln="${libbasename}${libsuffix}"
209
				rm -f "${libnameln}"
221
				rm -f "${libnameln}"
210
				ln -s "${libname}" "${libnameln}"
222
				ln -s "${libname}" "${libnameln}"
211
				(( ++maxdots ))
223
			else
212
				libnameln="${libnameln%.*}"
224
				# elf: libname.so.x.y.z
213
			done
225
				while [[ ${libnameln:0-3} != '${libsuffix}' ]] && [[ ${maxdots} -lt 6 ]] ; do
214
			rm -f "${libnameln}"
226
					rm -f "${libnameln}"
215
			ln -s "${libname}" "${libnameln}"
227
					ln -s "${libname}" "${libnameln}"
228
					(( ++maxdots ))
229
					libnameln="${libnameln%.*}"
230
				done
231
				rm -f "${libnameln}"
232
				ln -s "${libname}" "${libnameln}"
233
			fi
216
		done
234
		done
217
	done
235
	done
218
236
Lines 225-245 mysql_lib_symlinks() { Link Here
225
# Initialize global variables
243
# Initialize global variables
226
# 2005-11-19 <vivo@gentoo.org>
244
# 2005-11-19 <vivo@gentoo.org>
227
mysql_init_vars() {
245
mysql_init_vars() {
228
	MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="/usr/share/mysql"}
246
	MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
229
	MY_SYSCONFDIR=${MY_SYSCONFDIR="/etc/mysql"}
247
	MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
230
	MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="/var/lib/mysql"}
248
	MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
231
	MY_LOGDIR=${MY_LOGDIR="/var/log/mysql"}
249
	MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
232
	MY_INCLUDEDIR=${MY_INCLUDEDIR="/usr/include/mysql"}
250
	MY_INCLUDEDIR=${MY_INCLUDEDIR="${EPREFIX}/usr/include/mysql"}
233
	MY_LIBDIR=${MY_LIBDIR="/usr/$(get_libdir)/mysql"}
251
	MY_LIBDIR=${MY_LIBDIR="${EPREFIX}/usr/$(get_libdir)/mysql"}
234
252
235
	if [[ -z "${MY_DATADIR}" ]] ; then
253
	if [[ -z "${MY_DATADIR}" ]] ; then
236
		MY_DATADIR=""
254
		MY_DATADIR=""
237
		if [[ -f "${EPREFIX}${MY_SYSCONFDIR}/my.cnf" ]] ; then
255
		if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
238
			MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
256
			MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
239
				| sed -ne '/datadir/s|^--datadir=||p' \
257
				| sed -ne '/datadir/s|^--datadir=||p' \
240
				| tail -n1`
258
				| tail -n1`
241
			if [[ -z "${MY_DATADIR}" ]] ; then
259
			if [[ -z "${MY_DATADIR}" ]] ; then
242
				MY_DATADIR=`grep ^datadir "${EPREFIX}${MY_SYSCONFDIR}/my.cnf" \
260
				MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
243
				| sed -e 's/.*=\s*//' \
261
				| sed -e 's/.*=\s*//' \
244
				| tail -n1`
262
				| tail -n1`
245
			fi
263
			fi
Lines 247-262 mysql_init_vars() { Link Here
247
		if [[ -z "${MY_DATADIR}" ]] ; then
265
		if [[ -z "${MY_DATADIR}" ]] ; then
248
			MY_DATADIR="${MY_LOCALSTATEDIR}"
266
			MY_DATADIR="${MY_LOCALSTATEDIR}"
249
			einfo "Using default MY_DATADIR"
267
			einfo "Using default MY_DATADIR"
250
		else
251
			# strip leading EPREFIX returned by already installed mysql
252
			MY_DATADIR="${MY_DATADIR#${EPREFIX}}"
253
		fi
268
		fi
254
		elog "MySQL MY_DATADIR is ${EPREFIX}${MY_DATADIR}"
269
		elog "MySQL MY_DATADIR is ${MY_DATADIR}"
255
270
256
		if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
271
		if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
257
			if [[ -e "${EPREFIX}${MY_DATADIR}" ]] ; then
272
			if [[ -e "${MY_DATADIR}" ]] ; then
258
				# If you get this and you're wondering about it, see bug #207636
273
				# If you get this and you're wondering about it, see bug #207636
259
				elog "MySQL datadir found in ${EPREFIX}${MY_DATADIR}"
274
				elog "MySQL datadir found in ${MY_DATADIR}"
260
				elog "A new one will not be created."
275
				elog "A new one will not be created."
261
				PREVIOUS_DATADIR="yes"
276
				PREVIOUS_DATADIR="yes"
262
			else
277
			else
Lines 275-282 mysql_init_vars() { Link Here
275
				ewarn "MySQL MY_DATADIR has changed"
290
				ewarn "MySQL MY_DATADIR has changed"
276
				ewarn "from ${MY_DATADIR}"
291
				ewarn "from ${MY_DATADIR}"
277
				ewarn "to ${new_MY_DATADIR}"
292
				ewarn "to ${new_MY_DATADIR}"
278
				# strip leading EPREFIX returned by already installed mysql
279
				MY_DATADIR="${new_MY_DATADIR#${EPREFIX}}"
280
			fi
293
			fi
281
		fi
294
		fi
282
	fi
295
	fi

Return to bug 388125