Gentoo Archives: gentoo-commits

From: Brian Evans <grknight@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/mysql:master commit in: eclass/
Date: Sat, 27 Feb 2016 03:28:34
Message-Id: 1456541777.272d86839db2042ebe26dd2193850e018c737eb4.grknight@gentoo
1 commit: 272d86839db2042ebe26dd2193850e018c737eb4
2 Author: Brian Evans <grknight <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 27 02:56:17 2016 +0000
4 Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 27 02:56:17 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/mysql.git/commit/?id=272d8683
7
8 mysql-multilib-r1.eclass: Further refinement for EAPI=6
9
10 Use the default functions for patching and deprecate mysql_fx.eclass
11 PATCHES=() is now set in ebuilds instead of using the move functions
12
13 eclass/mysql-multilib-r1.eclass | 114 ++++++++++++++++++++++++++++++++--------
14 1 file changed, 92 insertions(+), 22 deletions(-)
15
16 diff --git a/eclass/mysql-multilib-r1.eclass b/eclass/mysql-multilib-r1.eclass
17 index 60340d7..65ebe85 100644
18 --- a/eclass/mysql-multilib-r1.eclass
19 +++ b/eclass/mysql-multilib-r1.eclass
20 @@ -38,8 +38,14 @@ MYSQL_EXTRAS=""
21 # @DESCRIPTION:
22 # An array of CMake arguments added to native and non-native
23
24 -inherit eutils systemd flag-o-matic ${MYSQL_EXTRAS} mysql_fx versionator \
25 - multilib prefix toolchain-funcs user cmake-utils multilib-minimal
26 +# Keeping eutils in EAPI=6 for emktemp in pkg_config
27 +
28 +inherit eutils systemd flag-o-matic ${MYSQL_EXTRAS} versionator \
29 + prefix toolchain-funcs user cmake-utils multilib-minimal
30 +
31 +if [[ "${EAPI}x" == "5x" ]]; then
32 + inherit multilib mysql_fx
33 +fi
34
35 #
36 # Supported EAPI versions and export functions
37 @@ -82,19 +88,18 @@ if [[ -z ${MYSQL_PV_MAJOR} ]] ; then MYSQL_PV_MAJOR="$(get_version_component_ran
38 # depend on this variable.
39 # In particular, the code below transforms a $PVR like "5.0.18-r3" in "5001803"
40 # We also strip off upstream's trailing letter that they use to respin tarballs
41 -MYSQL_VERSION_ID=""
42 -tpv="${PV%[a-z]}"
43 -tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
44 -for vatom in 0 1 2 3 ; do
45 - # pad to length 2
46 - tpv[${vatom}]="00${tpv[${vatom}]}"
47 - MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
48 -done
49 -# strip leading "0" (otherwise it's considered an octal number by BASH)
50 -MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
51 -
52 -# This eclass should only be used with at least mysql-5.5.35
53 -mysql_version_is_at_least "5.5.35" || die "This eclass should only be used with >=mysql-5.5.35"
54 +if [[ "${EAPI}x" == "5x" ]]; then
55 + MYSQL_VERSION_ID=""
56 + tpv="${PV%[a-z]}"
57 + tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
58 + for vatom in 0 1 2 3 ; do
59 + # pad to length 2
60 + tpv[${vatom}]="00${tpv[${vatom}]}"
61 + MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
62 + done
63 + # strip leading "0" (otherwise it's considered an octal number by BASH)
64 + MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
65 +fi
66
67 # Work out the default SERVER_URI correctly
68 if [[ -z ${SERVER_URI} ]]; then
69 @@ -294,12 +299,6 @@ mysql-multilib-r1_src_prepare() {
70 mysql_mv_patches
71 # And apply
72 epatch
73 - else
74 - mkdir -p "${WORKDIR}/patch" || die "Unable to create epatch directory"
75 - # Clean out old items
76 - rm -f "${WORKDIR}"/patch/*
77 - EPATCH_SOURCE="${WORKDIR}/patch" mysql_mv_patches
78 - eapply "${WORKDIR}/patch"
79 fi
80 fi
81
82 @@ -343,7 +342,7 @@ mysql-multilib-r1_src_prepare() {
83 if [[ "${EAPI}x" == "5x" ]] ; then
84 epatch_user
85 else
86 - eapply_user
87 + default
88 fi
89 }
90
91 @@ -1056,3 +1055,74 @@ mysql-cmake_use_plugin() {
92 echo "-DWITHOUT_$2=1 -DWITH_$2=0 -DPLUGIN_$2=NO"
93 fi
94 }
95 +
96 +# @FUNCTION: mysql_init_vars
97 +# @DESCRIPTION:
98 +# void mysql_init_vars()
99 +# Initialize global variables
100 +# 2005-11-19 <vivo@g.o>
101 +if [[ "${EAPI}x" != "5x" ]]; then
102 +
103 +mysql_init_vars() {
104 + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
105 + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
106 + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
107 + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
108 + MY_INCLUDEDIR=${MY_INCLUDEDIR="${EPREFIX}/usr/include/mysql"}
109 + MY_LIBDIR=${MY_LIBDIR="${EPREFIX}/usr/$(get_libdir)/mysql"}
110 +
111 + if [[ -z "${MY_DATADIR}" ]] ; then
112 + MY_DATADIR=""
113 + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
114 + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
115 + | sed -ne '/datadir/s|^--datadir=||p' \
116 + | tail -n1`
117 + if [[ -z "${MY_DATADIR}" ]] ; then
118 + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
119 + | sed -e 's/.*=\s*//' \
120 + | tail -n1`
121 + fi
122 + fi
123 + if [[ -z "${MY_DATADIR}" ]] ; then
124 + MY_DATADIR="${MY_LOCALSTATEDIR}"
125 + einfo "Using default MY_DATADIR"
126 + fi
127 + elog "MySQL MY_DATADIR is ${MY_DATADIR}"
128 +
129 + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
130 + if [[ -e "${MY_DATADIR}" ]] ; then
131 + # If you get this and you're wondering about it, see bug #207636
132 + elog "MySQL datadir found in ${MY_DATADIR}"
133 + elog "A new one will not be created."
134 + PREVIOUS_DATADIR="yes"
135 + else
136 + PREVIOUS_DATADIR="no"
137 + fi
138 + export PREVIOUS_DATADIR
139 + fi
140 + else
141 + if [[ ${EBUILD_PHASE} == "config" ]]; then
142 + local new_MY_DATADIR
143 + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
144 + | sed -ne '/datadir/s|^--datadir=||p' \
145 + | tail -n1`
146 +
147 + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
148 + ewarn "MySQL MY_DATADIR has changed"
149 + ewarn "from ${MY_DATADIR}"
150 + ewarn "to ${new_MY_DATADIR}"
151 + MY_DATADIR="${new_MY_DATADIR}"
152 + fi
153 + fi
154 + fi
155 +
156 + if [ "${MY_SOURCEDIR:-unset}" == "unset" ]; then
157 + MY_SOURCEDIR=${SERVER_URI##*/}
158 + MY_SOURCEDIR=${MY_SOURCEDIR%.tar*}
159 + fi
160 +
161 + export MY_SHAREDSTATEDIR MY_SYSCONFDIR
162 + export MY_LIBDIR MY_LOCALSTATEDIR MY_LOGDIR
163 + export MY_INCLUDEDIR MY_DATADIR MY_SOURCEDIR
164 +}
165 +fi