From 6c30cc2d5bd48ddbdbe8d75544899cd5dbfcaba4 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 20:18:26 +0100 Subject: gentoo resync : 14.07.2018 --- dev-db/Manifest.gz | Bin 20661 -> 20669 bytes dev-db/clickhouse/Manifest | 4 +- dev-db/clickhouse/clickhouse-1.1.54388.ebuild | 196 ---- dev-db/clickhouse/clickhouse-1.1.54390.ebuild | 199 ++++ dev-db/couchdb/Manifest | 2 + dev-db/couchdb/couchdb-1.7.2.ebuild | 77 ++ dev-db/mariadb-connector-c/Manifest | 6 +- .../mariadb-connector-c-3.0.3.ebuild | 2 +- .../mariadb-connector-c-3.0.4.ebuild | 2 +- .../mariadb-connector-c-9999.ebuild | 2 +- dev-db/mariadb-galera/Manifest | 2 +- .../mariadb-galera-10.0.35-r1.ebuild | 6 +- dev-db/mariadb/Manifest | 26 +- dev-db/mariadb/mariadb-10.0.33.ebuild | 2 +- dev-db/mariadb/mariadb-10.0.34.ebuild | 2 +- dev-db/mariadb/mariadb-10.0.35-r2.ebuild | 6 +- dev-db/mariadb/mariadb-10.0.35.ebuild | 2 +- dev-db/mariadb/mariadb-10.1.29.ebuild | 2 +- dev-db/mariadb/mariadb-10.1.31-r1.ebuild | 2 +- dev-db/mariadb/mariadb-10.1.33.ebuild | 2 +- dev-db/mariadb/mariadb-10.1.34.ebuild | 6 +- dev-db/mariadb/mariadb-10.2.15.ebuild | 6 +- dev-db/mariadb/mariadb-10.2.16.ebuild | 1011 ++++++++++++++++++++ dev-db/mariadb/mariadb-10.3.6_rc.ebuild | 6 +- dev-db/mariadb/mariadb-10.3.7.ebuild | 6 +- dev-db/mariadb/mariadb-10.3.8.ebuild | 960 +++++++++++++++++++ dev-db/mongodb/Manifest | 10 +- dev-db/mongodb/mongodb-3.6.2-r1.ebuild | 170 ++++ dev-db/mongodb/mongodb-3.6.2.ebuild | 170 ---- dev-db/mongodb/mongodb-3.6.3-r1.ebuild | 170 ++++ dev-db/mongodb/mongodb-3.6.3.ebuild | 170 ---- dev-db/mongodb/mongodb-3.6.4-r1.ebuild | 170 ++++ dev-db/mongodb/mongodb-3.6.4.ebuild | 170 ---- dev-db/mongodb/mongodb-3.6.5-r1.ebuild | 170 ++++ dev-db/mongodb/mongodb-3.6.5.ebuild | 170 ---- dev-db/mongodb/mongodb-4.0.0-r1.ebuild | 170 ++++ dev-db/mongodb/mongodb-4.0.0.ebuild | 170 ---- dev-db/oracle-instantclient-basic/Manifest | 1 - ...cle-instantclient-basic-10.2.0.3-makefile.patch | 11 - dev-db/percona-toolkit/Manifest | 2 +- .../percona-toolkit-3.0.10-r1.ebuild | 2 +- dev-db/percona-xtrabackup/Manifest | 2 + .../percona-xtrabackup-2.4.12.ebuild | 86 ++ dev-db/pgadmin4/Manifest | 2 +- dev-db/pgadmin4/pgadmin4-3.0.ebuild | 2 +- dev-db/redis/Manifest | 4 +- dev-db/redis/redis-3.2.12.ebuild | 2 +- dev-db/redis/redis-4.0.10.ebuild | 2 +- dev-db/tokumx/Manifest | 4 +- dev-db/tokumx/files/tokumx-2.0.2-gcc-7.patch | 102 ++ .../files/tokumx-2.0.2-undefined-reference.patch | 15 + dev-db/tokumx/tokumx-2.0.2-r1.ebuild | 79 ++ dev-db/tokumx/tokumx-2.0.2.ebuild | 77 -- 53 files changed, 3447 insertions(+), 1193 deletions(-) delete mode 100644 dev-db/clickhouse/clickhouse-1.1.54388.ebuild create mode 100644 dev-db/clickhouse/clickhouse-1.1.54390.ebuild create mode 100644 dev-db/couchdb/couchdb-1.7.2.ebuild create mode 100644 dev-db/mariadb/mariadb-10.2.16.ebuild create mode 100644 dev-db/mariadb/mariadb-10.3.8.ebuild create mode 100644 dev-db/mongodb/mongodb-3.6.2-r1.ebuild delete mode 100644 dev-db/mongodb/mongodb-3.6.2.ebuild create mode 100644 dev-db/mongodb/mongodb-3.6.3-r1.ebuild delete mode 100644 dev-db/mongodb/mongodb-3.6.3.ebuild create mode 100644 dev-db/mongodb/mongodb-3.6.4-r1.ebuild delete mode 100644 dev-db/mongodb/mongodb-3.6.4.ebuild create mode 100644 dev-db/mongodb/mongodb-3.6.5-r1.ebuild delete mode 100644 dev-db/mongodb/mongodb-3.6.5.ebuild create mode 100644 dev-db/mongodb/mongodb-4.0.0-r1.ebuild delete mode 100644 dev-db/mongodb/mongodb-4.0.0.ebuild delete mode 100644 dev-db/oracle-instantclient-basic/files/oracle-instantclient-basic-10.2.0.3-makefile.patch create mode 100644 dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild create mode 100644 dev-db/tokumx/files/tokumx-2.0.2-gcc-7.patch create mode 100644 dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch create mode 100644 dev-db/tokumx/tokumx-2.0.2-r1.ebuild delete mode 100644 dev-db/tokumx/tokumx-2.0.2.ebuild (limited to 'dev-db') diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz index 205bcbec1a91..edd28515f2fe 100644 Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ diff --git a/dev-db/clickhouse/Manifest b/dev-db/clickhouse/Manifest index c2ba3ab18e3a..bf42a52abd48 100644 --- a/dev-db/clickhouse/Manifest +++ b/dev-db/clickhouse/Manifest @@ -1,6 +1,6 @@ AUX clickhouse-server.initd 452 BLAKE2B d083713e917c2e436316a42adccf8698159c268b4deeca8ce04548e0fb71de2db43a4f4ad3a0ca9b74c3e677cc006386b07a5099d8ae6247da246912ec009545 SHA512 553c4f59c5210c30b219507320debc5b1f9e33b777bc04a37a8598d433a34642e4e653dc74bdd11573e99f20ae9d869c8772d3f36a8e962eb76775695bee2ff7 AUX clickhouse-server.service 307 BLAKE2B 1f443f68db97408cb2b0a8e9007195cdc5d6e29f54e55b3bd2b023cfbcb9d3ee4c1083503f83a42cfd18bca3320dfa86571434fe89612fb0a1f5a9e178eb706b SHA512 185db8aed69b178540225fa41f623a78af09e30d2dd1e033baf4d7c80451e702f5d6b9ce5240f7f6fb6d63a4ebed5af4d483515c7e6fe019e7fd44334df4ab37 DIST cctz-4f9776a.tar.gz 290009 BLAKE2B 532eb7d590f9814c05cc7fdd3c75efe0a6b3f81d85201b14163a9600dd858c4fbac592270d0afccd7d5eef0080d7e70e9d716023bdb60d55479585e2cd3d3f59 SHA512 ba0dfc404cc70f03ef2be29fa3b0c70ea881c92a92525ea4ba1b5bcfc9e45df1b62a5eec180f498293e64bdd5cb9b41f97361cbb7e8baf299dcfdcd1557ca205 -DIST clickhouse-1.1.54388.tar.gz 5608073 BLAKE2B b64fd5b794da3e7eba028be9cd79f6e143a1c7534373ffd69135e3ea0d2518f6dff730dd912991943bd6cee497bd62938198647cec780697d6e77aa0b935bb9c SHA512 69eb294df9a9e61a095e631847e2ba9f98060400aad52306f0e673b90bd31320bf72b0e945033885e42e880caf46d2e49241790e903a1d6994d6070c0ac62a96 -EBUILD clickhouse-1.1.54388.ebuild 4718 BLAKE2B 46aaf2a997505e8b04844684399bf072803bc7e617822dce8654114d8a3665a5cba1da1567d9694ee7e0f4b1812b65d20468e807bf0e1cbd3d8c25a4b37aa040 SHA512 dccda12ad3482b07043360b6c1138d5506dc6e74ca0d220ca1c2a8b53f53cc1aad2bd1445d6c84b18f7621de0eaabdf242c2620162d25e10dde64768caa54646 +DIST clickhouse-1.1.54390.tar.gz 5619103 BLAKE2B dac861ee2a4c1326485f5d98b0f6d7b41b32ea43f7b45e5cccf54761c5de72b6805324d1a18f3aa4eea655c055e87cbba6ad39bc55087d6c5ed1d7d9564f27a4 SHA512 09c7a87291555f85534f5560add9dc702a98f38f2679e2c9642607c6f2c25801b1865625d4fa2109fe94873bfa5fd992f7a4d70fb19a03e5e1cb8289c124ac5e +EBUILD clickhouse-1.1.54390.ebuild 4861 BLAKE2B 995066910402ae02ae29184dba607e78f5779eac862957d20995bb50e14159781fa15443a907f61f19b06e5d2182c74a7bf755e6866e0c3c42e4a5faf5333230 SHA512 f06f580c2b99d0db506c50af514ee8bab4bdaef27efb4e474850bd5dd01305e6615a2a2f2821fc882e4a1919b43f5bd5f6a7b68c50192a2c00671fb460d28e3b MISC metadata.xml 738 BLAKE2B 861f40f506964d64cf646f043406945dc54950f48e27d4eb28b6fc0f96bf0ceb093520a0b60d813460fbe8b99ba4858f0a49d30abcb25567f44411c78a02f6e7 SHA512 6d87cc967c081b5a5e60136f5928d7b17c65c3a1c26aa1e45a50e74d5383bb665682a8b0cb5cce0496bebcac1f5e27aace8a8373253c031acc3c166c382e0056 diff --git a/dev-db/clickhouse/clickhouse-1.1.54388.ebuild b/dev-db/clickhouse/clickhouse-1.1.54388.ebuild deleted file mode 100644 index 09bc728e2196..000000000000 --- a/dev-db/clickhouse/clickhouse-1.1.54388.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -CMAKE_MAKEFILE_GENERATOR="ninja" - -inherit cmake-utils systemd toolchain-funcs user - -DESCRIPTION="An OSS column-oriented database management system for real-time data analysis" -HOMEPAGE="https://clickhouse.yandex" -LICENSE="Apache-2.0" - -MY_PN="ClickHouse" -TYPE="stable" - -CCTZ_COMMIT="4f9776a" -ZSTD_COMMIT="2555975" -SRC_URI="https://github.com/yandex/${MY_PN}/archive/v${PV}-${TYPE}.tar.gz -> ${P}.tar.gz - https://github.com/google/cctz/archive/${CCTZ_COMMIT}.tar.gz -> cctz-${CCTZ_COMMIT}.tar.gz -" - -SLOT="0/${TYPE}" -IUSE="+client cpu_flags_x86_sse4_2 +server debug doc kafka mongodb mysql static test tools zookeeper" -KEYWORDS="~amd64" - -REQUIRED_USE=" - server? ( cpu_flags_x86_sse4_2 ) - static? ( client server tools ) -" - -RDEPEND=" - dev-libs/re2:0= - !static? ( - >=app-arch/lz4-1.8.0:= - >=app-arch/zstd-1.3.4:= - client? ( - sys-libs/ncurses:0= - sys-libs/readline:0= - ) - - dev-libs/double-conversion - dev-libs/capnproto - dev-libs/libltdl:0 - sys-libs/libunwind:7 - sys-libs/zlib - || ( - dev-db/unixODBC - dev-libs/poco[odbc] - ) - dev-libs/icu:= - dev-libs/glib - dev-libs/boost:= - dev-libs/openssl:0= - dev-libs/zookeeper-c - kafka? ( dev-libs/librdkafka:= ) - mysql? ( virtual/libmysqlclient ) - ) - - >=dev-libs/poco-1.9.0 - dev-libs/libpcre -" - -DEPEND="${RDEPEND} - doc? ( >=dev-python/mkdocs-0.17.3 ) - static? ( - >=app-arch/lz4-1.8.0[static-libs] - >=app-arch/zstd-1.3.4[static-libs] - client? ( - sys-libs/ncurses:0=[static-libs] - sys-libs/readline:0=[static-libs] - ) - dev-libs/double-conversion[static-libs] - dev-libs/capnproto[static-libs] - dev-libs/libltdl[static-libs] - sys-libs/libunwind:7[static-libs] - sys-libs/zlib[static-libs] - || ( - dev-db/unixODBC[static-libs] - dev-libs/poco[odbc] - ) - dev-libs/icu[static-libs] - dev-libs/glib[static-libs] - dev-libs/boost[static-libs] - dev-libs/openssl[static-libs] - dev-libs/zookeeper-c[static-libs] - virtual/libmysqlclient[static-libs] - kafka? ( dev-libs/librdkafka[static-libs] ) - ) - - sys-libs/libtermcap-compat - dev-util/patchelf - || ( - >=sys-devel/gcc-7.0 - >=sys-devel/clang-6.0 - ) -" - -S="${WORKDIR}/${MY_PN}-${PV}-${TYPE}" - -_clang_fullversion() { - local ver="$1"; shift - set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__") - eval echo "$ver" -} - -clang-fullversion() { - _clang_fullversion '$1.$2.$3' "$@" -} - -clang-version() { - _clang_fullversion '$1.$2' "$@" -} - -clang-major-version() { - _clang_fullversion '$1' "$@" -} - -clang-minor-version() { - _clang_fullversion '$2' "$@" -} - -clang-micro-version() { - _clang_fullversion '$3' "$@" -} - -pkg_pretend() { - if [[ $(tc-getCC) == clang ]]; then - if [[ $(clang-major-version) -lt 6 ]]; then - eerror "Compilation with clang older than 6.0 is not supported" - die "Too old clang found" - fi - : - elif [[ $(gcc-major-version) -lt 7 ]] && [[$(gcc-minor-version) -lt 2 ]]; then - eerror "Compilation with gcc older than 7.2 is not supported" - die "Too old gcc found" - fi -} - -src_unpack() { - default_src_unpack - [[ ${PV} == 9999 ]] && return 0 - cd "${S}/contrib" || die "failed to cd to contrib" - mkdir -p cctz zookeeper zstd || die "failed to create directories" - tar --strip-components=1 -C cctz -xf "${DISTDIR}/cctz-${CCTZ_COMMIT}.tar.gz" || die "failed to unpack cctz" -} - -src_configure() { - local mycmakeargs=( - -DENABLE_POCO_MONGODB="$(usex mongodb)" - -DENABLE_TESTS="$(usex test)" - -DUSE_STATIC_LIBRARIES="$(usex static)" - -DMAKE_STATIC_LIBRARIES="$(usex static)" - -DUSE_MYSQL="$(usex mysql)" - -DENABLE_CLICKHOUSE_SERVER="$(usex server)" - -DENABLE_CLICKHOUSE_CLIENT="$(usex client)" - -DENABLE_CLICKHOUSE_LOCAL="$(usex tools)" - -DENABLE_CLICKHOUSE_BENCHMARK="$(usex tools)" - -DENABLE_CLICKHOUSE_PERFORMANCE="$(usex tools)" - -DENABLE_CLICKHOUSE_TOOLS="$(usex tools)" - -DENABLE_CLICKHOUSE_COPIER="$(usex tools)" - -DENABLE_CLICKHOUSE_ALL=OFF - -DUSE_INTERNAL_CITYHASH_LIBRARY=ON # Clickhouse explicitly requires bundled patched cityhash - -DUNBUNDLED=ON - ) - - cmake-utils_src_configure -} - -src_install() { - cmake-utils_src_install - - if ! use test; then - rm -rf "${D}/usr/share/clickhouse-test" || die "failed to remove tests" - fi - - if use doc; then - pushd "${S}/docs" || die "Failed to enter docs build directory" - ./build.sh || die "Failed to build docs" - popd || die "Failed to exit docs build directory" - - dodoc -r "${S}/docs/build/docs" - fi - - if use server; then - newinitd "${FILESDIR}"/clickhouse-server.initd clickhouse-server - systemd_dounit "${FILESDIR}"/clickhouse-server.service - fi -} - -pkg_preinst() { - if use server; then - enewgroup clickhouse - enewuser clickhouse -1 -1 /var/lib/clickhouse clickhouse - fi -} diff --git a/dev-db/clickhouse/clickhouse-1.1.54390.ebuild b/dev-db/clickhouse/clickhouse-1.1.54390.ebuild new file mode 100644 index 000000000000..643b68fe3dc4 --- /dev/null +++ b/dev-db/clickhouse/clickhouse-1.1.54390.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CMAKE_MAKEFILE_GENERATOR="ninja" + +inherit cmake-utils systemd toolchain-funcs user + +DESCRIPTION="An OSS column-oriented database management system for real-time data analysis" +HOMEPAGE="https://clickhouse.yandex" +LICENSE="Apache-2.0" + +MY_PN="ClickHouse" +TYPE="stable" + +CCTZ_COMMIT="4f9776a" +ZSTD_COMMIT="2555975" +SRC_URI="https://github.com/yandex/${MY_PN}/archive/v${PV}-${TYPE}.tar.gz -> ${P}.tar.gz + https://github.com/google/cctz/archive/${CCTZ_COMMIT}.tar.gz -> cctz-${CCTZ_COMMIT}.tar.gz +" + +SLOT="0/${TYPE}" +IUSE="+client cpu_flags_x86_sse4_2 +server debug doc kafka mongodb mysql static test tools zookeeper" +KEYWORDS="~amd64" + +REQUIRED_USE=" + server? ( cpu_flags_x86_sse4_2 ) + static? ( client server tools ) +" + +RDEPEND=" + dev-libs/re2:0= + !static? ( + >=app-arch/lz4-1.8.0:= + >=app-arch/zstd-1.3.4:= + client? ( + sys-libs/ncurses:0= + sys-libs/readline:0= + ) + + dev-libs/double-conversion + dev-libs/capnproto + dev-libs/libltdl:0 + sys-libs/libunwind:7 + sys-libs/zlib + || ( + dev-db/unixODBC + dev-libs/poco[odbc] + ) + dev-libs/icu:= + dev-libs/glib + dev-libs/boost:= + dev-libs/openssl:0= + dev-libs/zookeeper-c + kafka? ( dev-libs/librdkafka:= ) + mysql? ( virtual/libmysqlclient ) + ) + + >=dev-libs/poco-1.9.0 + dev-libs/libpcre +" + +DEPEND="${RDEPEND} + doc? ( >=dev-python/mkdocs-0.17.3 ) + static? ( + >=app-arch/lz4-1.8.0[static-libs] + >=app-arch/zstd-1.3.4[static-libs] + client? ( + sys-libs/ncurses:0=[static-libs] + sys-libs/readline:0=[static-libs] + ) + dev-libs/double-conversion[static-libs] + dev-libs/capnproto[static-libs] + dev-libs/libltdl[static-libs] + sys-libs/libunwind:7[static-libs] + sys-libs/zlib[static-libs] + || ( + dev-db/unixODBC[static-libs] + dev-libs/poco[odbc] + ) + dev-libs/icu[static-libs] + dev-libs/glib[static-libs] + dev-libs/boost[static-libs] + dev-libs/openssl[static-libs] + dev-libs/zookeeper-c[static-libs] + virtual/libmysqlclient[static-libs] + kafka? ( dev-libs/librdkafka[static-libs] ) + ) + + sys-libs/libtermcap-compat + dev-util/patchelf + || ( + >=sys-devel/gcc-7.0 + >=sys-devel/clang-6.0 + ) +" + +S="${WORKDIR}/${MY_PN}-${PV}-${TYPE}" + +_clang_fullversion() { + local ver="$1"; shift + set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__") + eval echo "$ver" +} + +clang-fullversion() { + _clang_fullversion '$1.$2.$3' "$@" +} + +clang-version() { + _clang_fullversion '$1.$2' "$@" +} + +clang-major-version() { + _clang_fullversion '$1' "$@" +} + +clang-minor-version() { + _clang_fullversion '$2' "$@" +} + +clang-micro-version() { + _clang_fullversion '$3' "$@" +} + +pkg_pretend() { + if [[ $(tc-getCC) == clang ]]; then + if [[ $(clang-major-version) -lt 6 ]]; then + eerror "Compilation with clang older than 6.0 is not supported" + die "Too old clang found" + fi + : + elif [[ $(gcc-major-version) -lt 7 ]] && [[$(gcc-minor-version) -lt 2 ]]; then + eerror "Compilation with gcc older than 7.2 is not supported" + die "Too old gcc found" + fi +} + +src_unpack() { + default_src_unpack + [[ ${PV} == 9999 ]] && return 0 + cd "${S}/contrib" || die "failed to cd to contrib" + mkdir -p cctz zookeeper zstd || die "failed to create directories" + tar --strip-components=1 -C cctz -xf "${DISTDIR}/cctz-${CCTZ_COMMIT}.tar.gz" || die "failed to unpack cctz" +} + +src_configure() { + local mycmakeargs=( + -DENABLE_POCO_MONGODB="$(usex mongodb)" + -DENABLE_RDKAFKA="$(usex kafka)" + -DENABLE_TESTS="$(usex test)" + -DUSE_STATIC_LIBRARIES="$(usex static)" + -DMAKE_STATIC_LIBRARIES="$(usex static)" + -DUSE_MYSQL="$(usex mysql)" + -DENABLE_CLICKHOUSE_SERVER="$(usex server)" + -DENABLE_CLICKHOUSE_CLIENT="$(usex client)" + -DENABLE_CLICKHOUSE_LOCAL="$(usex tools)" + -DENABLE_CLICKHOUSE_BENCHMARK="$(usex tools)" + -DENABLE_CLICKHOUSE_PERFORMANCE="$(usex tools)" + -DENABLE_CLICKHOUSE_EXTRACT_FROM_CONFIG="$(usex tools)" + -DENABLE_CLICKHOUSE_COMPRESSOR="$(usex tools)" + -DENABLE_CLICKHOUSE_COPIER="$(usex tools)" + -DENABLE_CLICKHOUSE_COPIER="$(usex tools)" + -DENABLE_CLICKHOUSE_ALL=OFF + -DUSE_INTERNAL_CITYHASH_LIBRARY=ON # Clickhouse explicitly requires bundled patched cityhash + -DUNBUNDLED=ON + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + + if ! use test; then + rm -rf "${D}/usr/share/clickhouse-test" || die "failed to remove tests" + fi + + if use doc; then + pushd "${S}/docs" || die "Failed to enter docs build directory" + ./build.sh || die "Failed to build docs" + popd || die "Failed to exit docs build directory" + + dodoc -r "${S}/docs/build/docs" + fi + + if use server; then + newinitd "${FILESDIR}"/clickhouse-server.initd clickhouse-server + systemd_dounit "${FILESDIR}"/clickhouse-server.service + fi +} + +pkg_preinst() { + if use server; then + enewgroup clickhouse + enewuser clickhouse -1 -1 /var/lib/clickhouse clickhouse + fi +} diff --git a/dev-db/couchdb/Manifest b/dev-db/couchdb/Manifest index 399fa09eb6e0..a0ef35d17ac9 100644 --- a/dev-db/couchdb/Manifest +++ b/dev-db/couchdb/Manifest @@ -1,5 +1,7 @@ AUX couchdb.conf-2 234 BLAKE2B ced08a5fc870703da6ab1e743cb421e7f1d5e8831923dc9115e708c728b27955650e69e323567bf6ad0041eca968f6cf152e097b962d496450ac90fd3d4f6d38 SHA512 5c40927957362a7431be6980be3a239e4ee0ca47d28f1b4d4fb3014b307e459eb429f5b50e0c8aa58b3e9f2285371616a58f06207e272feae1bed33f8c32d836 AUX couchdb.init-4 439 BLAKE2B 4b334d42238616a1bfef41f915e7e42038457b6e52b713af698aa625dcf8364008d2e0763b1b5c90bd01121778447a86646730836bacc4cafe3477bec99b77f7 SHA512 a1e0a9403082e1c336454584d78d15e5d76861b3b3d0e56fcfb25ab50c0dbbdcf658e251e25f22e2a58dc72f38ec16ce82759bf9c7b5330a569ffb5fab912999 DIST apache-couchdb-1.7.1.tar.gz 9963069 BLAKE2B 69a3f835f6a7b5752e4707b02edfa726cfdb76813e36e570566641b999eea556ff788b0ca8ce1e66beb819119d90e387beab3bba8618e3b7a606870794307fef SHA512 cd7417ef4b1eaeb1fe4251b559d904238fd25881c542f1498e6e9f1c4a55a79e34e06e711f90ce39e5e65fcac8be9c611943b8ed57d4a7465859b5811ac0a21f +DIST apache-couchdb-1.7.2.tar.gz 10009424 BLAKE2B 3d3b4922fe5b2c55e4851e48993442ba23369753fb17d5cafba936947624af0d3dac70e0a23d0c22c79e7e2776a3a441d5b1020a4a420b7d9a621fb59aad48d9 SHA512 507a35a7f1e826b1562eec86146cc6fcff3c65fa7762f9742e6e8fdacfca735473105772757624183778f7a532c742f6644b301677607bb81c1f3f0ceb742867 EBUILD couchdb-1.7.1.ebuild 1833 BLAKE2B 40ee843a46d254f64cf4b7de9927db335f2c928f8ceca249b8cdfc3e45dc5051a28da81a8bbd286f9a0e45ece27b0a21872067f59c5fff50ecf9792fec795b83 SHA512 48561428b5da0cf6afc118c782e9d627dc82208e7bc9825cdf186e51c746d0bca6040dac52586b56d42f4ecb01d08fb7b12c431641a23de47cd814a2648372f0 +EBUILD couchdb-1.7.2.ebuild 1836 BLAKE2B c81914a8a268c5eb31dcfe749ed7c7358c8c16271a3123c6277532ae5879808753c7e987c9f8e2ae43cfc72f6cd3d2f9a5933228f1b9906166efb7be79e6e409 SHA512 6bcec0fbccbf094fba27136fd9931a584905952b8752bedcdd56cb2d52c46da3ee3884bbf25bc15390f8cf68f39a36f2441d7a6a2a337393a0efeab32de0f41d MISC metadata.xml 212 BLAKE2B 99a9c24bc730c412eb431bd6853c25ac91329aa9be6e6db58f56e4831aa66fd93d779c08f3569ec7c5b45940bc23d0cb90c508605d27e502d2b9a70ca436d7ba SHA512 e4f4b6dbbf6bf039ff5c19bb6a209ad4e0b1286f8cf7cc0cbafcc04fcf93fb92766c8cae06ff19f980a069c7fe9a1686437ab215f84ce10e301275ae107d00bd diff --git a/dev-db/couchdb/couchdb-1.7.2.ebuild b/dev-db/couchdb/couchdb-1.7.2.ebuild new file mode 100644 index 000000000000..b429e0313ae9 --- /dev/null +++ b/dev-db/couchdb/couchdb-1.7.2.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools eutils multilib pax-utils user + +DESCRIPTION="Distributed, fault-tolerant and schema-free document-oriented database" +HOMEPAGE="https://couchdb.apache.org/" +SRC_URI="mirror://apache/couchdb/source/${PV}/apache-${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="libressl selinux test" + +RDEPEND=">=dev-libs/icu-4.3.1:= + =dev-libs/openssl-0.9.8j:0 ) + libressl? ( dev-libs/libressl ) + >=net-misc/curl-7.18.2 + /dev/null || die # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + # https://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/mariadb/scripts/mysql_install_db" ) diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index 6e9a3bc18eb2..e2dd1124f336 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -13,8 +13,10 @@ DIST mariadb-10.1.31.tar.gz 67982786 BLAKE2B 1fabbea67345024157be4be34a50c4e9c73 DIST mariadb-10.1.33.tar.gz 65292094 BLAKE2B 3223f9476e946112f7c1d23cc82ff52636801244136343413ae00336173ec58bb4af8dc36e065f6cd27e9aa3f9f999b1d19f9257b928bd92555b34b614b9cf76 SHA512 1d30e06d0c19e338bfbbe6815cf5eee8e1b839b525950f7f54c7cf8f89034658a284df4756f54719ab0f55875546d4713b03bab7dd094ec13291732b069f737e DIST mariadb-10.1.34.tar.gz 65298561 BLAKE2B 3f3af7b8bad68a08f69befd3f3e7bd88b8cf058feb20309dc2cdbd16bf5d015c2cb0d1d9d2fdf831f6183c0b9bb25405124c24b2940467489e05d42c57f7b0a6 SHA512 3c18359006b340dcf724d1fce36dcc19916c42492269a7545e0726172b8f7b84860e10725c74e4458dae34572395f1650bf17838e9058544e0a6cfcbffd54f6d DIST mariadb-10.2.15.tar.gz 73329750 BLAKE2B e588f54d1b8807df1a57b87831294c70a7d21ed73bba96487a091338ee94855c2b796c939057546b9437b2caf96600ef6f7e111557249adaa9e18795a5a35ade SHA512 7702af8787973b15784dc8a89f9d56765725a420e2e68f1924b67c88c134c7d83d3249dddd16707fa9e5f05ed747f813f16feefbb477e999a6698b1dcfb5a88f +DIST mariadb-10.2.16.tar.gz 73363798 BLAKE2B 31b4d21612f72ff2784b038479ccb866f8d870019c1ff86ff8fa11256e56e659203c83ba52294cc16d0d73531f1d30f5e4ab218a1daadd02223cda3e4c984590 SHA512 3ee476987580c9105645936bbbf29e5614753120247d8909833221c66d68bd507c99643b8b17f23e99644825ad03e03c841309731915e9101f3b5cf47c14e902 DIST mariadb-10.3.6.tar.gz 71064269 BLAKE2B 681150a26de95cc276276a9b8d0b2c6e4a842dac80f20c2e8b0caeec5823cb956feffb494d18b1f2832e220c392c437424813de7720fb83a5d5c1fca71a4aef9 SHA512 cf146752be5857e702a3c88f42c7b6be3117bd92ac304eb217f902c1ffe478dc3043d3cf6a9a9305b51babb3bafc2612a8e4f5dfa7731cfa53634014d86438d1 DIST mariadb-10.3.7.tar.gz 71816160 BLAKE2B 213cfe2999b48c088e08e8289a6243d79b91e465fce51850a253a121896f69df03f935940f25ac290e15e29f97b3a16f75711044b8986f6ec3841ef8beafa0b4 SHA512 b1b3ad9ddc45bdfd3d03888ba160f9991b23187341deac402d5dc4b735511e29767a5dc64ca557bea9bf3d3b413b941ef2e1f5fa30be056dfaec4542a43895f1 +DIST mariadb-10.3.8.tar.gz 72152953 BLAKE2B 4742be1d533c7958b61efd430411a1e7390faffc25ceccc09c736647fb263dc3797064725335abf17f9362c7a92293ea5fc72bc2ddd70636f83c25e35c4c83aa SHA512 e1b61900a06fa57992a2f8516771f5fb98799ed5a4bbe74f858c0fe87b907cc6b600942d6fe97b6064cb39b610a7213cb3bc9634a336f9ebffe11dfe67746422 DIST mariadb-5.5.60.tar.gz 45822878 BLAKE2B 150a2d7108db2db18d66b56d961b05f8746f744e9453e341fde21f93bd846a3091a44c5df3baed6774d0ad12b8dc806b9bfdd177b4149f5be9d37af2a298f807 SHA512 eacf6ec57d46b00701b5038a67745174060d592b0e425466149c9a1b6dc1ac0659a36e57e82bf7e9f7865d8eac3dd50d0737630bd6220002d168b5b574437e4c DIST mysql-extras-20160721-1526Z.tar.bz2 301788 BLAKE2B 23ef75d0122e9e18382f708a86c61624e0437fad593b7f02ccb2b3939d710404e18e3b70617ed400e5f6947d3a92d2867a5f7d98bf61597442e99989f60ca4f7 SHA512 c7450039780e4e2684c932ba7c291c1de25dd1a64e4c6e88aa13b790768b4100955f36ae4a3bf983569ea23b43be02da6dad3d5985c1163ec9e8aa91f0efd85d DIST mysql-extras-20170926-1321Z.tar.bz2 312466 BLAKE2B 3e3e19a905961570cea9c1eb14dec3780da80409e996b1aeddb08625da875f5d08798a862cb1b80566b0d8be0d9ec2aab0a390ca90f991203c9871538b11f00a SHA512 556e782ccc40d8cffb2fde8c46038c90023440c07785ec667f898afdb8c802faeb4dbfe8b3918a1e563b46d1dc8c0de1172f7843ce08ee1ded435b344f8f0cf5 @@ -22,16 +24,18 @@ DIST mysql-extras-20180515-0123Z.tar.bz2 320380 BLAKE2B a56e3ef19f4e30628fea9889 DIST mysql-extras-20180515-1334Z.tar.bz2 321462 BLAKE2B 48fc1e0058fa824e6234b0f3319d261997e99f334c8583c0def4cdac4b59f2380d7153ab0fa2ca9a6ab15e35899c2a7586e3b61f4044c4c949110cc8ab9fb0e6 SHA512 de3000f0c65eed9595b52d53205cdcac60cb4a06a5aca27057c8beca6a7890f453aeeda0bb8487b8de75cfb4caa48682b7706273574876c5cefd0d03988c4f7e DIST mysql-extras-20180529-0042Z.tar.bz2 321715 BLAKE2B c40e7c8de7d24f1ab6208968f3e22aae9e7782f02edef1391d37583ba4a99e67646eba2b9fdcf2a77e3e5a3a86c36632edfebb42b12ab242662cf6913313168d SHA512 a136d9f9567a3bbd396c1e33d1d7b6565be16b5b0a514835299a09b009e9d908328066701bb1c6c19af74225b1d166e3f57af81b277b6d8fad9e63c009523586 DIST mysql-extras-20180621-0218Z.tar.bz2 321959 BLAKE2B f444a3bd5e75c7ef491d175b1fc775a091c12870f4ac1003f0458dd5c7a1c91e09adec78013e828b4d8b16e96060426825b1650def8c22199dd59897b732359e SHA512 20523897dac98b369ab064932507034e547ffd283059285a4fb2bf1d63637c663d4d641dc91c5687de308a50eab3e75788d3cae720259a03d99b7e01f4146762 -EBUILD mariadb-10.0.33.ebuild 6718 BLAKE2B 46e9980c6d4143e621aee1341b88b8021bc80e42faf54f0f7dd8a9c830ba88939a292016cf07c9e39a2c3c2addcd7de6d7724d3404cab8daae4002fa81a98f7f SHA512 f46c1b1e827d283d930ad6a4059b4d3e8f8ab5cf9bbf33c0f985646119b000eca0474f2447d0bf6dd22243b859de2496e29c5b9b862ab3f8610cf5fb3a674bcd -EBUILD mariadb-10.0.34.ebuild 6719 BLAKE2B 207819cf6c1801e61b35d45f554398db561359cb0520dda02125e2dbe249ae44214cd35481cbd00bc71fc18a66eedacf6d290451a8e9658dfe259c6f6994e00e SHA512 151cb1497b83db5ead56643e41467469e1abd8390e30bac31a49d75889f4fc37c6a354f0f226f66f02feb36f558b43e7592ff718bca94c085da18e6674e40fab -EBUILD mariadb-10.0.35-r2.ebuild 27291 BLAKE2B 3da5595d84a12e3bacca53d12799abb0d992ed6a10022d43ce3793cf4b284959414fab3a0082f2968da6c90d510486f953c236b144ef199a1ae3752b6cb5504b SHA512 f2ae09e66d37d8d291efa75aef33ab4a371bfe08d4987198c99c27e40327cef810b244cf40b93b26dbaaa81dd1db7fcb8976691d36b0d7995882d2b39c1f3b91 -EBUILD mariadb-10.0.35.ebuild 6762 BLAKE2B 847296154e6ad3e3f4ec37bb773755cd395817a8360da0dbc8a7e2b54fd865dd548e65d6291bdde7001b0a8a4c7422538e02128a50562654f28a3a3e006953fc SHA512 80ada9ea2cdf2884b36e49c13d8161e0e2b099f7b2f727d2123a5f20404761ec60289b4b5dd5ac4283718ed231e2c22f4263feb694466b8c0421b9a51660ff0c -EBUILD mariadb-10.1.29.ebuild 7321 BLAKE2B 55e437ba42c4b02edb500952e54827c8a168c30e310ad1ca5373075a053dadcab325716bd2b9cea20d1fd8ee618604b45778e5fe7008a133dc7bf8bb20d4ab24 SHA512 e40f6a200fc6914603ff5b4ca8e4e4c645a169e79bc96904a67a264c0172b83b3c54ab4f8394ee7ccb560e468500692544201c07df97cf64c1907185fd3d4276 -EBUILD mariadb-10.1.31-r1.ebuild 7886 BLAKE2B d14ccdf6451ff3aec257e4489d4ecd44f0716d1dcad0241f6f6c425fca2696d4cfe5d7a035a7ff077fe50436695be39f8e57aab63c18b36ac45ed3081ee55dd0 SHA512 a764c8ddfabfd373a701b24a1a8ab87c584a30be0d5482fdbdebdba8d2f89d7430645712f963ab1a3174bd37a972544b7954ac94e8f020349147f1949f3357a7 -EBUILD mariadb-10.1.33.ebuild 7963 BLAKE2B 87ae31bbd6039cae27d2b234468d43bf7677d598c284489398035550a579abf519535a8070be3e1cb2e3141c05da8bd160a77b8d55642248475dd9d215b2636f SHA512 3261f2f6fbb4ad0d9ffc9e3d8659d8680fe9e3697d56409e32e513957e6744cd25e8fc70a9a2479f69c6aecc4b4f3e0b0887b779d812a71481174ea7c577a10c -EBUILD mariadb-10.1.34.ebuild 29134 BLAKE2B 63f4352910d09af34688761c41248164a1c9675eade457ce24bbe5e352c3bec01e27fa65b5f3e16d25344b406b2442eb93178910b37cdfaf1d5b561dff8c6bdd SHA512 bbaf527a615e88395b7c3f5220a1c9cee2c3ae15b4ba53d50c77e1ac93a0c9567c5c7f1a75c22305e1b89010e34d15e074f848bd9d5474fcc79acfdf2e6e2726 -EBUILD mariadb-10.2.15.ebuild 33299 BLAKE2B 3337e9d2ebebd365e49465d5793d163fd2769724cac92acd8c288174a93fc1fdec2b8b7a0afe95bb499468ebb0c08903f9ebe8a4c2f65b108b5ee843d4bb4379 SHA512 3ca7092b16417834d9835d9473db58f5d96b7e340237a933873823e3cc08eef3925b521cf58389b4da2012b74e50a53927fd4b0970e15b4e2e4ae1224269c9bb -EBUILD mariadb-10.3.6_rc.ebuild 33513 BLAKE2B ea0a62cdb5890604160bbb95bfa21872115acb71b0f8e04df555a04cb049b39550cee956bb36a7ae6ca40ce382184a57a2308e2d9c9b060ecaeaffbabcbe95d1 SHA512 0aa66f952cb3ea6f8d8114d3d132bec51cfaf29d8333a5832e48c2f11f37cd4c3ce177c677db2a90bf7f0ae219026acb414c6c3c01132e9887d6a186238df84d -EBUILD mariadb-10.3.7.ebuild 31854 BLAKE2B d3bb5b960815f384514caf7600f8ae3f1cf9dae56add673401b554bae7f14b94fa64572895c25b8b29c00ac3c57bbce085daae7873499ff5203bdfc13c562e80 SHA512 de3cbe409389b1df3dc2a390b899e7d912c013061919181231ddc7ca85b65c909948328b8c1aeafa149d01a35caecca03afeec697f8a13ce49307301cdd1167b +EBUILD mariadb-10.0.33.ebuild 6719 BLAKE2B 047c09af4815c1b37c69e6af9330e1160f7b0121240715db0e70b53378237535f2406caf5b5a93deeaa0b698657dba108dc0550b9f9ae3c4c57781fa09b2dc11 SHA512 1acb699a7bcd105451598209f4d2edb227fce26c0865ad6588a50efdebedc6aec9f3b71206ffe91a2502f2ad39b9992710a1078e435944ad4400889702cb5d55 +EBUILD mariadb-10.0.34.ebuild 6720 BLAKE2B fb7d3b50cf280896d3a0b7e0013e2df38130583ad7318c7aec9562df125d364684d9107511402ad189b7af81a0032cde465e98a08cf651fc3ea3c5b8d48dec79 SHA512 21bbf7eb8a664030396dfe992960c056eb15694d5e722178a17dc9b7a8ef57273a0b7d6b24648a17ee12a4dc0ebefe6ab902023270b0ab338e0dd26358eb7c37 +EBUILD mariadb-10.0.35-r2.ebuild 27294 BLAKE2B 13a2c91f9e5a8baa08e71bbd52f109cf8cb4ae3453266f1ea51e1731d550dca518b630536e371334f8598acd96a9d3bd6ac7df37f4b98c27e10d24ed091d8ecb SHA512 49a4b0d79604071a92b0f0dca95139845c66c032301fb8a11ea15629353f9afa078122ede6ffc0f86d75b331c93a99c6b967382a4bde14e6e1774868aa471765 +EBUILD mariadb-10.0.35.ebuild 6763 BLAKE2B c4f4d33c3f6eee8bef8801efdfc9f0b03e709cbba8be50d191e659b280cd0b61043bd3a43d58f018195b53ae238a6c0d6134c75b394d6677b30733d9d05bdcfb SHA512 765af6d0288cbba81c8031fdfd8cf766416710938c98b50bd844a4dd165aea99aa2c5ff3647861cefb80f368d5a663a6d6b0660bc103b66222198535a1d724ba +EBUILD mariadb-10.1.29.ebuild 7322 BLAKE2B fba21493641bc929ff1cdc9a9f3275681a5a47ea59c95b647f4f18ee27efe0672fc931772d703880fea019d50da54481d9b81abd0a4593a494a3181bfbb192bf SHA512 71a58c66cff52f97e6c341802631951fcfae777c1ac21d9ba4578556f9992c94cc560cb1dc46243fb16d89f96836eda384a74bc81756b4254a58dc476a1c3de6 +EBUILD mariadb-10.1.31-r1.ebuild 7887 BLAKE2B 87c53cdd7a2b71db846319c31f479d091e976df7c22de6381bcb7b9904e07f67ce64665d72618131ce2cab7f41dbf708c7fd698acb14a808eafa2fcd620f9c91 SHA512 227b60e701a6a9c1608e45fbae3148e815d39ce172f8d31c47add44416ab2a398cc771ca3e1745fb37d7a0b9d6fb0f42653a5f0694cdd7d8cba130ad19925572 +EBUILD mariadb-10.1.33.ebuild 7964 BLAKE2B 287e2e9464b4ba1e36c6555f65672d9ee86148507190121efbb0a0d1dce288a2f8f9c7309a7e400c446d3ad5191d1efbe8d899a3ef4b2ec7efa504043744671f SHA512 d9022bd84086fe9f64b019b9ec57f64028b81d656b57ded0b154e9f1123b02ea921e1a73577f86fbff2d41ba05972415dbd1d81ba54ecc3daef057adc2bfe80c +EBUILD mariadb-10.1.34.ebuild 29137 BLAKE2B ba0b1c21106d0c21d3a198c9ed02a3e3257bfdf4b9b74ccd30a046f97d5364cec365969d1b2a497649cddfc6f4e2187edf67e7d64ae2eaf3bce504fb421c76b3 SHA512 b78fa9e047af71d6b18975d3e67515625a6d8342208019170fbdfa686e360a2e7465493b2adea0ab19bc27dbb3ad1dd24910336ae88ffb25e9aa5b5b26f52829 +EBUILD mariadb-10.2.15.ebuild 33302 BLAKE2B 89de6850682e46f62da74ce87b7425ceb1714f2fe998b7045d50bdf0a4871534f853f480d8ecb08a0fba6e0617e90edaa6c259f39df9899335cad0c2b6dfcda5 SHA512 4d1aae1914e7c9177154bb1d4a38f85980218a51a31b45a801b59d416824760ac0e72e4d0d9579d75748aea6f71bc3ec832623814c36444ada9b3f5dc133a9c9 +EBUILD mariadb-10.2.16.ebuild 33302 BLAKE2B 89de6850682e46f62da74ce87b7425ceb1714f2fe998b7045d50bdf0a4871534f853f480d8ecb08a0fba6e0617e90edaa6c259f39df9899335cad0c2b6dfcda5 SHA512 4d1aae1914e7c9177154bb1d4a38f85980218a51a31b45a801b59d416824760ac0e72e4d0d9579d75748aea6f71bc3ec832623814c36444ada9b3f5dc133a9c9 +EBUILD mariadb-10.3.6_rc.ebuild 33516 BLAKE2B 638931f75ffe9728d1ca5f7a49d9d4eeca4d8724dc5c13a8073df8affd3c2d4369717c7cedf404cc5aad32f8bf6ada1a2c0208eca61dbd407e0231e7ce839fda SHA512 762550c3c529e75f69864ea8d37409e54150a7ec459339432a51cc2fe4b937cb7d9948c8fcb5f25f35a2d012aff2366b8f9b3075cd30c15cce96a3f08f350e20 +EBUILD mariadb-10.3.7.ebuild 31857 BLAKE2B a0151273ae861f42400f363489938c5497ec15c4bda4b7c79c7a65a048123d951e5112b6374088f175e7d8adccb63e567a49560732d0720be77eeb62a9998ac2 SHA512 d8c674246faa964546f20daf4881401b06b79db1a11f1d713cbc0375da3bc7bb0d4d68265a17fb8812cd17c673abfd1abeb7c63a599e09d240051bb4f070725e +EBUILD mariadb-10.3.8.ebuild 31857 BLAKE2B a0151273ae861f42400f363489938c5497ec15c4bda4b7c79c7a65a048123d951e5112b6374088f175e7d8adccb63e567a49560732d0720be77eeb62a9998ac2 SHA512 d8c674246faa964546f20daf4881401b06b79db1a11f1d713cbc0375da3bc7bb0d4d68265a17fb8812cd17c673abfd1abeb7c63a599e09d240051bb4f070725e EBUILD mariadb-5.5.60.ebuild 4254 BLAKE2B ee31137be4020cdb3626a93981eb2c667b4c9f8a543d52e272f4c2721f8ded71305a1caab6319a3a7cad25cbdf17a736abae3eb01062ffe5cc54c66da1b9703d SHA512 9d9ffc8ca65d6e4f7a64f4e6c1477096d46404d3a4401db1687ab5507452bbf4afb294667a2b01f7db8ba6953b8d935a40211fb006273462723846b960248920 MISC metadata.xml 3172 BLAKE2B 9b546b51359c0881ee5ce452c89e788ff27300471433fb9d1eb28b3f72d47cd84787eac1d7fd536a8133aa56dd4dd9c1139afb4b3e83b463ce12b7d6cb0fa35f SHA512 143381d9443b778b4f8fb5545c6e8ac59e54eaba20458eecb757e292650a1fd5a470ded204f25c173f456cc222bd32f8b9885e00ecb00c9b4abfd639c9e98391 diff --git a/dev-db/mariadb/mariadb-10.0.33.ebuild b/dev-db/mariadb/mariadb-10.0.33.ebuild index 6aff85a96538..4efb85756bb8 100644 --- a/dev-db/mariadb/mariadb-10.0.33.ebuild +++ b/dev-db/mariadb/mariadb-10.0.33.ebuild @@ -10,7 +10,7 @@ JAVA_PKG_OPT_USE="jdbc" inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1 -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" IUSE="bindist jdbc odbc oqgraph pam sphinx tokudb xml" diff --git a/dev-db/mariadb/mariadb-10.0.34.ebuild b/dev-db/mariadb/mariadb-10.0.34.ebuild index 953bb25cbf08..d1b812cfdda4 100644 --- a/dev-db/mariadb/mariadb-10.0.34.ebuild +++ b/dev-db/mariadb/mariadb-10.0.34.ebuild @@ -10,7 +10,7 @@ JAVA_PKG_OPT_USE="jdbc" inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1 -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" IUSE="bindist jdbc odbc oqgraph pam sphinx tokudb xml" diff --git a/dev-db/mariadb/mariadb-10.0.35-r2.ebuild b/dev-db/mariadb/mariadb-10.0.35-r2.ebuild index 98b873c5e0c0..894bbb803b7e 100644 --- a/dev-db/mariadb/mariadb-10.0.35-r2.ebuild +++ b/dev-db/mariadb/mariadb-10.0.35-r2.ebuild @@ -23,7 +23,7 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" fi -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2" SLOT="0/${SUBSLOT:-0}" @@ -737,7 +737,7 @@ pkg_config() { 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 + # see https://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 @@ -766,7 +766,7 @@ pkg_config() { pushd "${TMPDIR}" &>/dev/null || die # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + # https://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/mariadb/scripts/mysql_install_db" ) diff --git a/dev-db/mariadb/mariadb-10.0.35.ebuild b/dev-db/mariadb/mariadb-10.0.35.ebuild index ae3a0089276b..e4d1ee85dcfc 100644 --- a/dev-db/mariadb/mariadb-10.0.35.ebuild +++ b/dev-db/mariadb/mariadb-10.0.35.ebuild @@ -10,7 +10,7 @@ JAVA_PKG_OPT_USE="jdbc" inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1 -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" IUSE="bindist jdbc odbc oqgraph pam sphinx tokudb xml" diff --git a/dev-db/mariadb/mariadb-10.1.29.ebuild b/dev-db/mariadb/mariadb-10.1.29.ebuild index 4418e76ddbe2..df0ee3106ab3 100644 --- a/dev-db/mariadb/mariadb-10.1.29.ebuild +++ b/dev-db/mariadb/mariadb-10.1.29.ebuild @@ -12,7 +12,7 @@ JAVA_PKG_OPT_USE="jdbc" inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1 -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" IUSE="+backup bindist cracklib galera kerberos innodb-lz4 innodb-lzo innodb-snappy jdbc mroonga odbc oqgraph pam sphinx sst-rsync sst-mariabackup sst-xtrabackup tokudb systemd xml" diff --git a/dev-db/mariadb/mariadb-10.1.31-r1.ebuild b/dev-db/mariadb/mariadb-10.1.31-r1.ebuild index fb0c79beff1f..e64c339ee6ef 100644 --- a/dev-db/mariadb/mariadb-10.1.31-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.1.31-r1.ebuild @@ -12,7 +12,7 @@ JAVA_PKG_OPT_USE="jdbc" inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1 -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" IUSE="+backup bindist cracklib galera kerberos innodb-lz4 innodb-lzo innodb-snappy jdbc mroonga numa odbc oqgraph pam sphinx sst-rsync sst-mariabackup sst-xtrabackup tokudb systemd xml" diff --git a/dev-db/mariadb/mariadb-10.1.33.ebuild b/dev-db/mariadb/mariadb-10.1.33.ebuild index 9b0cc566681a..e9a050b1fbd6 100644 --- a/dev-db/mariadb/mariadb-10.1.33.ebuild +++ b/dev-db/mariadb/mariadb-10.1.33.ebuild @@ -12,7 +12,7 @@ JAVA_PKG_OPT_USE="jdbc" inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1 -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" IUSE="+backup bindist cracklib galera kerberos innodb-lz4 innodb-lzo innodb-snappy jdbc mroonga numa odbc oqgraph pam sphinx sst-rsync sst-mariabackup sst-xtrabackup tokudb systemd xml" diff --git a/dev-db/mariadb/mariadb-10.1.34.ebuild b/dev-db/mariadb/mariadb-10.1.34.ebuild index e030e7f69348..c4507c4f2773 100644 --- a/dev-db/mariadb/mariadb-10.1.34.ebuild +++ b/dev-db/mariadb/mariadb-10.1.34.ebuild @@ -23,7 +23,7 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" fi -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2" SLOT="0/${SUBSLOT:-0}" @@ -774,7 +774,7 @@ pkg_config() { 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 + # see https://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 @@ -803,7 +803,7 @@ pkg_config() { pushd "${TMPDIR}" &>/dev/null || die # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + # https://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/mariadb/scripts/mysql_install_db" ) diff --git a/dev-db/mariadb/mariadb-10.2.15.ebuild b/dev-db/mariadb/mariadb-10.2.15.ebuild index d4065893621d..6e8b31cdccb1 100644 --- a/dev-db/mariadb/mariadb-10.2.15.ebuild +++ b/dev-db/mariadb/mariadb-10.2.15.ebuild @@ -24,7 +24,7 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" fi -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" SLOT="0/${SUBSLOT:-0}" @@ -904,7 +904,7 @@ pkg_config() { 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 + # see https://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 @@ -933,7 +933,7 @@ pkg_config() { pushd "${TMPDIR}" &>/dev/null || die # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + # https://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/mariadb/scripts/mysql_install_db" ) diff --git a/dev-db/mariadb/mariadb-10.2.16.ebuild b/dev-db/mariadb/mariadb-10.2.16.ebuild new file mode 100644 index 000000000000..6e8b31cdccb1 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.2.16.ebuild @@ -0,0 +1,1011 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20180515-1334Z" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + java-pkg-opt-2 user cmake-utils multilib-minimal + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${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://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2 LGPL-2.1+" +SLOT="0/${SUBSLOT:-0}" +IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + server? ( tokudb? ( jemalloc !tcmalloc ) ) + !server? ( !extraengine ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam )" + +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 + 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}"/20015_all_mariadb-pkgconfig-location.patch + "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.9-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch + "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch + "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.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=" + 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= ) + client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + yassl? ( net-libs/gnutls:0=[${MULTILIB_USEDEP},static-libs?] ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + ) + !client-libs? ( >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + sys-libs/ncurses:0= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + server? ( + backup? ( app-arch/libarchive:0= ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( virtual/pam:0= ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + >=dev-libs/libpcre-8.41-r1:3= + !client-libs? ( dev-db/mariadb-connector-c[${MULTILIB_USEDEP}] dev-db/mysql-connector-c[${MULTILIB_USEDEP}] ) +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + !=virtual/jre-1.6 ) ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) + server? ( ~virtual/mysql-5.6[static=] + galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb 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 + # 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 + java-pkg-opt-2_pkg_setup + 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() { + java-pkg-opt-2_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 [[ -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 use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + fi + + 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 + + if use galera ; then + 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 + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.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 appropitate 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() { + java-pkg-opt-2_src_prepare + if use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + # Don't build bundled xz-utils for tokudb + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + + if ! use server; then + rm -r "${S}"/plugin/handler_socket || die + fi + + 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 + + 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/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + -DENABLE_STATIC_LIBS=$(usex static-libs ON OFF) + # 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) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/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+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DNOT_FOR_DISTRIBUTION=0 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_JEMALLOC=$(usex jemalloc system) + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR=share/mariadb + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + # Workaround for MDEV-14524 + use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + 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+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + 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 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + 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 +} + +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/private/embedded_priv.h + /usr/include/mysql/server/mysql_version.h + /usr/include/mariadb/mariadb_version.h + /usr/include/mysql/mariadb_version.h + /usr/include/mysql/server/private/probes_mysql_nodtrace.h + /usr/include/mysql/server/private/probes_mysql_dtrace.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /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 + + # 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 + + if ! multilib_is_native_abi && use server ; then + insinto /usr/include/mysql/server/private + doins "${S}"/sql/*.h + fi + + if use client-libs ; then + # Install compatible symlinks to libmysqlclient +# use static-libs && dosym libmariadbclient.a "/usr/$(get_libdir)/libmysqlclient.a" +# dosym libmariadb.so.3 "/usr/$(get_libdir)/libmysqlclient.so" + dosym libmariadb.so.3 "/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}" + fi + + # 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-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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 + + 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 static-libs' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mariadb-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 MariaDB 10.0 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 plugins.cracklib_password_check plugins.two_password_validations ; do + _disable_test "$t" "False positive due to varying policies" + done + + for t in main.mysql_client_test main.mysql_client_test_nonblock \ + main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; 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/mariadb"} + 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 https://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 + # https://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/mariadb/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" +} diff --git a/dev-db/mariadb/mariadb-10.3.6_rc.ebuild b/dev-db/mariadb/mariadb-10.3.6_rc.ebuild index 5dce59437ddb..57430a63fa37 100644 --- a/dev-db/mariadb/mariadb-10.3.6_rc.ebuild +++ b/dev-db/mariadb/mariadb-10.3.6_rc.ebuild @@ -24,7 +24,7 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" fi -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" SLOT="0/${SUBSLOT:-0}" @@ -915,7 +915,7 @@ pkg_config() { 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 + # see https://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 @@ -944,7 +944,7 @@ pkg_config() { pushd "${TMPDIR}" &>/dev/null || die # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + # https://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/mariadb/scripts/mysql_install_db" ) diff --git a/dev-db/mariadb/mariadb-10.3.7.ebuild b/dev-db/mariadb/mariadb-10.3.7.ebuild index b1c9bd25b6db..2f13d5760854 100644 --- a/dev-db/mariadb/mariadb-10.3.7.ebuild +++ b/dev-db/mariadb/mariadb-10.3.7.ebuild @@ -24,7 +24,7 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" fi -HOMEPAGE="http://mariadb.org/" +HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" SLOT="0/${SUBSLOT:-0}" @@ -853,7 +853,7 @@ pkg_config() { 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 + # see https://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 @@ -882,7 +882,7 @@ pkg_config() { pushd "${TMPDIR}" &>/dev/null || die # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + # https://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/mariadb/scripts/mysql_install_db" ) diff --git a/dev-db/mariadb/mariadb-10.3.8.ebuild b/dev-db/mariadb/mariadb-10.3.8.ebuild new file mode 100644 index 000000000000..2f13d5760854 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.3.8.ebuild @@ -0,0 +1,960 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20180529-0042Z" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + java-pkg-opt-2 user cmake-utils multilib-build + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${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://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2 LGPL-2.1+" +SLOT="0/${SUBSLOT:-0}" +IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + server? ( tokudb? ( jemalloc !tcmalloc ) ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam )" + +# REMEMBER: also update eclass/mysql*.eclass before committing! +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}"/20015_all_mariadb-pkgconfig-location.patch + "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch + "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch + "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.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=" + 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= ) + >=sys-libs/zlib-1.2.3:0= + kerberos? ( virtual/krb5 ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sys-libs/ncurses:0= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + server? ( + backup? ( app-arch/libarchive:0= ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( virtual/pam:0= ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + >=dev-libs/libpcre-8.41-r1:3= + dev-db/mariadb-connector-c[${MULTILIB_USEDEP},static-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 ) + server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + !=virtual/jre-1.6 ) ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) + server? ( ~virtual/mysql-5.6[static=] + galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb 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 + # 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 + java-pkg-opt-2_pkg_setup + 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() { + java-pkg-opt-2_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 [[ -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 use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + fi + + 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 + + if use galera ; then + 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 + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.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 appropitate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + + # Initialize the proper variables first + mysql_init_vars + + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + _disable_plugin() { + echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S%/}/storage/${1}/CMakeLists.txt" || die + } + + java-pkg-opt-2_src_prepare + if use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + # Don't build bundled xz-utils for tokudb + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit sql_errlog ) + local test_plugins=( audit_null auth_examples daemon_example fulltext + debug_key_management example_key_management versioning ) + 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 + _disable_engine test_sql_discovery + fi + + _disable_engine example + + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + if use mroonga ; then + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + else + _disable_engine mroonga + fi + + 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/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # 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) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + mycmakeargs+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + + if use server ; then + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_JEMALLOC=$(usex jemalloc system) + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR="" + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + # Workaround for MDEV-14524 + use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + 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+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + 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 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + 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 + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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 + + 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 mariadb-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 MariaDB 10.0 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 plugins.cracklib_password_check plugins.two_password_validations ; do + _disable_test "$t" "False positive due to varying policies" + done + + for t in main.mysql_client_test main.mysql_client_test_nonblock \ + main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do + _disable_test "$t" "False positives in Gentoo" + done + + _disable_test main.plugin_auth "Needs client libraries built" + + # 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/mariadb"} + 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 https://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 + # https://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/mariadb/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" +} diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest index 6d710db6043a..740453c48b3f 100644 --- a/dev-db/mongodb/Manifest +++ b/dev-db/mongodb/Manifest @@ -41,9 +41,9 @@ EBUILD mongodb-3.4.10.ebuild 5133 BLAKE2B e6b3742a9bff53afd63eae4fe3b9574e43f700 EBUILD mongodb-3.4.13.ebuild 4256 BLAKE2B e4caf3957d5bea1811879828abb9a1407afcb9646e4e91911369d8e43564412e0fa19ec84264d1ad5dbea758fb32c5dfe2fb4dca60636b7838f4c3d4ef3832d2 SHA512 dee3412d989c9d00e1097a2ebb8d05e7d77d14e8399d7bf570da37904ec90de86d62807383c95caa057b2c2cfe2057be0b208b262bf488687b201a2f38ea7bac EBUILD mongodb-3.4.14.ebuild 4256 BLAKE2B e4caf3957d5bea1811879828abb9a1407afcb9646e4e91911369d8e43564412e0fa19ec84264d1ad5dbea758fb32c5dfe2fb4dca60636b7838f4c3d4ef3832d2 SHA512 dee3412d989c9d00e1097a2ebb8d05e7d77d14e8399d7bf570da37904ec90de86d62807383c95caa057b2c2cfe2057be0b208b262bf488687b201a2f38ea7bac EBUILD mongodb-3.4.15.ebuild 4256 BLAKE2B e4caf3957d5bea1811879828abb9a1407afcb9646e4e91911369d8e43564412e0fa19ec84264d1ad5dbea758fb32c5dfe2fb4dca60636b7838f4c3d4ef3832d2 SHA512 dee3412d989c9d00e1097a2ebb8d05e7d77d14e8399d7bf570da37904ec90de86d62807383c95caa057b2c2cfe2057be0b208b262bf488687b201a2f38ea7bac -EBUILD mongodb-3.6.2.ebuild 4442 BLAKE2B c951192aa4ad5ce66e5b7a076d7f4d7b7fc88b6b1342817334cc2cc17ddc87727da5fe801bb63cc4696d563fd8d18752621c79df705ada9d03d88683b5d08b8c SHA512 1c6f7e920ab4b43effe6b10d2b68acdbefd530830193a485b80efe595a2301bb213a582a248f3df9a0b931e30cce57ea498da4ba921b4eb5ebf58d2506057390 -EBUILD mongodb-3.6.3.ebuild 4442 BLAKE2B c951192aa4ad5ce66e5b7a076d7f4d7b7fc88b6b1342817334cc2cc17ddc87727da5fe801bb63cc4696d563fd8d18752621c79df705ada9d03d88683b5d08b8c SHA512 1c6f7e920ab4b43effe6b10d2b68acdbefd530830193a485b80efe595a2301bb213a582a248f3df9a0b931e30cce57ea498da4ba921b4eb5ebf58d2506057390 -EBUILD mongodb-3.6.4.ebuild 4442 BLAKE2B c951192aa4ad5ce66e5b7a076d7f4d7b7fc88b6b1342817334cc2cc17ddc87727da5fe801bb63cc4696d563fd8d18752621c79df705ada9d03d88683b5d08b8c SHA512 1c6f7e920ab4b43effe6b10d2b68acdbefd530830193a485b80efe595a2301bb213a582a248f3df9a0b931e30cce57ea498da4ba921b4eb5ebf58d2506057390 -EBUILD mongodb-3.6.5.ebuild 4442 BLAKE2B c951192aa4ad5ce66e5b7a076d7f4d7b7fc88b6b1342817334cc2cc17ddc87727da5fe801bb63cc4696d563fd8d18752621c79df705ada9d03d88683b5d08b8c SHA512 1c6f7e920ab4b43effe6b10d2b68acdbefd530830193a485b80efe595a2301bb213a582a248f3df9a0b931e30cce57ea498da4ba921b4eb5ebf58d2506057390 -EBUILD mongodb-4.0.0.ebuild 4441 BLAKE2B 57721ccce3524b5ecd968314eb13cfe759a47231769cba7f55d3a34110ccfd70f849e0779d488ce5a28571a1c89dc517f8fb3abac3302eda400b9214449b7b0b SHA512 d762a602c6acacb3f6b9f74584fe8696dd2fa97d8ac67c8fc720f038cde1fb7f4bc0acd16d27e65232dfdf9f0e3c4e7fcefeef0d4f1972a6cd9af188d47e46e5 +EBUILD mongodb-3.6.2-r1.ebuild 4446 BLAKE2B 23e7edab8f84fac52f1dd5289017f6a27a6151deafd53cb8f0eccb229653704c780eda604bf3c08291d6cc7d20962d733c6b44e5ea659e0b5fb7e44ef8e0ed30 SHA512 70e7443ad7de93688bb58382f6a311500f580354111ce60f8bc0848862963e86be1d742fce95918f2fccce7583dc22e12940b1ca004e5f148fa0a72d512fe99a +EBUILD mongodb-3.6.3-r1.ebuild 4446 BLAKE2B 23e7edab8f84fac52f1dd5289017f6a27a6151deafd53cb8f0eccb229653704c780eda604bf3c08291d6cc7d20962d733c6b44e5ea659e0b5fb7e44ef8e0ed30 SHA512 70e7443ad7de93688bb58382f6a311500f580354111ce60f8bc0848862963e86be1d742fce95918f2fccce7583dc22e12940b1ca004e5f148fa0a72d512fe99a +EBUILD mongodb-3.6.4-r1.ebuild 4446 BLAKE2B 23e7edab8f84fac52f1dd5289017f6a27a6151deafd53cb8f0eccb229653704c780eda604bf3c08291d6cc7d20962d733c6b44e5ea659e0b5fb7e44ef8e0ed30 SHA512 70e7443ad7de93688bb58382f6a311500f580354111ce60f8bc0848862963e86be1d742fce95918f2fccce7583dc22e12940b1ca004e5f148fa0a72d512fe99a +EBUILD mongodb-3.6.5-r1.ebuild 4446 BLAKE2B 23e7edab8f84fac52f1dd5289017f6a27a6151deafd53cb8f0eccb229653704c780eda604bf3c08291d6cc7d20962d733c6b44e5ea659e0b5fb7e44ef8e0ed30 SHA512 70e7443ad7de93688bb58382f6a311500f580354111ce60f8bc0848862963e86be1d742fce95918f2fccce7583dc22e12940b1ca004e5f148fa0a72d512fe99a +EBUILD mongodb-4.0.0-r1.ebuild 4445 BLAKE2B b6e7e01a6fd89ac0db97172a6c8257232089b1bd2c22ef8c1e5d689827d8b9c4b4ba384b68b63e8bb3038a25d2592b3cd13e38bdf3930bfd962d57a7262fef4c SHA512 961fcccb68ae8364172471f985c46b8e4d04c57a9620661810587f7e069cf521c6c0f0a5c50e7d015cbef1ded0cdcb983890d0564c7f8a8706fe7c6e6cc44750 MISC metadata.xml 1053 BLAKE2B f2104654da3600c3d10882bb600d9002c015c7fb5dcfc8bdb98ab1fcb06d384ead4af990d55d6596d4bd602e5c4e9978a11cc66382ee01bab006f817ba44bdc2 SHA512 9ab708e294e25487ceeeeac7500a64684c914e95aa593c3a1f06d845b6b629766a5b98d972bf0802f3713b89bd6c81e293fc45205604980164542442438b13a2 diff --git a/dev-db/mongodb/mongodb-3.6.2-r1.ebuild b/dev-db/mongodb/mongodb-3.6.2-r1.ebuild new file mode 100644 index 000000000000..5604f58eafb7 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.6.2-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +SCONS_MIN_VERSION="2.5.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="https://www.mongodb.com" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60:=[threads(+)] + >=dev-libs/libpcre-8.41[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8:= + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + virtual/python-typing[${PYTHON_USEDEP}] + /dev/null + fi +} + +pkg_postinst() { + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-3.6.2.ebuild b/dev-db/mongodb/mongodb-3.6.2.ebuild deleted file mode 100644 index 5297f47b0f1a..000000000000 --- a/dev-db/mongodb/mongodb-3.6.2.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="https://www.mongodb.com" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60:=[threads(+)] - >=dev-libs/libpcre-8.41[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8:= - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - /dev/null - fi -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.6.3-r1.ebuild b/dev-db/mongodb/mongodb-3.6.3-r1.ebuild new file mode 100644 index 000000000000..5604f58eafb7 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.6.3-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +SCONS_MIN_VERSION="2.5.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="https://www.mongodb.com" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60:=[threads(+)] + >=dev-libs/libpcre-8.41[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8:= + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + virtual/python-typing[${PYTHON_USEDEP}] + /dev/null + fi +} + +pkg_postinst() { + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-3.6.3.ebuild b/dev-db/mongodb/mongodb-3.6.3.ebuild deleted file mode 100644 index 5297f47b0f1a..000000000000 --- a/dev-db/mongodb/mongodb-3.6.3.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="https://www.mongodb.com" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60:=[threads(+)] - >=dev-libs/libpcre-8.41[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8:= - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - /dev/null - fi -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.6.4-r1.ebuild b/dev-db/mongodb/mongodb-3.6.4-r1.ebuild new file mode 100644 index 000000000000..5604f58eafb7 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.6.4-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +SCONS_MIN_VERSION="2.5.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="https://www.mongodb.com" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60:=[threads(+)] + >=dev-libs/libpcre-8.41[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8:= + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + virtual/python-typing[${PYTHON_USEDEP}] + /dev/null + fi +} + +pkg_postinst() { + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-3.6.4.ebuild b/dev-db/mongodb/mongodb-3.6.4.ebuild deleted file mode 100644 index 5297f47b0f1a..000000000000 --- a/dev-db/mongodb/mongodb-3.6.4.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="https://www.mongodb.com" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60:=[threads(+)] - >=dev-libs/libpcre-8.41[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8:= - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - /dev/null - fi -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.6.5-r1.ebuild b/dev-db/mongodb/mongodb-3.6.5-r1.ebuild new file mode 100644 index 000000000000..5604f58eafb7 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.6.5-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +SCONS_MIN_VERSION="2.5.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="https://www.mongodb.com" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60:=[threads(+)] + >=dev-libs/libpcre-8.41[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8:= + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + virtual/python-typing[${PYTHON_USEDEP}] + /dev/null + fi +} + +pkg_postinst() { + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-3.6.5.ebuild b/dev-db/mongodb/mongodb-3.6.5.ebuild deleted file mode 100644 index 5297f47b0f1a..000000000000 --- a/dev-db/mongodb/mongodb-3.6.5.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="https://www.mongodb.com" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60:=[threads(+)] - >=dev-libs/libpcre-8.41[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8:= - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - /dev/null - fi -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-4.0.0-r1.ebuild b/dev-db/mongodb/mongodb-4.0.0-r1.ebuild new file mode 100644 index 000000000000..46989477c500 --- /dev/null +++ b/dev-db/mongodb/mongodb-4.0.0-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +SCONS_MIN_VERSION="2.5.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="https://www.mongodb.com" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60:=[threads(+)] + >=dev-libs/libpcre-8.41[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.11:= + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + virtual/python-typing[${PYTHON_USEDEP}] + /dev/null + fi +} + +pkg_postinst() { + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" + ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-4.0.0.ebuild b/dev-db/mongodb/mongodb-4.0.0.ebuild deleted file mode 100644 index 2b90de087414..000000000000 --- a/dev-db/mongodb/mongodb-4.0.0.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="https://www.mongodb.com" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60:=[threads(+)] - >=dev-libs/libpcre-8.41[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.11:= - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - /dev/null - fi -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures" -} diff --git a/dev-db/oracle-instantclient-basic/Manifest b/dev-db/oracle-instantclient-basic/Manifest index b58b693aef4b..6d7edbde7b32 100644 --- a/dev-db/oracle-instantclient-basic/Manifest +++ b/dev-db/oracle-instantclient-basic/Manifest @@ -1,5 +1,4 @@ AUX 11.2.0.3-makefile.patch 2250 BLAKE2B f680a9dbe7a8fb51c09667b3a49eaa86cc965a36f3d3df6c789e944ce83126fef1f12e0fa083f41e94b0b56ff1bcef5c9128f959f553730ec679051e83523da2 SHA512 1573f20608cf1e8a9c6dc94b40f4a7dac822f7888b2232ff13bf3db5456bbc0f653022acb194bdb2014698665042108d7f2b13e95ce00bd492c4c0eb03f4c9db -AUX oracle-instantclient-basic-10.2.0.3-makefile.patch 356 BLAKE2B 911f029b446e4adc1444e4cd7beaaeaa81d420d25a4f62493a70daf62bfa8bfe84868bc08c243a88811f83be190db8525263cd8ac604d945824895c724f502af SHA512 7142d0e1ae320fe5efd8f15d3efa0a7ac073fe86b89e173ae33eea9095de92f72e65ceb21492e1c2b46a2922c0b87290ae4fea192b7cb69785318a81be263bf2 AUX tnsnames.ora.sample 2939 BLAKE2B d02d4be5eae8c8da346f8b0ddd2b6808e59f8e77f805b22154a77d22db325d415ecaf811323de3c7a6764a9167fb7f9a9708d1cf2de891858bc43bd5e050954d SHA512 25bb734bf4b7ea1d2ce2bddfd241204e796cad0d1d49036e567237d7ca92d158ab7bf69ff3abe210050c8ee0a0630f9217ced22dc31770814d822f93b2af5845 DIST instantclient-basic-linux-11.2.0.3.0.zip 58502865 BLAKE2B da0f428447a4300dc64b9845d6f55c3dbeff38af06b1cb38b083f661a575a5c1749737ab389b7222f7be2a05ccdf367830642b1656505b078c0c3ca523159ae8 SHA512 c790f593e67bcc7c114a6287e1f064c03f292472e0a1a5e617a9f19017f06442f31502f66af8e6cfdf2235a18546104dc9aac164a3aa641db5728b66685c9302 DIST instantclient-basic-linux-11.2.0.4.0.zip 58793148 BLAKE2B e0f92f119a5e8890a4507160179cd49af15ed14bd7c48480d3f685a3e4918a96e6444e75c6ea11d34681a6c66ff0e8011f44840de5f080e2dc3c03079361e4a1 SHA512 b333c9334e960617ac7cc68ad1c7b45f990d5c24c7a5bc8e51b3bc8ff6476acfb6a032521f75ba39327c71ee9676d1163b252066d52e97c1dfe9c092a92a62a0 diff --git a/dev-db/oracle-instantclient-basic/files/oracle-instantclient-basic-10.2.0.3-makefile.patch b/dev-db/oracle-instantclient-basic/files/oracle-instantclient-basic-10.2.0.3-makefile.patch deleted file mode 100644 index 80df560a1014..000000000000 --- a/dev-db/oracle-instantclient-basic/files/oracle-instantclient-basic-10.2.0.3-makefile.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- instantclient_10_2/sdk/demo/demo.mk.orig 2007-02-06 17:51:47.018247041 -0800 -+++ instantclient_10_2/sdk/demo/demo.mk 2007-02-06 17:52:35.374869934 -0800 -@@ -30,7 +30,7 @@ - - ICINCHOME=../ - ICLIBHOME=../../ --ICLIBPATH=-L$(ICLIBHOME) -+ICLIBPATH=-L$(ICLIBHOME) -L$(ORACLE_HOME)/lib - THREADLIBS=-lthread - CCLIB=$(ICLIBPATH) -locci -lclntsh $(THREADLIBS) - diff --git a/dev-db/percona-toolkit/Manifest b/dev-db/percona-toolkit/Manifest index 03b301693ad6..a163a4627439 100644 --- a/dev-db/percona-toolkit/Manifest +++ b/dev-db/percona-toolkit/Manifest @@ -17,7 +17,7 @@ EBUILD percona-toolkit-2.2.11.ebuild 1262 BLAKE2B 8d33c609579606aac77a67c5d568a7 EBUILD percona-toolkit-2.2.17.ebuild 1213 BLAKE2B 8602c2ac1859da4fbefa52c5714e07a9e44c3b148b35555e4977c1c4604fdf35de3a95a658065533e9f894f01a19f7b57b0eb2c537446622ab98ab59a7b13b6e SHA512 78b956efbe27586145cee31f784cb143cec4c40ef9f06efb315367178db085f2767f8b29180be0549ab407ad77ddc20527588102354eee23d3a328fc46f8a892 EBUILD percona-toolkit-2.2.19.ebuild 1213 BLAKE2B 784c406e8b359b1c75c49725ee670c16d4e3ea91d845d83b9b5f032cbebcf455074fa7423f42102f257df571ad7b4cd9a21bbc318175c446867047c90d1cce95 SHA512 21caa33395129da3a11c2bd3bac9eff2a722bfc473d4e1065c9baa123542239531755b4b16965c5c470e7851027ce81b9a17b35bf6ba16cd922ca34a600f8fa2 EBUILD percona-toolkit-2.2.20.ebuild 1213 BLAKE2B 2bcc433599d64b15225e508fa16c50634b34c9963c38fae7d8ac412e730c9566751bfa1c784254018e40b5a6d8fcb6b4e52c2f85df7362d43bcf153282f7766b SHA512 f1b0b8a48e99d616d9a54a5bf6c39a06ef5e6f48992fe3e0584d464d7ed1abc5f6f08a14488cbffd4fcf4d8afe8791112094438baf06a5a4b788a953d539288b -EBUILD percona-toolkit-3.0.10-r1.ebuild 1331 BLAKE2B 88f2d518b7b4fbb1bc3376e845ac28372810b0cadd9032169b9be0372e719930ec3fa2545a1f74e26ca464f335822368abf66fb4ea907101de1b43c975dce50c SHA512 f7143bb35b8148be6be283a7ee076731b061e3072260008f709f087392d8301266bc56e3cad9e3dbf1bdf828e2db4a41a95f8ed3119700b6f478f9a8a8fa8027 +EBUILD percona-toolkit-3.0.10-r1.ebuild 1330 BLAKE2B acf05bb59b278883dece85f7a60a6ae114a5a5253a867b0f2c5259196eddb4a95acdf66809c1ecb5ad47140f220b9cff47efeedc0ddc1f370db1ee6181c4f12c SHA512 cb5d77f6f689989ae2aa5e4eb4ca7273981b9f18e6308d67dd5ca25ddb163db24655b3d54e84f70f911ffd098bacf5d114dd8afd1a4b2c06198ad55f9fcbcff4 EBUILD percona-toolkit-3.0.10.ebuild 1249 BLAKE2B bd743a722e60cade6307bd04c774a77d0e01b2272e82974be486b47d0462120910c1182ba6fc3f7cf268f4ebfa04d432e456f62079010621aeaf6b325c743b54 SHA512 988d423c3125592608caa659543b508dcea2048b0c905a24c924e75894ca7c93924908e49f5c6c2c5d660a7b90a242e558e874849f0793d58a82abec1ad38982 EBUILD percona-toolkit-3.0.7.ebuild 1167 BLAKE2B f61aaf597895efa1b68a04f889e93fef6207d4e2cc9f14e986aee81cccb6ca7888d7479bc01bf11bea554bb9f860615ebfb95111420c641ad7e8b16808121a24 SHA512 940474cb8cf56cff984dffc33c3848808d184c33f6d31a4bcafdc2ee16feecbe6f4084c80e243d18eb62c9f09759f274144aff2c3f45d465bc01c8f82d1e5ac1 EBUILD percona-toolkit-3.0.8.ebuild 1249 BLAKE2B bd743a722e60cade6307bd04c774a77d0e01b2272e82974be486b47d0462120910c1182ba6fc3f7cf268f4ebfa04d432e456f62079010621aeaf6b325c743b54 SHA512 988d423c3125592608caa659543b508dcea2048b0c905a24c924e75894ca7c93924908e49f5c6c2c5d660a7b90a242e558e874849f0793d58a82abec1ad38982 diff --git a/dev-db/percona-toolkit/percona-toolkit-3.0.10-r1.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.0.10-r1.ebuild index cef323f12f47..4a54323f4338 100644 --- a/dev-db/percona-toolkit/percona-toolkit-3.0.10-r1.ebuild +++ b/dev-db/percona-toolkit/percona-toolkit-3.0.10-r1.ebuild @@ -38,7 +38,7 @@ DEPEND="${COMMON_DEPEND} # sed -i -e '/^=item --\[no\]version-check/,/^default: yes/{/^default: yes/d}' bin/* # ^ is *-no-versioncheck.patch PATCHES=( - "${FILESDIR}"/${PN}-3.0.7-no-versioncheck.patch + "${FILESDIR}"/${PN}-3.0.7-no-versioncheck.patch "${FILESDIR}"/${PN}-3.0.10-slave-delay-fix.patch ) diff --git a/dev-db/percona-xtrabackup/Manifest b/dev-db/percona-xtrabackup/Manifest index 7247e282c0bc..7c967866d293 100644 --- a/dev-db/percona-xtrabackup/Manifest +++ b/dev-db/percona-xtrabackup/Manifest @@ -4,8 +4,10 @@ AUX percona-xtrabackup-2.4.6-fix-gcc6-isystem.patch 3801 BLAKE2B 2494f55253e820c AUX percona-xtrabackup-2.4.6-remove-boost-version-check.patch 485 BLAKE2B c9330c5b0a163a0d95682a81cee9e3c99cebdb2a6ed124cb5f424ade92728b11b29685e2c1eee0fbf9df613f5a1b08cc4021daec8b60a6c66ab51b08a397b33d SHA512 31277d6bef14a6b642ce425ce9f2c92fe49f905c42c720a583cb45406c1ee18ccbf2bef224b9b89bb02de18aecc1ec48576f5ca0c9bfef0cc683d78218506906 DIST percona-xtrabackup-2.4.10.tar.gz 59217573 BLAKE2B 3a4485b6d8c5b9ad2ca4b60603383b18ec0a3da7e4cca3b5a1ee2d24b6ca17844cc406123bbaf9313fc17570db0168c13af16d17404e075fc8140731ef9b79c2 SHA512 a4ebbebabc8b9b5fec9777fc3569c530b4a88a1b75d3e78d2edf7627a2e8cadf7aa2d8988963136b331a274c80371ff9b7fafcc7d8a129f446eb58777ce1764f DIST percona-xtrabackup-2.4.11.tar.gz 59267058 BLAKE2B 1de9905a2c191a58290e87a90e36c263f66935ce0846af205e1a0accc6e9b2938dd8679f65acc4b51ca956f2bcbca831cd10c9d50c01c2ecfd9d059fde500e20 SHA512 2fa4757fe944fb4c8113dca1fa25beaa23de5d5f9fc830b36a6d9eb4efb7e7fb1eec10f91be5e91fd3b7980bc157832ed52c9da59a342f6aae05ceae8ecdf760 +DIST percona-xtrabackup-2.4.12.tar.gz 57232309 BLAKE2B 71b1dc0448b521b252463fb68ff111def3b71aebe187d3196e3c82f56539db02347d94713bea3dda5978f13b86b88a564ad6f12e3907134edc49a41dcde98e51 SHA512 228a48617eec3b824c7cb33882796ac2beb6ca1895fe73f7004e8dfd0b8bd1df471c39ba1c3fca2a819140d934a8a884f61dafae7cb56023dc7bc844d2846c8a DIST percona-xtrabackup-2.4.9.tar.gz 58001052 BLAKE2B d2a25a5ca2190ccf82a600245a0e21848abd9a33ea937a81b2ba9c7e518b24291080a3d3c4b8e6d02f51523e5cf2e78680e4b351c4f2bcd8f122c58f62c14418 SHA512 913431f0fa648731efa2e9bc87c9431a28816b0eca12e1c6df6e7ab04a4148ddd8fa03c9792335ad152b05bede5b9fe64ce94a393b5e4e37d4b18f4989b0ccdb EBUILD percona-xtrabackup-2.4.10.ebuild 2055 BLAKE2B 9fc3b57d1f24e80c5925eff40aa0822a1742756f897f1980341fe2778c47b12a35102422c703cbc44f5734377c8be2678ea0c05a32caf0f0fa34d631eaf31199 SHA512 5fe655f9fba940d50af9b633d4f5f8b6d88eb9add49ee5fa1233bd71e1f67f60b998b3775800e527f54c4f8fd4c39c527eb48fa8badaddac257622615dece9f8 EBUILD percona-xtrabackup-2.4.11.ebuild 2055 BLAKE2B 99a8568224308799d84c2ccfbebb1935e065b53ae2bdd3ca07e3cb33d5be6b53042389483941e06a7d58284a79bd09b96c15584456fbb051c516b5979c9d8117 SHA512 d353ded350a186cd244e8fdda2081cfe79bc78ee0a5ea4a9104afd4795b7a827096dec0ada7e1d268561cf910da0004b0015ac0b2e20a333bb972b15895c7bde +EBUILD percona-xtrabackup-2.4.12.ebuild 2055 BLAKE2B 99a8568224308799d84c2ccfbebb1935e065b53ae2bdd3ca07e3cb33d5be6b53042389483941e06a7d58284a79bd09b96c15584456fbb051c516b5979c9d8117 SHA512 d353ded350a186cd244e8fdda2081cfe79bc78ee0a5ea4a9104afd4795b7a827096dec0ada7e1d268561cf910da0004b0015ac0b2e20a333bb972b15895c7bde EBUILD percona-xtrabackup-2.4.9.ebuild 1804 BLAKE2B db219c17e234b628a1730f23fa96f1766353b0de1615f1f93cc3b5ebb45faf405ea31215547fe0c1778dd65e48b743ea2b68727792695ca014e2d6f13bc20839 SHA512 25a54c649707d02e84ae5504122d725b1045fed258ed12d3643022c5d03fa1a008f13982cb7c5dbb02d212225ba8230057634dc867ab082bc9fc9692155c2dc2 MISC metadata.xml 563 BLAKE2B 5c657288a3cd0ece118920159db14756bad6a2faa308e5495cdf1eca6dd160dfbd05c979857fd55a031bc0acacdc7a81db628c0ca31a9b2d3dae226838e2abf5 SHA512 050e1a78c8c7f4b024b207754005dcec28188697b3be2d93c30f800f8a91da1a3376b4501a4a6e061dcd096a958a9a4cba62251f5003b2056dfadee5bfda6716 diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild new file mode 100644 index 000000000000..8842c1a74b73 --- /dev/null +++ b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils flag-o-matic + +DESCRIPTION="Hot backup utility for MySQL based servers" +HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup" +SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + app-arch/lz4:0= + app-editors/vim-core + & tofill ); + +diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/ops/query.cpp tokumx-enterprise-2.0.2/src/mongo/db/ops/query.cpp +--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/ops/query.cpp 2018-07-03 15:57:40.703360944 +0100 ++++ tokumx-enterprise-2.0.2/src/mongo/db/ops/query.cpp 2018-07-03 15:58:08.348362094 +0100 +@@ -635,7 +635,7 @@ + shared_ptr ret + ( new SimpleCursorExplainStrategy( ancillaryInfo, _cursor ) ); + ret->notePlan( queryPlan.valid() && queryPlan.scanAndOrderRequired, +- queryPlan.keyFieldsOnly ); ++ bool(queryPlan.keyFieldsOnly) ); + return ret; + } + +diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/pipeline/document_source_sort.cpp tokumx-enterprise-2.0.2/src/mongo/db/pipeline/document_source_sort.cpp +--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/pipeline/document_source_sort.cpp 2018-07-03 15:57:40.707360944 +0100 ++++ tokumx-enterprise-2.0.2/src/mongo/db/pipeline/document_source_sort.cpp 2018-07-03 15:57:48.128361253 +0100 +@@ -106,7 +106,7 @@ + bool DocumentSourceSort::coalesce(const intrusive_ptr &pNextSource) { + if (!limitSrc) { + limitSrc = dynamic_cast(pNextSource.get()); +- return limitSrc; // false if next is not a $limit ++ return bool(limitSrc); // false if next is not a $limit + } + else { + return limitSrc->coalesce(pNextSource); +diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/queryoptimizercursorimpl.cpp tokumx-enterprise-2.0.2/src/mongo/db/queryoptimizercursorimpl.cpp +--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/queryoptimizercursorimpl.cpp 2018-07-03 15:57:40.702360944 +0100 ++++ tokumx-enterprise-2.0.2/src/mongo/db/queryoptimizercursorimpl.cpp 2018-07-03 15:57:48.128361253 +0100 +@@ -370,7 +370,7 @@ + + // The query plan must have a matcher. The matcher's constructor performs some aspects + // of query validation that should occur before a cursor is returned. +- fassert( 16449, singlePlan->matcher() ); ++ fassert( 16449, bool(singlePlan->matcher()) ); + + if ( needMatcher ) { + single->setMatcher( singlePlan->matcher() ); +diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_optimizer_internal.cpp tokumx-enterprise-2.0.2/src/mongo/db/query_optimizer_internal.cpp +--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_optimizer_internal.cpp 2018-07-03 15:57:40.707360944 +0100 ++++ tokumx-enterprise-2.0.2/src/mongo/db/query_optimizer_internal.cpp 2018-07-03 15:57:48.129361253 +0100 +@@ -234,7 +234,7 @@ + // The query plan must have a matcher. The matcher's constructor performs some aspects + // of query validation that should occur as part of this class's init() if not handled + // already. +- fassert( 16249, queryPlan().matcher() ); ++ fassert( 16249, bool(queryPlan().matcher()) ); + + // TODO This violates the current Cursor interface abstraction, but for now it's simpler to keep our own set of + // dups rather than avoid poisoning the cursor's dup set with unreturned documents. Deduping documents +@@ -257,7 +257,7 @@ + _explainPlanInfo.reset( new ExplainPlanInfo() ); + _explainPlanInfo->notePlan( *_c, + queryPlan().scanAndOrderRequired(), +- queryPlan().keyFieldsOnly() ); ++ bool(queryPlan().keyFieldsOnly()) ); + return _explainPlanInfo; + } + +@@ -1226,7 +1226,7 @@ + _explainPlanInfo.reset( new ExplainPlanInfo() ); + _explainPlanInfo->notePlan( *_c, + _queryPlan->scanAndOrderRequired(), +- _queryPlan->keyFieldsOnly() ); ++ bool(_queryPlan->keyFieldsOnly()) ); + shared_ptr clauseInfo( new ExplainClauseInfo() ); + clauseInfo->addPlanInfo( _explainPlanInfo ); + _mps->addClauseInfo( clauseInfo ); +diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_plan_summary.h tokumx-enterprise-2.0.2/src/mongo/db/query_plan_summary.h +--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_plan_summary.h 2018-07-03 15:57:40.705360944 +0100 ++++ tokumx-enterprise-2.0.2/src/mongo/db/query_plan_summary.h 2018-07-03 15:57:48.129361253 +0100 +@@ -35,7 +35,7 @@ + * The 'fieldRangeMulti' attribute is required, and its presence indicates the object has + * been configured with a query plan. + */ +- bool valid() const { return fieldRangeSetMulti; } ++ bool valid() const { return bool(fieldRangeSetMulti); } + + // A description of the valid values for the fields of a query, in the context of a multikey + // index or in memory sort. diff --git a/dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch b/dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch new file mode 100644 index 000000000000..d56f7745d1e9 --- /dev/null +++ b/dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch @@ -0,0 +1,15 @@ +diff -uNr a/src/third_party/backup/CMakeLists.txt b/src/third_party/backup/CMakeLists.txt +--- a/src/third_party/backup/CMakeLists.txt 2018-07-06 20:36:58.242767167 +0200 ++++ b/src/third_party/backup/CMakeLists.txt 2018-07-06 20:37:31.575390786 +0200 +@@ -1,11 +1,6 @@ + cmake_minimum_required(VERSION 2.8.8) + project(HotBackup) + +-# No implicit templates, since that's how mysql compiles. +-if (NOT CMAKE_CXX_COMPILER_ID MATCHES Clang) +- set(CMAKE_CXX_FLAGS "-fno-implicit-templates ${CMAKE_CXX_FLAGS}") +-endif () +- + set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS + _FILE_OFFSET_BITS=64 + _LARGEFILE64_SOURCE) diff --git a/dev-db/tokumx/tokumx-2.0.2-r1.ebuild b/dev-db/tokumx/tokumx-2.0.2-r1.ebuild new file mode 100644 index 000000000000..866bdec8d243 --- /dev/null +++ b/dev-db/tokumx/tokumx-2.0.2-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +CMAKE_BUILD_TYPE=Release +PYTHON_COMPAT=( python2_7 ) + +inherit python-r1 cmake-utils pax-utils check-reqs + +MY_P=${PN}-enterprise-${PV} + +DESCRIPTION="An open source, high-performance distribution of MongoDB" +HOMEPAGE="https://www.percona.com/software/mongo-database/percona-tokumx" +SRC_URI="https://www.percona.com/downloads/percona-tokumx/${MY_P}/source/tarball/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="pax_kernel" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="!app-admin/mongo-tools + !dev-db/mongodb + !dev-libs/mongo-cxx-driver + ${PYTHON_DEPS} + dev-libs/jemalloc + >=dev-libs/boost-1.50[threads(+)] + >=dev-libs/libpcre-8.30[cxx] + net-libs/libpcap" +DEPEND="${RDEPEND} + dev-util/valgrind + sys-libs/ncurses + sys-libs/readline + pax_kernel? ( sys-apps/paxctl sys-apps/elfix ) +" + +S="${WORKDIR}/${MY_P}" +QA_PRESTRIPPED="/usr/lib64/libHotBackup.so" +CHECKREQS_DISK_BUILD="13G" + +src_prepare() { + eapply "${FILESDIR}/${P}-no-werror.patch" + eapply "${FILESDIR}/${P}-boost-57.patch" + eapply "${FILESDIR}/${P}-gcc-7.patch" + eapply "${FILESDIR}/${P}-undefined-reference.patch" + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DTOKU_DEBUG_PARANOID=OFF + -DUSE_VALGRIND=OFF + -DBUILD_TESTING=OFF + -DTOKUMX_DISTNAME=${PV} + -DLIBJEMALLOC="jemalloc" + -DTOKUMX_STRIP_BINARIES=0 + -DUSE_SYSTEM_PCRE=1 + -DUSE_SYSTEM_BOOST=1 + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + pax-mark -m "${D}"/usr/bin/mongo + + # Remove unnecessary files + rm -r "${D}usr/buildscripts" "${D}usr/scripts" "${D}usr/src" "${D}usr/include/db.h" || die + + # Correctly install this python script + python_foreach_impl python_doscript scripts/tokumxstat.py + + # Clean up documentation installed to /usr + pushd "${D}usr/" || die + rm GNU-AGPL-3.0 LICENSE.txt NEWS README README.md README-TOKUDB README-TOKUKV SConstruct THIRD-PARTY-NOTICES || die + popd || die + dodoc README.md distsrc/NEWS distsrc/README distsrc/THIRD-PARTY-NOTICES + newdoc src/third_party/ft-index/README-TOKUDB README-TOKUKV +} diff --git a/dev-db/tokumx/tokumx-2.0.2.ebuild b/dev-db/tokumx/tokumx-2.0.2.ebuild deleted file mode 100644 index 987be829e3bc..000000000000 --- a/dev-db/tokumx/tokumx-2.0.2.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -CMAKE_BUILD_TYPE=Release -PYTHON_COMPAT=( python2_7 ) - -inherit python-r1 cmake-utils pax-utils check-reqs - -MY_P=${PN}-enterprise-${PV} - -DESCRIPTION="An open source, high-performance distribution of MongoDB" -HOMEPAGE="https://www.percona.com/software/mongo-database/percona-tokumx" -SRC_URI="https://www.percona.com/downloads/percona-tokumx/${MY_P}/source/tarball/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="pax_kernel" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND="!dev-db/mongodb - ${PYTHON_DEPS} - dev-libs/jemalloc - !dev-libs/mongo-cxx-driver - >=dev-libs/boost-1.50[threads(+)] - >=dev-libs/libpcre-8.30[cxx] - net-libs/libpcap" -DEPEND="${RDEPEND} - dev-util/valgrind - sys-libs/ncurses - sys-libs/readline - pax_kernel? ( sys-apps/paxctl sys-apps/elfix ) -" - -S="${WORKDIR}/${MY_P}" -QA_PRESTRIPPED="/usr/lib64/libHotBackup.so" -CHECKREQS_DISK_BUILD="13G" - -src_prepare() { - eapply "${FILESDIR}/${P}-no-werror.patch" - eapply "${FILESDIR}/${P}-boost-57.patch" - cmake-utils_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DTOKU_DEBUG_PARANOID=OFF - -DUSE_VALGRIND=OFF - -DUSE_BDB=OFF - -DBUILD_TESTING=OFF - -DTOKUMX_DISTNAME=${PV} - -DLIBJEMALLOC="jemalloc" - -DTOKUMX_STRIP_BINARIES=0 - -DUSE_SYSTEM_PCRE=1 - -DUSE_SYSTEM_BOOST=1 - ) - cmake-utils_src_configure -} - -src_install() { - cmake-utils_src_install - pax-mark -m "${D}"/usr/bin/mongo - - # Remove unnecessary files - rm -r "${D}usr/buildscripts" "${D}usr/scripts" "${D}usr/src" "${D}usr/include/db.h" || die - - # Correctly install this python script - python_foreach_impl python_doscript scripts/tokumxstat.py - - # Clean up documentation installed to /usr - pushd "${D}usr/" || die - rm GNU-AGPL-3.0 LICENSE.txt NEWS README README.md README-TOKUDB README-TOKUKV SConstruct THIRD-PARTY-NOTICES || die - popd || die - dodoc README.md distsrc/NEWS distsrc/README distsrc/THIRD-PARTY-NOTICES - newdoc src/third_party/ft-index/README-TOKUDB README-TOKUKV -} -- cgit v1.2.3