Sync with portage [Fri Aug 23 11:51:59 MSK 2019].

mhiretskiy 1477
root 5 years ago
parent 7c81189aa9
commit 2f15eaaf5d

Binary file not shown.

Binary file not shown.

@ -6,7 +6,7 @@
<name>Bernard Cafarelli</name>
</maintainer>
<upstream>
<remote-id type="github">sol1/rdiff-backup</remote-id>
<remote-id type="github">rdiff-backup/rdiff-backup</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1 +1,2 @@
DIST isoimagewriter-0.2.tar.xz 423900 BLAKE2B 36ce0b0bba3d955c4e10d003a3bded9ec55931b6496c5b1c91c83b6c8d3fa29e033a833d6c16a81f098a16f57cac0dae638719d389892d0336a28a6cdbd24151 SHA512 cec7d67e8255caaaccc14d07da3677a13b8081f599136516b0a31262e20eec884fa738dcc2d3aa1bfd49c00bb6c5bc6c3a62c767b13cdb06799cb53cf1e6ecc1
DIST isoimagewriter-0.8.tar.xz 430368 BLAKE2B d540ca0ee874b633618480ff5cc30ceea5f0aef84e3e4b0236fc6474ce590661ca8728a3719cc733cc791d14cfdcaad609ffa32d79b99df141381aa3f35edec8 SHA512 1d5031695647be54e5de10f6243b68bf8d2dc29a7894c8ac69954df353d5baa740290b572c89cd37650718749117f5e3b25dd99b8b374d8ba0376288878f9199

@ -0,0 +1,25 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit kde5
DESCRIPTION="Write hybrid ISO files onto a USB disk"
HOMEPAGE="http://wiki.rosalab.com/en/index.php/Blog:ROSA_Planet/ROSA_Image_Writer"
[[ ${PV} != *9999* ]] && SRC_URI="mirror://kde/unstable/${PN}/${PV}/${P}.tar.xz"
LICENSE="GPL-3"
KEYWORDS="~amd64"
IUSE=""
DEPEND="
$(add_frameworks_dep kauth)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep ki18n)
$(add_qt_dep qtgui)
$(add_qt_dep qtwidgets)
app-crypt/gpgme[cxx,qt5]
virtual/libudev:=
"
RDEPEND="${DEPEND}"

Binary file not shown.

@ -1 +1,2 @@
DIST kmymoney-5.0.5.tar.xz 11706112 BLAKE2B 7c0e51ad2404a88affd7b99c8ca59b813b646a7d995b5d7f6db311c8813f2966d14b34271f3d9de73d07c763fb191e9f4c0737e64feb35a62cd719856c20bab1 SHA512 ba8033b974b93d47cd2a732a352025715845d3dff016a49babb6b724d5e9b726f84f5e2a1f1f42765a6ff35a00d3d995397f2831981d48cb8468d1407030584c
DIST kmymoney-5.0.6.tar.xz 11713976 BLAKE2B bfc4aacff79f0c92145257e7398271385f80d9ac7460b35f691c1e45dc115ebe91418a98a1a5e6a6c0cdc376beff7b92c8f7d7a29af3d2529503e7db4dc4b77a SHA512 237918b0844d5d9129d086f403090acf21be6e2ba1f41d575ff9de514a9ddcb7bd616da1377ecc34c4436e12481e425615ab640e7549c783d9010b22c0460480

@ -0,0 +1,120 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGIT_BRANCH="5.0"
PYTHON_COMPAT=( python2_7 )
KDE_HANDBOOK="optional"
KDE_TEST="forceoptional"
VIRTUALX_REQUIRED="test"
VIRTUALDBUS_TEST="true"
inherit kde5 python-single-r1
DESCRIPTION="Personal finance manager based on KDE Frameworks"
HOMEPAGE="https://kmymoney.org"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
fi
LICENSE="GPL-2"
KEYWORDS=""
IUSE="activities addressbook calendar holidays ofx quotes webkit weboob"
REQUIRED_USE="weboob? ( ${PYTHON_REQUIRED_USE} )"
BDEPEND="virtual/pkgconfig"
COMMON_DEPEND="
$(add_frameworks_dep karchive)
$(add_frameworks_dep kcmutils)
$(add_frameworks_dep kcompletion)
$(add_frameworks_dep kcodecs)
$(add_frameworks_dep kconfig)
$(add_frameworks_dep kconfigwidgets)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep ki18n)
$(add_frameworks_dep kio)
$(add_frameworks_dep kiconthemes)
$(add_frameworks_dep kitemmodels)
$(add_frameworks_dep kitemviews)
$(add_frameworks_dep kjobwidgets)
$(add_frameworks_dep knotifications)
$(add_frameworks_dep kservice)
$(add_frameworks_dep ktextwidgets)
$(add_frameworks_dep kwallet)
$(add_frameworks_dep kwidgetsaddons)
$(add_frameworks_dep kxmlgui)
$(add_frameworks_dep sonnet)
$(add_qt_dep qtdbus)
$(add_qt_dep qtgui)
$(add_qt_dep qtnetwork)
$(add_qt_dep qtprintsupport)
$(add_qt_dep qtsql)
$(add_qt_dep qtsvg)
$(add_qt_dep qtwidgets)
$(add_qt_dep qtxml)
>=app-crypt/gpgme-1.7.1-r1[cxx]
>=app-office/libalkimia-7.0.0:=
dev-libs/gmp:0=
dev-libs/kdiagram:5
dev-libs/libgpg-error
activities? ( $(add_frameworks_dep kactivities) )
addressbook? (
$(add_kdeapps_dep akonadi)
$(add_kdeapps_dep kcontacts)
$(add_kdeapps_dep kidentitymanagement)
)
calendar? ( dev-libs/libical:= )
holidays? ( $(add_frameworks_dep kholidays) )
ofx? ( dev-libs/libofx )
webkit? (
$(add_frameworks_dep kdewebkit)
>=dev-qt/qtwebkit-5.212.0_pre20180120:5
)
!webkit? ( $(add_qt_dep qtwebengine 'widgets') )
weboob? (
${PYTHON_DEPS}
$(add_qt_dep qtconcurrent)
www-client/weboob[${PYTHON_USEDEP}]
)
"
DEPEND="${COMMON_DEPEND}
dev-libs/boost
"
RDEPEND="${COMMON_DEPEND}
!app-office/kmymoney:4
quotes? ( dev-perl/Finance-Quote )
"
pkg_setup() {
use weboob && python_setup
kde5_pkg_setup
}
src_configure() {
local mycmakeargs=(
-DUSE_QT_DESIGNER=OFF
$(cmake-utils_use_find_package activities KF5Activities)
$(cmake-utils_use_find_package addressbook KF5Akonadi)
$(cmake-utils_use_find_package addressbook KF5Contacts)
$(cmake-utils_use_find_package addressbook KF5IdentityManagement)
-DENABLE_KBANKING=OFF
-DENABLE_LIBICAL=$(usex calendar)
$(cmake-utils_use_find_package holidays KF5Holidays)
-DENABLE_OFXIMPORTER=$(usex ofx)
-DENABLE_WEBENGINE=$(usex !webkit)
-DENABLE_WEBOOB=$(usex weboob)
$(cmake-utils_use_find_package weboob PythonLibs)
)
kde5_src_configure
}
src_test() {
# bug 652636; bug 673052: needs kmymoney installed to succeed
local myctestargs=(
-E "(reports-chart-test|qsqlcipher-test)"
)
kde5_src_test
}

Binary file not shown.

@ -20,7 +20,7 @@ else
MY_PV=${GOOGLETEST_COMMIT}
fi
SRC_URI="https://github.com/google/googletest/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
S="${WORKDIR}"/googletest-${MY_PV}
fi

Binary file not shown.

@ -0,0 +1,22 @@
--- a/utilities/CMakeLists.txt
+++ b/utilities/CMakeLists.txt
@@ -101,15 +101,11 @@ MYSQL_ADD_EXECUTABLE(perror perror.cc)
ADD_DEPENDENCIES(perror GenError)
TARGET_LINK_LIBRARIES(perror mysys)
-IF (BUILD_BUNDLED_LZ4)
- MYSQL_ADD_EXECUTABLE(lz4_decompress lz4_decompress.cc)
- TARGET_LINK_LIBRARIES(lz4_decompress ${LZ4_LIBRARY} mysys)
-ENDIF()
+MYSQL_ADD_EXECUTABLE(lz4_decompress lz4_decompress.cc)
+TARGET_LINK_LIBRARIES(lz4_decompress ${LZ4_LIBRARY} mysys)
-IF (BUILD_BUNDLED_ZLIB OR NOT OPENSSL_EXECUTABLE_HAS_ZLIB)
- MYSQL_ADD_EXECUTABLE(zlib_decompress zlib_decompress.cc)
- TARGET_LINK_LIBRARIES(zlib_decompress ${ZLIB_LIBRARY} mysys)
-ENDIF()
+MYSQL_ADD_EXECUTABLE(zlib_decompress zlib_decompress.cc)
+TARGET_LINK_LIBRARIES(zlib_decompress ${ZLIB_LIBRARY} mysys)
IF(WITH_INNOBASE_STORAGE_ENGINE)

@ -0,0 +1,24 @@
https://bugs.gentoo.org/692644
--- a/include/mysql.h.pp
+++ b/include/mysql.h.pp
@@ -175,7 +175,7 @@ struct rand_struct {
unsigned long seed1, seed2, max_value;
double max_value_dbl;
};
-#include <mysql/udf_registration_types.h>
+#include "mysql/udf_registration_types.h"
enum Item_result {
INVALID_RESULT = -1,
STRING_RESULT = 0,
--- a/include/mysql_com.h
+++ b/include/mysql_com.h
@@ -1002,7 +1002,7 @@ struct rand_struct {
};
/* Include the types here so existing UDFs can keep compiling */
-#include <mysql/udf_registration_types.h>
+#include "mysql/udf_registration_types.h"
/**
@addtogroup group_cs_compresson_constants Constants when using compression

@ -19,6 +19,7 @@ SLOT="0/21"
IUSE="ldap libressl static-libs"
RDEPEND="
>=app-arch/lz4-0_p131:=
sys-libs/zlib:=[${MULTILIB_USEDEP}]
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
@ -26,11 +27,23 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
# Avoid file collisions, #692580
RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
RDEPEND+=" !=dev-db/mysql-5.7.23*"
RDEPEND+=" !=dev-db/mysql-5.7.24*"
RDEPEND+=" !=dev-db/mysql-5.7.25*"
RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
DOCS=( README )
S="${WORKDIR}/mysql-${PV}"
PATCHES=( "${FILESDIR}"/${PN}-8.0.17-libressl.patch )
PATCHES=(
"${FILESDIR}"/${PN}-8.0.17-always-build-decompress-utilities.patch
"${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
"${FILESDIR}"/${PN}-8.0.17-libressl.patch
)
src_prepare() {
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
@ -42,7 +55,6 @@ src_prepare() {
-e '/MYSQL_CHECK_RAPIDJSON/d' \
-e '/MYSQL_CHECK_ICU/d' \
-e '/MYSQL_CHECK_RE2/d' \
-e '/MYSQL_CHECK_LZ4/d' \
-e '/MYSQL_CHECK_EDITLINE/d' \
-e '/MYSQL_CHECK_CURL/d' \
-e '/ADD_SUBDIRECTORY(man)/d' \

@ -1,20 +1,9 @@
DIST mysql-5.5.61.tar.gz 21027098 BLAKE2B b7589f632a211349fc34cec94e333b878e07113969bf5cf6f78cd37435d95b15c03eaf188ed09768033b182de125c9f018a5fe902094f17ab891f94cab9de6dd SHA512 978384915c145ec8f0d85deb764154d8d4a9764f2d342928bda6ad43a00bc110aa888895416d2ba5684a4432e433037990dd3fe8c5caf024faa487bc2e153f49
DIST mysql-5.5.62.tar.gz 21111902 BLAKE2B f1cbb1c6b4dfac11c2c517a57a5c6216ce43766cc247b3c9b387326a7f6446cbc21ddb42bd95afa658c3b0ed2568a29563ceea248c6ec63364ce210119d39cc2 SHA512 1080a3989c20bbbfe98739f99dacd183f2087ceee5147845852144240386808568af4c908ecdbccdcb6114000ab760ed7257492834d50018eff9520260fd91ce
DIST mysql-5.6.40.tar.gz 32083035 BLAKE2B efcc078341bae239df28ac0504111aa34926885ae47edb5011352b56552a5a3abd1f824f8cbdc23d8d667592b8f5510946ef18c3efa61865dbbc7f4bb8a2d4a0 SHA512 c8e458b4cd34cae87f1b088ed2188bd00de8cdc42709d5964e82fa2e4aaecfc12a75ae006c54ffa0d3d286fbdef9704d0cbb83436437d5705fb8921d960e758c
DIST mysql-5.6.42.tar.gz 32201731 BLAKE2B c573328b37225dac090c32178f90e1419fc1848612e304bddc11eafdd48228981a846857be680978b72ef76edbd5d2422a98b5d20b4d082fabcc2b072e2b8fde SHA512 3104e6a3145a119f2b012de6af2a92fc37134aa402b889a562f5fc2391705d0bc2f718166c5fa8387d973fff5ecd9544c8b389b6d0c81d98bdcaf2acfb9b55e8
DIST mysql-5.6.43.tar.gz 32200219 BLAKE2B 2aa1397ff5f011a169ae47650be8db7a097a62f53ff06d63760a419906841f0540db19449c1d71d60be7d684e49b4436e1d6e72e7a1cf99057a3f98fad11557f SHA512 8820aee9b34cfebc841d756b12713517c9dafed7bee7b09c8e82c8f359e2e12b25da47c4e49e0aa4afc26193b774e0fa0dfd422c2aa09c3112b6d6e4b62b9a68
DIST mysql-5.6.44.tar.gz 32531507 BLAKE2B 28fbf49f699eb9f43223ffa186671b119d16016274cc7192db232b85c58123a61154e37193b9b7145c6a650b80b5f6cf838529bc2bc5ea9c78c0dbc39de834d3 SHA512 65ace1c803773ca6c8759d171c09bc93c7d61b8e3208ac9905f82e99087622c9dcca602d2da217741dc62fc6eabe9108ebc7f31facd26705072eae65fcc37077
DIST mysql-5.6.45.tar.gz 32525559 BLAKE2B 3c629aed1de808acdea6654c7413e6851507c9c5be939ca4b4f5e2796da317e9b518a749bfc03d2b0ef05bd604b39f72e24b751076b9f206b462d21fa5db4f50 SHA512 f9d8bb72e96cc83f1064fe7df2e5fe8317ca9d44c4e776cf7827a61292fbcfccec716806c80d565958383d78fef93a19d61c726687b57680d5f93299291ff168
DIST mysql-boost-5.7.23.tar.gz 49025014 BLAKE2B 669f10779bc2cda866d6bd876b4efe55fb4b0c796f596f66513a3ca85f322e2a03e9879eecd72a69729a0cb71d408c46cdd9086ae456712b4adff6ae7c584c97 SHA512 e4317f89d108a68652cd95e41ffd670c37b6663aabd6af3985d18052fb7e8d8879b5822399caf9091cecc0a949ec588c121c87cfd60d69941f68d0ecbedd0953
DIST mysql-boost-5.7.24.tar.gz 49110448 BLAKE2B 1cf64712d84cbb2dfd31f2a530470b6f7cbf5ae9107106d86705575ea9739fa582e1f079447d9a58c4762fffc636d69e448ebdec9172ee15dc09245bc39c3525 SHA512 bbd411e15cd9e6053a353146808b74881d2d950f09e94794a699e7604dadf767b58b661a8321fbe1424f2c2e6cfc3adaa388242183e759082eae47b64cbfbcde
DIST mysql-boost-5.7.25.tar.gz 49107578 BLAKE2B 8a43479c496ce45e71df905b0cb6da442340b691caa15f9862a8c981e7189c50e73b1701c393fe46ab580c508f785d5f15259c2331c77e0790191f3d41bb385c SHA512 b111c64bfcd49dba584bed71a0c7ce33b2b0654654d8f4eaa1a2b7a5daed9674ebfd4a0dfb93c20ffee028feead4709eaf600bb5469f81c86b743d395dfe27a9
DIST mysql-boost-5.7.26.tar.gz 51098338 BLAKE2B 1263cd75814a7293b26b0f44fd2b7d20d983f3c6a62725df9515ecac2ef252f6644810cb4bf0d6f36b98e55317f1c67ea7541228cb38d896dfedc476a5755f26 SHA512 a5f9871dc5a8e5fffc1467c3dd542533a63fe553c029120475f8fd5530d884c76ab0c33ad260daf317faf318ccef01464f6ac2dc3468efceb6bf2b6c06c54cfd
DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52
DIST mysql-boost-8.0.17.tar.gz 189322239 BLAKE2B f9f46e5fdc3e9869b203626bc09edfbcdbabcd68eba43f9c6a33b9a52cffb3a32f39704c6d22a66899aac16fa2efb271c5dc7af7522768b45542ac8dc615cd8a SHA512 a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d
DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf43473335868517f6c450fc7bcf03e55de5a294c8bdcfcac2bb783dec09bbb3b6c30a561ba7e3a943543c017e2d42b61d466e699acdef4c0231 SHA512 efd9d416f394cc61b977ab76f05ab3acc5803ff8bdee8e1dbc65cc5b3f07e4f9742140d9586c028908b10fcc44f21c98ebffdebcc5c3578acbe05b07526bcb3d
DIST mysql-extras-20181023-0012Z.tar.bz2 327834 BLAKE2B 91a82cbcecbbbe94933da0d8c26cdfee0171602785b2f717fbfec7da422f0ec36f26e897a3c21695f4748017d36c9956cbef03d0852246468368b812a604df82 SHA512 94996708a9da4d55c3aab74f75b74fa4aa80e3fbbb87d9dfe6c1596a934aceed466b7c853e38d9b63f59660763ccef617defc4e6e8770451c21a252250f4e7fa
DIST mysql-extras-20181111-2314Z.tar.bz2 329013 BLAKE2B fa928b699ef0e6f092e028fc1331cc33953d9855e784998fb2f8c1f1712e9424567b2d2b6b7c5ca375f178309522b3596fcba7babdbed7c85b87ae4b85e5db22 SHA512 5cc4d16c5c6b0491fb9532469ec0b9c65e27e1514d561ea4180845a1578fc8e7ba00fca479b9a784646846f5147e4f676340f639b78c3f5ee140dda26bd5bff2
DIST mysql-extras-20190303-1852Z.tar.bz2 331026 BLAKE2B ee033fce8f1b6a58f1f690710fb9709a585cd45564b35e71d4f840a3a7f83a5d80f53c24236c9976319abd89c68c62c74a7111517f1b9721d3cbd0898bf0dd8d SHA512 30361a0b848ed27f9170b1116458a9bc13b1b585c5fa1933c99927541c31e9bda4008b0563f2fc7db286f998089ebebf1fe3f18fce7a45e62acbf769ac62d8c1
DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c
DIST mysql-extras-20190604-1109Z.tar.bz2 331780 BLAKE2B 48b6f6ff36818ba3d1d9c0580b0ff5e2343d92a42ee78b6804841d7c4f511adcdc3d5cd0590f769f308ca52e271c07cb34219450f9b86e918ddcd0a4b956e18e SHA512 19a85ba5a4c2de1688f39feb6ce1c1802e4d886436dc02afe1ba508b91365a0ac67d668cf7126588145ee55641992ad71b0d094246a94c89065876b9bb897425
DIST mysql-extras-20190817-0024Z.tar.bz2 337793 BLAKE2B dfd51a708654aff5bdbbaf2acad7ef966869a8e3adcba544ee15f217d2ba942827445841e73981bccc6c1f145b6225bfa7245114219f0cf52f0dfb85494a6830 SHA512 c2ff81be1c55636f0a2700033af030149f312f0383217054a4b8c65aef174626299fcb4539eaae967ea7d096a5bb09f5b5122dce344b44b0a135d886ba0fdf28
DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8

@ -1,791 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180804-2323Z"
SUBSLOT="18"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.5/${P}.tar.gz
https://downloads.mysql.com/archives/MySQL-5.5/${P}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://mysql.com/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
SLOT="0/${SUBSLOT:-0}"
IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
+perl profiling selinux +server static static-libs systemtap tcmalloc
test yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="!bindist? ( bindist ) libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc )
static? ( yassl )"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
inherit git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
else
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}/01050_all_mysql_config_cleanup-5.5.patch"
"${MY_PATCH_DIR}/02040_all_embedded-library-shared-5.5.10.patch"
"${MY_PATCH_DIR}/20001_all_fix-minimal-build-cmake-mysql-5.5.41.patch"
"${MY_PATCH_DIR}/20002_all_mysql-va-list.patch"
"${MY_PATCH_DIR}/20006_all_cmake_elib-mysql-5.5.53.patch"
"${MY_PATCH_DIR}/20007_all_cmake-debug-werror-5.6.22.patch"
"${MY_PATCH_DIR}/20008_all_mysql-tzinfo-symlink-5.6.37.patch"
"${MY_PATCH_DIR}/20009_all_mysql_myodbc_symbol_fix-5.5.38.patch"
"${MY_PATCH_DIR}/20018_all_mysql-5.5.60-without-clientlibs-tools.patch"
"${MY_PATCH_DIR}/20027_all_mysql-5.5-perl5.26-includes.patch"
"${MY_PATCH_DIR}/20030_all_mysql-5.5-fix-client-mysql-type.patch"
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
!yassl? (
!libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
!bindist? (
>=sys-libs/readline-4.1:0=
)
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
einfo
elog "Be sure to edit the my.cnf file to activate your cluster settings."
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
elog "The first time the cluster is activated, you should add"
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
elog "This option should then be removed for subsequent starts."
einfo
fi
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${P}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
fi
if use jemalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
local plugin
local server_plugins=( semisync )
local test_plugins=( audit_null daemon_example fulltext )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
# Don't build example
_disable_engine example
_disable_engine ndb
cmake-utils_src_prepare
}
src_configure(){
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
-DDEFAULT_SYSCONFDIR="${EPREFIX%/}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_ZLIB=system
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITHOUT_CLIENTLIBS=YES
-DWITH_READLINE=$(usex bindist 1 0)
-DENABLE_DTRACE=$(usex systemtap)
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
fi
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DINSTALL_SQLBENCHDIR=share/mysql
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_EMBEDDED_SERVER=OFF
-DENABLED_PROFILING=$(usex profiling)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then
rm "${ED%/}/usr/include/mysql/server/private/config.h" || die
fi
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED%/}/usr/data" ]] ; then
rm -Rf "${ED%/}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
local mycnf_src="my.cnf-5.5"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR%/}/${mycnf_src}" \
> "${TMPDIR%/}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR%/}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR%/}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" my.cnf
if use server ; then
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S%/}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S%/}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
fi
#Remove mytop if perl is not selected
[[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
}
# Official test instructions:
# USE='extraengine perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]]; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" > /dev/null || die
touch "${T}/disabled.def"
# These are failing in MySQL 5.5 for now and are believed to be
# false positives:
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
local t
for t in main.mysql_client_test main.mysql_client_test_nonblock \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam \
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam main.openssl_1 \
rpl.rpl_semi_sync_uninstall_plugin ; do
_disable_test "$t" "False positives in Gentoo"
done
if ! use client-libs ; then
_disable_test main.plugin_auth "Needs client libraries built"
fi
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd > /dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
mysql_init_vars() {
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"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
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" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_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 ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]]; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_config() {
_getoptval() {
local mypd="${EROOT}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR}/mysqld-help"
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in grant-tables host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${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 initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
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} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
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'; FLUSH PRIVILEGES"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -1,789 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20181111-2314Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs \
user cmake-utils multilib-build
SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
http://downloads.mysql.com/archives/MySQL-5.6/${P}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/18"
IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
+server static static-libs systemtap tcmalloc test yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
"${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
"${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
net-misc/curl
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
!yassl? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
server? (
numa? ( sys-process/numactl )
)
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
fi
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use jemalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
local plugin
local server_plugins=( semisync )
local test_plugins=( audit_null daemon_example fulltext )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
# Don't build example
_disable_engine example
_disable_engine ndb
_disable_plugin innodb_memcached
cmake-utils_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
### TODO: make this system but issues with UTF-8 prevent it
-DWITH_EDITLINE=bundled
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_LIBEVENT=NO
-DWITHOUT_CLIENTLIBS=YES
-DENABLE_DTRACE=$(usex systemtap)
-DWITH_SSL=$(usex yassl bundled system)
-DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
-DWITHOUT_VALIDATE_PASSWORD=1
)
if use server ; then
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DWITH_NUMA=$(usex numa ON OFF)
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
-DENABLED_PROFILING=$(usex profiling)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_INNODB_MEMCACHED=0
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
# Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
local mycnf_src="my.cnf-5.6"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR%/}/${mycnf_src}" \
> "${TMPDIR%/}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR%/}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR%/}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" my.cnf
if use server ; then
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
# Official test instructions:
# USE='perl server static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]]; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" > /dev/null || die
touch "${T}/disabled.def"
# These are failing in MySQL 5.7 for now and are believed to be
# false positives:
#
local t
for t in auth_sec.keyring_udf federated.federated_plugin ; do
_disable_test "$t" "False positives in Gentoo"
done
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd > /dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
mysql_init_vars() {
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"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
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" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_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 ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]]; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_config() {
_getoptval() {
local mypd="${EROOT%/}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX%/}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
local help_tables="${EROOT%/}${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"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR%/}/mysqld-help"
"${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT%/}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
chown mysql "${sqltmp}" || die
local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
if [[ -r "${help_tables}" ]] ; then
cat "${help_tables}" >> "${sqltmp}"
fi
cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${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 initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
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} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT%/}/usr \
--datadir=${ROOT%/}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');"
"${EROOT%/}/usr/bin/mysql" \
--no-defaults \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT%/}/usr/bin/mysql" \
--socket="${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -1,796 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20181111-2314Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs \
user cmake-utils multilib-build
SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
http://downloads.mysql.com/archives/MySQL-5.6/${P}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/18"
IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
+server static static-libs systemtap tcmalloc test yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
"${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
"${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
net-misc/curl
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
!yassl? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
server? (
numa? ( sys-process/numactl )
)
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
test? ( dev-perl/JSON )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
fi
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use jemalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
local plugin
local server_plugins=( semisync )
local test_plugins=( audit_null daemon_example fulltext )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
# Don't build example
_disable_engine example
_disable_engine ndb
_disable_plugin innodb_memcached
cmake-utils_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
### TODO: make this system but issues with UTF-8 prevent it
-DWITH_EDITLINE=bundled
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_LIBEVENT=NO
-DWITHOUT_CLIENTLIBS=YES
-DENABLE_DTRACE=$(usex systemtap)
-DWITH_SSL=$(usex yassl bundled system)
-DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
-DWITHOUT_VALIDATE_PASSWORD=1
)
if use server ; then
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DWITH_NUMA=$(usex numa ON OFF)
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
)
if use profiling ; then
# Setting to OFF doesn't work: Once set, profiling options will be added
# to `mysqld --help` output via sql/sys_vars.cc causing
# "main.mysqld--help-notwin" test to fail
mycmakeargs+=( -DENABLED_PROFILING=ON )
fi
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_INNODB_MEMCACHED=0
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
# Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
local mycnf_src="my.cnf-5.6"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR%/}/${mycnf_src}" \
> "${TMPDIR%/}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR%/}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR%/}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" my.cnf
if use server ; then
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
# Official test instructions:
# USE='perl server static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]]; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" > /dev/null || die
touch "${T}/disabled.def"
# These are failing in MySQL 5.6 for now and are believed to be
# false positives:
#
local t
for t in auth_sec.keyring_udf federated.federated_plugin ; do
_disable_test "$t" "False positives in Gentoo"
done
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd > /dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
mysql_init_vars() {
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"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
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" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_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 ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]]; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_config() {
_getoptval() {
local mypd="${EROOT%/}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX%/}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
local help_tables="${EROOT%/}${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"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR%/}/mysqld-help"
"${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT%/}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
chown mysql "${sqltmp}" || die
local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
if [[ -r "${help_tables}" ]] ; then
cat "${help_tables}" >> "${sqltmp}"
fi
cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${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 initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
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} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT%/}/usr \
--datadir=${ROOT%/}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');"
"${EROOT%/}/usr/bin/mysql" \
--no-defaults \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT%/}/usr/bin/mysql" \
--socket="${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -1,799 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190303-1852Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs \
user cmake-utils multilib-build
SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
http://downloads.mysql.com/archives/MySQL-5.6/${P}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/18"
IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
+server static static-libs systemtap tcmalloc test yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
"${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
"${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
net-misc/curl
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
!yassl? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
server? (
numa? ( sys-process/numactl )
)
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
test? ( dev-perl/JSON )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
fi
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use jemalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
local plugin
local server_plugins=( semisync )
local test_plugins=( audit_null daemon_example fulltext )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
# Don't build example
_disable_engine example
_disable_engine ndb
_disable_plugin innodb_memcached
cmake-utils_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
### TODO: make this system but issues with UTF-8 prevent it
-DWITH_EDITLINE=bundled
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_LIBEVENT=NO
-DWITHOUT_CLIENTLIBS=YES
-DENABLE_DTRACE=$(usex systemtap)
-DWITH_SSL=$(usex yassl bundled system)
-DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
-DWITHOUT_VALIDATE_PASSWORD=1
)
if use server ; then
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DWITH_NUMA=$(usex numa ON OFF)
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
)
if use profiling ; then
# Setting to OFF doesn't work: Once set, profiling options will be added
# to `mysqld --help` output via sql/sys_vars.cc causing
# "main.mysqld--help-notwin" test to fail
mycmakeargs+=( -DENABLED_PROFILING=ON )
fi
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_INNODB_MEMCACHED=0
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
# Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
local mycnf_src="my.cnf-5.6"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR%/}/${mycnf_src}" \
> "${TMPDIR%/}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR%/}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR%/}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" my.cnf
if use server ; then
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
# Official test instructions:
# USE='perl server static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]]; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" > /dev/null || die
touch "${T}/disabled.def"
# These are failing in MySQL 5.6 for now and are believed to be
# false positives:
#
local t
for t in auth_sec.keyring_udf federated.federated_plugin ; do
_disable_test "$t" "False positives in Gentoo"
done
# Bad test definition
_disable_test main.mysqldump "Test fails after 2018-12-31 with new warnings"
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd > /dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
mysql_init_vars() {
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"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
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" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_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 ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]]; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_config() {
_getoptval() {
local mypd="${EROOT%/}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX%/}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
local help_tables="${EROOT%/}${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"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR%/}/mysqld-help"
"${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT%/}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
chown mysql "${sqltmp}" || die
local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
if [[ -r "${help_tables}" ]] ; then
cat "${help_tables}" >> "${sqltmp}"
fi
cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${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 initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
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} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT%/}/usr \
--datadir=${ROOT%/}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');"
"${EROOT%/}/usr/bin/mysql" \
--no-defaults \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT%/}/usr/bin/mysql" \
--socket="${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -37,7 +37,7 @@ RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase

@ -2,14 +2,14 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190817-0024Z"
MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs \
user cmake-utils multilib-build
cmake-utils multilib-build
SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
@ -94,13 +94,21 @@ COMMON_DEPEND="
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
test? ( dev-perl/JSON )
test? (
acct-group/mysql acct-user/mysql
dev-perl/JSON
)
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
server? (
!prefix? (
acct-group/mysql acct-user/mysql
dev-db/mysql-init-scripts
)
)
${COMMON_DEPEND}
"
# For other stuff to bring us in
@ -124,10 +132,6 @@ pkg_setup() {
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {

@ -1,938 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20181023-0012Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit cmake-utils eutils flag-o-matic linux-info \
prefix toolchain-funcs user multilib-minimal
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/18"
IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
selinux +server static static-libs systemtap tcmalloc test yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
# MULTILIB_USEDEP only set for libraries used by the client library
COMMON_DEPEND="net-misc/curl:=
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
!client-libs? (
dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
>=sys-libs/zlib-1.2.3:0=
)
jemalloc? ( dev-libs/jemalloc:0= )
kernel_linux? (
dev-libs/libaio:0=
sys-process/procps:0=
)
server? (
>=app-arch/lz4-0_p131:=
cjk? ( app-text/mecab:= )
experimental? (
dev-libs/libevent:=
dev-libs/protobuf:=
net-libs/libtirpc:=
)
numa? ( sys-process/numactl )
)
systemtap? ( >=dev-util/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
!yassl? (
client-libs? (
!libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
)
!client-libs? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
)
"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
dev-libs/protobuf
virtual/yacc
server? (
dev-libs/libevent
experimental? ( net-libs/rpcsvc-proto )
)
static? ( sys-libs/ncurses[static-libs] )
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
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"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
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" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_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 ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]] ; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_pretend() {
if use numa ; then
local CONFIG_CHECK="~NUMA"
local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
check_extra_config
fi
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
# Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
fi
# Note about configuration change
einfo
elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
elog "to several files in /etc/mysql/mysql.d."
elog "Please backup any changes you made to /etc/mysql/my.cnf"
elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
elog "You may have as many files as needed and they are read alphabetically."
elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
einfo
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P}" "${S}" || die
}
src_prepare() {
cmake-utils_src_prepare
if use jemalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
# Remove bundled libs so we cannot accidentally use them
# We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
rm -rv \
"${S}"/extra/protobuf \
"${S}"/libevent \
"${S}"/zlib \
|| die
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
}
src_configure(){
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
if use client-libs ; then
multilib-minimal_src_configure
else
multilib_src_configure
fi
}
multilib_src_configure() {
debug-print-function ${FUNCNAME} "$@"
if ! multilib_is_native_abi && ! use client-libs ; then
return
fi
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
-DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX%/}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
### TODO: make this system but issues with UTF-8 prevent it
-DWITH_EDITLINE=bundled
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_CURL=system
-DWITH_BOOST="${S}/boost"
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
if ! use client-libs ; then
mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
fi
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
# systemtap only works on native ABI, bug 530132
if multilib_is_native_abi ; then
mycmakeargs+=(
-DENABLE_DTRACE=$(usex systemtap)
)
else
mycmakeargs+=(
-DWITHOUT_TOOLS=1
-DWITH_READLINE=1
-DENABLE_DTRACE=0
)
fi
if multilib_is_native_abi && use server ; then
mycmakeargs+=(
-DWITH_LIBEVENT=system
-DWITH_LZ4=system
-DWITH_PROTOBUF=system
-DWITH_MECAB=$(usex cjk system OFF)
-DWITH_NUMA=$(usex numa ON OFF)
-DWITH_RAPID=$(usex experimental ON OFF)
)
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
)
if use profiling ; then
# Setting to OFF doesn't work: Once set, profiling options will be added
# to `mysqld --help` output via sql/sys_vars.cc causing
# "main.mysqld--help-notwin" test to fail
mycmakeargs+=( -DENABLED_PROFILING=ON )
fi
if use static ; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_EXAMPLE_STORAGE_ENGINE=0
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_INNODB_MEMCACHED=0
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
)
fi
cmake-utils_src_configure
}
src_compile() {
if use client-libs ; then
multilib-minimal_src_compile
else
multilib_src_compile
fi
}
multilib_src_compile() {
cmake-utils_src_compile
}
# Official test instructions:
# ulimit -n 16500 && \
# USE='latin1 perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]] ; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" &>/dev/null || die
touch "${T}/disabled.def"
# These are failing in MySQL 5.7 for now and are believed to be
# false positives:
#
local t
for t in auth_sec.keyring_udf ; do
_disable_test "$t" "False positives in Gentoo"
done
# Unstable tests
# - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
for t in main.xa_prepared_binlog_off ; do
_disable_test "$t" "Unstable test"
done
if use numa && use kernel_linux ; then
# bug 584880
if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
for t in sys_vars.innodb_numa_interleave_basic ; do
_disable_test "$t" "Test $t requires system with NUMA support"
done
fi
fi
if ! use latin1 ; then
# The following tests will fail if DEFAULT_CHARSET
# isn't set to latin1:
for t in \
binlog.binlog_mysqlbinlog_filter \
binlog.binlog_xa_prepared_disconnect \
funcs_1.is_columns_mysql \
funcs_1.is_tables_mysql \
funcs_1.is_triggers \
innodb.innodb_pagesize_max_recordsize \
innodb.innodb-system-table-view \
innodb.mysqldump_max_recordsize \
main.mysql_client_test \
main.mysqld--help-notwin \
main.type_string \
main.information_schema \
perfschema.binlog_edge_mix \
perfschema.binlog_edge_stmt \
rpl.rpl_xa_survive_disconnect \
rpl.rpl_xa_survive_disconnect_lsu_off \
rpl.rpl_xa_survive_disconnect_table \
; do
_disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
done
fi
# Try to increase file limits to increase test coverage
if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
# Upper limit comes from parts.partition_* tests
ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
# Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
else
einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
fi
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
src_install() {
local MULTILIB_WRAPPED_HEADERS
local MULTILIB_CHOST_TOOLS
if use client-libs ; then
# headers with ABI specific data
MULTILIB_WRAPPED_HEADERS=(
/usr/include/mysql/server/my_config.h
/usr/include/mysql/server/mysql_version.h )
# wrap the config scripts
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
multilib-minimal_src_install
else
multilib_src_install
multilib_src_install_all
fi
}
# Intentionally override eclass function
multilib_src_install() {
cmake-utils_src_install
# Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
}
multilib_src_install_all() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
eprefixify "${TMPDIR}/my.cnf"
doins "${TMPDIR}/my.cnf"
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
eprefixify "${TMPDIR}/50-distro-client.cnf"
doins "${TMPDIR}/50-distro-client.cnf"
if use server ; then
mycnf_src="my.cnf.distro-server"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
if use prefix ; then
sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
"${TMPDIR}/my.cnf.ok" || die
fi
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
pkg_config() {
_getoptval() {
local mypd="${EROOT%/}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX%/}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR%/}/mysqld-help"
"${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT%/}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
echo "USE mysql;" >"${sqltmp}"
"${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
chown mysql "${sqltmp}" || 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=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${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 initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
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} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT%/}/usr \
--datadir=${ROOT%/}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]] ; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
"${EROOT%/}/usr/bin/mysql" \
--no-defaults \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -1,945 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20181023-0012Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit cmake-utils eutils flag-o-matic linux-info \
prefix toolchain-funcs user multilib-minimal
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/18"
IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
selinux +server static static-libs systemtap tcmalloc test yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
# MULTILIB_USEDEP only set for libraries used by the client library
COMMON_DEPEND="net-misc/curl:=
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
!client-libs? (
dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
>=sys-libs/zlib-1.2.3:0=
)
jemalloc? ( dev-libs/jemalloc:0= )
kernel_linux? (
dev-libs/libaio:0=
sys-process/procps:0=
)
server? (
>=app-arch/lz4-0_p131:=
cjk? ( app-text/mecab:= )
experimental? (
dev-libs/libevent:=
dev-libs/protobuf:=
net-libs/libtirpc:=
)
numa? ( sys-process/numactl )
)
systemtap? ( >=dev-util/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
!yassl? (
client-libs? (
!libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
)
!client-libs? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
)
"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
dev-libs/protobuf
virtual/yacc
server? (
dev-libs/libevent
experimental? ( net-libs/rpcsvc-proto )
)
static? ( sys-libs/ncurses[static-libs] )
test? ( dev-perl/JSON )
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
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"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
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" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_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 ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]] ; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_pretend() {
if use numa ; then
local CONFIG_CHECK="~NUMA"
local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
check_extra_config
fi
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
# Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
fi
# Note about configuration change
einfo
elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
elog "to several files in /etc/mysql/mysql.d."
elog "Please backup any changes you made to /etc/mysql/my.cnf"
elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
elog "You may have as many files as needed and they are read alphabetically."
elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
einfo
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P}" "${S}" || die
}
src_prepare() {
cmake-utils_src_prepare
if use jemalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
# Remove bundled libs so we cannot accidentally use them
# We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
rm -rv \
"${S}"/extra/protobuf \
"${S}"/libevent \
"${S}"/zlib \
|| die
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
}
src_configure(){
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
if use client-libs ; then
multilib-minimal_src_configure
else
multilib_src_configure
fi
}
multilib_src_configure() {
debug-print-function ${FUNCNAME} "$@"
if ! multilib_is_native_abi && ! use client-libs ; then
return
fi
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
-DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX%/}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
### TODO: make this system but issues with UTF-8 prevent it
-DWITH_EDITLINE=bundled
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_CURL=system
-DWITH_BOOST="${S}/boost"
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
if ! use client-libs ; then
mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
fi
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
# systemtap only works on native ABI, bug 530132
if multilib_is_native_abi ; then
mycmakeargs+=(
-DENABLE_DTRACE=$(usex systemtap)
)
else
mycmakeargs+=(
-DWITHOUT_TOOLS=1
-DWITH_READLINE=1
-DENABLE_DTRACE=0
)
fi
if multilib_is_native_abi && use server ; then
mycmakeargs+=(
-DWITH_LIBEVENT=system
-DWITH_LZ4=system
-DWITH_PROTOBUF=system
-DWITH_MECAB=$(usex cjk system OFF)
-DWITH_NUMA=$(usex numa ON OFF)
-DWITH_RAPID=$(usex experimental ON OFF)
)
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
)
if use profiling ; then
# Setting to OFF doesn't work: Once set, profiling options will be added
# to `mysqld --help` output via sql/sys_vars.cc causing
# "main.mysqld--help-notwin" test to fail
mycmakeargs+=( -DENABLED_PROFILING=ON )
fi
if use static ; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_EXAMPLE_STORAGE_ENGINE=0
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_INNODB_MEMCACHED=0
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
)
fi
cmake-utils_src_configure
}
src_compile() {
if use client-libs ; then
multilib-minimal_src_compile
else
multilib_src_compile
fi
}
multilib_src_compile() {
cmake-utils_src_compile
}
# Official test instructions:
# ulimit -n 16500 && \
# USE='latin1 perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]] ; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" &>/dev/null || die
touch "${T}/disabled.def"
# These are failing in MySQL 5.7 for now and are believed to be
# false positives:
#
local t
for t in auth_sec.keyring_udf ; do
_disable_test "$t" "False positives in Gentoo"
done
# Unstable tests
# - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
# - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489
for t in main.xa_prepared_binlog_off rpl.rpl_non_direct_stm_mixing_engines ; do
_disable_test "$t" "Unstable test"
done
if ! use amd64 ; then
# fixed in >=mysql-8 via commit 0a417e84
_disable_test "gis.gis_bugs_crashes" "Unstable results on non-amd64 architectures due to floating-point operation"
fi
if use numa && use kernel_linux ; then
# bug 584880
if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
for t in sys_vars.innodb_numa_interleave_basic ; do
_disable_test "$t" "Test $t requires system with NUMA support"
done
fi
fi
if ! use latin1 ; then
# The following tests will fail if DEFAULT_CHARSET
# isn't set to latin1:
for t in \
binlog.binlog_mysqlbinlog_filter \
binlog.binlog_xa_prepared_disconnect \
funcs_1.is_columns_mysql \
funcs_1.is_tables_mysql \
funcs_1.is_triggers \
innodb.innodb_pagesize_max_recordsize \
innodb.innodb-system-table-view \
innodb.mysqldump_max_recordsize \
main.mysql_client_test \
main.mysqld--help-notwin \
main.type_string \
main.information_schema \
perfschema.binlog_edge_mix \
perfschema.binlog_edge_stmt \
rpl.rpl_xa_survive_disconnect \
rpl.rpl_xa_survive_disconnect_lsu_off \
rpl.rpl_xa_survive_disconnect_table \
; do
_disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
done
fi
# Try to increase file limits to increase test coverage
if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
# Upper limit comes from parts.partition_* tests
ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
# Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
else
einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
fi
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
src_install() {
local MULTILIB_WRAPPED_HEADERS
local MULTILIB_CHOST_TOOLS
if use client-libs ; then
# headers with ABI specific data
MULTILIB_WRAPPED_HEADERS=(
/usr/include/mysql/server/my_config.h
/usr/include/mysql/server/mysql_version.h )
# wrap the config scripts
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
multilib-minimal_src_install
else
multilib_src_install
multilib_src_install_all
fi
}
# Intentionally override eclass function
multilib_src_install() {
cmake-utils_src_install
# Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
}
multilib_src_install_all() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
eprefixify "${TMPDIR}/my.cnf"
doins "${TMPDIR}/my.cnf"
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
eprefixify "${TMPDIR}/50-distro-client.cnf"
doins "${TMPDIR}/50-distro-client.cnf"
if use server ; then
mycnf_src="my.cnf.distro-server"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
if use prefix ; then
sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
"${TMPDIR}/my.cnf.ok" || die
fi
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
pkg_config() {
_getoptval() {
local mypd="${EROOT%/}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX%/}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR%/}/mysqld-help"
"${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT%/}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
echo "USE mysql;" >"${sqltmp}"
"${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
chown mysql "${sqltmp}" || 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=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${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 initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
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} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT%/}/usr \
--datadir=${ROOT%/}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]] ; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
"${EROOT%/}/usr/bin/mysql" \
--no-defaults \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -1,946 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190524-1046Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit cmake-utils eutils flag-o-matic linux-info \
prefix toolchain-funcs user multilib-minimal
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/18"
IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
selinux +server static static-libs systemtap tcmalloc test yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-build-without-server.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
# MULTILIB_USEDEP only set for libraries used by the client library
COMMON_DEPEND="net-misc/curl:=
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
!client-libs? (
dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
>=sys-libs/zlib-1.2.3:0=
)
jemalloc? ( dev-libs/jemalloc:0= )
kernel_linux? (
dev-libs/libaio:0=
sys-process/procps:0=
)
server? (
>=app-arch/lz4-0_p131:=
cjk? ( app-text/mecab:= )
experimental? (
dev-libs/libevent:=
dev-libs/protobuf:=
net-libs/libtirpc:=
)
numa? ( sys-process/numactl )
)
systemtap? ( >=dev-util/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
!yassl? (
client-libs? (
!libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
)
!client-libs? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
)
"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
dev-libs/protobuf
virtual/yacc
server? (
dev-libs/libevent
experimental? ( net-libs/rpcsvc-proto )
)
static? ( sys-libs/ncurses[static-libs] )
test? ( dev-perl/JSON )
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
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"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
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" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_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 ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]] ; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_pretend() {
if use numa ; then
local CONFIG_CHECK="~NUMA"
local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
check_extra_config
fi
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
# Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
fi
# Note about configuration change
einfo
elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
elog "to several files in /etc/mysql/mysql.d."
elog "Please backup any changes you made to /etc/mysql/my.cnf"
elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
elog "You may have as many files as needed and they are read alphabetically."
elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
einfo
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P}" "${S}" || die
}
src_prepare() {
cmake-utils_src_prepare
if use jemalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
# Remove bundled libs so we cannot accidentally use them
# We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
rm -rv \
"${S}"/extra/protobuf \
"${S}"/libevent \
"${S}"/zlib \
|| die
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
}
src_configure(){
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
if use client-libs ; then
multilib-minimal_src_configure
else
multilib_src_configure
fi
}
multilib_src_configure() {
debug-print-function ${FUNCNAME} "$@"
if ! multilib_is_native_abi && ! use client-libs ; then
return
fi
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
-DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX%/}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
### TODO: make this system but issues with UTF-8 prevent it
-DWITH_EDITLINE=bundled
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_CURL=system
-DWITH_BOOST="${S}/boost"
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
if ! use client-libs ; then
mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
fi
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
# systemtap only works on native ABI, bug 530132
if multilib_is_native_abi ; then
mycmakeargs+=(
-DENABLE_DTRACE=$(usex systemtap)
)
else
mycmakeargs+=(
-DWITHOUT_TOOLS=1
-DWITH_READLINE=1
-DENABLE_DTRACE=0
)
fi
if multilib_is_native_abi && use server ; then
mycmakeargs+=(
-DWITH_LIBEVENT=system
-DWITH_LZ4=system
-DWITH_PROTOBUF=system
-DWITH_MECAB=$(usex cjk system OFF)
-DWITH_NUMA=$(usex numa ON OFF)
-DWITH_RAPID=$(usex experimental ON OFF)
)
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
)
if use profiling ; then
# Setting to OFF doesn't work: Once set, profiling options will be added
# to `mysqld --help` output via sql/sys_vars.cc causing
# "main.mysqld--help-notwin" test to fail
mycmakeargs+=( -DENABLED_PROFILING=ON )
fi
if use static ; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_EXAMPLE_STORAGE_ENGINE=0
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_INNODB_MEMCACHED=0
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
)
fi
cmake-utils_src_configure
}
src_compile() {
if use client-libs ; then
multilib-minimal_src_compile
else
multilib_src_compile
fi
}
multilib_src_compile() {
cmake-utils_src_compile
}
# Official test instructions:
# ulimit -n 16500 && \
# USE='latin1 perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]] ; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" &>/dev/null || die
touch "${T}/disabled.def"
# These are failing in MySQL 5.7 for now and are believed to be
# false positives:
#
local t
for t in auth_sec.keyring_udf ; do
_disable_test "$t" "False positives in Gentoo"
done
# Unstable tests
# - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
# - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489
for t in main.xa_prepared_binlog_off rpl.rpl_non_direct_stm_mixing_engines ; do
_disable_test "$t" "Unstable test"
done
if ! use amd64 ; then
# fixed in >=mysql-8 via commit 0a417e84
_disable_test "gis.gis_bugs_crashes" "Unstable results on non-amd64 architectures due to floating-point operation"
fi
if use numa && use kernel_linux ; then
# bug 584880
if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
for t in sys_vars.innodb_numa_interleave_basic ; do
_disable_test "$t" "Test $t requires system with NUMA support"
done
fi
fi
if ! use latin1 ; then
# The following tests will fail if DEFAULT_CHARSET
# isn't set to latin1:
for t in \
binlog.binlog_mysqlbinlog_filter \
binlog.binlog_xa_prepared_disconnect \
funcs_1.is_columns_mysql \
funcs_1.is_tables_mysql \
funcs_1.is_triggers \
innodb.innodb_pagesize_max_recordsize \
innodb.innodb-system-table-view \
innodb.mysqldump_max_recordsize \
main.mysql_client_test \
main.mysqld--help-notwin \
main.type_string \
main.information_schema \
perfschema.binlog_edge_mix \
perfschema.binlog_edge_stmt \
rpl.rpl_xa_survive_disconnect \
rpl.rpl_xa_survive_disconnect_lsu_off \
rpl.rpl_xa_survive_disconnect_table \
; do
_disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
done
fi
# Try to increase file limits to increase test coverage
if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
# Upper limit comes from parts.partition_* tests
ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
# Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
else
einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
fi
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
src_install() {
local MULTILIB_WRAPPED_HEADERS
local MULTILIB_CHOST_TOOLS
if use client-libs ; then
# headers with ABI specific data
MULTILIB_WRAPPED_HEADERS=(
/usr/include/mysql/server/my_config.h
/usr/include/mysql/server/mysql_version.h )
# wrap the config scripts
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
multilib-minimal_src_install
else
multilib_src_install
multilib_src_install_all
fi
}
# Intentionally override eclass function
multilib_src_install() {
cmake-utils_src_install
# Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
}
multilib_src_install_all() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
eprefixify "${TMPDIR}/my.cnf"
doins "${TMPDIR}/my.cnf"
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
eprefixify "${TMPDIR}/50-distro-client.cnf"
doins "${TMPDIR}/50-distro-client.cnf"
if use server ; then
mycnf_src="my.cnf.distro-server"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
if use prefix ; then
sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
"${TMPDIR}/my.cnf.ok" || die
fi
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
pkg_config() {
_getoptval() {
local mypd="${EROOT%/}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX%/}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR%/}/mysqld-help"
"${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT%/}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
echo "USE mysql;" >"${sqltmp}"
"${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
chown mysql "${sqltmp}" || 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=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${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 initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
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} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT%/}/usr \
--datadir=${ROOT%/}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]] ; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
"${EROOT%/}/usr/bin/mysql" \
--no-defaults \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190524-1046Z"
MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
@ -34,7 +34,7 @@ RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@ -54,7 +54,7 @@ PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.26-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch

@ -2,14 +2,14 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190604-1109Z"
MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit cmake-utils eutils flag-o-matic linux-info \
prefix toolchain-funcs user multilib-minimal
prefix toolchain-funcs multilib-minimal
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
@ -54,7 +54,7 @@ PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.26-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
@ -112,13 +112,21 @@ DEPEND="${COMMON_DEPEND}
experimental? ( net-libs/rpcsvc-proto )
)
static? ( sys-libs/ncurses[static-libs] )
test? ( dev-perl/JSON )
test? (
acct-group/mysql acct-user/mysql
dev-perl/JSON
)
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
server? (
!prefix? (
acct-group/mysql acct-user/mysql
dev-db/mysql-init-scripts
)
)
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
@ -209,10 +217,6 @@ pkg_setup() {
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {

@ -1,3 +1,3 @@
DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae
DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c
DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8
DIST percona-server-5.7.26-29.tar.gz 84327421 BLAKE2B beedb4b5025c337a63ae56644e47991e90c2c0e57c6d03f1562095f9470cef4b67c8df6c3774d88dfc6ed6dfb81f9dd4b62325db30bc26802651279921bd3a2d SHA512 c8100e69f7e29a5aa2de9dddbc1a3cba9836fe485b7f829a8db0a7e5ac1d1bdabfb1360dacad90665f4c9c78ac91226209c6c15158ef449e84519e36bb06f0a1

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190524-1046Z"
MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
@ -12,7 +12,7 @@ PYTHON_COMPAT=( python2_7 )
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eapi7-ver cmake-utils eutils flag-o-matic linux-info \
prefix python-any-r1 toolchain-funcs user multilib-minimal
prefix python-any-r1 toolchain-funcs multilib-minimal
MY_PV=$(ver_rs 3 '-')
MY_PN="Percona-Server"
@ -63,7 +63,7 @@ PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
"${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_percona-server-5.7.26-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_percona-server-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
@ -132,6 +132,7 @@ DEPEND="${COMMON_DEPEND}
)
static? ( sys-libs/ncurses[static-libs] )
test? (
acct-group/mysql acct-user/mysql
$(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
dev-perl/JSON
)
@ -140,7 +141,12 @@ RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
server? (
!prefix? (
acct-group/mysql acct-user/mysql
dev-db/mysql-init-scripts
)
)
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
@ -237,10 +243,6 @@ pkg_setup() {
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
pkg_preinst() {

Binary file not shown.

@ -14,7 +14,7 @@ SRC_URI="https://github.com/liblouis/liblouis/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ppc ppc64 ~sparc x86"
IUSE="python"
BDEPEND="sys-apps/help2man"
RDEPEND="python? ( ${PYTHON_DEPS} )"

@ -22,7 +22,7 @@ fi
LICENSE="BSD"
SLOT="0/19"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE="emacs examples static-libs test zlib"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -23,7 +23,7 @@ fi
LICENSE="BSD"
SLOT="0/19"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ~ppc64 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE=""
BDEPEND="${PYTHON_DEPS}

Binary file not shown.

@ -1,7 +1,5 @@
DIST autoprefixer-rails-7.2.6.gem 196608 BLAKE2B 0f9224fbf765877b1b7414c68fc39a6587514d27fb5290e1a623db8dcdcbf6f668b66ddd0133906a97e63e877b8201168a45520a9919dc756021d5a7cffc0d38 SHA512 37b3f245291711f92ab9e264491637e753afb95e52f9fd4e2bda6655cd781b2d031934f3379cabdd5589bdf57b780d0727f2fff1cdf7887ca4cc323d23023396
DIST autoprefixer-rails-8.6.5.gem 208896 BLAKE2B 50e8b8ef3fec9a0bb8d68afa8950989dbf84b58b79b8822e83bf22873c5172c2c514643c31dca88cfec49bd585563eb9b201c621d3ab6707ed0d49c6cd4c8fc8 SHA512 fddabc4d745ad1b4282622a52ab4e36c377eccec85c4e80b3e8d633ffcc2d1613f4fee9e9f2356c85d251e44b0010418029bb278894987119689435ac885e982
DIST autoprefixer-rails-9.4.10.1.gem 217088 BLAKE2B 212920f8d1cbcc86c825974b6cf66f30e7f0b277160148b57d87f5bbaaacec5c017f7ac600f86a8cd5fffb0305bc2606dec213a2fab58584630014ce99883520 SHA512 0f291d66f9aecf52d1aa68032bcbf7561a196247b5effa0403b1797109d124127accb5a828fc28ed933aea5194ba9f497281d81651943cd6c26f814e19162bd9
DIST autoprefixer-rails-9.5.0.gem 217600 BLAKE2B 067c27d42bf7f869f3030e52a43c2350cb6f670b0292ac563c41a40007aa63566b0b8924e25cb0cffac091fdcda9f86d6993f1cb634a705701fd748989c7830e SHA512 7e48dd177abbd06634e4a6be40494dfc109d1ce50cc20585cbbcd4e828d6e9dec42fd34ea55456d9db4eff6c74286dc1411aca6beb3c40103561034e9b85d4d5
DIST autoprefixer-rails-9.5.1.1.gem 217600 BLAKE2B 188f5a23296d107e068339c0299913f4a9df641d97caedd6f140c39dfa2eab3e7cf76ac4b4ed1c46c0cd424fac1872515e54b7fe8c62285286a6aad292005657 SHA512 d1fe0da0390ac635081327b51350636b58108bd4689f6ed37a03fbdfd8620a7916bbff6818532e58c82d32912935818c476823b6d1839f068c2c171fc405e6c7
DIST autoprefixer-rails-9.6.0.gem 219136 BLAKE2B 68c8e8c7ba4ae175f306b4ecdfc760561db41e7dfc8e5f7f17d47b143c5e6e0e5d9275847e75c5f88128ce4b62a5cb651b907f1dd2743216c561d50dee447271 SHA512 c60210546ccef073bbd8f13f2667d1c488f2d2bbd184d8a4d455ede766befeccbfde0fd3c87920f0fa5c3e8224644fcb806fc6f65e53c1b15ca2695a96d18062
DIST autoprefixer-rails-9.6.1.1.gem 221184 BLAKE2B 62ab4a4666f7996ed5434b472f8bd6ab9273a3de58482be2cdb7ea33e3aa0285e2ae143a01112ccccf9f9b3fc9fa5c0e8f2739643ab0a7737eba206280262045 SHA512 c488e5f932d300cd3b2e029bf2a91390753b8bfb6f8162ec10d63ca899d2152cc5b83eecf60f527016294f10923813232627dcd6da78ad7840d2d425af2a6d67
DIST autoprefixer-rails-9.6.1.gem 220672 BLAKE2B ac9d3ef36fd438f28029c708e8a3c9df4c4cdb75de39cd73ee5e9e527f099c99691b3f76eac95c821a36d4c86aaf43f6becfa8ede893b6a8b2d8da6acc10737f SHA512 c553ed602d780aff62904f73c99bc56b9d7052de1daa3ee7e28cae59ced1e9111786e63bf2a829409f4be77ac8c4639ab38c73df84f3cd0a047535d9134419fd

@ -1,36 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
USE_RUBY="ruby23 ruby24 ruby25"
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_EXTRAINSTALL="vendor"
inherit ruby-fakegem eapi7-ver
DESCRIPTION="Add vendor prefixes to CSS rules using values from the Can I Use website"
HOMEPAGE="https://github.com/ai/autoprefixer-rails"
LICENSE="MIT"
KEYWORDS="~amd64"
SLOT="$(ver_cut 1)"
IUSE=""
ruby_add_rdepend "dev-ruby/execjs:*"
ruby_add_bdepend "test? (
dev-ruby/rails
dev-ruby/rake
dev-ruby/rspec-rails
)"
all_ruby_prepare() {
sed -i -e "/bundler/d" -e "/BUNDLE/d" spec/app/config/boot.rb || die
sed -i -e "/Bundler/,+3d" spec/app/config/application.rb || die
rm spec/rails_spec.rb spec/compass_spec.rb || die
}

@ -1,36 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_EXTRAINSTALL="vendor"
inherit ruby-fakegem eapi7-ver
DESCRIPTION="Add vendor prefixes to CSS rules using values from the Can I Use website"
HOMEPAGE="https://github.com/ai/autoprefixer-rails"
LICENSE="MIT"
KEYWORDS="~amd64"
SLOT="$(ver_cut 1)"
IUSE=""
ruby_add_rdepend "dev-ruby/execjs:*"
ruby_add_bdepend "test? (
dev-ruby/rails
dev-ruby/rake
dev-ruby/rspec-rails
)"
all_ruby_prepare() {
sed -i -e "/bundler/d" -e "/BUNDLE/d" spec/app/config/boot.rb || die
sed -i -e "/Bundler/,+3d" spec/app/config/application.rb || die
rm spec/rails_spec.rb spec/compass_spec.rb || die
}

@ -1,17 +1,16 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_EXTRAINSTALL="vendor"
inherit ruby-fakegem eapi7-ver
inherit ruby-fakegem
DESCRIPTION="Add vendor prefixes to CSS rules using values from the Can I Use website"
HOMEPAGE="https://github.com/ai/autoprefixer-rails"

@ -0,0 +1 @@
DIST http-accept-2.1.0.tar.gz 12473 BLAKE2B afb5513207c0491fbac6e28e14f7637de805f3da60f0f00b6efa54a21686444f3a669a0f47895f21b335031856a1bee1e60b1f11e22b8a7caac23168bc6f7892 SHA512 c8eff607b697ff1691644e4e2e0447a64f238dbbc13413afc7bc3042cbb49d2d825bc9b698845dce4be2ebb3ecd9b31f3d5910a371982e74927085c9121c4dd6

@ -0,0 +1,24 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
inherit ruby-fakegem
DESCRIPTION="Parse Accept and Accept-Language HTTP headers"
HOMEPAGE="https://github.com/socketry/http-accept"
SRC_URI="https://github.com/socketry/http-accept/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="2"
KEYWORDS="~amd64"
IUSE=""
all_ruby_prepare() {
sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die
}

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>ruby@gentoo.org</email>
<name>Gentoo Ruby Project</name>
</maintainer>
<upstream>
<remote-id type="github">socketry/http-accept</remote-id>
</upstream>
</pkgmetadata>

@ -22,7 +22,7 @@ SRC_URI="https://github.com/rspec/${PN}/archive/v${PV}.tar.gz -> ${P}-git.tgz"
LICENSE="MIT"
SLOT="3"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="highlight"
SUBVERSION="$(ver_cut 1-2)"

@ -19,7 +19,7 @@ SRC_URI="https://github.com/rspec/${PN}/archive/v${PV}.tar.gz -> ${P}-git.tgz"
LICENSE="MIT"
SLOT="3"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
SUBVERSION="$(ver_cut 1-2)"

@ -17,7 +17,7 @@ SRC_URI="https://github.com/rspec/${PN}/archive/v${PV}.tar.gz -> ${P}-git.tgz"
LICENSE="MIT"
SLOT="3"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
SUBVERSION="$(ver_cut 1-2)"

@ -19,7 +19,7 @@ SRC_URI="https://github.com/rspec/${PN}/archive/v${PV}.tar.gz -> ${P}-git.tgz"
LICENSE="MIT"
SLOT="3"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
ruby_add_bdepend "test? ( >=dev-ruby/rspec-3.8.0:3 >=dev-ruby/thread_order-1.1.0 )"

@ -16,7 +16,7 @@ HOMEPAGE="https://github.com/rspec/rspec"
LICENSE="MIT"
SLOT="3"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86"
IUSE=""
SUBVERSION="$(ver_cut 1-2)"

Binary file not shown.

@ -1,4 +1,2 @@
DIST meson-0.48.2.tar.gz 1311011 BLAKE2B 54cb8ca4164238f1c2b77327c330a7615a8d62c63c0cbedcdbe395bf2a99c454407fbc61af8d61d38a85de5dee18e73b98b534a2c9d19cc8f622e25549b84bbf SHA512 beebc90df420c15255c49a13e2f4917934fec8fb2c5b878a59ee0cd2ae46eb05571e995e12b3110b72be89fd11ab4c534ed72aa6d6fe72719ef060df5e75695f
DIST meson-0.49.2.tar.gz 1340730 BLAKE2B 07931bca42907eb961f5f15da5216448d33539a091de4e7df53f0713471f2b0c581d1e3f9ba7eac2a87b61861e5408a5af1a5cb8c17c9561f81cd377b2ea7fc3 SHA512 4aca4c273e7c23034c1ed76aa48c914aef34ca4be9df9d5810b8dd3dac9f5f67aa577a682490aa3d81c0503b5a5a8ac1e2452b2f2fdd7a5c7db2aa504047b87d
DIST meson-0.50.1.tar.gz 1402160 BLAKE2B 051e9949f3a216c1074ec826c6a232124a3d2615dc03f83f57bfe96427cd44aa95e2ec7c688e87252d0179882f91e0ccf440eda4b47ff2f0d3af7382a530e011 SHA512 0dcc19007b3b1626e198c0a4ddb0f37dfdfe25f447e511a772b302bffc02187a3e56046daea01a0ad5cf611d557bae12d5b858bb7a44f69919b9ac9ad696aafd
DIST meson-0.51.1.tar.gz 1451234 BLAKE2B 8a925bfa3d622f75eb180226311a6531cde435a5a6573663f44ba67dbefa63f76b8bd17eb23d291594fe66a379ebc8aef5f1e680973a59b0b52c41fe09e4cdcf SHA512 535fb7c73a7e721a25ce4a0b9771bbb2c07fcd8f7b8f43542a093663291761370044f99b9109853b19201189881e64db1ba5a67c724ecff21000b22ca79f182c

@ -1,34 +0,0 @@
From 65192af2ff62a032a3f19d065c95e12b83aae709 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Fri, 11 Jan 2019 18:03:15 +0000
Subject: [PATCH] run_unittests: Use Python 3.5-compatible subprocess
invocation
subprocess.run() didn't get the encoding parameter until 3.6.
Signed-off-by: Simon McVittie <smcv@collabora.com>
---
run_unittests.py | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/run_unittests.py b/run_unittests.py
index 342ad883..e1246140 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -5029,10 +5029,9 @@ class NativeFileTests(BasePlatformTests):
ret = subprocess.run(
["{}"] + extra_args,
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- encoding='utf-8')
- print(ret.stdout)
- print(ret.stderr, file=sys.stderr)
+ stderr=subprocess.PIPE)
+ print(ret.stdout.decode('utf-8'))
+ print(ret.stderr.decode('utf-8'), file=sys.stderr)
sys.exit(ret.returncode)
if __name__ == '__main__':
--
2.21.0

@ -1,73 +0,0 @@
# Copyright 2016-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7} )
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
inherit git-r3
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x64-macos ~x64-solaris"
fi
inherit distutils-r1 toolchain-funcs
DESCRIPTION="Open source build system"
HOMEPAGE="http://mesonbuild.com/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
test? (
dev-libs/glib:2
dev-libs/gobject-introspection
dev-util/ninja
dev-vcs/git
virtual/pkgconfig
)
"
python_prepare_all() {
# ASAN and sandbox both want control over LD_PRELOAD
# https://bugs.gentoo.org/673016
sed -i -e 's/test_generate_gir_with_address_sanitizer/_&/' run_unittests.py || die
distutils-r1_python_prepare_all
}
src_test() {
if tc-is-gcc; then
# LTO fails for static libs because the bfd plugin in missing.
# Remove this workaround after sys-devel/gcc-config-2.0 is stable.
# https://bugs.gentoo.org/672706
tc-getPROG AR gcc-ar >/dev/null
fi
distutils-r1_src_test
}
python_test() {
(
# test_meson_installed
unset PYTHONDONTWRITEBYTECODE
# test_cross_file_system_paths
unset XDG_DATA_HOME
${EPYTHON} -u run_tests.py
) || die "Testing failed with ${EPYTHON}"
}
python_install_all() {
distutils-r1_python_install_all
insinto /usr/share/vim/vimfiles
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
insinto /usr/share/zsh/site-functions
doins data/shell-completions/zsh/_meson
}

@ -1,76 +0,0 @@
# Copyright 2016-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7} )
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
inherit git-r3
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
fi
inherit distutils-r1 toolchain-funcs
DESCRIPTION="Open source build system"
HOMEPAGE="http://mesonbuild.com/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
test? (
dev-libs/glib:2
dev-libs/gobject-introspection
dev-util/ninja
dev-vcs/git
virtual/pkgconfig
)
"
PATCHES=(
"${FILESDIR}/meson-0.49-python3.5-tests.patch"
)
python_prepare_all() {
# ASAN and sandbox both want control over LD_PRELOAD
# https://bugs.gentoo.org/673016
sed -i -e 's/test_generate_gir_with_address_sanitizer/_&/' run_unittests.py || die
distutils-r1_python_prepare_all
}
src_test() {
tc-export PKG_CONFIG
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
else
distutils-r1_src_test
fi
}
python_test() {
(
# test_meson_installed
unset PYTHONDONTWRITEBYTECODE
# test_cross_file_system_paths
unset XDG_DATA_HOME
${EPYTHON} -u run_tests.py
) || die "Testing failed with ${EPYTHON}"
}
python_install_all() {
distutils-r1_python_install_all
insinto /usr/share/vim/vimfiles
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
insinto /usr/share/zsh/site-functions
doins data/shell-completions/zsh/_meson
}

Binary file not shown.

@ -4,6 +4,9 @@
EAPI=6
VALA_USE_DEPEND="vapigen"
VALA_MIN_API_VERSION="0.36"
# Needs libsoup-2.4.vapi fixes to work with vala:0.46 onwards
# https://gitlab.gnome.org/GNOME/libsoup/commit/1c6f47df99cc5b2efe3d629c71c5d85a7871689c
VALA_MAX_API_VERSION="0.44"
inherit gnome.org gnome2-utils linux-info meson readme.gentoo-r1 vala xdg
@ -26,14 +29,14 @@ COMMON_DEPEND="
>=dev-libs/glib-2.52:2
>=dev-libs/gobject-introspection-1.54:=
>=x11-libs/gtk+-3.22.20:3[introspection]
>=net-libs/gtk-vnc-0.8.0-r1[gtk3(+),vala]
>=sys-libs/libosinfo-1.1.0[vala]
app-crypt/libsecret[vala]
>=net-libs/libsoup-2.44:2.4[vala]
>=net-libs/gtk-vnc-0.8.0-r1[gtk3(+)]
>=sys-libs/libosinfo-1.1.0
app-crypt/libsecret
>=net-libs/libsoup-2.44:2.4
virtual/libusb:1
>=app-emulation/libvirt-glib-0.2.3[vala]
>=app-emulation/libvirt-glib-0.2.3
>=dev-libs/libxml2-2.7.8:2
>=net-misc/spice-gtk-0.32[gtk3(+),smartcard,usbredir,vala]
>=net-misc/spice-gtk-0.32[gtk3(+),smartcard,usbredir]
app-misc/tracker:0/2.0
net-libs/webkit-gtk:4
>=virtual/libgudev-165:=
@ -41,6 +44,12 @@ COMMON_DEPEND="
"
DEPEND="${COMMON_DEPEND}
$(vala_depend)
net-libs/gtk-vnc[vala]
sys-libs/libosinfo[vala]
app-crypt/libsecret[vala]
net-libs/libsoup:2.4[vala]
app-emulation/libvirt-glib[vala]
net-misc/spice-gtk[vala]
dev-libs/appstream-glib
dev-util/itstool
>=sys-devel/gettext-0.19.8

Binary file not shown.

@ -1,3 +1,2 @@
DIST latte-dock-0.8.9.tar.xz 668104 BLAKE2B 65844b3f90ea6ca105b026fb17825438e5fbb1320b735454fb93a5428b376de55fb5385b56df6a334b15531d83ed9e8cd9718de4e9a4f4a0eb48ef7e04db0c5e SHA512 4a542df07cfb760c4413eeefe65ebbc5405cc31f5de9039464e2390c84c60611e3a58d2458bf6750ea43e97959df68a75fa068c6b1fc5fdaf33f5b6745d08fd5
DIST latte-dock-0.9.0.tar.xz 694972 BLAKE2B 977d4d0ae81ad9a9cd69ef14c52bac7ffb66767edea6b90ad4d0484d45c19659ce74209826fdca53f5e5e699584eda032f056b7bba9a8dba42fe8a06e1fe38cd SHA512 115a37566b0bfe7493fbee558f5627f4c4165ecfbffe8bf392ff177f8f3caa8e50d82098566f655ab52e056d6fbee4b19d74a37e608f1aec88f63b9c24f24976
DIST latte-dock-0.9.1.tar.xz 696660 BLAKE2B f7e9caf466c23fd2dd776eae6ec1e3ad0312291816cdcd7502b8bfe8a29b31e0f75ad7b5c0e440c3e391bcd9eba48e26c2831ab9a2b76578ec6afb1cf41be6d6 SHA512 e9884e27f7b638b73447ae62bcf1eafb0f6299bdeb6e8515bd23a64bf295e65baa7883b7c14907991dcf83d7b07680357d411c1653d7facc057f2ff0ce7ea51f

@ -1,53 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit kde5
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Elegant dock, based on KDE Frameworks"
HOMEPAGE="https://store.kde.org/p/1169519/
https://github.com/psifidotos/Latte-Dock"
LICENSE="GPL-2+"
SLOT="0"
IUSE=""
DEPEND="
$(add_frameworks_dep kactivities)
$(add_frameworks_dep karchive)
$(add_frameworks_dep kconfig)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep kcrash)
$(add_frameworks_dep kdbusaddons)
$(add_frameworks_dep kdeclarative)
$(add_frameworks_dep kglobalaccel)
$(add_frameworks_dep kguiaddons)
$(add_frameworks_dep ki18n)
$(add_frameworks_dep kiconthemes)
$(add_frameworks_dep knewstuff)
$(add_frameworks_dep knotifications)
$(add_frameworks_dep kpackage)
$(add_frameworks_dep kwayland)
$(add_frameworks_dep kwindowsystem)
$(add_frameworks_dep kxmlgui)
$(add_frameworks_dep plasma X)
$(add_plasma_dep libksysguard)
$(add_qt_dep qtdbus)
$(add_qt_dep qtdeclarative)
$(add_qt_dep qtgraphicaleffects)
$(add_qt_dep qtgui 'xcb')
$(add_qt_dep qtwidgets)
$(add_qt_dep qtx11extras)
x11-libs/libSM
x11-libs/libX11
x11-libs/libxcb
"
RDEPEND="${DEPEND}"
DOCS=( CHANGELOG.md README.md )

Binary file not shown.

@ -12,7 +12,7 @@ SRC_URI="https://github.com/googlei18n/noto-cjk/archive/${COMMIT}.tar.gz -> ${P}
LICENSE="OFL-1.1"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~sparc x86"
KEYWORDS="~alpha amd64 ~arm arm64 ~mips ppc ppc64 ~sparc x86"
IUSE=""
RESTRICT="binchecks strip"

@ -12,7 +12,7 @@ SRC_URI="https://github.com/googlei18n/noto-fonts/archive/${COMMIT}.tar.gz -> ${
LICENSE="OFL-1.1"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~sparc x86"
KEYWORDS="~alpha amd64 ~arm arm64 ~mips ppc ppc64 ~sparc x86"
# Extra allows to optionally reduce disk usage even returning to tofu
# issue as described in https://www.google.com/get/noto/
IUSE="cjk +extra"

Binary file not shown.

@ -1,2 +1,3 @@
DIST pycam-0.5.1.tar.gz 1680577 BLAKE2B 06d30496146a96bd4613c1674890de7073c32eb78ba3a879124fe74b613259629a20d032fb5cb1be1cfd18b3cf7dc6c7e99fb57763d1af1b1907e46509e577ff SHA512 f880d960f82eb374465a593f3b27e9f72148b3ceb99fde15bee4ccf1078acc8ef44ddfd9ee12f89e5b5e5ee14706b6e5d76eff7d0334c9526866ff263a057994
DIST pycam-0.6.2.tar.gz 3070572 BLAKE2B 3dbc6123f92035de1a9fa23453463ee1f45543c72f4f92b6d367d1031abd4cda638ff6b5bb261c8ae127c2cf875cf44837e76b73777acc8d58aaa3d95ec67894 SHA512 ff96a40aacf92ffd20e729912fc81177ffc01d688cfca300d31dd71399d91754dfbf5b864d95a88f938286e38c759c372968e53c29041653c85f446c6c9eca42
DIST pycam-0.6.4.tar.gz 3079871 BLAKE2B 41368b177e8ead933e898d316349adc40d40e23d5c7b56943f3f46acf2ff3634e797636e0723b9470453bb2e12f8fd9c70fd4aaedc207ea4638d9d422948f3dc SHA512 4095d45b6c561c2e706469f12772ede8063fa0216cef4a52412fe4d5e892882aa62a65a6159d97c6c066aec20d4915a7a05724dc0e2b66f2309e0fa3bbc0253f

@ -0,0 +1,23 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1 python-r1
DESCRIPTION="Open Source CAM - Toolpath Generation for 3-Axis CNC machining"
HOMEPAGE="http://pycam.sourceforge.net/"
SRC_URI="https://github.com/SebKuzminsky/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
KEYWORDS="~amd64 ~x86"
SLOT="0"
DEPEND="
dev-python/pygtk[${PYTHON_USEDEP}]
dev-python/pygtkglext[${PYTHON_USEDEP}]
dev-python/pyopengl[${PYTHON_USEDEP}]
dev-python/librsvg-python[${PYTHON_USEDEP}]
"
RDEPEND="${DEPEND}"

@ -1 +1,2 @@
DIST shotwell-0.30.2.tar.xz 6461648 BLAKE2B d54f34c05dcb092149129977bf59f0434ec4082929e3c87d9b4e774f85b47d73ecce1e80a6a29965194e9791eecb018405b43f082fb8b334c8d012f06a00b817 SHA512 ee74b9d3fbc5b2a5ca87cbc351fa99f6afaec4ce717166f55d79f41f1b039c272ed9028eb3919874f086f934197806738a54f428e790bca50dd8c9af61c21c36
DIST shotwell-0.30.7.tar.xz 6455860 BLAKE2B 81da055e1092b9aed8c635e3e18e9c4bfa5820bb915c17cbb26942ce627179ed6b158c0785f54a2e15049150c3569035f58916483505449d55a2b3822276c44d SHA512 960574212d622c29d7617b874466e639d5a292eefdd2cac00ebcbf96d7db06002b9423440ee47ed84da7064d3eb70ba388b573a94c9e44c07d3b8f87faf09c58

@ -29,6 +29,7 @@ COMMON_DEPEND="
>=media-libs/libgphoto2-2.5:=
udev? ( >=virtual/libgudev-145:= )
>=media-libs/gexiv2-0.10.4
<media-libs/gexiv2-0.11
>=media-libs/libraw-0.13.2:=
>=media-libs/libexif-0.6.16:=
dev-libs/libgdata

@ -0,0 +1,85 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
VALA_MIN_API_VERSION="0.40"
# supposedly works with 0.46, but fails to compile due to libsoup-2.4.vapi
# from libsoup-2.64 and even fails with vala:0.46 libsoup vapi copy as well
# https://gitlab.gnome.org/GNOME/libsoup/commit/1c6f47df99cc5b2efe3d629c71c5d85a7871689c
VALA_MAX_API_VERSION="0.44"
inherit gnome.org gnome2-utils meson vala xdg
DESCRIPTION="Open source photo manager for GNOME"
HOMEPAGE="https://wiki.gnome.org/Apps/Shotwell"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="opencv udev"
DEPEND="
>=x11-libs/gtk+-3.22.0:3
>=dev-libs/glib-2.40.0:2
>=dev-libs/libgee-0.8.5:0.8
>=net-libs/webkit-gtk-2.4:4
>=dev-libs/json-glib-0.7.6
>=dev-libs/libxml2-2.6.32:2
x11-libs/gdk-pixbuf:2
>=dev-db/sqlite-3.5.9:3
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
>=media-libs/libgphoto2-2.5:=
udev? ( >=virtual/libgudev-145:= )
>=media-libs/gexiv2-0.10.4
>=media-libs/libraw-0.13.2:=
>=media-libs/libexif-0.6.16:=
dev-libs/libgdata
>=app-crypt/gcr-3:=[gtk]
x11-libs/cairo
opencv? ( >=media-libs/opencv-2.3.0:= )
"
RDEPEND="${DEPEND}
media-plugins/gst-plugins-gdkpixbuf:1.0
media-plugins/gst-plugins-meta:1.0
"
BDEPEND="
$(vala_depend)
dev-libs/appstream-glib
dev-util/itstool
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
net-libs/libsoup:2.4[vala]
media-libs/gexiv2[vala]
app-crypt/gcr[vala]
"
src_prepare() {
xdg_src_prepare
vala_src_prepare
}
src_configure() {
local emesonargs=(
-Dunity-support=false
# -Dpublishers # In 0.30.2 all get compiled in anyways, even if restricted list, affects only runtime support
-Dextra-plugins=true
#trace
#measure
-Ddupe-detection=true
$(meson_use udev)
-Dinstall-apport-hook=false
$(meson_use opencv face-detection)
)
meson_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

Binary file not shown.

@ -1 +1 @@
Thu, 22 Aug 2019 14:38:54 +0000
Fri, 23 Aug 2019 08:08:54 +0000

@ -1 +1 @@
Thu, 22 Aug 2019 14:38:54 +0000
Fri, 23 Aug 2019 08:08:54 +0000

Binary file not shown.

@ -0,0 +1,14 @@
BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 >=kde-frameworks/extra-cmake-modules-5.60.0:5
DEFINED_PHASES=compile configure install nofetch postinst postrm preinst prepare setup test unpack
DEPEND=>=kde-frameworks/kauth-5.60.0:5 >=kde-frameworks/kcoreaddons-5.60.0:5 >=kde-frameworks/ki18n-5.60.0:5 >=dev-qt/qtgui-5.12.3:5 >=dev-qt/qtwidgets-5.12.3:5 app-crypt/gpgme[cxx,qt5] virtual/libudev:= dev-util/desktop-file-utils x11-misc/shared-mime-info >=dev-qt/qtcore-5.12.3:5
DESCRIPTION=Write hybrid ISO files onto a USB disk
EAPI=7
HOMEPAGE=http://wiki.rosalab.com/en/index.php/Blog:ROSA_Planet/ROSA_Image_Writer
IUSE=debug
KEYWORDS=~amd64
LICENSE=GPL-3
RDEPEND=>=kde-frameworks/kauth-5.60.0:5 >=kde-frameworks/kcoreaddons-5.60.0:5 >=kde-frameworks/ki18n-5.60.0:5 >=dev-qt/qtgui-5.12.3:5 >=dev-qt/qtwidgets-5.12.3:5 app-crypt/gpgme[cxx,qt5] virtual/libudev:= >=kde-frameworks/kf-env-4 || ( >=kde-frameworks/breeze-icons-5.60.0:5 kde-frameworks/oxygen-icons:* ) >=dev-qt/qtcore-5.12.3:5
SLOT=5
SRC_URI=mirror://kde/unstable/isoimagewriter/0.8/isoimagewriter-0.8.tar.xz
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca kde5 4f2f402770db1a28789af98b041f5f4a kde5-functions 8593b8fd9e43123f882a49d0079dc20e multilib 1d91b03d42ab6308b5f4f6b598ed110e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 virtualx 53625127887b62eabb9ec61d3d943462 xdg c7ba313ea1eaf266f95cc6235f7d6a07 xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=a116ae9e5da32a5708eba3fa47c459e6

@ -0,0 +1,14 @@
BDEPEND=virtual/pkgconfig dev-util/ninja >=dev-util/cmake-3.9.6 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost ) >=kde-frameworks/extra-cmake-modules-5.60.0:5 handbook? ( >=kde-frameworks/kdoctools-5.60.0:5 )
DEFINED_PHASES=compile configure install nofetch postinst postrm preinst prepare setup test unpack
DEPEND=>=kde-frameworks/karchive-5.60.0:5 >=kde-frameworks/kcmutils-5.60.0:5 >=kde-frameworks/kcompletion-5.60.0:5 >=kde-frameworks/kcodecs-5.60.0:5 >=kde-frameworks/kconfig-5.60.0:5 >=kde-frameworks/kconfigwidgets-5.60.0:5 >=kde-frameworks/kcoreaddons-5.60.0:5 >=kde-frameworks/ki18n-5.60.0:5 >=kde-frameworks/kio-5.60.0:5 >=kde-frameworks/kiconthemes-5.60.0:5 >=kde-frameworks/kitemmodels-5.60.0:5 >=kde-frameworks/kitemviews-5.60.0:5 >=kde-frameworks/kjobwidgets-5.60.0:5 >=kde-frameworks/knotifications-5.60.0:5 >=kde-frameworks/kservice-5.60.0:5 >=kde-frameworks/ktextwidgets-5.60.0:5 >=kde-frameworks/kwallet-5.60.0:5 >=kde-frameworks/kwidgetsaddons-5.60.0:5 >=kde-frameworks/kxmlgui-5.60.0:5 >=kde-frameworks/sonnet-5.60.0:5 >=dev-qt/qtdbus-5.12.3:5 >=dev-qt/qtgui-5.12.3:5 >=dev-qt/qtnetwork-5.12.3:5 >=dev-qt/qtprintsupport-5.12.3:5 >=dev-qt/qtsql-5.12.3:5 >=dev-qt/qtsvg-5.12.3:5 >=dev-qt/qtwidgets-5.12.3:5 >=dev-qt/qtxml-5.12.3:5 >=app-crypt/gpgme-1.7.1-r1[cxx] >=app-office/libalkimia-7.0.0:= dev-libs/gmp:0= dev-libs/kdiagram:5 dev-libs/libgpg-error activities? ( >=kde-frameworks/kactivities-5.60.0:5 ) addressbook? ( >=kde-apps/akonadi-19.04.3:5 >=kde-apps/kcontacts-19.04.3:5 >=kde-apps/kidentitymanagement-19.04.3:5 ) calendar? ( dev-libs/libical:= ) holidays? ( >=kde-frameworks/kholidays-5.60.0:5 ) ofx? ( dev-libs/libofx ) webkit? ( >=kde-frameworks/kdewebkit-5.60.0:5 >=dev-qt/qtwebkit-5.212.0_pre20180120:5 ) !webkit? ( >=dev-qt/qtwebengine-5.12.3:5[widgets] ) weboob? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] >=dev-qt/qtconcurrent-5.12.3:5 www-client/weboob[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) dev-libs/boost dev-util/desktop-file-utils x11-misc/shared-mime-info test? ( >=dev-qt/qttest-5.12.3:5 ) >=dev-qt/qtcore-5.12.3:5
DESCRIPTION=Personal finance manager based on KDE Frameworks
EAPI=7
HOMEPAGE=https://kmymoney.org
IUSE=activities addressbook calendar holidays ofx quotes webkit weboob test debug +handbook test python_targets_python2_7
LICENSE=GPL-2
RDEPEND=>=kde-frameworks/karchive-5.60.0:5 >=kde-frameworks/kcmutils-5.60.0:5 >=kde-frameworks/kcompletion-5.60.0:5 >=kde-frameworks/kcodecs-5.60.0:5 >=kde-frameworks/kconfig-5.60.0:5 >=kde-frameworks/kconfigwidgets-5.60.0:5 >=kde-frameworks/kcoreaddons-5.60.0:5 >=kde-frameworks/ki18n-5.60.0:5 >=kde-frameworks/kio-5.60.0:5 >=kde-frameworks/kiconthemes-5.60.0:5 >=kde-frameworks/kitemmodels-5.60.0:5 >=kde-frameworks/kitemviews-5.60.0:5 >=kde-frameworks/kjobwidgets-5.60.0:5 >=kde-frameworks/knotifications-5.60.0:5 >=kde-frameworks/kservice-5.60.0:5 >=kde-frameworks/ktextwidgets-5.60.0:5 >=kde-frameworks/kwallet-5.60.0:5 >=kde-frameworks/kwidgetsaddons-5.60.0:5 >=kde-frameworks/kxmlgui-5.60.0:5 >=kde-frameworks/sonnet-5.60.0:5 >=dev-qt/qtdbus-5.12.3:5 >=dev-qt/qtgui-5.12.3:5 >=dev-qt/qtnetwork-5.12.3:5 >=dev-qt/qtprintsupport-5.12.3:5 >=dev-qt/qtsql-5.12.3:5 >=dev-qt/qtsvg-5.12.3:5 >=dev-qt/qtwidgets-5.12.3:5 >=dev-qt/qtxml-5.12.3:5 >=app-crypt/gpgme-1.7.1-r1[cxx] >=app-office/libalkimia-7.0.0:= dev-libs/gmp:0= dev-libs/kdiagram:5 dev-libs/libgpg-error activities? ( >=kde-frameworks/kactivities-5.60.0:5 ) addressbook? ( >=kde-apps/akonadi-19.04.3:5 >=kde-apps/kcontacts-19.04.3:5 >=kde-apps/kidentitymanagement-19.04.3:5 ) calendar? ( dev-libs/libical:= ) holidays? ( >=kde-frameworks/kholidays-5.60.0:5 ) ofx? ( dev-libs/libofx ) webkit? ( >=kde-frameworks/kdewebkit-5.60.0:5 >=dev-qt/qtwebkit-5.212.0_pre20180120:5 ) !webkit? ( >=dev-qt/qtwebengine-5.12.3:5[widgets] ) weboob? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] >=dev-qt/qtconcurrent-5.12.3:5 www-client/weboob[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) !app-office/kmymoney:4 quotes? ( dev-perl/Finance-Quote ) >=kde-frameworks/kf-env-4 || ( >=kde-frameworks/breeze-icons-5.60.0:5 kde-frameworks/oxygen-icons:* ) >=dev-qt/qtcore-5.12.3:5
REQUIRED_USE=weboob? ( python_targets_python2_7 )
SLOT=5
SRC_URI=mirror://kde/stable/kmymoney/5.0.6/src/kmymoney-5.0.6.tar.xz
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca kde5 4f2f402770db1a28789af98b041f5f4a kde5-functions 8593b8fd9e43123f882a49d0079dc20e multilib 1d91b03d42ab6308b5f4f6b598ed110e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f python-single-r1 3a0fc81f484bfdbd9c2b7448015a36e4 python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 virtualx 53625127887b62eabb9ec61d3d943462 xdg c7ba313ea1eaf266f95cc6235f7d6a07 xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=4eb9b1b7eb9128fe9c7e223762c321a9

@ -5,10 +5,10 @@ DESCRIPTION=Google C++ Testing Framework
EAPI=7
HOMEPAGE=https://github.com/google/googletest
IUSE=doc examples test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos
KEYWORDS=~alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos
LICENSE=BSD
RDEPEND=!dev-cpp/gmock
SLOT=0
SRC_URI=https://github.com/google/googletest/archive/da10da05c262af0a9e8fa91789a272a3dec67655.tar.gz -> gtest-1.9.0_pre20190607.tar.gz
_eclasses_=cmake-multilib 9400794da450ca9e38faef6eefbb3957 cmake-utils 91d6ef31dc426240577497cacbf2508c eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f python-any-r1 b5f01473006ccc2cd78bc3dab20fced4 python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=e9109640cffaefeff251e81ebea4afa3
_md5_=f0a4a3c024bdf2eb834664a4dff464d5

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst prepare setup test unpack
DEPEND=virtual/yacc static? ( sys-libs/ncurses[static-libs] ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= !bindist? ( >=sys-libs/readline-4.1:0= ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=An enhanced, drop-in replacement for MySQL
EAPI=6
HOMEPAGE=https://mysql.com/
IUSE=bindist client-libs debug extraengine jemalloc latin1 libressl +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster server? ( !prefix? ( dev-db/mysql-init-scripts ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= !bindist? ( >=sys-libs/readline-4.1:0= ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) perl? ( !dev-db/mytop virtual/perl-Getopt-Long dev-perl/TermReadKey virtual/perl-Term-ANSIColor virtual/perl-Time-HiRes )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=!bindist? ( bindist ) libressl? ( test )
SLOT=0/18
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.61.tar.gz https://downloads.mysql.com/archives/MySQL-5.5/mysql-5.5.61.tar.gz mirror://gentoo/mysql-extras-20180804-2323Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20180804-2323Z.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-20180804-2323Z.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-20180804-2323Z.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-20180804-2323Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=0ee86b1e0fd05d643115ff3fa09d2f0a

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
DEPEND=virtual/yacc static? ( sys-libs/ncurses[static-libs] ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster server? ( !prefix? ( dev-db/mysql-init-scripts ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.40.tar.gz https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.40.tar.gz http://downloads.mysql.com/archives/MySQL-5.6/mysql-5.6.40.tar.gz mirror://gentoo/mysql-extras-20181111-2314Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20181111-2314Z.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-20181111-2314Z.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-20181111-2314Z.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-20181111-2314Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=732353da17dcb777a3430a756c3ef7fd

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
DEPEND=virtual/yacc static? ( sys-libs/ncurses[static-libs] ) test? ( dev-perl/JSON ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster server? ( !prefix? ( dev-db/mysql-init-scripts ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.42.tar.gz https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.42.tar.gz http://downloads.mysql.com/archives/MySQL-5.6/mysql-5.6.42.tar.gz mirror://gentoo/mysql-extras-20181111-2314Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20181111-2314Z.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-20181111-2314Z.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-20181111-2314Z.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-20181111-2314Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=309fe4f7a344ab0f26317a02fb1ea00a

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
DEPEND=virtual/yacc static? ( sys-libs/ncurses[static-libs] ) test? ( dev-perl/JSON ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster server? ( !prefix? ( dev-db/mysql-init-scripts ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.43.tar.gz https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.43.tar.gz http://downloads.mysql.com/archives/MySQL-5.6/mysql-5.6.43.tar.gz mirror://gentoo/mysql-extras-20190303-1852Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190303-1852Z.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-20190303-1852Z.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-20190303-1852Z.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-20190303-1852Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=2721b076e130d500c9608ac98794e0f6

@ -4,7 +4,7 @@ DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
KEYWORDS=alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster server? ( !prefix? ( dev-db/mysql-init-scripts ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( =dev-libs/libressl-2.6.5*:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] )
@ -13,4 +13,4 @@ RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.44.tar.gz http://downloads.mysql.com/archives/MySQL-5.6/mysql-5.6.44.tar.gz mirror://gentoo/mysql-extras-20190817-0024Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190817-0024Z.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-20190817-0024Z.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-20190817-0024Z.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-20190817-0024Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=69c3ab67e3055e1203be1323a8858f84
_md5_=675afda089f8ab52eea6f29264198146

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
DEPEND=virtual/yacc static? ( sys-libs/ncurses[static-libs] ) test? ( dev-perl/JSON ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( =dev-libs/libressl-2.6.5*:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster server? ( !prefix? ( dev-db/mysql-init-scripts ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( =dev-libs/libressl-2.6.5*:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.45.tar.gz https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.45.tar.gz http://downloads.mysql.com/archives/MySQL-5.6/mysql-5.6.45.tar.gz mirror://gentoo/mysql-extras-20190817-0024Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190817-0024Z.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-20190817-0024Z.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-20190817-0024Z.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-20190817-0024Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=a1da6a422f34d7e2f9a54c380bcb9063

@ -0,0 +1,16 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
DEPEND=virtual/yacc static? ( sys-libs/ncurses[static-libs] ) test? ( acct-group/mysql acct-user/mysql dev-perl/JSON ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( =dev-libs/libressl-2.6.5*:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster server? ( !prefix? ( acct-group/mysql acct-user/mysql dev-db/mysql-init-scripts ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) net-misc/curl >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) !yassl? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( =dev-libs/libressl-2.6.5*:0= ) ) >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= server? ( numa? ( sys-process/numactl ) ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.45.tar.gz https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.45.tar.gz http://downloads.mysql.com/archives/MySQL-5.6/mysql-5.6.45.tar.gz mirror://gentoo/mysql-extras-20190822-1908Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190822-1908Z.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-20190822-1908Z.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-20190822-1908Z.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-20190822-1908Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=91a147bb66e2a249b2841ef0d38ef1e9

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare pretend setup test unpack
DEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) dev-libs/protobuf virtual/yacc server? ( dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) ) static? ( sys-libs/ncurses[static-libs] ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( dev-db/mysql-init-scripts ) )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.23.tar.gz http://downloads.mysql.com/archives/MySQL-5.7/mysql-boost-5.7.23.tar.gz mirror://gentoo/mysql-extras-20181023-0012Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20181023-0012Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=8bc36c5c418b71dd04a2feb56c924790

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare pretend setup test unpack
DEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) dev-libs/protobuf virtual/yacc server? ( dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) ) static? ( sys-libs/ncurses[static-libs] ) test? ( dev-perl/JSON ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( dev-db/mysql-init-scripts ) )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.24.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.24.tar.gz http://downloads.mysql.com/archives/MySQL-5.7/mysql-boost-5.7.24.tar.gz mirror://gentoo/mysql-extras-20181023-0012Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20181023-0012Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=1ae73fe07650d2b713a1d9449bff62d7

@ -1,16 +0,0 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare pretend setup test unpack
DEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) dev-libs/protobuf virtual/yacc server? ( dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) ) static? ( sys-libs/ncurses[static-libs] ) test? ( dev-perl/JSON ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=alpha amd64 arm arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( dev-db/mysql-init-scripts ) )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.25.tar.gz http://downloads.mysql.com/archives/MySQL-5.7/mysql-boost-5.7.25.tar.gz mirror://gentoo/mysql-extras-20190524-1046Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190524-1046Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=66c791aa6f4c72bbd52ee9052d947208

@ -4,13 +4,13 @@ DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
IUSE=cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
KEYWORDS=alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( dev-db/mysql-init-scripts ) )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.26.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.26.tar.gz http://downloads.mysql.com/archives/MySQL-5.7/mysql-boost-5.7.26.tar.gz mirror://gentoo/mysql-extras-20190524-1046Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190524-1046Z.tar.bz2
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.26.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.26.tar.gz http://downloads.mysql.com/archives/MySQL-5.7/mysql-boost-5.7.26.tar.gz mirror://gentoo/mysql-extras-20190822-1908Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190822-1908Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=776ee37a20c74941650028a5116f12b5
_md5_=0321dec52b25347fff7dfdbbe166681b

@ -1,5 +1,5 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare pretend setup test unpack
DEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) dev-libs/protobuf virtual/yacc server? ( dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) ) static? ( sys-libs/ncurses[static-libs] ) test? ( dev-perl/JSON ) sys-devel/make >=dev-util/cmake-3.9.6
DEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) dev-libs/protobuf virtual/yacc server? ( dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) ) static? ( sys-libs/ncurses[static-libs] ) test? ( acct-group/mysql acct-user/mysql dev-perl/JSON ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.mysql.com/
@ -7,10 +7,10 @@ IUSE=cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( dev-db/mysql-init-scripts ) )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( acct-group/mysql acct-user/mysql dev-db/mysql-init-scripts ) )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.27.tar.gz http://downloads.mysql.com/archives/MySQL-5.7/mysql-boost-5.7.27.tar.gz mirror://gentoo/mysql-extras-20190604-1109Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190604-1109Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=d2d6783c1d82fe742be51b029530aa7d
SRC_URI=https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.27.tar.gz http://downloads.mysql.com/archives/MySQL-5.7/mysql-boost-5.7.27.tar.gz mirror://gentoo/mysql-extras-20190822-1908Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190822-1908Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=2bc6c2007bb7a7880ba61500b0483a44

@ -1,14 +0,0 @@
BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6
DEFINED_PHASES=compile configure install prepare test
DEPEND=sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ldap? ( dev-libs/cyrus-sasl:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !libressl? ( dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
DESCRIPTION=C client library for MariaDB/MySQL
EAPI=7
HOMEPAGE=https://dev.mysql.com/downloads/
IUSE=ldap libressl static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86
LICENSE=GPL-2
RDEPEND=sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ldap? ( dev-libs/cyrus-sasl:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !libressl? ( dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
SLOT=0/21
SRC_URI=https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.17.tar.gz
_eclasses_=cmake-multilib 9400794da450ca9e38faef6eefbb3957 cmake-utils 91d6ef31dc426240577497cacbf2508c eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=3c5e0fab0b0da8164b71d7261cc59e03

@ -0,0 +1,14 @@
BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6
DEFINED_PHASES=compile configure install prepare test
DEPEND=>=app-arch/lz4-0_p131:= sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ldap? ( dev-libs/cyrus-sasl:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !libressl? ( dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
DESCRIPTION=C client library for MariaDB/MySQL
EAPI=7
HOMEPAGE=https://dev.mysql.com/downloads/
IUSE=ldap libressl static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86
LICENSE=GPL-2
RDEPEND=>=app-arch/lz4-0_p131:= sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ldap? ( dev-libs/cyrus-sasl:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !libressl? ( dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !<dev-db/mysql-5.6.45-r1 !=dev-db/mysql-5.7.23* !=dev-db/mysql-5.7.24* !=dev-db/mysql-5.7.25* !=dev-db/mysql-5.7.26-r0 !=dev-db/mysql-5.7.27-r0
SLOT=0/21
SRC_URI=https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.17.tar.gz
_eclasses_=cmake-multilib 9400794da450ca9e38faef6eefbb3957 cmake-utils 91d6ef31dc426240577497cacbf2508c eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=fd2f157cda7a3a8c1c0584d6ba6d3830

@ -1,5 +1,5 @@
DEFINED_PHASES=compile config configure install postinst preinst prepare pretend setup test unpack
DEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) pam? ( virtual/pam:0= ) rocksdb? ( app-arch/zstd:= dev-libs/protobuf:= ) tokudb? ( app-arch/snappy:= app-arch/xz-utils:= ) tokudb-backup-plugin? ( dev-util/valgrind ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) dev-libs/protobuf virtual/yacc server? ( dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) ) static? ( sys-libs/ncurses[static-libs] ) test? ( || ( ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/mysql-python[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) dev-perl/JSON ) sys-devel/make >=dev-util/cmake-3.9.6
DEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) pam? ( virtual/pam:0= ) rocksdb? ( app-arch/zstd:= dev-libs/protobuf:= ) tokudb? ( app-arch/snappy:= app-arch/xz-utils:= ) tokudb-backup-plugin? ( dev-util/valgrind ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) dev-libs/protobuf virtual/yacc server? ( dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) ) static? ( sys-libs/ncurses[static-libs] ) test? ( acct-group/mysql acct-user/mysql || ( ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/mysql-python[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) dev-perl/JSON ) sys-devel/make >=dev-util/cmake-3.9.6
DESCRIPTION=A fast, multi-threaded, multi-user SQL database server
EAPI=6
HOMEPAGE=https://www.percona.com/software/mysql-database/percona-server
@ -7,10 +7,10 @@ IUSE=cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa p
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
LICENSE=GPL-2
PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) pam? ( virtual/pam:0= ) rocksdb? ( app-arch/zstd:= dev-libs/protobuf:= ) tokudb? ( app-arch/snappy:= app-arch/xz-utils:= ) tokudb-backup-plugin? ( dev-util/valgrind ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( dev-db/mysql-init-scripts ) )
RDEPEND=net-misc/curl:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= client-libs? ( >=sys-libs/zlib-1.2.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) !client-libs? ( dev-db/mysql-connector-c[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] >=sys-libs/zlib-1.2.3:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kernel_linux? ( dev-libs/libaio:0= sys-process/procps:0= ) server? ( >=app-arch/lz4-0_p131:= cjk? ( app-text/mecab:= ) experimental? ( dev-libs/libevent:= dev-libs/protobuf:= net-libs/libtirpc:= ) numa? ( sys-process/numactl ) pam? ( virtual/pam:0= ) rocksdb? ( app-arch/zstd:= dev-libs/protobuf:= ) tokudb? ( app-arch/snappy:= app-arch/xz-utils:= ) tokudb-backup-plugin? ( dev-util/valgrind ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) !yassl? ( client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) libressl? ( dev-libs/libressl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,static-libs?] ) ) !client-libs? ( !libressl? ( >=dev-libs/openssl-1.0.0:0= ) libressl? ( dev-libs/libressl:0= ) ) ) !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( !prefix? ( acct-group/mysql acct-user/mysql dev-db/mysql-init-scripts ) )
REQUIRED_USE=?? ( tcmalloc jemalloc ) static? ( yassl )
RESTRICT=libressl? ( test )
SLOT=0/18
SRC_URI=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.26-29/source/tarball/percona-server-5.7.26-29.tar.gz mirror://sourceforge/boost/boost_1_59_0.tar.gz mirror://gentoo/mysql-extras-20190524-1046Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190524-1046Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 b5f01473006ccc2cd78bc3dab20fced4 python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 user 00484e1be1aac73e24fca1c99557a7d6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=89d12ba2c40386e371859f544d5d3a38
SRC_URI=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.26-29/source/tarball/percona-server-5.7.26-29.tar.gz mirror://sourceforge/boost/boost_1_59_0.tar.gz mirror://gentoo/mysql-extras-20190822-1908Z.tar.bz2 https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-20190822-1908Z.tar.bz2
_eclasses_=cmake-utils 91d6ef31dc426240577497cacbf2508c desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 2729691420b6deeda2a90b1f1183fb55 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 132cbb376048d079b5a012f5467c4e7f prefix e51c7882b7b721e54e684f7eb143cbfe preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 b5f01473006ccc2cd78bc3dab20fced4 python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba
_md5_=d702d20ae3032ca888b3f433ca436d8f

@ -5,11 +5,11 @@ DESCRIPTION=An open-source braille translator and back-translator
EAPI=7
HOMEPAGE=https://github.com/liblouis/liblouis
IUSE=python python_targets_python2_7 python_targets_python3_5 python_targets_python3_6
KEYWORDS=~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86
KEYWORDS=~alpha amd64 ~arm ~arm64 ~ia64 ppc ppc64 ~sparc x86
LICENSE=LGPL-2.1+
RDEPEND=python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[wide-unicode(+)] ) python_targets_python3_5? ( dev-lang/python:3.5[wide-unicode(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[wide-unicode(+)] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] )
REQUIRED_USE=python? ( || ( python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 ) )
SLOT=0
SRC_URI=https://github.com/liblouis/liblouis/archive/v3.10.0.tar.gz -> liblouis-3.10.0.tar.gz
_eclasses_=autotools 1bf086cdd7356f5c9a4acd9727bd2065 distutils-r1 9838160d624a44b2d56d1266a69fd473 libtool f143db5a74ccd9ca28c1234deffede96 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multiprocessing cac3169468f893670dac3e7cb940e045 python-r1 ce1cd23cfdc1848e8e32743efe34f299 python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56
_md5_=2861f076d3e800d65be715a777641d8e
_md5_=5184c4e70b806e48407aa374b2153f3b

@ -5,11 +5,11 @@ DESCRIPTION=Google's Protocol Buffers - Extensible mechanism for serializing str
EAPI=7
HOMEPAGE=https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf
IUSE=emacs examples static-libs test zlib abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_riscv_lp64d abi_riscv_lp64 abi_s390_32 abi_s390_64
KEYWORDS=~alpha amd64 ~arm arm64 hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos
KEYWORDS=~alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos
LICENSE=BSD
RDEPEND=emacs? ( virtual/emacs ) zlib? ( sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
RESTRICT=!test? ( test )
SLOT=0/19
SRC_URI=https://github.com/protocolbuffers/protobuf/archive/v3.8.0.tar.gz -> protobuf-3.8.0.tar.gz
_eclasses_=autotools 1bf086cdd7356f5c9a4acd9727bd2065 elisp-common 23f47b2e1de7abf387105eddd1318738 eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 7ba73aee7fe4462b3a745e3645ab92ca libtool f143db5a74ccd9ca28c1234deffede96 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multilib-build 0d0c25170069d06d0eb233154229af97 multilib-minimal 8bddda43703ba94d8341f4e247f97566 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56
_md5_=9f1fdc2bd75ef8d3dc5341489f338d02
_md5_=5657554eb78e6f53820358e7cade4fbb

@ -5,11 +5,11 @@ DESCRIPTION=Google's Protocol Buffers - Python bindings
EAPI=7
HOMEPAGE=https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf
IUSE=python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 python_targets_python3_7
KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos
KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ~ppc64 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos
LICENSE=BSD
RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_5? ( dev-lang/python:3.5 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] ~dev-libs/protobuf-3.8.0 dev-python/namespace-google[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] !<dev-libs/protobuf-3[python(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_5? ( dev-lang/python:3.5 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 python_targets_python3_7 )
SLOT=0/19
SRC_URI=https://github.com/protocolbuffers/protobuf/archive/v3.8.0.tar.gz -> protobuf-3.8.0.tar.gz
_eclasses_=distutils-r1 9838160d624a44b2d56d1266a69fd473 multibuild 40fe59465edacd730c644ec2bc197809 multilib 1d91b03d42ab6308b5f4f6b598ed110e multiprocessing cac3169468f893670dac3e7cb940e045 python-r1 ce1cd23cfdc1848e8e32743efe34f299 python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56
_md5_=c8eb3b14d32cc23e120633da1acd2bf6
_md5_=a69b573a3ab2676e1ce3b09a1089cbf7

@ -1,14 +0,0 @@
DEFINED_PHASES=compile configure install prepare setup test unpack
DEPEND=test? ( ruby_targets_ruby24? ( dev-ruby/execjs:*[ruby_targets_ruby24] ) ruby_targets_ruby25? ( dev-ruby/execjs:*[ruby_targets_ruby25] ) ) ruby_targets_ruby24? ( test? ( dev-ruby/rails[ruby_targets_ruby24] dev-ruby/rake[ruby_targets_ruby24] dev-ruby/rspec-rails[ruby_targets_ruby24] ) ) ruby_targets_ruby25? ( test? ( dev-ruby/rails[ruby_targets_ruby25] dev-ruby/rake[ruby_targets_ruby25] dev-ruby/rspec-rails[ruby_targets_ruby25] ) ) ruby_targets_ruby24? ( dev-lang/ruby:2.4 ) ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) ruby_targets_ruby24? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby24] ) ) ruby_targets_ruby25? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby25] ) ) ruby_targets_ruby24? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby24] ) ) ruby_targets_ruby25? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby25] ) ) ruby_targets_ruby24? ( virtual/rubygems[ruby_targets_ruby24] ) ruby_targets_ruby25? ( virtual/rubygems[ruby_targets_ruby25] ) test? ( ruby_targets_ruby24? ( virtual/rubygems[ruby_targets_ruby24] ) ruby_targets_ruby25? ( virtual/rubygems[ruby_targets_ruby25] ) )
DESCRIPTION=Add vendor prefixes to CSS rules using values from the Can I Use website
EAPI=6
HOMEPAGE=https://github.com/ai/autoprefixer-rails
IUSE=test ruby_targets_ruby24 ruby_targets_ruby25 doc test test
KEYWORDS=~amd64
LICENSE=MIT
RDEPEND=ruby_targets_ruby24? ( dev-ruby/execjs:*[ruby_targets_ruby24] ) ruby_targets_ruby25? ( dev-ruby/execjs:*[ruby_targets_ruby25] ) ruby_targets_ruby24? ( dev-lang/ruby:2.4 ) ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) ruby_targets_ruby24? ( virtual/rubygems[ruby_targets_ruby24] ) ruby_targets_ruby25? ( virtual/rubygems[ruby_targets_ruby25] )
REQUIRED_USE=|| ( ruby_targets_ruby24 ruby_targets_ruby25 )
SLOT=9
SRC_URI=mirror://rubygems/autoprefixer-rails-9.4.10.1.gem
_eclasses_=eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 1d91b03d42ab6308b5f4f6b598ed110e ruby-fakegem f2b7caee23dbd528a62d0839d8c26c34 ruby-ng a28f4a400304e633468f10ad1b9e2f6e ruby-utils 5b782a86f95c84466cdb53f8c8a8be37 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56
_md5_=13a89f50c89c799d94438a5cf406c7dc

@ -1,14 +0,0 @@
DEFINED_PHASES=compile configure install prepare setup test unpack
DEPEND=test? ( ruby_targets_ruby24? ( dev-ruby/execjs:*[ruby_targets_ruby24] ) ruby_targets_ruby25? ( dev-ruby/execjs:*[ruby_targets_ruby25] ) ruby_targets_ruby26? ( dev-ruby/execjs:*[ruby_targets_ruby26] ) ) ruby_targets_ruby24? ( test? ( dev-ruby/rails[ruby_targets_ruby24] dev-ruby/rake[ruby_targets_ruby24] dev-ruby/rspec-rails[ruby_targets_ruby24] ) ) ruby_targets_ruby25? ( test? ( dev-ruby/rails[ruby_targets_ruby25] dev-ruby/rake[ruby_targets_ruby25] dev-ruby/rspec-rails[ruby_targets_ruby25] ) ) ruby_targets_ruby26? ( test? ( dev-ruby/rails[ruby_targets_ruby26] dev-ruby/rake[ruby_targets_ruby26] dev-ruby/rspec-rails[ruby_targets_ruby26] ) ) ruby_targets_ruby24? ( dev-lang/ruby:2.4 ) ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) ruby_targets_ruby26? ( dev-lang/ruby:2.6 ) ruby_targets_ruby24? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby24] ) ) ruby_targets_ruby25? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby25] ) ) ruby_targets_ruby26? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby26] ) ) ruby_targets_ruby24? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby24] ) ) ruby_targets_ruby25? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby25] ) ) ruby_targets_ruby26? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby26] ) ) ruby_targets_ruby24? ( virtual/rubygems[ruby_targets_ruby24] ) ruby_targets_ruby25? ( virtual/rubygems[ruby_targets_ruby25] ) ruby_targets_ruby26? ( virtual/rubygems[ruby_targets_ruby26] ) test? ( ruby_targets_ruby24? ( virtual/rubygems[ruby_targets_ruby24] ) ruby_targets_ruby25? ( virtual/rubygems[ruby_targets_ruby25] ) ruby_targets_ruby26? ( virtual/rubygems[ruby_targets_ruby26] ) )
DESCRIPTION=Add vendor prefixes to CSS rules using values from the Can I Use website
EAPI=6
HOMEPAGE=https://github.com/ai/autoprefixer-rails
IUSE=test ruby_targets_ruby24 ruby_targets_ruby25 ruby_targets_ruby26 doc test test
KEYWORDS=~amd64
LICENSE=MIT
RDEPEND=ruby_targets_ruby24? ( dev-ruby/execjs:*[ruby_targets_ruby24] ) ruby_targets_ruby25? ( dev-ruby/execjs:*[ruby_targets_ruby25] ) ruby_targets_ruby26? ( dev-ruby/execjs:*[ruby_targets_ruby26] ) ruby_targets_ruby24? ( dev-lang/ruby:2.4 ) ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) ruby_targets_ruby26? ( dev-lang/ruby:2.6 ) ruby_targets_ruby24? ( virtual/rubygems[ruby_targets_ruby24] ) ruby_targets_ruby25? ( virtual/rubygems[ruby_targets_ruby25] ) ruby_targets_ruby26? ( virtual/rubygems[ruby_targets_ruby26] )
REQUIRED_USE=|| ( ruby_targets_ruby24 ruby_targets_ruby25 ruby_targets_ruby26 )
SLOT=9
SRC_URI=mirror://rubygems/autoprefixer-rails-9.5.0.gem
_eclasses_=eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 1d91b03d42ab6308b5f4f6b598ed110e ruby-fakegem f2b7caee23dbd528a62d0839d8c26c34 ruby-ng a28f4a400304e633468f10ad1b9e2f6e ruby-utils 5b782a86f95c84466cdb53f8c8a8be37 toolchain-funcs a3a237ef6c0c58546bf23b2c382f9e56
_md5_=0447fb06a886cf56f9a9d72108e22570

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save