public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql/
Date: Sun, 24 May 2020 20:25:10 +0000 (UTC)	[thread overview]
Message-ID: <1590351824.ab0818d2ba2fd2ab8efa5e1ba9bcb2503975a8b1.whissi@gentoo> (raw)

commit:     ab0818d2ba2fd2ab8efa5e1ba9bcb2503975a8b1
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun May 24 14:39:52 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun May 24 20:23:44 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab0818d2

dev-db/mysql: fix pkg_config

Bug: https://bugs.gentoo.org/722118
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-db/mysql/mysql-8.0.19-r1.ebuild | 183 +++++++++++++++++++++---------------
 dev-db/mysql/mysql-8.0.20.ebuild    | 183 +++++++++++++++++++++---------------
 2 files changed, 212 insertions(+), 154 deletions(-)

diff --git a/dev-db/mysql/mysql-8.0.19-r1.ebuild b/dev-db/mysql/mysql-8.0.19-r1.ebuild
index 404aa98a36e..827c57daf94 100644
--- a/dev-db/mysql/mysql-8.0.19-r1.ebuild
+++ b/dev-db/mysql/mysql-8.0.19-r1.ebuild
@@ -576,43 +576,6 @@ pkg_postinst() {
 }
 
 pkg_config() {
-	local mysqld_binary="${EROOT}/usr/sbin/mysqld"
-	if [[ ! -x "${mysqld_binary}" ]] ; then
-		die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
-	fi
-
-	local mysql_binary="${EROOT}/usr/bin/mysql"
-	if [[ ! -x "${mysql_binary}" ]] ; then
-		die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
-	fi
-
-	local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
-	if [[ ! -x "${my_print_defaults_binary}" ]] ; then
-		die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
-	fi
-
-	if [[ -z "${MYSQL_USER}" ]] ; then
-		MYSQL_USER=mysql
-		if use prefix ; then
-			MYSQL_USER=$(id -u -n 2>/dev/null)
-			if [[ -z "${MYSQL_USER}" ]] ; then
-				die "Failed to determine current username!"
-			fi
-		fi
-	fi
-
-	if [[ -z "${MYSQL_GROUP}" ]] ; then
-		MYSQL_GROUP=mysql
-		if use prefix ; then
-			MYSQL_GROUP=$(id -g -n 2>/dev/null)
-			if [[ -z "${MYSQL_GROUP}" ]] ; then
-				die "Failed to determine current user groupname!"
-			fi
-		fi
-	fi
-
-	einfo "Will use username '${MYSQL_USER}' and group '${MYSQL_GROUP}' ..."
-
 	_getoptval() {
 		local section="$1"
 		local flag="--${2}="
@@ -677,6 +640,41 @@ pkg_config() {
 		done
 	}
 
+	local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+	if [[ ! -x "${mysqld_binary}" ]] ; then
+		die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+	fi
+
+	local mysql_binary="${EROOT}/usr/bin/mysql"
+	if [[ ! -x "${mysql_binary}" ]] ; then
+		die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+	fi
+
+	local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+	if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+		die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+	fi
+
+	if [[ -z "${MYSQL_USER}" ]] ; then
+		MYSQL_USER=mysql
+		if use prefix ; then
+			MYSQL_USER=$(id -u -n 2>/dev/null)
+			if [[ -z "${MYSQL_USER}" ]] ; then
+				die "Failed to determine current username!"
+			fi
+		fi
+	fi
+
+	if [[ -z "${MYSQL_GROUP}" ]] ; then
+		MYSQL_GROUP=mysql
+		if use prefix ; then
+			MYSQL_GROUP=$(id -g -n 2>/dev/null)
+			if [[ -z "${MYSQL_GROUP}" ]] ; then
+				die "Failed to determine current user groupname!"
+			fi
+		fi
+	fi
+
 	# my_print_defaults needs to read stuff in $HOME/.my.cnf
 	local -x HOME="${EROOT}/root"
 
@@ -696,8 +694,6 @@ pkg_config() {
 		ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
 		ewarn "Please rename or delete its content if you wish to initialize a new data directory."
 		die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
-	else
-		einfo "${PN} data directory detected as '${MY_DATADIR}' ..."
 	fi
 
 	MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
@@ -751,7 +747,7 @@ pkg_config() {
 		su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
 	fi
 
-	if [[ $? -ne 0 ]]; then
+	if [[ $? -ne 0 ]] ; then
 		die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
 	else
 		rm "${_my_datadir_testfile}" || die
@@ -764,28 +760,8 @@ pkg_config() {
 			|| die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
 	fi
 
-	if [[ -n "${MYSQL_TMPDIR}" ]] ; then
-		local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
-		[[ -z "${_my_tmpdir_testfile}" ]] \
-			&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
-		if use prefix ; then
-			touch "${_my_tmpdir_testfile}" &>/dev/null
-		else
-			su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
-		fi
-
-		if [[ $? -ne 0 ]]; then
-			die "${MYSQL_USER} user cannot write into data directory '${MYSQL_TMPDIR}'!"
-		else
-			rm "${_my_tmpdir_testfile}" || die
-			unset _my_tmpdir_testfile
-		fi
-	else
-		# If no tmpdir is set, mysqld will use default system tmpdir.
-		# However, we are using tmpdir from package manager at the
-		# moment which maybe isn't writeable for $MYSQL_USER...
-		MYSQL_TMPDIR="$(_mktemp_dry "${T}/mysqld-tmp.XXXXXXXXX")"
+	if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+		MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
 		[[ -z "${MYSQL_TMPDIR}" ]] \
 			&& die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
 
@@ -793,6 +769,24 @@ pkg_config() {
 		chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
 	fi
 
+	# Now we need to test MYSQL_TMPDIR...
+	local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+	[[ -z "${_my_tmpdir_testfile}" ]] \
+		&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+	if use prefix ; then
+		touch "${_my_tmpdir_testfile}" &>/dev/null
+	else
+		su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+	fi
+
+	if [[ $? -ne 0 ]] ; then
+		die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+	else
+		rm "${_my_tmpdir_testfile}" || die
+		unset _my_tmpdir_testfile
+	fi
+
 	if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
 		einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
 		install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
@@ -810,7 +804,7 @@ pkg_config() {
 			su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
 		fi
 
-		if [[ $? -ne 0 ]]; then
+		if [[ $? -ne 0 ]] ; then
 			die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
 		else
 			rm "${_my_logbin_testfile}" || die
@@ -835,7 +829,7 @@ pkg_config() {
 			su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
 		fi
 
-		if [[ $? -ne 0 ]]; then
+		if [[ $? -ne 0 ]] ; then
 			die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
 		else
 			rm "${_my_relaylog_testfile}" || die
@@ -843,6 +837,44 @@ pkg_config() {
 		fi
 	fi
 
+	local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+	if [[ -z "${mysql_install_log}" ]] ; then
+		die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+	else
+		# make sure file is writable for MYSQL_USER...
+		touch "${mysql_install_log}" || die
+		chown ${MYSQL_USER} "${mysql_install_log}" || die
+	fi
+
+	local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+	if [[ -z "${mysqld_logfile}" ]] ; then
+		die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+	else
+		# make sure file is writable for MYSQL_USER...
+		touch "${mysqld_logfile}" || die
+		chown ${MYSQL_USER} "${mysqld_logfile}" || die
+	fi
+
+	echo ""
+	einfo "Detected settings:"
+	einfo "=================="
+	einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+	einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+	einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+	einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+	if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+		einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+	fi
+
+	if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+		einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+	fi
+
+	einfo "PID DIR:\t\t\t\t${PID_DIR}"
+	einfo "Install db log:\t\t\t${mysql_install_log}"
+	einfo "Install server log:\t\t\t${mysqld_logfile}"
+
 	local -a config_files
 
 	local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf"
@@ -888,6 +920,8 @@ pkg_config() {
 					;;
 			esac
 
+			echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}"
+
 			unset user_answer
 		fi
 
@@ -993,19 +1027,16 @@ pkg_config() {
 
 	# Prepare timezones, see
 	# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
-	local tz_sql="${TMPDIR}/tz.sql"
+	local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+	[[ -z "${tz_sql}" ]] \
+		&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
 	echo "USE mysql;" >"${tz_sql}"
 	"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
 	if [[ $? -ne 0 ]] ; then
 		die "mysql_tzinfo_to_sql failed!"
 	fi
 
-	chown ${MYSQL_USER} "${tz_sql}" || die
-
-	local mysql_install_log="${TMPDIR}/mysql_install_db.log"
-	touch "${mysql_install_log}" || die
-	chown ${MYSQL_USER} "${mysql_install_log}" || die
-
 	# --initialize-insecure will not set root password
 	# --initialize would set a random one in the log which we don't need as we set it ourselves
 	local cmd=(
@@ -1028,15 +1059,13 @@ pkg_config() {
 		die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
 	fi
 
+	rm "${tz_sql}" || die
+
 	local x=${RANDOM}
-	local socket="${EROOT}/run/mysqld/mysqld${x}.sock"
-	local pidfile="${EROOT}/run/mysqld/mysqld${x}.pid"
+	local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+	local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
 	unset x
 
-	local mysqld_logfile="${TMPDIR}/mysqld.log"
-	touch "${mysqld_logfile}" || die
-	chown ${MYSQL_USER} "${mysqld_logfile}" || die
-
 	cmd=(
 		"${mysqld_binary}"
 		"${mysqld_options[@]}"

diff --git a/dev-db/mysql/mysql-8.0.20.ebuild b/dev-db/mysql/mysql-8.0.20.ebuild
index d2f81739cca..05585342435 100644
--- a/dev-db/mysql/mysql-8.0.20.ebuild
+++ b/dev-db/mysql/mysql-8.0.20.ebuild
@@ -558,43 +558,6 @@ pkg_postinst() {
 }
 
 pkg_config() {
-	local mysqld_binary="${EROOT}/usr/sbin/mysqld"
-	if [[ ! -x "${mysqld_binary}" ]] ; then
-		die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
-	fi
-
-	local mysql_binary="${EROOT}/usr/bin/mysql"
-	if [[ ! -x "${mysql_binary}" ]] ; then
-		die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
-	fi
-
-	local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
-	if [[ ! -x "${my_print_defaults_binary}" ]] ; then
-		die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
-	fi
-
-	if [[ -z "${MYSQL_USER}" ]] ; then
-		MYSQL_USER=mysql
-		if use prefix ; then
-			MYSQL_USER=$(id -u -n 2>/dev/null)
-			if [[ -z "${MYSQL_USER}" ]] ; then
-				die "Failed to determine current username!"
-			fi
-		fi
-	fi
-
-	if [[ -z "${MYSQL_GROUP}" ]] ; then
-		MYSQL_GROUP=mysql
-		if use prefix ; then
-			MYSQL_GROUP=$(id -g -n 2>/dev/null)
-			if [[ -z "${MYSQL_GROUP}" ]] ; then
-				die "Failed to determine current user groupname!"
-			fi
-		fi
-	fi
-
-	einfo "Will use username '${MYSQL_USER}' and group '${MYSQL_GROUP}' ..."
-
 	_getoptval() {
 		local section="$1"
 		local flag="--${2}="
@@ -659,6 +622,41 @@ pkg_config() {
 		done
 	}
 
+	local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+	if [[ ! -x "${mysqld_binary}" ]] ; then
+		die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+	fi
+
+	local mysql_binary="${EROOT}/usr/bin/mysql"
+	if [[ ! -x "${mysql_binary}" ]] ; then
+		die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+	fi
+
+	local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+	if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+		die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+	fi
+
+	if [[ -z "${MYSQL_USER}" ]] ; then
+		MYSQL_USER=mysql
+		if use prefix ; then
+			MYSQL_USER=$(id -u -n 2>/dev/null)
+			if [[ -z "${MYSQL_USER}" ]] ; then
+				die "Failed to determine current username!"
+			fi
+		fi
+	fi
+
+	if [[ -z "${MYSQL_GROUP}" ]] ; then
+		MYSQL_GROUP=mysql
+		if use prefix ; then
+			MYSQL_GROUP=$(id -g -n 2>/dev/null)
+			if [[ -z "${MYSQL_GROUP}" ]] ; then
+				die "Failed to determine current user groupname!"
+			fi
+		fi
+	fi
+
 	# my_print_defaults needs to read stuff in $HOME/.my.cnf
 	local -x HOME="${EROOT}/root"
 
@@ -678,8 +676,6 @@ pkg_config() {
 		ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
 		ewarn "Please rename or delete its content if you wish to initialize a new data directory."
 		die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
-	else
-		einfo "${PN} data directory detected as '${MY_DATADIR}' ..."
 	fi
 
 	MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
@@ -733,7 +729,7 @@ pkg_config() {
 		su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
 	fi
 
-	if [[ $? -ne 0 ]]; then
+	if [[ $? -ne 0 ]] ; then
 		die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
 	else
 		rm "${_my_datadir_testfile}" || die
@@ -746,28 +742,8 @@ pkg_config() {
 			|| die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
 	fi
 
-	if [[ -n "${MYSQL_TMPDIR}" ]] ; then
-		local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
-		[[ -z "${_my_tmpdir_testfile}" ]] \
-			&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
-		if use prefix ; then
-			touch "${_my_tmpdir_testfile}" &>/dev/null
-		else
-			su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
-		fi
-
-		if [[ $? -ne 0 ]]; then
-			die "${MYSQL_USER} user cannot write into data directory '${MYSQL_TMPDIR}'!"
-		else
-			rm "${_my_tmpdir_testfile}" || die
-			unset _my_tmpdir_testfile
-		fi
-	else
-		# If no tmpdir is set, mysqld will use default system tmpdir.
-		# However, we are using tmpdir from package manager at the
-		# moment which maybe isn't writeable for $MYSQL_USER...
-		MYSQL_TMPDIR="$(_mktemp_dry "${T}/mysqld-tmp.XXXXXXXXX")"
+	if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+		MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
 		[[ -z "${MYSQL_TMPDIR}" ]] \
 			&& die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
 
@@ -775,6 +751,24 @@ pkg_config() {
 		chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
 	fi
 
+	# Now we need to test MYSQL_TMPDIR...
+	local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+	[[ -z "${_my_tmpdir_testfile}" ]] \
+		&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+	if use prefix ; then
+		touch "${_my_tmpdir_testfile}" &>/dev/null
+	else
+		su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+	fi
+
+	if [[ $? -ne 0 ]] ; then
+		die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+	else
+		rm "${_my_tmpdir_testfile}" || die
+		unset _my_tmpdir_testfile
+	fi
+
 	if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
 		einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
 		install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
@@ -792,7 +786,7 @@ pkg_config() {
 			su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
 		fi
 
-		if [[ $? -ne 0 ]]; then
+		if [[ $? -ne 0 ]] ; then
 			die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
 		else
 			rm "${_my_logbin_testfile}" || die
@@ -817,7 +811,7 @@ pkg_config() {
 			su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
 		fi
 
-		if [[ $? -ne 0 ]]; then
+		if [[ $? -ne 0 ]] ; then
 			die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
 		else
 			rm "${_my_relaylog_testfile}" || die
@@ -825,6 +819,44 @@ pkg_config() {
 		fi
 	fi
 
+	local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+	if [[ -z "${mysql_install_log}" ]] ; then
+		die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+	else
+		# make sure file is writable for MYSQL_USER...
+		touch "${mysql_install_log}" || die
+		chown ${MYSQL_USER} "${mysql_install_log}" || die
+	fi
+
+	local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+	if [[ -z "${mysqld_logfile}" ]] ; then
+		die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+	else
+		# make sure file is writable for MYSQL_USER...
+		touch "${mysqld_logfile}" || die
+		chown ${MYSQL_USER} "${mysqld_logfile}" || die
+	fi
+
+	echo ""
+	einfo "Detected settings:"
+	einfo "=================="
+	einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+	einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+	einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+	einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+	if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+		einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+	fi
+
+	if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+		einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+	fi
+
+	einfo "PID DIR:\t\t\t\t${PID_DIR}"
+	einfo "Install db log:\t\t\t${mysql_install_log}"
+	einfo "Install server log:\t\t\t${mysqld_logfile}"
+
 	local -a config_files
 
 	local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf"
@@ -870,6 +902,8 @@ pkg_config() {
 					;;
 			esac
 
+			echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}"
+
 			unset user_answer
 		fi
 
@@ -975,19 +1009,16 @@ pkg_config() {
 
 	# Prepare timezones, see
 	# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
-	local tz_sql="${TMPDIR}/tz.sql"
+	local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+	[[ -z "${tz_sql}" ]] \
+		&& die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
 	echo "USE mysql;" >"${tz_sql}"
 	"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
 	if [[ $? -ne 0 ]] ; then
 		die "mysql_tzinfo_to_sql failed!"
 	fi
 
-	chown ${MYSQL_USER} "${tz_sql}" || die
-
-	local mysql_install_log="${TMPDIR}/mysql_install_db.log"
-	touch "${mysql_install_log}" || die
-	chown ${MYSQL_USER} "${mysql_install_log}" || die
-
 	# --initialize-insecure will not set root password
 	# --initialize would set a random one in the log which we don't need as we set it ourselves
 	local cmd=(
@@ -1010,15 +1041,13 @@ pkg_config() {
 		die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
 	fi
 
+	rm "${tz_sql}" || die
+
 	local x=${RANDOM}
-	local socket="${EROOT}/run/mysqld/mysqld${x}.sock"
-	local pidfile="${EROOT}/run/mysqld/mysqld${x}.pid"
+	local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+	local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
 	unset x
 
-	local mysqld_logfile="${TMPDIR}/mysqld.log"
-	touch "${mysqld_logfile}" || die
-	chown ${MYSQL_USER} "${mysqld_logfile}" || die
-
 	cmd=(
 		"${mysqld_binary}"
 		"${mysqld_options[@]}"


             reply	other threads:[~2020-05-24 20:25 UTC|newest]

Thread overview: 420+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-24 20:25 Thomas Deutschmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-09-25 12:58 [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql/ Sam James
2025-09-25 12:58 Sam James
2025-09-25 12:58 Sam James
2025-09-05 11:18 Sam James
2025-09-05 11:17 Sam James
2025-09-05 11:17 Sam James
2025-08-18 17:58 Andreas Sturmlechner
2025-05-15  0:47 Sam James
2025-05-14  3:10 Sam James
2025-05-14  3:10 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-04-24 14:32 Sam James
2025-03-10  0:20 Sam James
2025-03-10  0:20 Sam James
2025-03-10  0:20 Sam James
2025-03-10  0:20 Sam James
2025-01-10  4:37 Sam James
2025-01-10  4:37 Sam James
2025-01-10  4:37 Sam James
2025-01-09  2:30 Sam James
2025-01-09  2:30 Sam James
2025-01-09  2:30 Sam James
2025-01-09  2:30 Sam James
2025-01-09  2:30 Sam James
2024-07-04  0:29 Sam James
2024-07-01 18:55 Mike Gilbert
2024-06-14  8:16 Sam James
2024-03-04  4:57 Sam James
2024-01-24  6:55 Sam James
2023-12-17 12:39 Sam James
2023-11-27 15:43 Andreas Sturmlechner
2023-10-14  8:34 Sam James
2023-10-14  8:34 Sam James
2023-08-06 11:49 Sam James
2023-08-02 16:41 Sam James
2023-07-15 11:45 Arthur Zamarin
2023-07-15 11:45 Arthur Zamarin
2023-07-15 11:45 Arthur Zamarin
2023-07-15 11:45 Arthur Zamarin
2023-07-15 10:11 Arthur Zamarin
2023-05-06 14:01 Arthur Zamarin
2023-05-06 14:01 Arthur Zamarin
2023-05-06 14:01 Arthur Zamarin
2023-04-02 19:30 Arthur Zamarin
2023-04-02 19:30 Arthur Zamarin
2023-02-14  0:29 Mike Gilbert
2023-02-14  0:29 Mike Gilbert
2023-02-01  9:11 Arthur Zamarin
2023-01-18 22:44 Sam James
2023-01-13 15:02 Arthur Zamarin
2023-01-13 15:02 Arthur Zamarin
2023-01-13 15:02 Arthur Zamarin
2023-01-03  6:23 Sam James
2022-12-02 20:25 Arthur Zamarin
2022-12-02  8:02 Arthur Zamarin
2022-10-31 15:49 Sam James
2022-10-31 15:45 Sam James
2022-10-31 15:45 Sam James
2022-07-29  2:47 Sam James
2022-06-13 12:18 Jakov Smolić
2022-06-13 12:16 Jakov Smolić
2022-05-15  1:00 Sam James
2022-03-09 15:55 David Seifert
2022-03-03 21:22 David Seifert
2022-02-27 22:25 Sam James
2022-02-27 22:25 Sam James
2022-02-27 16:24 Sam James
2022-01-13  4:18 Sam James
2022-01-13  4:18 Sam James
2022-01-13  4:18 Sam James
2022-01-13  4:18 Sam James
2022-01-12  4:09 Sam James
2022-01-12  4:09 Sam James
2022-01-11 21:40 Sam James
2022-01-11 21:40 Sam James
2021-11-18 15:35 Thomas Deutschmann
2021-11-17  1:05 Thomas Deutschmann
2021-11-14 16:06 Thomas Deutschmann
2021-11-14  3:49 Thomas Deutschmann
2021-11-14  3:49 Thomas Deutschmann
2021-10-16  3:42 Sam James
2021-10-16  2:45 Sam James
2021-10-16  2:45 Sam James
2021-10-16  2:45 Sam James
2021-10-14  9:44 Sam James
2021-10-14  9:44 Sam James
2021-10-12  0:10 Sam James
2021-10-12  0:10 Sam James
2021-09-22 12:16 Thomas Deutschmann
2021-08-13 14:16 Marek Szuba
2021-08-04 20:31 Thomas Deutschmann
2021-08-04 19:13 Thomas Deutschmann
2021-08-04 19:13 Thomas Deutschmann
2021-07-06 18:02 Sam James
2021-07-06 18:02 Sam James
2021-06-22 23:49 Thomas Deutschmann
2021-05-24  1:19 Thomas Deutschmann
2021-05-21  2:12 Thomas Deutschmann
2021-05-12 15:38 Thomas Deutschmann
2021-05-03  8:04 Mikle Kolyada
2021-05-01 18:24 Sam James
2021-04-28 13:20 Thomas Deutschmann
2021-04-26  1:03 Thomas Deutschmann
2021-04-26  1:03 Thomas Deutschmann
2021-02-26  8:49 Mikle Kolyada
2021-02-26  8:49 Mikle Kolyada
2021-02-03 23:55 Thomas Deutschmann
2021-01-21 22:32 Thomas Deutschmann
2021-01-21 22:32 Thomas Deutschmann
2021-01-06 18:43 Fabian Groffen
2020-12-25 23:46 Sam James
2020-12-25 23:46 Sam James
2020-12-25 23:41 Sam James
2020-12-25 23:41 Sam James
2020-12-25 23:41 Sam James
2020-12-25 23:41 Sam James
2020-12-25  2:14 Sam James
2020-12-25  2:14 Sam James
2020-12-24 14:11 Sam James
2020-12-24 14:11 Sam James
2020-12-20 21:01 Thomas Deutschmann
2020-11-30  1:18 Thomas Deutschmann
2020-11-25 16:34 Thomas Deutschmann
2020-11-25 16:34 Thomas Deutschmann
2020-11-13 19:46 Sam James
2020-11-13 17:54 Sam James
2020-10-20 18:56 Thomas Deutschmann
2020-10-20 18:56 Thomas Deutschmann
2020-10-20 18:56 Thomas Deutschmann
2020-09-19 20:09 Mikle Kolyada
2020-09-19 20:09 Mikle Kolyada
2020-08-29 17:57 Thomas Deutschmann
2020-08-22 20:24 Thomas Deutschmann
2020-08-07 12:10 Sam James
2020-08-07 12:10 Sam James
2020-08-07  4:26 Sam James
2020-08-07  4:26 Sam James
2020-08-05 19:22 Thomas Deutschmann
2020-07-26 13:28 Thomas Deutschmann
2020-07-26 13:28 Thomas Deutschmann
2020-07-26 13:21 Thomas Deutschmann
2020-07-26  1:46 Thomas Deutschmann
2020-07-26  1:46 Thomas Deutschmann
2020-07-26  0:11 Thomas Deutschmann
2020-06-01 23:16 Thomas Deutschmann
2020-05-14 21:29 Thomas Deutschmann
2020-05-10 10:11 Mikle Kolyada
2020-05-10 10:11 Mikle Kolyada
2020-05-04 19:57 Mart Raudsepp
2020-05-04 16:01 Thomas Deutschmann
2020-05-03 15:21 Thomas Deutschmann
2020-04-30 23:06 Thomas Deutschmann
2020-04-30 21:43 Thomas Deutschmann
2020-04-30 21:43 Thomas Deutschmann
2020-04-30 20:45 Thomas Deutschmann
2020-04-21  0:14 Thomas Deutschmann
2020-03-19  3:47 Matt Turner
2020-03-17  1:07 Thomas Deutschmann
2020-03-05 11:08 Agostino Sarubbo
2020-02-17 15:23 Agostino Sarubbo
2020-02-16 21:14 Thomas Deutschmann
2020-02-15 12:13 Mikle Kolyada
2020-02-12  9:35 Agostino Sarubbo
2020-02-12  9:34 Agostino Sarubbo
2020-02-08 17:06 David Seifert
2020-01-25 19:53 Thomas Deutschmann
2020-01-25 19:53 Thomas Deutschmann
2020-01-22 20:26 Thomas Deutschmann
2020-01-20 19:26 Thomas Deutschmann
2020-01-20 19:26 Thomas Deutschmann
2019-12-31  3:30 Thomas Deutschmann
2019-12-31  3:30 Thomas Deutschmann
2019-12-09 18:27 Sergei Trofimovich
2019-12-09 18:27 Sergei Trofimovich
2019-10-31  1:41 Thomas Deutschmann
2019-10-16 17:33 Brian Evans
2019-09-15  9:44 Mikle Kolyada
2019-09-13 18:31 Mikle Kolyada
2019-09-13  2:19 Aaron Bauman
2019-09-08 20:00 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-22 20:02 Thomas Deutschmann
2019-08-19 18:34 Thomas Deutschmann
2019-08-18 12:34 Thomas Deutschmann
2019-08-17 20:13 Thomas Deutschmann
2019-08-17 18:42 Thomas Deutschmann
2019-08-17 18:42 Thomas Deutschmann
2019-08-17 13:48 Thomas Deutschmann
2019-08-17 13:48 Thomas Deutschmann
2019-08-17  0:50 Thomas Deutschmann
2019-08-17  0:50 Thomas Deutschmann
2019-08-17  0:50 Thomas Deutschmann
2019-08-17  0:50 Thomas Deutschmann
2019-08-14 22:57 Thomas Deutschmann
2019-08-08 19:42 Thomas Deutschmann
2019-08-02 21:58 Thomas Deutschmann
2019-08-02 16:56 Thomas Deutschmann
2019-08-02 16:56 Thomas Deutschmann
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-02 11:23 Mikle Kolyada
2019-08-01 21:11 Aaron Bauman
2019-07-31 14:40 Thomas Deutschmann
2019-07-31 14:40 Thomas Deutschmann
2019-07-02  8:19 Sergei Trofimovich
2019-07-02  8:19 Sergei Trofimovich
2019-06-04 11:36 Thomas Deutschmann
2019-05-24 14:30 Thomas Deutschmann
2019-05-24 10:52 Thomas Deutschmann
2019-05-14  0:41 Thomas Deutschmann
2019-04-25  3:52 Aaron Bauman
2019-04-02 12:18 Mikle Kolyada
2019-03-10 14:37 Mikle Kolyada
2019-03-05 18:46 Thomas Deutschmann
2019-03-05 18:16 Mikle Kolyada
2019-03-03 19:04 Thomas Deutschmann
2019-03-03 18:57 Thomas Deutschmann
2019-01-31  3:12 Brian Evans
2019-01-26 19:23 Thomas Deutschmann
2018-12-18 19:36 Mikle Kolyada
2018-11-30 11:13 Tobias Klausmann
2018-11-29 17:44 Tobias Klausmann
2018-11-28 23:11 Sergei Trofimovich
2018-11-28 23:11 Sergei Trofimovich
2018-11-26 14:49 Mikle Kolyada
2018-11-20 18:07 Mikle Kolyada
2018-11-20  1:42 Thomas Deutschmann
2018-11-19 18:28 Thomas Deutschmann
2018-11-19 16:24 Thomas Deutschmann
2018-11-19 14:10 Thomas Deutschmann
2018-11-14 16:59 Thomas Deutschmann
2018-11-14 16:59 Thomas Deutschmann
2018-11-13 18:26 Brian Evans
2018-11-11 23:19 Thomas Deutschmann
2018-10-30 14:42 Mikle Kolyada
2018-10-27 19:14 Mikle Kolyada
2018-10-27 18:43 Sergei Trofimovich
2018-10-26 21:10 Thomas Deutschmann
2018-10-26 19:24 Thomas Deutschmann
2018-10-23  0:33 Brian Evans
2018-10-19 20:26 Mikle Kolyada
2018-10-18 12:31 Thomas Deutschmann
2018-10-18 11:45 Tobias Klausmann
2018-10-17 22:21 Thomas Deutschmann
2018-10-17  0:46 Thomas Deutschmann
2018-10-16 16:23 Thomas Deutschmann
2018-10-15  1:29 Thomas Deutschmann
2018-10-14  1:21 Thomas Deutschmann
2018-09-24 20:38 Brian Evans
2018-09-24 17:18 Brian Evans
2018-09-17 20:38 Brian Evans
2018-09-17 18:03 Matt Turner
2018-09-17 18:03 Matt Turner
2018-09-15 10:28 Michał Górny
2018-09-14 23:16 Brian Evans
2018-09-14 23:16 Brian Evans
2018-09-14 23:16 Brian Evans
2018-09-01 23:18 Sergei Trofimovich
2018-08-05  1:15 Brian Evans
2018-08-05  1:15 Brian Evans
2018-08-05  1:15 Brian Evans
2018-08-05  1:15 Brian Evans
2018-07-23 21:52 Mikle Kolyada
2018-07-23 13:10 Tobias Klausmann
2018-07-21  0:09 Brian Evans
2018-07-20 22:40 Thomas Deutschmann
2018-07-19 14:10 Mikle Kolyada
2018-06-25  2:03 Brian Evans
2018-06-24  1:11 Brian Evans
2018-05-19  2:35 Brian Evans
2018-05-15 17:41 Brian Evans
2018-05-13 18:42 Brian Evans
2018-04-24 23:52 Brian Evans
2018-04-22  1:10 Brian Evans
2018-04-22  1:10 Brian Evans
2018-03-30 12:03 Sergei Trofimovich
2018-03-04 16:23 Tobias Klausmann
2018-02-14 12:59 Thomas Deutschmann
2018-02-14  0:46 Thomas Deutschmann
2018-02-14  0:46 Thomas Deutschmann
2018-02-14  0:46 Thomas Deutschmann
2018-02-05 21:27 Markus Meier
2018-02-04 20:42 Sergei Trofimovich
2018-01-27 21:24 Mikle Kolyada
2018-01-19  2:33 Brian Evans
2018-01-19  2:33 Brian Evans
2018-01-17 16:53 Thomas Deutschmann
2018-01-17  8:24 Thomas Deutschmann
2017-11-21 15:27 Brian Evans
2017-11-19 15:14 Markus Meier
2017-11-06 14:18 Tobias Klausmann
2017-11-03 12:54 Brian Evans
2017-10-28 23:31 Sergei Trofimovich
2017-10-28 21:42 Sergei Trofimovich
2017-10-28 18:11 Thomas Deutschmann
2017-10-28 18:11 Thomas Deutschmann
2017-10-27 13:49 Thomas Deutschmann
2017-10-25  7:06 Sergei Trofimovich
2017-10-24  7:03 Agostino Sarubbo
2017-10-18 19:53 Brian Evans
2017-10-18 16:27 Brian Evans
2017-10-18 13:36 Brian Evans
2017-10-18 13:36 Brian Evans
2017-09-30  8:40 Sergei Trofimovich
2017-09-30  2:58 Sergei Trofimovich
2017-08-25 21:51 Mikle Kolyada
2017-08-23  4:59 Markus Meier
2017-08-18 20:25 Thomas Deutschmann
2017-08-17 20:18 Sergei Trofimovich
2017-07-22  0:53 Brian Evans
2017-07-19 18:04 Brian Evans
2017-07-19 18:04 Brian Evans
2017-07-19 16:17 Brian Evans
2017-07-16  9:40 Tobias Klausmann
2017-06-25  8:44 Sergei Trofimovich
2017-05-22 17:32 Tobias Klausmann
2017-05-15 11:24 Michael Weber
2017-05-13  6:25 Markus Meier
2017-05-10 10:53 Jeroen Roovers
2017-05-07 23:44 Brian Evans
2017-05-07 23:44 Brian Evans
2017-04-10 18:42 Brian Evans
2017-04-10 16:21 Brian Evans
2017-03-02 14:48 Brian Evans
2017-03-01 20:59 Thomas Deutschmann
2017-03-01 20:59 Thomas Deutschmann
2017-02-06 14:02 Brian Evans
2017-02-05 17:02 Markus Meier
2017-01-25  6:39 Jeroen Roovers
2017-01-21 11:37 Tobias Klausmann
2017-01-19 11:34 Agostino Sarubbo
2017-01-19 11:25 Agostino Sarubbo
2016-12-20 14:02 Brian Evans
2016-12-14 17:14 Brian Evans
2016-10-31  7:42 Jeroen Roovers
2016-10-26 16:38 Markus Meier
2016-10-23  7:44 Jeroen Roovers
2016-10-22 11:33 Agostino Sarubbo
2016-10-22 11:33 Agostino Sarubbo
2016-10-21 15:17 Tobias Klausmann
2016-10-19 20:34 Brian Evans
2016-10-19 20:34 Brian Evans
2016-10-19 16:47 Brian Evans
2016-10-11 14:16 Brian Evans
2016-09-29 13:35 Agostino Sarubbo
2016-09-29 13:35 Agostino Sarubbo
2016-09-29 13:08 Agostino Sarubbo
2016-09-29 13:08 Agostino Sarubbo
2016-09-29  9:48 Agostino Sarubbo
2016-09-29  9:22 Agostino Sarubbo
2016-09-24 19:29 Markus Meier
2016-09-24  7:06 Jeroen Roovers
2016-09-17  9:52 Tobias Klausmann
2016-09-14  7:28 Agostino Sarubbo
2016-09-12 20:00 Brian Evans
2016-09-12 20:00 Brian Evans
2016-09-12 18:56 Brian Evans
2016-08-17 20:11 Brian Evans
2016-08-17 18:11 Brian Evans
2016-07-28 14:08 Agostino Sarubbo
2016-07-28  8:43 Agostino Sarubbo
2016-07-27 20:30 Markus Meier
2016-07-26 12:31 Tobias Klausmann
2016-07-24 16:03 Jeroen Roovers
2016-07-24  8:33 Jeroen Roovers
2016-07-20 17:58 Brian Evans
2016-07-20 17:58 Brian Evans
2016-07-20 16:05 Brian Evans
2016-07-11  3:49 Brian Evans
2016-07-08 13:28 Agostino Sarubbo
2016-07-08  8:42 Agostino Sarubbo
2016-07-08  8:17 Agostino Sarubbo
2016-05-21 12:04 Tobias Klausmann
2016-05-19 18:28 Markus Meier
2016-05-19 14:39 Jeroen Roovers
2016-05-19  7:42 Agostino Sarubbo
2016-05-19  7:40 Agostino Sarubbo
2016-04-18 18:31 Brian Evans
2016-04-18  8:13 Patrice Clement
2016-04-12 18:26 Brian Evans
2016-03-21  2:16 Brian Evans
2016-03-20 12:24 Agostino Sarubbo
2016-03-19 12:28 Agostino Sarubbo
2016-02-12  3:46 Brian Evans
2016-02-12  3:46 Brian Evans
2016-02-03 20:46 Markus Meier
2016-01-31 13:39 Tobias Klausmann
2016-01-31 11:11 Agostino Sarubbo
2016-01-31 11:09 Agostino Sarubbo
2016-01-31  9:23 Jeroen Roovers
2016-01-26  5:11 Brian Evans
2016-01-10 14:29 Brian Evans
2016-01-10 11:22 Agostino Sarubbo
2016-01-09  7:10 Agostino Sarubbo
2015-12-15 17:42 Brian Evans
2015-12-14 14:36 Brian Evans
2015-12-13 22:15 Brian Evans
2015-12-13 22:07 Brian Evans
2015-11-18  9:56 Agostino Sarubbo
2015-11-14 16:49 Markus Meier
2015-11-09  8:53 Agostino Sarubbo
2015-11-08  6:09 Jeroen Roovers
2015-11-06 11:28 Agostino Sarubbo
2015-11-06 11:27 Agostino Sarubbo
2015-11-05 23:13 Brian Evans
2015-10-26 13:24 Brian Evans
2015-10-20 14:52 Brian Evans
2015-10-12 19:39 Brian Evans
2015-10-01 16:01 Brian Evans
2015-09-15 17:22 Brian Evans
2015-09-06  8:32 Agostino Sarubbo
2015-08-26  7:28 Agostino Sarubbo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1590351824.ab0818d2ba2fd2ab8efa5e1ba9bcb2503975a8b1.whissi@gentoo \
    --to=whissi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox