diff options
Diffstat (limited to 'dev-db')
61 files changed, 3634 insertions, 1554 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz Binary files differindex 3c57df0af5a1..832e9a76cd0b 100644 --- a/dev-db/Manifest.gz +++ b/dev-db/Manifest.gz diff --git a/dev-db/aerospike-server-community/Manifest b/dev-db/aerospike-server-community/Manifest deleted file mode 100644 index 6f362159c727..000000000000 --- a/dev-db/aerospike-server-community/Manifest +++ /dev/null @@ -1,10 +0,0 @@ -AUX 3.5.8-use-system-libs.patch 1755 BLAKE2B fd16e094db29fcce9ed327cc02c730bef8bca486500c80b956d2e2d8e708053982fc39d2ba5e5b9fad141a042bd4eb5b2559a80d1bd59f3f497176afce56374e SHA512 9124fc14481bc1390a743d2365aa51723445e90db428607aa76d7d59e2c73bc4236da4d1a57c765d4484895147f06254bb269f80b0ff9f7029fcb2f782a418a4 -AUX aerospike.conf 1265 BLAKE2B 2851f1a2dcec6b9514ce82b68c832aff55a9d06e4b1127505c377cf18ba118fafaa6b7edea75997142b1c3919d8c55db2edb8b180ded90ca3d1ceeedfef30ff9 SHA512 5d2b2a368bb31e8230d2f88073befbf5f1aa33aecc628b669e5714cfde71e83d53143b28c0ee95b52f13e84027283413927abd97470a97e36946cc05605b15ed -AUX aerospike.init 1194 BLAKE2B d21f481882027c748de84a01f599a0f3e17f7a14c14c1b7b5e9427399d1e01b9339f6061a77ca2eaba71c2950db1fb92af09e49dfa7b20a0a9f40d85f6c3603c SHA512 c8d5db18225aa031d152337981430bef413fc30592d162776fab6c1d1c8ea2876233feba7c73f103fc35091255ef7f31da602c6dcb302d9dcac2ce9a67c97837 -AUX aerospike.logrotate 196 BLAKE2B e52b68100c48c2ea47d28583a80fbc8da44d866884ef159520315641f8e5261f0e8561cf53460a23fe0daa12133023a5a2c8bc4a8efa81bf89f2b17735ff4bc3 SHA512 2810df72e5a570be0d3118b0c3244fb13ae7bb98684219d681f02a1ec1499191e1f7e3455da818a8ca36d36a7d194cf85ee1985930bf6fe63b1723060af05cba -AUX aerospike_mesh.conf 1476 BLAKE2B 76dd16b34f024faec1cbbad526b72dfc389f5ba875928a71147e2a21e1f5cec3754c2bd821d2a329cea475ec5f12b6f4c355d15e0a6092733959a4f6131b5a12 SHA512 a7d5e52738a3153b649cc81d8a9b635b70fe21335802f5c2f348fe71f3b7087ea85aaf926c4ad3ce71514fa1b479f98bc27aadb95995a5bbb8808219bcbe28c4 -AUX aerospike_ssd.conf 1341 BLAKE2B 70720ac3bf9c7b41eb595a4ef2ff16d559abbd2f8c64b09159ea6ad7068513040ac0b036eb4dcd77252b454002935b7e8255c79e6a4ebf06850d3acc325100df SHA512 0382842d4e7b20caaa4c39d999da0cd2b67c24bdd9fad6e5d2d393758b6f788decf0039ae9a262a4db7e89b358cbb9954efd082a15549d12e3e244b2c51675c9 -DIST aerospike-server-community-4.1.0.1-debian7.tgz 16538371 BLAKE2B b879fa134d932dd5c5f3432abd6902e3a1bfd071b7753a78b4d2fdd1cc58e6b875c6793285dbfa18612f9ccd98af4f8ae3a16e7178a30d03715a4d38dc369b1c SHA512 f3954f209a3aab446c193b07fe6c045de89af115f29815a886c99b5648da1e3ff1b348cb1ec4299ce772d7619918e2340de6c25393e04c3bf4b9f1760646625d -EBUILD aerospike-server-community-4.1.0.1.ebuild 1638 BLAKE2B 751741ae79b6700d6233106c6d47daab9ed2d998fafa1162ad19612a4e2ad6865d7a06f698d56aaf52f61ad06203bd6551657a68c0c6d7dd6c027f3a8cd0fd96 SHA512 44c44e9aa4781b43d74d2a2e397c724916ee02da62899525436d6b8eb0b2ac20a9507f3cb2b24cadcf4168859a3b61b6e1dc78ed2c9b9c3bf104f17f10c359c3 -EBUILD aerospike-server-community-9999.ebuild 1921 BLAKE2B 7ee8da5034709fe63c47aa0f6caaf426be2184d68b6f5403261173e4f56fe87ded940b35a65e6994154da9a2ba2c7f023c4c65789a5e12ad1238cce2d3950572 SHA512 3c034f9f0498c74317d8996fca9f022b3eb7d9bca05bea1903e10596a632165a4f1e7ca516cbbf97e24cd8d1b6b89812ae48ec0ee5e448b1436384e3c18fe3fa -MISC metadata.xml 281 BLAKE2B c83365afa5d87cf5b8d65ed299e16797d54a0c5f8632ad69c7449edcd52b32f150bc7f933a9e3662d45c37fc64dfcd97b09b3d265a328cdc3ca6cc609a2311f2 SHA512 d3a33c339bb7409528ddca6187790b842150e273bd7630a610c0be08be50e26278ed7b4d42305bfd1a796544c6be251301c938b15d70e609b9d91bd22161aee6 diff --git a/dev-db/aerospike-server-community/aerospike-server-community-4.1.0.1.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-4.1.0.1.ebuild deleted file mode 100644 index a69846b1bc8b..000000000000 --- a/dev-db/aerospike-server-community/aerospike-server-community-4.1.0.1.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils user - -DESCRIPTION="Flash-optimized, in-memory, nosql database" -HOMEPAGE="http://www.aerospike.com" -SRC_URI="http://www.aerospike.com/artifacts/${PN}/${PV}/${P}-debian7.tgz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -RDEPEND="sys-libs/readline:0 - sys-libs/zlib - dev-libs/openssl:0 - " -DEPEND="${RDEPEND}" - -S="${WORKDIR}/${P}-debian7" - -pkg_setup() { - enewgroup aerospike - enewuser aerospike -1 /bin/bash /opt/aerospike aerospike -} - -src_prepare() { - local server_deb="${P}.debian7.x86_64.deb" - local tools_deb="aerospike-tools-3.15.3.6.debian7.x86_64.deb" - - ar x "${server_deb}" || die - tar xzf data.tar.gz && rm data.tar.gz || die - - ar x "${tools_deb}" || die - tar xzf data.tar.gz && rm data.tar.gz || die - - rm *.deb asinstall control.tar.gz debian-binary LICENSE SHA256SUMS - rm usr/bin/{asfixownership,asmigrate2to3} -} - -src_install() { - insinto /opt/ - doins -r opt/aerospike - - fperms +x -R /opt/aerospike/bin/ - fperms +x -R /opt/aerospike/lib/python/ - - for dir in '/etc' '/var/log'; do - keepdir "${dir}/aerospike" - done - - insinto /etc/aerospike - for conf in 'aerospike.conf' 'aerospike_mesh.conf' 'aerospike_ssd.conf'; do - doins "${FILESDIR}/${conf}" - done - - insinto /usr/bin - doins usr/bin/* - fperms +x -R /usr/bin/asd - - insinto /etc/logrotate.d - newins "${FILESDIR}"/aerospike.logrotate aerospike - - newinitd "${FILESDIR}"/aerospike.init aerospike - - fowners -R aerospike:aerospike /opt/aerospike/ - fowners aerospike:aerospike /usr/bin/asd - fowners -R aerospike:aerospike /var/log/aerospike -} diff --git a/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild deleted file mode 100644 index 0ff1b892d746..000000000000 --- a/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit git-r3 systemd user - -DESCRIPTION="Flash-optimized, in-memory, nosql database" -HOMEPAGE="http://www.aerospike.com" -EGIT_REPO_URI="https://github.com/aerospike/aerospike-server.git" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="" -IUSE="+tools" - -RDEPEND=" - dev-libs/jansson - dev-libs/jemalloc" -DEPEND="${RDEPEND}" - -DOCS=( - README.md -) - -PATCHES=( - "${FILESDIR}"/3.5.8-use-system-libs.patch -) - -pkg_setup() { - enewgroup aerospike - enewuser aerospike -1 /bin/bash /opt/aerospike aerospike -} - -src_prepare() { - base_src_prepare - - git submodule update --init - - sed \ - -e 's/USE_SYSTEM_JEM = 0/USE_SYSTEM_JEM = 1/g' \ - -e 's/USE_SYSTEM_JANSSON = 0/USE_SYSTEM_JANSSON = 1/g' \ - -e 's/LD_CRYPTO = static/LD_CRYPTO = dynamic/g' \ - -e 's/LD_JANSSON = static/LD_JANSSON = dynamic/g' \ - -e 's/LD_JEM = static/LD_JEM = dynamic/g' \ - -i make_in/Makefile.vars || die - - rm -rf modules/jansson - rm -rf modules/jemalloc -} - -src_install() { - base_src_install_docs - - dobin target/Linux-x86_64/bin/asd - - insinto /opt/aerospike/sys/udf/lua - doins -r modules/lua-core/src/* - - if use tools; then - insinto /opt/aerospike/bin - doins tools/afterburner/afterburner.sh - fperms +x /opt/aerospike/bin/afterburner.sh - fi - - keepdir /opt/aerospike/usr/udf/lua - keepdir /var/log/aerospike - - insinto /etc/aerospike - for conf in aerospike.conf aerospike_mesh.conf aerospike_ssd.conf; do - sed -e "s@/var/run/aerospike/asd.pid@/run/aerospike/aerospike.pid@g" -i as/etc/"${conf}" || die - doins as/etc/"${conf}" - done - - insinto /etc/logrotate.d - newins as/etc/logrotate_asd aerospike - - newinitd "${FILESDIR}"/aerospike.init aerospike - systemd_newunit as/etc/aerospike-server.service aerospike.service - - fowners -R aerospike:aerospike /opt/aerospike/ - fowners aerospike:aerospike /usr/bin/asd - fowners -R aerospike:aerospike /var/log/aerospike -} diff --git a/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch b/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch deleted file mode 100644 index eb69f5ff2e51..000000000000 --- a/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/Makefile b/Makefile -index d4ce8ac..26271fd 100644 ---- a/Makefile -+++ b/Makefile -@@ -54,12 +54,16 @@ ifeq ($(USE_ASM),1) - $(MAKE) -C $(ASMALLOC) jem SRCDIR=src - endif - ifeq ($(USE_JEM),1) -+ifeq ($(USE_SYSTEM_JEM),0) - $(MAKE) -C $(JEMALLOC) - endif -+endif - ifeq ($(USE_LUAJIT),1) - $(MAKE) -C $(LUAJIT) Q= TARGET_SONAME=libluajit.so CCDEBUG=-g - endif -+ifeq ($(USE_SYSTEM_JANSSON),0) - $(MAKE) -C $(JANSSON) -+endif - $(MAKE) -C $(COMMON) CF=$(CF) EXT_CFLAGS="$(EXT_CFLAGS)" - $(MAKE) -C $(CF) - $(MAKE) -C $(MOD_LUA) CF=$(CF) COMMON=$(COMMON) LUA_CORE=$(LUA_CORE) EXT_CFLAGS="$(EXT_CFLAGS)" USE_LUAJIT=$(USE_LUAJIT) LUAJIT=$(LUAJIT) -@@ -174,16 +178,24 @@ mexp2: mexp1 - $(MAKE) MEXP_PHASE=2 SRCDIR=$(realpath $(MEXP_DIR))/ - - $(JANSSON)/configure: -+ifeq ($(USE_SYSTEM_JANSSON),0) - cd $(JANSSON) && autoreconf -i -+endif - - $(JANSSON)/Makefile: $(JANSSON)/configure -+ifeq ($(USE_SYSTEM_JANSSON),0) - cd $(JANSSON) && ./configure $(JANSSON_CONFIG_OPT) -+endif - - $(JEMALLOC)/configure: -+ifeq ($(USE_SYSTEM_JEM),0) - cd $(JEMALLOC) && autoconf -+endif - - $(JEMALLOC)/Makefile: $(JEMALLOC)/configure -+ifeq ($(USE_SYSTEM_JEM),0) - cd $(JEMALLOC) && ./configure $(JEM_CONFIG_OPT) -+endif - - $(LUAJIT)/src/luaconf.h: $(LUAJIT)/src/luaconf.h.orig - ln -s $(notdir $<) $@ -diff --git a/make_in/Makefile.vars b/make_in/Makefile.vars -index efe3226..0b54701 100644 ---- a/make_in/Makefile.vars -+++ b/make_in/Makefile.vars -@@ -31,6 +31,12 @@ ifeq ($(USE_ASM),1) - EXT_CFLAGS += -DUSE_ASM - endif - -+# Use the system provided JEMalloc memory allocator? [By default, no.] -+USE_SYSTEM_JEM = 0 -+ -+# Use the system provided Jansson JSON API Library? [By default, no.] -+USE_SYSTEM_JANSSON = 0 -+ - # Use the JEMalloc memory allocator? [By default, yes.] - USE_JEM = 1 - diff --git a/dev-db/aerospike-server-community/files/aerospike.conf b/dev-db/aerospike-server-community/files/aerospike.conf deleted file mode 100644 index 842873bd3e8e..000000000000 --- a/dev-db/aerospike-server-community/files/aerospike.conf +++ /dev/null @@ -1,70 +0,0 @@ -# Aerospike database configuration file. - -service { - user root - group root - paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1. - pidfile /run/aerospike/aerospike.pid - service-threads 4 - transaction-queues 4 - transaction-threads-per-queue 4 - proto-fd-max 15000 -} - -logging { - # Log file must be an absolute path. - file /var/log/aerospike/aerospike.log { - context any info - } -} - -network { - service { - address any - port 3000 - } - - heartbeat { - mode multicast - address 239.1.99.222 - port 9918 - - # To use unicast-mesh heartbeats, remove the 3 lines above, and see - # aerospike_mesh.conf for alternative. - - interval 150 - timeout 10 - } - - fabric { - port 3001 - } - - info { - port 3003 - } -} - -namespace test { - replication-factor 2 - memory-size 4G - default-ttl 30d # 30 days, use 0 to never expire/evict. - - storage-engine memory -} - -namespace bar { - replication-factor 2 - memory-size 4G - default-ttl 30d # 30 days, use 0 to never expire/evict. - - storage-engine memory - - # To use file storage backing, comment out the line above and use the - # following lines instead. -# storage-engine device { -# file /opt/aerospike/data/bar.dat -# filesize 16G -# data-in-memory true # Store data in memory in addition to file. -# } -} diff --git a/dev-db/aerospike-server-community/files/aerospike.init b/dev-db/aerospike-server-community/files/aerospike.init deleted file mode 100644 index b1dac8078d6d..000000000000 --- a/dev-db/aerospike-server-community/files/aerospike.init +++ /dev/null @@ -1,53 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -config_file=${config_file:-/etc/aerospike/${SVCNAME}.conf} -run_dir=${run_dir:-/run/aerospike} - -command="/usr/bin/asd" -command_args="--config-file ${config_file}" -command_background="false" -pidfile=${run_dir}/${SVCNAME}.pid -user=${user:-aerospike} -group=${group:-aerospike} -start_stop_daemon_args="--user ${user} --group ${group}" -required_files="${config_file}" - -depend() { - use net -} - -set_shmall() { - mem=`/sbin/sysctl -n kernel.shmall` - min=4294967296 - if [ ${#mem} -le ${#min} ]; then - if [ $mem -lt $min ]; then - ewarn "kernel.shmall too low, setting to 4G pages = 16TB" - /sbin/sysctl -w kernel.shmall=$min - fi - fi -} - -set_shmmax() { - mem=`/sbin/sysctl -n kernel.shmmax` - min=1073741824 - if [ ${#mem} -le ${#min} ]; then - if [ $mem -lt $min ]; then - ewarn "kernel.shmmax too low, setting to 1GB" - /sbin/sysctl -w kernel.shmmax=$min - fi - fi -} - -start_pre() { - checkpath -d -m 0755 -o "${user}":"${group}" "${run_dir}" - set_shmall - set_shmmax - ulimit -n 100000 - if [ -n $LD_PRELOAD ]; then export LD_PRELOAD; fi -} - -start_post() { - ewaitfile 60 "${pidfile}" -} diff --git a/dev-db/aerospike-server-community/files/aerospike.logrotate b/dev-db/aerospike-server-community/files/aerospike.logrotate deleted file mode 100644 index 04aabc4a6017..000000000000 --- a/dev-db/aerospike-server-community/files/aerospike.logrotate +++ /dev/null @@ -1,10 +0,0 @@ -/var/log/aerospike/aerospike.log { - daily - rotate 90 - dateext - compress - olddir /var/log/aerospike/ - postrotate - kill -HUP `cat /var/run/aerospike/aerospike.pid` - endscript -} diff --git a/dev-db/aerospike-server-community/files/aerospike_mesh.conf b/dev-db/aerospike-server-community/files/aerospike_mesh.conf deleted file mode 100644 index 26274f310ed0..000000000000 --- a/dev-db/aerospike-server-community/files/aerospike_mesh.conf +++ /dev/null @@ -1,73 +0,0 @@ -# Aerospike database configuration file for deployments using mesh heartbeats. - -service { - user root - group root - paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1. - pidfile /run/aerospike/aerospike.pid - service-threads 4 - transaction-queues 4 - transaction-threads-per-queue 4 - proto-fd-max 15000 -} - -logging { - # Log file must be an absolute path. - file /var/log/aerospike/aerospike.log { - context any info - } -} - -network { - service { - address any - port 3000 - } - - heartbeat { - mode mesh - port 3002 # Heartbeat port for this node. - - # List one or more other nodes, one ip-address & port per line: - mesh-seed-address-port 10.10.10.10 3002 -# mesh-seed-address-port 10.10.10.11 3002 -# mesh-seed-address-port 10.10.10.12 3002 -# mesh-seed-address-port 10.10.10.13 3002 -# mesh-seed-address-port 10.10.10.14 3002 - - interval 250 - timeout 10 - } - - fabric { - port 3001 - } - - info { - port 3003 - } -} - -namespace test { - replication-factor 2 - memory-size 4G - default-ttl 30d # 30 days, use 0 to never expire/evict. - - storage-engine memory -} - -namespace bar { - replication-factor 2 - memory-size 4G - default-ttl 30d # 30 days, use 0 to never expire/evict. - - storage-engine memory - - # To use file storage backing, comment out the line above and use the - # following lines instead. -# storage-engine device { -# file /opt/aerospike/data/bar.dat -# filesize 16G -# data-in-memory true # Store data in memory in addition to file. -# } -} diff --git a/dev-db/aerospike-server-community/files/aerospike_ssd.conf b/dev-db/aerospike-server-community/files/aerospike_ssd.conf deleted file mode 100644 index 3d75bd6f7d91..000000000000 --- a/dev-db/aerospike-server-community/files/aerospike_ssd.conf +++ /dev/null @@ -1,68 +0,0 @@ -# Aerospike database configuration file for deployments using raw storage. - -service { - user root - group root - paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1. - pidfile /run/aerospike/aerospike.pid - service-threads 8 - transaction-queues 8 - transaction-threads-per-queue 8 - proto-fd-max 15000 -} - -logging { - # Log file must be an absolute path. - file /var/log/aerospike/aerospike.log { - context any info - } -} - -network { - service { - address any - port 3000 - } - - heartbeat { - mode multicast - address 239.1.99.222 - port 9918 - - # To use unicast-mesh heartbeats, remove the 3 lines above, and see - # aerospike_mesh.conf for alternative. - - interval 150 - timeout 10 - } - - fabric { - port 3001 - } - - info { - port 3003 - } -} - -namespace test { - replication-factor 2 - memory-size 4G - default-ttl 30d # 30 days, use 0 to never expire/evict. - - # Warning - legacy data in defined raw partition devices will be erased. - # These partitions must not be mounted by the file system. - storage-engine device { - # Use one or more lines like those below with actual device paths. -# device /dev/sdb -# device /dev/sdc - - # The 2 lines below optimize for SSD. - scheduler-mode noop - write-block-size 128K - - # Use the line below to store data in memory in addition to devices. -# data-in-memory true - } -} - diff --git a/dev-db/aerospike-server-community/metadata.xml b/dev-db/aerospike-server-community/metadata.xml deleted file mode 100644 index 647069390b01..000000000000 --- a/dev-db/aerospike-server-community/metadata.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - </maintainer> - <use> - <flag name="tools">Install extra tools</flag> - </use> -</pkgmetadata> diff --git a/dev-db/freetds/Manifest b/dev-db/freetds/Manifest index c418936ac6cc..640c3426f230 100644 --- a/dev-db/freetds/Manifest +++ b/dev-db/freetds/Manifest @@ -1,3 +1,5 @@ DIST freetds-dev.1.00.558.tar.gz 3151542 BLAKE2B e7b7eb1d4bad1472a675e7657d524837a27ba18176cf410ebad6dcb949cd59bb50e932526790c816c05cf0ba02fb750a1cfbcda10073e5cbf8908bdc4ceb9cc5 SHA512 763f04ae36be8385f9be955defd2d91698389836e80e19019f0da0ee15515d8b7e3733f7659362a307b492dc83830f0a7f27d2a68cb5b56e2ef171ac1dcfeeca +DIST freetds-dev.1.2.18.tar.gz 3406990 BLAKE2B f0134ee0a322cb9e7a7fefbf9e85c60b826318b546febde78e53d5ec22dc2c8e269b7e830da6d84267d16a2dc2cf367a54354765017a40e07af2c3c6be54676e SHA512 315f40ba0d97281f852ec99fac457ec4b2a30879a2384bfa2d7c680aad6c056b6ae23fc192c18db4fba75caff552ef86de7bbfc5d7b608ea5a12531bf9eadc4c EBUILD freetds-1.00.558.ebuild 1890 BLAKE2B f4fb4429996adf84235bc63c9cbe4544e41123e25457820357833e2d41de51fd36434dfd210d4b1a1a529bd5d921b74b86a7f0f1360c11763ba8f5f499f7a05b SHA512 ddd04c9cb5595d029a9ddd0462e5112f4493ebdc22def7ca7e23942e1dac3b6e007eb65e5a35a48a86dcc25749fd636bc2430d84715885a37e177dfc727d9a19 -MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 +EBUILD freetds-1.2.18.ebuild 1634 BLAKE2B 13b90106cbe5666c3202e6fa59897accd4077adb8868288cbc389e593cfceeddda9500decf7e7a955ed2d77c852a9a89d0018dec45bafe8ef2ccf4a9055e88bc SHA512 84f5965abfc6b4ae12d496e51ed8a6569936f054d3ba7040929f5e4eaf4e2c11a211179afba1c0a54763a4c81ccf7b7bb9bdfb1a3f6c41e24a6f39378bf58ef7 +MISC metadata.xml 251 BLAKE2B 632781bc9fafff55239abb98f5b98cd2dfb01f5f8949dec160ef1007a7cfd513ff9f630157acb90efa4d03183cf9fecd5965d79a46ceea694961ff120dc3486c SHA512 8b481bb37df703c67035739c99511a846fa86d497f4d2bb7a8b86a9409cabcfce2b4c0011828c9e42077234ac1ab4af96c2f0c01dd6e7e65ac93b6f75c0779a1 diff --git a/dev-db/freetds/freetds-1.2.18.ebuild b/dev-db/freetds/freetds-1.2.18.ebuild new file mode 100644 index 000000000000..1efdc86b1872 --- /dev/null +++ b/dev-db/freetds/freetds-1.2.18.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# This is from the "current" release series, because the "stable" series +# is a little too stable for us (missing bug fixes, and so on). +MY_PN="${PN}-dev" + +DESCRIPTION="Tabular Datastream Library" +HOMEPAGE="https://www.freetds.org/" +SRC_URI="ftp://ftp.freetds.org/pub/${PN}/current/${MY_PN}.${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos" + +IUSE="debug gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs" +# iODBC and unixODBC are mutually-exclusive choices for +# the ODBC driver manager. Future versions of FreeTDS +# will throw an error if you specify both. +REQUIRED_USE="?? ( iodbc odbc )" + +RESTRICT="test" + +COMMON_DEPEND="virtual/awk + gnutls? ( net-libs/gnutls:= ) + iconv? ( virtual/libiconv ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + odbc? ( dev-db/unixODBC ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${COMMON_DEPEND}" + +# bind-tools is needed because the osql script calls "host". +RDEPEND="${COMMON_DEPEND} + net-dns/bind-tools" + +S="${WORKDIR}/${MY_PN}.${PV}" + +src_configure() { + econf \ + --enable-shared \ + --disable-static \ + $(use_enable debug) \ + $(use_enable iconv libiconv) \ + $(use_enable kerberos krb5) \ + $(use_enable mssql msdblib) \ + $(use_with iodbc) \ + $(use_with odbc unixodbc "${EPREFIX}/usr") \ + $(use_with iconv libiconv-prefix "${EPREFIX}/usr") \ + $(use_with gnutls) \ + $(use_with ssl openssl "${EPREFIX}/usr") +} + +src_install() { + default + + find "${D}" -name '*.la' -delete || die +} diff --git a/dev-db/freetds/metadata.xml b/dev-db/freetds/metadata.xml index 7a38bb900964..7864eef430a6 100644 --- a/dev-db/freetds/metadata.xml +++ b/dev-db/freetds/metadata.xml @@ -2,4 +2,7 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <!-- maintainer-needed --> + <upstream> + <remote-id type="cpe">cpe:/a:freetds:freetds</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-db/libzdb/Manifest b/dev-db/libzdb/Manifest index 767223ea35a0..d57363e8f81e 100644 --- a/dev-db/libzdb/Manifest +++ b/dev-db/libzdb/Manifest @@ -1,3 +1,3 @@ DIST libzdb-3.1.tar.gz 720162 BLAKE2B 2ad8ede7e2a1c0ee831ba546b7756d2688bcde83b537e812c12ab3d42d6bdc13526778ae68b61584a52569f0b42fbeb8462efe379821295d855f585ae3420df4 SHA512 7cf24ccf0f0a938955d8b54af2c6eca8a8f700737beafde9e824129f324511e06adbc11a3fdbd6ad6d9b902fdae6f7caab4e5c1c594d2211be314e3a24c697f3 EBUILD libzdb-3.1-r1.ebuild 1987 BLAKE2B 7747fd2a24c9f45fbd2713d931a41368369964635466442b452af6a1ea38e1b187d26a424981b76da1a9796dd45a94d00fd3f79a2b43e6f9e855e3b0c6b2b719 SHA512 735b7ed0579a6cdc95dec473f6fc0d15891e51d2068ccedec1188b163a3afa285603a32f68352df88c7cd3f5bc9dc15da6cfb41321b4a2b09efd1231e2dfb0f0 -MISC metadata.xml 252 BLAKE2B 607ece46067f5be04418014fa63f92ad521ce98dcd952feb4fcd1bcfcb16fd520bddb62e7f6e14486a7f45a2505cc258067adc1017af98ba9e69a78244bc62a5 SHA512 e7da72c861777d74f6459375f6f43e39f9e4dda779352c3e8942fcd658dcce6f995f016e34a74b331533f1815fba3faa9af024956a804f38a411990878e4bad6 +MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 diff --git a/dev-db/libzdb/metadata.xml b/dev-db/libzdb/metadata.xml index 947ae36c152a..7a38bb900964 100644 --- a/dev-db/libzdb/metadata.xml +++ b/dev-db/libzdb/metadata.xml @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>lordvan@gentoo.org</email> - <name>Thomas Raschbacher</name> - </maintainer> + <!-- maintainer-needed --> </pkgmetadata> diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest index 77b083204e6f..e9594998d6d6 100644 --- a/dev-db/mongodb/Manifest +++ b/dev-db/mongodb/Manifest @@ -1,7 +1,4 @@ -AUX mongodb-3.6.1-fix-scons.patch 1207 BLAKE2B 3c47d72eb940d67f40e4a12becb6de469255446b74aa5e0b2f27e8e0021e77f1af9cce12ae26ed0b05871e995e29d3da1eaee718997bc6de6e62838285946094 SHA512 70efb9309ff5a2415cec6ddca694c33ebaba29d5fb959ecc79907218205a10d4e7329fe48c8c8515bda83751061245d41f4fb11a5d8cd0c80c1db61217acb90e -AUX mongodb-3.6.1-no-compass.patch 2046 BLAKE2B e6b6977b69eb297c6a6340661f906e0206c2b68a1cebfd3c7ca01b27cc05562e0909531a2488159a54db32a05ec0cc4f81b4fe675db51bf3c30d66bc9d484c0b SHA512 5a7257a3670f40453c424ae2e6d2bbe0e3d1c795b57351c24a1b48ea4134146b08310d88a47cbb0c94a0a451a2c4a3c30fb10c44a1b9203681ee9cb5240db412 AUX mongodb-4.0.0-no-compass.patch 2270 BLAKE2B 66659a18d46755e6661b57e2ba020d7b967c455b0bfd5d198e0efd5bab1c0fdbb5def66b9e9fb54b34eb415e9b9231dcb6ba4b943d674e09685b47333af31d22 SHA512 e3b3adae4991e7687b191651f4c93471042bc8f56c5977743afec573fe026df3af1459b8bcbdb4f9995ecfbf83785ad56ccf46d6756429164b1f49524a36fed7 -AUX mongodb-4.0.12-boost-1.71-cxxabi-include.patch 227 BLAKE2B 46a23c95581110282929f6a50f1bb9c2cb1bb8e3027f65a88246c9c16854c80bc809e7498ce5e28b7e9c73a21768f67724f1751f811cb7f787a10f9f6f7c6a85 SHA512 2e0fde98937f1cefe28dd5cb68f2b91910a09c014b0090fc7b742ac8a28863d5d9a50e961339374f14b95eaf1972dc02bb48d59daecdcd8c5d7acc1aed618fa5 AUX mongodb-4.2.0-fix-scons.patch 1174 BLAKE2B 748de9efdb743c836ccb26239d4b3e73632f19846e2c765e5a9fb6fa6c0bcfaf6cc31a63ba0ce54edf5c8a9d0923efd31ddf81fbc7196386d827f59a50b0b352 SHA512 6f971e8b4140068402b5e8cc738fbff1b54645f97e2f463fec37b124c7b93b8302fae25f9ea1f7f3261c93270e662e4cd876db3f092111e3bde0fcbc3eea33c4 AUX mongodb-4.2.10-no-compass.patch 2151 BLAKE2B 724bf4e50c608f2336fcf587c78e68c713fb9b1469c5cf1203f1b155961daa16612ca13fd1fdc10326ebb587c7f339333f92f76d7c770fc043125cc1f931a594 SHA512 a13bea0614dfeb4fe2d81ad0448ecf2364ddd79a9d025f011fbd39c6da5a654e616424f91f7f88c32b00c780d9bc88c497f573b3f1b9a04849c67c4671a26c8d AUX mongodb-4.4.1-boost.patch 761 BLAKE2B 45295d05d23a8c2d72e333b14f06c40d32ff6c0610a244f71303fabf0bf0851d3a8a8c3df9f72aa7363a48a0b44bae45d81422970398f8b4f9753bab3dcf793a SHA512 504ec9a4e41f5e1c1a069d64e0958b260a3a8506d17638e62ddf6f1cd873b835f33a588b779e4851d63351faef4be1e0f4720e86f389128d062909b58fdb9aa2 @@ -16,22 +13,12 @@ AUX mongodb.service 220 BLAKE2B ea55bb2f08066d7399e9e66f981f86395f6a177faa198c66 AUX mongos.conf-r2 648 BLAKE2B 420bebfafc1ef4af4b90580077a803fe30f37d63eca6509e7381ca5fcf4e5bc31e136dfc72b653b4d942fdeda058f9fcecc3dcbec9c61e2c82ac3324b9fc0f44 SHA512 5aa8ced8d83572358e008c0df45dbe72a2e9c0003c9f49514d6b91bf9b75d4fb48b189ffe00d14e5675679943a05215a9873c5c9bde9ab1be4ed4813e75714e3 AUX mongos.confd-r3 470 BLAKE2B 9cf6f201d337430901d957a5a0811ff11ac2e81814aac2120c5018e6ec4c38b5ca22d19caea593834416c63609c69a8294227fb6b30200b41dfb29799cc5c1b4 SHA512 952fb9cf5d3eeea2006b101e23142e408c98d66d1f4f868f6ea5a4df6a6331ddcbcbdfb24f4b031c1a8c42652141a3684073b96dfc0b3fbd21dc6b5bcf0e36cb AUX mongos.initd-r3 422 BLAKE2B 90872d0d8cdc5e33e3eebee848f58a2db0511d48b496ba9318117b74ad9265ead53a21b7d1790729a62d61839099bee315ace8ff3646c01e096a943c2251bf88 SHA512 bf5897614d59c6b4e72529b126408a62ea37d9e9368e5ff69c8fcf2bad3ec09065cff09467f82117a892c51090018706d2f38c03cb9a974a61a49bd9efa0f144 -DIST mongodb-src-r3.6.13.tar.gz 40853787 BLAKE2B de9621de4f570d569df5cfe026ea5da24641c97f1ac9f3e58a0706b1d0bd74757390a075c95c6d3acd12f3c5c7bcbeb9302ac997248c54a5b7910b582debdc82 SHA512 eb84fb22ff871b5ec620d6fc29a6a66072211656e914630ad0f53e4fcad55aa40a76a0e68e68bdbe8ef061bea09ce6ad6aea5d8d865ea8a8fdca0ed829555fcd -DIST mongodb-src-r3.6.17.tar.gz 40932592 BLAKE2B 94bbb943fd929318a2b32344cb4574243ad234d1cd14ffef864d7fd2d60841866fd5a1966eae8f14266a9648deb62b7b55386d41338b515d5e6849e980143d42 SHA512 b4d9e9bfc7ff886532641058c99da29420d1aa472cb4cf2b254e0fd0af5ecc72ac8bf28dcd55ab738b799b00132ffacddd154dea37ccfbf459c7cc603c2582e0 -DIST mongodb-src-r4.0.19.tar.gz 50126414 BLAKE2B 2691e2a9c8833ff9a086b28fd137bc8e8f10d58570117657c7cc01edbf61568ae62f58440d72e8711de98b9fc6868c1095b4ee88eb7b0eb63ea45ce19e842edd SHA512 57032a009ea7e79de4cac496a2d1266b83b99cc45eb9f1169be2fcdca1ed2003a659ceedf9eafbd4aa7fc5b3b0513066a5d712af7666cee5a897b2a2d7dd30cb -DIST mongodb-src-r4.0.20.tar.gz 50160192 BLAKE2B 3395399791b0620d3852b5d0a2ab2419f08127d909fac52035dd2624eb22660069401e71b036f449d8fd46be03b9e48ee548fb0c327b67c1eecc72a6ee9045b8 SHA512 dc18216d9096520b309ff769898fb65cf26f765eb74e5e0517617bdb0732c456620bbce351be5ad9f89bc72fea0b6d3afe13bd4cffe2c2b4ea06c9cb2b3b1696 -DIST mongodb-src-r4.2.10.tar.gz 61800545 BLAKE2B 773f3da589107d932808c30ee3bd09ec006b1c570884fbe6929ea4767581e951fd32b1771e9adf1e392ef97bd4c0e2b4ce5ce30c8bbbfbd63aa36b6ebaa8cbe4 SHA512 3947b2880bc0aaa958f26dfddfe79c7878f389eeeb8d0783360667124d3b253928ef746433c260bf395a219d650a6907bbf712ef61da6137ab85e4e1ba38fcbd DIST mongodb-src-r4.2.11.tar.gz 61829417 BLAKE2B cc989d6ea87a48b7402d119dda4678a966cf96cec0da5d00d792faf06ecb6fbe4bc426069e1a72548410adcbd26162038ec7201e76036ac599af5f53029c0e66 SHA512 ff398a9d3a012e0eb860c2139967e163b8b0ac045c1c47f2c0c5584ba7c60a1403bb423ce8c6e8b3900fdcad1164a84c6da79276f897fd640366e3f80cf54316 DIST mongodb-src-r4.2.8.tar.gz 61730247 BLAKE2B f1d98b8ac8f62c0c7aff100ef663bb20345de0e77e0ff420817db0843fe735b58af8075578a7f8d83cc9dc4e597c95ae09f89ce7a21cf8146ff15bcb11eba924 SHA512 163fce480762bd377d6c78b661bfe51fc883223a5309a68f9556e1bafb99e26e476d81dbe6de825d90469e835442be097be630ca9678e54b9d09091e0b5d67c4 DIST mongodb-src-r4.4.1.tar.gz 49644743 BLAKE2B 7d84998c69b9b55164ebab04b49c38a4113a0f58d431612389ec37eb044fba1adf9284e9d4454bd40bb7a071fd042308a5cd350129d6d52480412cf6b868ec2b SHA512 16aa66995ea8cfe0cc47b96c1c5643a28ab47fc9f27bd93404cf572944ab30492df7c9255553f918b353cd7157a6ccde9ac6f58bfba322fb52c2d7409c6fb9b0 DIST mongodb-src-r4.4.2.tar.gz 49816559 BLAKE2B 0e51302e7e414de9fef74872e44c8de1f5682cb3cac0aa7a02e3c1ee3084669ea647d1e574e8a76a3b6b2f34aa4ef693c8d1f3fa025ec3072eff7b7c408b94e5 SHA512 bbf59ed97a8718576c469c696d5331c122f63528dad950fd415b00269c2fa5e6949b372c575e2504c2a58b145bae485172b25000000481662e6543bc3127252a -EBUILD mongodb-3.6.13.ebuild 4253 BLAKE2B 9c549c4a4f86d0642845b704af18c2f6e813ac71c188b1cc770b188e634dc388368607f92bc164afb24f0e4de09ee77d52a126450a89fa0af3f0254f6d8258d7 SHA512 aeacc08eb48dbd86141d694b1a71579b79da29cfc9f1f2e7727c25ccbb47bdc3f9b4d0091fd269ef04aff7bfce27059ac4059e7f7c14f8258ccc194996999c3b -EBUILD mongodb-3.6.17.ebuild 4239 BLAKE2B 2e88b7f99c60bdc724aba683ac6397634e005ebd0ede16d40620f84de196d77b616defcb2faa1fd84434a922826ebcd53c2902f4cb9fdf052a4b4a4d767b638d SHA512 10425c5c499a7182a22bf80479ddd61bcea5f51c4b99fd64aaf4c8fe29fec9db7dfeca211ead81431faf98f800d5dd3f381be32737acde01d4608d14a9d4f77c -EBUILD mongodb-4.0.19.ebuild 4592 BLAKE2B 7e2feeb4abdfdd2eebe27265665576ea7c899cdb06bf5d5a70e8ac54a227815a93e79d5a58538effd1732b3e8e9e08d9ed38d7a3e6a463c4c21c5f3850ccd77d SHA512 f37ef841a74cb6b9b9f7adf6879977352d94be11e583b8ff475e3610f4c016203ffcad06ce45808734e93a1fff4aee067b29a9e828961abeca59e15e0396604a -EBUILD mongodb-4.0.20.ebuild 4593 BLAKE2B 25a75906f5b037572499b8f5a51bc5df9be6e4e413055c85c340a653809587b9467bb51a6b6bd69d5e9609a062727540b7ca90a71e738958b6d50ae21fb46683 SHA512 661332d0421a768ac8b22d9e5f8bc44c5e7ef986dc2180d3c2163e72190fab3557c378d162a63029c897fa1dc1e1a2e5ed2dde5b22d33e7a84de61fa02a52a08 -EBUILD mongodb-4.2.10.ebuild 4787 BLAKE2B cf0502f0cea2c86387b3ba176a1178f58f5e7c0afd6e804c29ece21b4bcb043456612b2739b7e1faa063a5c850dda9c72705ac55728c3449a8796e5a39f4ea5f SHA512 493750ca11273d0ac744086425fa759059ba45c5580818527f2f669ae4d5f6336b763169553f19ea32f7c6c9f7e611be36e4f3cae5d8d27bf12ea89838760790 EBUILD mongodb-4.2.11.ebuild 4788 BLAKE2B 3f349ec20ebe7c493f8c35f9b6849acc3e1880da17623a71f94bda1860f0d1003e7a9afdf607691ec0c50426fefcd7552d086efde527100e807dad22809be4d2 SHA512 b494549fb51885fcf077b30024ed9da1efb16cd1172be4a0b52337c7e012e089d03191e67c9f50e4413c0728d9cac5e8bf872bc03c769445775bbcda42522acc EBUILD mongodb-4.2.8.ebuild 4785 BLAKE2B 882ce4365612621348c851383ea19a20db880a11c4b7eb38ac3e7e4508a231d3c4bfca90615425eb9801cee85885c2cccfa61aeef1c26b5f22c4971cc8f31c5c SHA512 3c3fa9e7698f8853f9310bab8890e8e30c1bbc095eb2ede1f6196accaaf770cf1bec94b1bfaf019fdf727f9f1243f0dc2dfcaacbfd651187e852d4aa171e04ce EBUILD mongodb-4.4.1.ebuild 4873 BLAKE2B 238cd0ded14cccbb88e5b0fd9c9ae391bd3c0a17c8aa7f8bfd12f3916a725c576df7cfb4849c0735301d13cb895f86858e5e72b9d7d3805dbc257bdcd7e4b89a SHA512 190549c03ad957d79dbfdaf96be0f9c2b2abeb86159750a4f771345774dbb08037481d0145cf517ecb56ce8051cd7229ae15a94e8a54ce478ce98644e206246c EBUILD mongodb-4.4.2.ebuild 4828 BLAKE2B 269b1275bfc3bf57ef3dd3036a5cdcf0c8b51327e26e366450d9cd0172bd7b0dca94714fed4c48332b7c55aff1c0f2aa8d42ffed0d5a6978902cce435a333398 SHA512 e6b8c5b1eb5b075906f062b8c89e0884028ea839721944ce8ec30d7cddd4b511342645035e185407e1f3f8bef052fcbd1e8312eba30d5eb91300abf7de81b3ed -MISC metadata.xml 901 BLAKE2B f7fde58679ba05518634b82bf5fcc371897165364fe5b023a2ec161790c869de82b4a3dd769d5e1bb450f99679869b60bb1e35beb8d41c54d3448dfca580a7ae SHA512 48f133d396aa31b992bac5f947e5a262b2d07a1016c6d49fa3c86dabb85981edfa332abb867413826762d88051ff3981cc77c2ec92e992d7a231c3b542336e36 +MISC metadata.xml 824 BLAKE2B d7e131d6292b092deb2001bbd6f3d6f6a908f57a064f36f64429696849633ae5ff8dee36604e9952a90ef160b834c56f91d085be7c67a6f9a973c83875bf426c SHA512 cc3555829b1587640259c30c8ede022846ad60993d064ba43d16b28ef5b4a46e5b1fad6818826d4668f0738d27a43f29c5ec769fd647076828e275b5d325e748 diff --git a/dev-db/mongodb/files/mongodb-3.6.1-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.6.1-fix-scons.patch deleted file mode 100644 index d7bfb35b00d5..000000000000 --- a/dev-db/mongodb/files/mongodb-3.6.1-fix-scons.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/SConstruct b/SConstruct -index fe7975b..92659a7 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -1619,7 +1619,6 @@ if env.TargetOSIs('posix'): - # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. - env.Append( CCFLAGS=["-fno-omit-frame-pointer", - "-fno-strict-aliasing", -- "-ggdb", - "-pthread", - "-Wall", - "-Wsign-compare", -@@ -1631,6 +1630,8 @@ if env.TargetOSIs('posix'): - env.Append( CCFLAGS=["-Werror"] ) - - env.Append( CXXFLAGS=["-Woverloaded-virtual"] ) -+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) -+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) - if env.ToolchainIs('clang'): - env.Append( CXXFLAGS=['-Werror=unused-result'] ) - -@@ -1650,8 +1651,8 @@ if env.TargetOSIs('posix'): - - env.Append( LIBS=[] ) - -- #make scons colorgcc friendly -- for key in ('HOME', 'TERM'): -+ #make scons colorgcc, distcc, ccache friendly -+ for key in ('HOME', 'PATH', 'TERM'): - try: - env['ENV'][key] = os.environ[key] - except KeyError: diff --git a/dev-db/mongodb/files/mongodb-3.6.1-no-compass.patch b/dev-db/mongodb/files/mongodb-3.6.1-no-compass.patch deleted file mode 100644 index 133c10fd258b..000000000000 --- a/dev-db/mongodb/files/mongodb-3.6.1-no-compass.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/src/mongo/SConscript b/src/mongo/SConscript -index 9cde728..e29664e 100644 ---- a/src/mongo/SConscript -+++ b/src/mongo/SConscript -@@ -629,33 +629,6 @@ for full_dir, archive_dir in env["ARCHIVE_ADDITION_DIR_MAP"].items(): - for target in env["DIST_BINARIES"]: - installBinary(env, "db/modules/" + target) - --# Set the download url to the right place --compass_type = 'compass-community' --if 'enterprise' in env['MONGO_MODULES']: -- compass_type = 'compass' -- --compass_script = "install_compass" --if env.TargetOSIs('windows'): -- # On windows the .in needs to be explicitly added to the file. -- compass_script = "Install-Compass.ps1.in" -- --compass_python_interpreter = '/usr/bin/env python2' --if env.TargetOSIs('darwin'): -- compass_python_interpreter = '/usr/bin/env python' -- --compass_installer = env.Substfile('#/src/mongo/installer/compass/' + compass_script, -- SUBST_DICT=[ -- ('@compass_type@', compass_type), -- ('@python_interpreter@', compass_python_interpreter), -- ]) --distBinaries.append(compass_installer) -- --compass_script_installer = env.Install("$INSTALL_DIR/bin", compass_installer) -- --if env.TargetOSIs('posix'): -- env.AddPostAction( compass_script_installer, 'chmod 755 $TARGET' ) -- env.AddPostAction( compass_installer, 'chmod 755 $TARGET' ) -- - # "dist" target is valid only when --use-new-tools is specified - # Attempts to build release artifacts without tools must fail - if has_option("use-new-tools"): -@@ -673,7 +646,6 @@ if has_option("use-new-tools"): - '--transform $BUILD_DIR/mongo=$SERVER_DIST_BASENAME/bin', - '--transform $BUILD_DIR/mongo/stripped/src/mongo-tools=$SERVER_DIST_BASENAME/bin', - '--transform src/mongo-tools=$SERVER_DIST_BASENAME/bin', -- '--transform src/mongo/installer/compass=$SERVER_DIST_BASENAME/bin', - '${TEMPFILE(SOURCES[1:])}' - ], - ), diff --git a/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch b/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch deleted file mode 100644 index b65f91236770..000000000000 --- a/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/mongo/util/heap_profiler.cpp -+++ b/src/mongo/util/heap_profiler.cpp -@@ -49,6 +49,9 @@ - #include <dlfcn.h> - #include <execinfo.h> - -+// for abi::__cxa_demangle -+#include <cxxabi.h> -+ - // - // Sampling heap profiler - // diff --git a/dev-db/mongodb/metadata.xml b/dev-db/mongodb/metadata.xml index 5379d9760d42..a12b5966959c 100644 --- a/dev-db/mongodb/metadata.xml +++ b/dev-db/mongodb/metadata.xml @@ -15,7 +15,6 @@ </longdescription> <use> <flag name="lto">Adds support for link time optimization</flag> - <flag name="mms-agent">Install the MongoDB Monitoring Service agent</flag> <flag name="tools">Install the MongoDB tools (mongoimport, mongodump...) from <pkg>app-admin/mongo-tools</pkg></flag> </use> </pkgmetadata> diff --git a/dev-db/mongodb/mongodb-3.6.13.ebuild b/dev-db/mongodb/mongodb-3.6.13.ebuild deleted file mode 100644 index 85e64d7df806..000000000000 --- a/dev-db/mongodb/mongodb-3.6.13.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user - -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="Apache-2.0 SSPL-1" -SLOT="0" -KEYWORDS="amd64" -IUSE="debug kerberos libressl lto mms-agent ssl test +tools" -RESTRICT="!test? ( test )" - -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:= - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - ') - sys-libs/ncurses:0= - sys-libs/readline:0= - debug? ( dev-util/valgrind ) - test? ( - $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]') - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-3.6.1-fix-scons.patch" - "${FILESDIR}/${PN}-3.6.1-no-compass.patch" -) - -S="${WORKDIR}/${MY_P}" - -pkg_pretend() { - if [[ -n ${REPLACING_VERSIONS} ]]; then - if ver_test "$REPLACING_VERSIONS" -lt 3.4; then - ewarn "To upgrade from a version earlier than the 3.4-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.4-series. Then upgrade to 3.6 series." - else - ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading." - fi - fi -} - -pkg_setup() { - enewgroup mongodb - enewuser mongodb -1 -1 /var/lib/${PN} mongodb - - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # remove bundled libs - rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die - - # remove compass - rm -r src/mongo/installer/compass || die -} - -src_configure() { - # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source - # --use-system-icu fails tests - # --use-system-tcmalloc is strongly NOT recommended: - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - use debug && scons_opts+=( --dbg=on ) - use kerberos && scons_opts+=( --use-sasl-client ) - use lto && scons_opts+=( --lto=on ) - use ssl && scons_opts+=( --ssl ) - - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - - default -} - -src_compile() { - escons "${scons_opts[@]}" core tools -} - -# FEATURES="test -usersandbox" emerge dev-db/mongodb -src_test() { - "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} - newinitd "${FILESDIR}/mongos.initd-r3" mongos - newconfd "${FILESDIR}/mongos.confd-r3" mongos - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/mongos.conf-r2" mongos.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} - - local x - for x in /var/{lib,log}/${PN}; do - diropts -m0750 -o mongodb -g mongodb - keepdir "${x}" - done -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.6.17.ebuild b/dev-db/mongodb/mongodb-3.6.17.ebuild deleted file mode 100644 index b5718c0c148c..000000000000 --- a/dev-db/mongodb/mongodb-3.6.17.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs - -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="Apache-2.0 SSPL-1" -SLOT="0" -KEYWORDS="~amd64" -IUSE="debug kerberos libressl lto mms-agent ssl test +tools" -RESTRICT="!test? ( test )" - -RDEPEND="acct-group/mongodb - acct-user/mongodb - >=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:= - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - ') - sys-libs/ncurses:0= - sys-libs/readline:0= - debug? ( dev-util/valgrind ) - test? ( - $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]') - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-3.6.1-fix-scons.patch" - "${FILESDIR}/${PN}-3.6.1-no-compass.patch" - "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch" -) - -S="${WORKDIR}/${MY_P}" - -pkg_pretend() { - if [[ -n ${REPLACING_VERSIONS} ]]; then - if ver_test "$REPLACING_VERSIONS" -lt 3.4; then - ewarn "To upgrade from a version earlier than the 3.4-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.4-series. Then upgrade to 3.6 series." - else - ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading." - fi - fi -} - -src_prepare() { - default - - # remove bundled libs - rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die - - # remove compass - rm -r src/mongo/installer/compass || die -} - -src_configure() { - # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source - # --use-system-icu fails tests - # --use-system-tcmalloc is strongly NOT recommended: - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - use debug && scons_opts+=( --dbg=on ) - use kerberos && scons_opts+=( --use-sasl-client ) - use lto && scons_opts+=( --lto=on ) - use ssl && scons_opts+=( --ssl ) - - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - - default -} - -src_compile() { - escons "${scons_opts[@]}" core tools -} - -# FEATURES="test -usersandbox" emerge dev-db/mongodb -src_test() { - "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} - newinitd "${FILESDIR}/mongos.initd-r3" mongos - newconfd "${FILESDIR}/mongos.confd-r3" mongos - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/mongos.conf-r2" mongos.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} - - local x - for x in /var/{lib,log}/${PN}; do - diropts -m0750 -o mongodb -g mongodb - keepdir "${x}" - done -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-4.0.19.ebuild b/dev-db/mongodb/mongodb-4.0.19.ebuild deleted file mode 100644 index 8b315a9df686..000000000000 --- a/dev-db/mongodb/mongodb-4.0.19.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs - -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="Apache-2.0 SSPL-1" -SLOT="0" -KEYWORDS="amd64" -IUSE="debug kerberos libressl lto mms-agent ssl test +tools" -RESTRICT="!test? ( test )" - -RDEPEND="acct-group/mongodb - acct-user/mongodb - >=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:= - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - test? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - >=dev-util/scons-2.5.0[${PYTHON_USEDEP}] - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - ') - sys-libs/ncurses:0= - sys-libs/readline:0= - debug? ( dev-util/valgrind )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-3.6.1-fix-scons.patch" - "${FILESDIR}/${PN}-4.0.0-no-compass.patch" - "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch" -) - -S="${WORKDIR}/${MY_P}" - -pkg_pretend() { - if [[ -n ${REPLACING_VERSIONS} ]]; then - if ver_test "$REPLACING_VERSIONS" -lt 3.6; then - ewarn "To upgrade from a version earlier than the 3.6-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.6-series. Then upgrade to 4.0 series." - else - ewarn "Be sure to set featureCompatibilityVersion to 3.6 before upgrading." - fi - fi -} - -python_check_deps() { - if use test; then - has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || - return 1 - fi - - has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" && - has_version "dev-python/cheetah[${PYTHON_USEDEP}]" && - has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" && - has_version "dev-python/typing[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - # remove bundled libs - rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die - - # remove compass - rm -r src/mongo/installer/compass || die -} - -src_configure() { - # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source - # --use-system-icu fails tests - # --use-system-tcmalloc is strongly NOT recommended: - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - use debug && scons_opts+=( --dbg=on ) - use kerberos && scons_opts+=( --use-sasl-client ) - use lto && scons_opts+=( --lto=on ) - use ssl && scons_opts+=( --ssl ) - - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - - default -} - -src_compile() { - escons "${scons_opts[@]}" core tools -} - -# FEATURES="test -usersandbox" emerge dev-db/mongodb -src_test() { - "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} - newinitd "${FILESDIR}/mongos.initd-r3" mongos - newconfd "${FILESDIR}/mongos.confd-r3" mongos - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/mongos.conf-r2" mongos.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} - - local x - for x in /var/{lib,log}/${PN}; do - diropts -m0750 -o mongodb -g mongodb - keepdir "${x}" - done -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-4.0.20.ebuild b/dev-db/mongodb/mongodb-4.0.20.ebuild deleted file mode 100644 index 651219492475..000000000000 --- a/dev-db/mongodb/mongodb-4.0.20.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs - -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="Apache-2.0 SSPL-1" -SLOT="0" -KEYWORDS="~amd64" -IUSE="debug kerberos libressl lto mms-agent ssl test +tools" -RESTRICT="!test? ( test )" - -RDEPEND="acct-group/mongodb - acct-user/mongodb - >=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:= - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - test? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - >=dev-util/scons-2.5.0[${PYTHON_USEDEP}] - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/typing[${PYTHON_USEDEP}] - ') - sys-libs/ncurses:0= - sys-libs/readline:0= - debug? ( dev-util/valgrind )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-3.6.1-fix-scons.patch" - "${FILESDIR}/${PN}-4.0.0-no-compass.patch" - "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch" -) - -S="${WORKDIR}/${MY_P}" - -pkg_pretend() { - if [[ -n ${REPLACING_VERSIONS} ]]; then - if ver_test "$REPLACING_VERSIONS" -lt 3.6; then - ewarn "To upgrade from a version earlier than the 3.6-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.6-series. Then upgrade to 4.0 series." - else - ewarn "Be sure to set featureCompatibilityVersion to 3.6 before upgrading." - fi - fi -} - -python_check_deps() { - if use test; then - has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || - return 1 - fi - - has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" && - has_version "dev-python/cheetah[${PYTHON_USEDEP}]" && - has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" && - has_version "dev-python/typing[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - # remove bundled libs - rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die - - # remove compass - rm -r src/mongo/installer/compass || die -} - -src_configure() { - # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source - # --use-system-icu fails tests - # --use-system-tcmalloc is strongly NOT recommended: - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - use debug && scons_opts+=( --dbg=on ) - use kerberos && scons_opts+=( --use-sasl-client ) - use lto && scons_opts+=( --lto=on ) - use ssl && scons_opts+=( --ssl ) - - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - - default -} - -src_compile() { - escons "${scons_opts[@]}" core tools -} - -# FEATURES="test -usersandbox" emerge dev-db/mongodb -src_test() { - "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} - newinitd "${FILESDIR}/mongos.initd-r3" mongos - newconfd "${FILESDIR}/mongos.confd-r3" mongos - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/mongos.conf-r2" mongos.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} - - local x - for x in /var/{lib,log}/${PN}; do - diropts -m0750 -o mongodb -g mongodb - keepdir "${x}" - done -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-4.2.10.ebuild b/dev-db/mongodb/mongodb-4.2.10.ebuild deleted file mode 100644 index 763bd774d5a7..000000000000 --- a/dev-db/mongodb/mongodb-4.2.10.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) - -SCONS_MIN_VERSION="2.5.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs - -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="Apache-2.0 SSPL-1" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="debug kerberos libressl lto ssl test +tools" -RESTRICT="!test? ( test )" - -RDEPEND="acct-group/mongodb - acct-user/mongodb - >=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.6.2:= - >=dev-libs/boost-1.70:=[threads(+)] - >=dev-libs/libpcre-8.42[cxx] - app-arch/zstd - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.11:= - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] ) - >=dev-util/scons-2.5.0[${PYTHON_USEDEP}] - dev-python/cheetah3[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - ') - sys-libs/ncurses:0= - sys-libs/readline:0= - debug? ( dev-util/valgrind )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-4.2.0-fix-scons.patch" - "${FILESDIR}/${PN}-4.2.10-no-compass.patch" -) - -S="${WORKDIR}/${MY_P}" - -python_check_deps() { - if use test; then - has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1 - has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1 - fi - - has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" && - has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" && - has_version "dev-python/psutil[${PYTHON_USEDEP}]" && - has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" -} - -pkg_pretend() { - if [[ -n ${REPLACING_VERSIONS} ]]; then - if ver_test "$REPLACING_VERSIONS" -lt 4.0; then - ewarn "To upgrade from a version earlier than the 4.0-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 4.0-series. Then upgrade to 4.2 series." - else - ewarn "Be sure to set featureCompatibilityVersion to 4.0 before upgrading." - fi - fi -} - -src_prepare() { - default - - # remove bundled libs - rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*,zstandard-*} || die - - # remove compass - rm -r src/mongo/installer/compass || die -} - -src_configure() { - # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source - # --use-system-icu fails tests - # --use-system-tcmalloc is strongly NOT recommended: - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - --use-system-zstd - ) - - use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300 - use debug && scons_opts+=( --dbg=on ) - use kerberos && scons_opts+=( --use-sasl-client ) - use lto && scons_opts+=( --lto=on ) - use ssl && scons_opts+=( --ssl ) - - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - - default -} - -src_compile() { - escons "${scons_opts[@]}" core tools -} - -# FEATURES="test -usersandbox" emerge dev-db/mongodb -src_test() { - ewarn "Tests may hang with FEATURES=usersandbox" - "${EPYTHON}" ./buildscripts/resmoke.py run --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed with ${EPYTHON}" -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} - newinitd "${FILESDIR}/mongos.initd-r3" mongos - newconfd "${FILESDIR}/mongos.confd-r3" mongos - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/mongos.conf-r2" mongos.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} - - local x - for x in /var/{lib,log}/${PN}; do - diropts -m0750 -o mongodb -g mongodb - keepdir "${x}" - done -} - -pkg_postinst() { - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/" - ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures" -} diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest index ca98176d738b..a74f20e3ad92 100644 --- a/dev-db/myodbc/Manifest +++ b/dev-db/myodbc/Manifest @@ -3,5 +3,7 @@ AUX myodbc-8.0.19-cxxlinkage.patch 812 BLAKE2B 18e0f62ceb6bb33ad282972a8aae2f755 AUX odbc.ini.m4 406 BLAKE2B 3a20c28b1971753a14a4aa4d30efcc7de833488501a41d9404987567623d48250ce1daea1d3138adaef36741c4f2e0eafc60eba554e5262b45084f93f5205160 SHA512 84ab2a3aab594123d42b65205a7faf8e91fe9416a9e3c4c4c354533b9a298395f59172649c91dc0b671392bfbe5baeaddb6aa47119ce4c825917f3977d9dd521 AUX odbcinst.ini.m4 118 BLAKE2B 6da835746e063f415ad7d640233cfd96e744cd56e12aaab4a21a2bf0bd5f1bd1e5c3d1c9a28522e3aa07c1261abac92301819d4112ac6a000a729aca9f7f7ad6 SHA512 6d929bbffd602a9f060a05998149a6b16334f8a5e3db30d02ff5d38c0065085d085042521e700b87a63766e32aa27ae92be72cef33c2a7aa8f6767b6b71c82c8 DIST mysql-connector-odbc-8.0.22-src.tar.gz 3726015 BLAKE2B 055920446767b0c9a30a0ca4773e71d662b398a9849df1a0b7975d71a21cfb23f540d8dda5430c717569f173e63673d3e51b025bb098e51202093d33e19bc142 SHA512 c613ae60346cea2e57bade89d813fd5ac21d0712d3d751e3acbc275421da6ac7593afc3da9fb6d161ee413f60e76e670f0c84876591f331925c980d969db4e8c +DIST mysql-connector-odbc-8.0.23-src.tar.gz 3726277 BLAKE2B 21b5e6f3f7e77d6107268800441675a230c79071e52db39093fade6e02031c12c96371d165af9459e9739e069e5b4196f0169dff54c0fa300e7a3023e8a82722 SHA512 2f66b5e1796176d638b1209b7d3381c2600a11cc88fa0dfb1f29b16a6c59386926674d5581d4843036d061af09312d58620484730bd7cdad36c0a0dcd45d49a9 EBUILD myodbc-8.0.22.ebuild 3113 BLAKE2B e27fc21290dfa09309813f047e0c72bad42c2cc5ca6aa54c3698b0456b42007d3c7676c5062838be9ecb8033d8b1e12dae01a7bc213cd7ce3356bdd30dee7a86 SHA512 f34dc7a7aaa9825c42ffca24cb9ffa136a8e0abeb5de0871bb3413f7b28cc8587fb01768d60ca55434787ca818acb29d97b13b6ba3ef9e3791e38c8f7b445652 +EBUILD myodbc-8.0.23.ebuild 3227 BLAKE2B a3bed9bda637b48b5803ef8e5892298b911e6b9cfba9f98481e32181c46ce8d980934b87d812af7e3da2c41755474b0edd6ec8e1881a7286340728d8b647f064 SHA512 a977d4c1b8991e200e79219e69e09f20c8a1e4699caa05ef209eb4f693cc8fb73d6175e5305820785931d05857effc8795dc037affff2aff0ca7532520e7692b MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/myodbc/myodbc-8.0.23.ebuild b/dev-db/myodbc/myodbc-8.0.23.ebuild new file mode 100644 index 000000000000..aca18615d239 --- /dev/null +++ b/dev-db/myodbc/myodbc-8.0.23.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake-multilib + +MAJOR="$(ver_cut 1-2)" +MY_PN="mysql-connector-odbc" +MY_P="${MY_PN}-${PV/_p/r}-src" + +DESCRIPTION="ODBC driver for MySQL" +HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/" +SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="${MAJOR}" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +# Broken when built dynamically against libmysqlclient.so +RDEPEND=" + dev-db/unixODBC[${MULTILIB_USEDEP}] + >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND}" +S=${WORKDIR}/${MY_P} + +# Careful! +DRIVER_NAME="${PN}-${SLOT}" + +# Patch document path so it doesn't install files to /usr +PATCHES=( + "${FILESDIR}/${MAJOR}-cmake-doc-path.patch" + "${FILESDIR}/${PN}-8.0.19-cxxlinkage.patch" +) + +src_prepare() { + # Remove Tests + sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ + "${S}/CMakeLists.txt" + + cmake-utils_src_prepare +} + +multilib_src_configure() { + mycmakeargs+=( + -DMYSQLCLIENT_STATIC_LINKING=1 + -DMYSQL_CXX_LINKAGE=1 + -DWITH_UNIXODBC=1 + -DWITH_DOCUMENTATION_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF} + -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}" + -DMYSQLCLIENT_NO_THREADS=ON + -DDISABLE_GUI=ON + # The NUMA and LIBWRAP options are not really used. + # They are just copied from the server code + -DWITH_NUMA=OFF + -DWITH_LIBWRAP=OFF + ) + cmake-utils_src_configure +} + +multilib_src_install_all() { + debug-print-function ${FUNCNAME} "$@" + + dodir /usr/share/${PN}-${SLOT} + for i in odbc.ini odbcinst.ini; do + einfo "Building $i" + sed \ + -e "s,__PN__,${DRIVER_NAME},g" \ + -e "s,__PF__,${MAJOR},g" \ + -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \ + >"${D}"/usr/share/${PN}-${SLOT}/${i} \ + <"${FILESDIR}"/${i}.m4 \ + || die "Failed to build $i" + done + + rm -rf "${ED}/usr/$(get_libdir)/${PN}-${MAJOR}/private" \ + || die "failed to remove bundled libs" + + mv "${D}/usr/bin/myodbc-installer" \ + "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" +} + +pkg_config() { + + [ "${ROOT}" != "/" ] && \ + die 'Sorry, non-standard ROOT setting is not supported :-(' + + local msg='MySQL ODBC driver' + local drivers=$(/usr/bin/odbcinst -q -d) + + if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then + ebegin "Installing ${msg}" + /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini + rc=$? + eend $rc + [ $rc -ne 0 ] && die + else + einfo "Skipping already installed ${msg}" + fi + + local sources=$(/usr/bin/odbcinst -q -s) + msg='sample MySQL ODBC DSN' + if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then + ebegin "Installing ${msg}" + /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini + rc=$? + eend $rc + [ $rc -ne 0 ] && die + else + einfo "Skipping already installed ${msg}" + fi +} + +pkg_postinst() { + elog "If this is a new install, please run the following command" + elog "to configure the MySQL ODBC drivers and sources:" + elog "emerge --config =${CATEGORY}/${PF}" + elog "Please note that the driver name used to form the DSN now includes the SLOT." + elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" +} diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest index 3e96dba6c1e9..ff43dfd4ae50 100644 --- a/dev-db/mysql-connector-c++/Manifest +++ b/dev-db/mysql-connector-c++/Manifest @@ -9,9 +9,11 @@ DIST mysql-connector-c++-8.0.19-src.tar.gz 3137484 BLAKE2B 82a2900b0daa00bcfd72d DIST mysql-connector-c++-8.0.20-src.tar.gz 3774428 BLAKE2B a06114432ab21c36fd0b3b91df2382198b2a48871e8e0bfd8c7a94729ed0e29f33599c078c97670fe9d744b13042db52fb89de2294c75eae670a77112d11d251 SHA512 3edb7c3d4ccf218a3f76afcf83a6d233b7accd236c05105ab3f7a6610cfd8809a78c78142c82fb60fb0931d2ae0f0f8fdc3ce9caf5f0cde7ef54067a7e20270b DIST mysql-connector-c++-8.0.21-src.tar.gz 3788740 BLAKE2B 1862b4f2c6e2a2bbe8e3044eea2c1d3c8fdb0a319e3758ca44686b79e917a65617e2cfd0e4b698d858ed9ef12c892b4f658eb287f2a8505a5daeeb79d9544c25 SHA512 8a64dff2efd16d2891f613fd416ec42ecba2490b428b1778e99822a3051d9c5af3b94006577e9f38a6ebd146d2f3be522cb876f1e42fbf0ac82001b0a62ffa62 DIST mysql-connector-c++-8.0.22-src.tar.gz 3795112 BLAKE2B c5d6f0ebeb4649857f3217a35f3ae885d62be63af4da09815e7eb156538ece4f805578db24bfff3dd44a0e320c025a9936d7edacba69a2786d84dd932c5abb8a SHA512 1975b43fa3f3806cccc685a695f84783164c5b17da10ac14a6013d27c837cc9c63fff01b1ed4b31f22dae60afa68d34ec56ca9c45ca3dac23635e8f0fa845aa4 +DIST mysql-connector-c++-8.0.23-src.tar.gz 3798295 BLAKE2B 923eebbd7f9cde0252c84de4c70863b40c0dd93ad98a93e2ec14c935b2f3f0b0f251828a8bbbd0f23a5ec03491db06020294e19455901d15181c84fec9fb3d7f SHA512 f8eb8842e199d7373f4b55644720ac63b93eb33be19294c433f57aaf556ce1b5752223154194469fa28af52adebe930f0a7b4e8f62df92cc810b545aa7bab928 EBUILD mysql-connector-c++-1.1.12-r1.ebuild 1636 BLAKE2B e0e977f956845c46bc99a003b5e74fe5d085e1d5e2b9648474f27028b0d99b1764438fb07da8008c3fdef677fc35310342ad2988ada1f54a8c7a9583f5904a41 SHA512 5a80daba3b6038b57c284e409284106b19bcbb426fc2ba56d73d3c65fbad4343d150e7714782f558a94160dec90482cd88426ba5771bafc02300fa722b065778 EBUILD mysql-connector-c++-8.0.19.ebuild 1067 BLAKE2B 8407348e0e4da0ea8acca8ec0caa33a0c2e863c9a95d6951ce500b6306b77687e76ca867eeeb580dc5e9b8a9df3dff7ca0a8cb8ae95403a9a117d50d2dc8d869 SHA512 83d72ab1104a0ebd014d8b3e1f475944f16a18dc4836386e3ebf7b16df547f35cf7db42c586411fcef80ec6273f15a0f9531b197eaecb991a62301d9a9d3ff4b EBUILD mysql-connector-c++-8.0.20.ebuild 1070 BLAKE2B bd6b438aa0a660bc19a50695ed77fa5f952aabfb6ff1996244eed5846476bb0c725cf2d4899105c88f1409725ebe80970655ac4f51b7012d1fccc3539a69a062 SHA512 d54363d3172c98ef6d500a336fc98c8d8abdd28e443e09e2ce50e85353c374cdd95739b9d6ab636d4aad3a8647bca1eb99329a761a10ff3ffb2040c1ec3796e8 EBUILD mysql-connector-c++-8.0.21.ebuild 1055 BLAKE2B 7a85e4631367e2a34989a8fc998d80d87c5b6b0220296e7f2f75121766db9c10f66b8838e633c0fc51b43c8314e3521a7cbc1fc0ed2a6fec87e67a6a18b0e91c SHA512 7661f1404a55a3342d90c26fbc36e0f1dc060301f82aadf4b814eedfdeeb7a9698f05e3ab8c552b1be03490e6a4591ac36ca28a7a60604a98844a9136ae063cc EBUILD mysql-connector-c++-8.0.22.ebuild 1055 BLAKE2B 38dbc920d1e67aa065f6f8dfef6c56a515df757c8939e5f893941e66ae2ad361e350abbbe51b824ab4e24017dd55b0a68f588f99d0cb6d74b8713ddbbea10734 SHA512 1390b0edd15b93ec2446278ff70c043fb4ea2a1311e66099b5e7d558d1de2a6698e59ca609c933319c51a47c042a1724faef0eb70dc25a1e7fc5e19cd668e836 +EBUILD mysql-connector-c++-8.0.23.ebuild 1058 BLAKE2B 66fd11b5a092a610f4cfecdac8272583a6fdfbef472bea797d00bb21c6e89028ff73fd390551f55166f87696a6fca8406436493ad6b3c98f6571bad908b65325 SHA512 076ba240dc4a37bc1d04c3c61f1bd25c45b35ec7c4b5682dadf22ffaa576a88883e333f208867491555d22c640bec7905f0812d4bbd0b18e16cbf56a5950cec2 MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.23.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.23.ebuild new file mode 100644 index 000000000000..e5379e0f4996 --- /dev/null +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.23.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake + +DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)" +HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/" +URI_DIR="Connector-C++" +SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz" + +LICENSE="Artistic GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="+legacy libressl" + +RDEPEND=" + dev-libs/protobuf:= + legacy? ( + dev-libs/boost:= + >=dev-db/mysql-connector-c-6.1.8:= + ) + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= )" +DEPEND="${RDEPEND}" +S="${WORKDIR}/${P}-src" + +PATCHES=( + "${FILESDIR}"/${PN}-8.0.22-fix-build.patch + "${FILESDIR}"/${PN}-8.0.20-fix-libressl-support.patch +) + +src_configure() { + local mycmakeargs=( + -DWITH_SSL=system + -DWITH_JDBC=$(usex legacy ON OFF) + $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '') + $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '') + ) + + cmake_src_configure +} diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest index 39c45d597b22..2b2fd7e95a15 100644 --- a/dev-db/mysql-connector-c/Manifest +++ b/dev-db/mysql-connector-c/Manifest @@ -3,6 +3,9 @@ AUX mysql-connector-c-8.0.19-do-not-install-comp_err.patch 307 BLAKE2B 864c07e9d AUX mysql-connector-c-8.0.21-libressl.patch 13288 BLAKE2B 5aad519f99103e579356d89ae92dda1e2496268cebdfe8dd3797138a5efe03370365225581399bb2373b847f61e2b4be726d940cde624d3cdda94b5c69904a3a SHA512 f4d057ce159153133e100c71c65f75bd558ba1ea914cd878023dc4e4a628d63b60d0ac671a97d26863b3f48c3dc8984317bb09362378c3b96b8ed47f08c1f6ea AUX mysql-connector-c-8.0.21-survive-malformed-charset-files.patch 580 BLAKE2B 76ea04058e14dce1cdd057b51e17d358ff582c82f27a537fb47aa66d58c88327231ca10755a6e02d0c1dab5c67d6eb92d9e9d5d74038595a203b65d3372d4577 SHA512 d8075a712bf12697499b1da2df7f43662bcce073113193e4b29261f965f10af43b1d529f1fe14ffed6c7c9bda3d3b0a61a2b3462e865724496d3d80f10c5264e AUX mysql-connector-c-8.0.22-always-build-decompress-utilities.patch 534 BLAKE2B 15bef04f750b5f373d8c5f39690e90be482bfea66430234befc777e9d84d0060d20e1290798ddacbf0e9f0f8db45ba0318d88b61aec3fd1e859285cefff446ef SHA512 7ae81f4fe020c12e45eba041dcca921fa93f42a12d8c8d840b1bec819c00de8b780a792e99cdc3cae55eef74c911de3087b6583d6213913b36428b96f0e1c3af +AUX mysql-connector-c-8.0.23-libressl.patch 13374 BLAKE2B 991f1e921c3f06937c682ed5f111f1cc94a763010120c5b779bed3f4246b598e6cc7d514c6c7ce0e1783b160afd27b081ab13cfd94aa99dd43d6c4b3f32a6164 SHA512 936a9b5861c08afc4ab7db069a0dbe586ce364b0581508d726a4fb98a687badcf027f45805e0dfe82cc007f0c6c380f7f4436cb3d9023a01d797bbcf71646616 DIST mysql-boost-8.0.22.tar.gz 285934450 BLAKE2B 1ba0c9bb9a0cb74af4842d3b746f8b690c122cfbf2c6d5201ce95e59a257427a8683dd8d5c2be31dfe9ece4761366c1287fa7b841c45db222725bf76b0639bc6 SHA512 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612 +DIST mysql-boost-8.0.23.tar.gz 291039175 BLAKE2B 3a7d3e05c774085d6078d0d3effd58d2df47521615356a2aa5efc2ea2ef8457e19ad57a054926ccff0a4752ca71d0464daa7fe9a3ac6c1b1d3bd86a9a82dfc58 SHA512 b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8 EBUILD mysql-connector-c-8.0.22.ebuild 2904 BLAKE2B b46f1757bd0d1f4ba6db5f9c029425e57f5f43b379ce121fcffffd0d6562f747b81f980bbf22cec610fdb416192b05368cd9cb45362e296d6e851de6d5ed6780 SHA512 e8de286e91c74a9cd65396d713372fa13d793a719bd702e9116370659194b001a221881051f0bc9c46f3474336e7d134177b1bd35883c09e0e0c3f3c5e0902e5 +EBUILD mysql-connector-c-8.0.23.ebuild 2912 BLAKE2B aa61054bf7972b80e59eed79cd9697339b60f9eb711b8ab69ae6657904a6a3c3d4cf2d33d85a24032295d0b2bd8a46f2593873f0a9e49b512d47c29582fbc919 SHA512 f7e270a9a46a4d9a67d15d289ad339470122d13de9e80b64781bbd4d45a0efa3446357eae00fac077c5555466649d08b7b25a715db5cd1e595b29e7dcab7c0ee MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.23-libressl.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.23-libressl.patch new file mode 100644 index 000000000000..06681d940dd8 --- /dev/null +++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.23-libressl.patch @@ -0,0 +1,356 @@ +From 262f0b8bdc86a755041c19c11b6067afce28dae1 Mon Sep 17 00:00:00 2001 +From: Thomas Deutschmann <whissi@gentoo.org> +Date: Thu, 30 Apr 2020 20:01:48 +0200 +Subject: [PATCH 5/6] Add LibreSSL support + +Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> +--- + cmake/ssl.cmake | 5 +++-- + mysys/my_md5.cc | 2 ++ + .../bindings/xcom/xcom/xcom_ssl_transport.cc | 6 +++++- + plugin/x/client/xconnection_impl.cc | 4 ++++ + router/src/harness/src/tls_client_context.cc | 2 +- + router/src/harness/src/tls_context.cc | 9 ++++++-- + router/src/harness/src/tls_server_context.cc | 3 ++- + sql-common/client.cc | 2 ++ + sql/mysqld.cc | 4 +++- + sql/sys_vars.cc | 21 +++++++++++++++++-- + vio/viossl.cc | 8 +++---- + vio/viosslfactories.cc | 2 ++ + 12 files changed, 54 insertions(+), 14 deletions(-) + +diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake +index 52feadeaa..3b8332695 100644 +--- a/cmake/ssl.cmake ++++ b/cmake/ssl.cmake +@@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL) + OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}" + ) + ENDIF() +- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0") ++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) ++ IF(HAVE_TLS1_3_VERSION) + ADD_DEFINITIONS(-DHAVE_TLSv13) + ENDIF() + IF(OPENSSL_INCLUDE_DIR AND + OPENSSL_LIBRARY AND + CRYPTO_LIBRARY AND +- OPENSSL_MAJOR_VERSION STREQUAL "1" ++ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1" + ) + SET(OPENSSL_FOUND TRUE) + FIND_PROGRAM(OPENSSL_EXECUTABLE openssl +diff --git a/mysys/my_md5.cc b/mysys/my_md5.cc +index dea997b25..531696329 100644 +--- a/mysys/my_md5.cc ++++ b/mysys/my_md5.cc +@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf, + int compute_md5_hash(char *digest, const char *buf, int len) { + int retval = 0; + int fips_mode = 0; ++#ifndef LIBRESSL_VERSION_NUMBER + fips_mode = FIPS_mode(); ++#endif + /* If fips mode is ON/STRICT restricted method calls will result into abort, + * skipping call. */ + if (fips_mode == 0) { +diff --git a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc +index 8bf63ce14..02f91b44e 100644 +--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc ++++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc +@@ -325,6 +325,7 @@ error: + return 1; + } + ++#ifndef LIBRESSL_VERSION_NUMBER + #define OPENSSL_ERROR_LENGTH 512 + static int configure_ssl_fips_mode(const uint fips_mode) { + int rc = -1; +@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) { + EXIT: + return rc; + } ++#endif + + static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file, + const char *ca_path) { +@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file, + int verify_server = SSL_VERIFY_NONE; + int verify_client = SSL_VERIFY_NONE; + ++#ifndef LIBRESSL_VERSION_NUMBER + if (configure_ssl_fips_mode(ssl_fips_mode) != 1) { + G_ERROR("Error setting the ssl fips mode"); + goto error; + } ++#endif + + SSL_library_init(); + SSL_load_error_strings(); +@@ -611,7 +615,7 @@ error: + void xcom_cleanup_ssl() { + if (!xcom_use_ssl()) return; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + ERR_remove_thread_state(0); + #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + } +diff --git a/plugin/x/client/xconnection_impl.cc b/plugin/x/client/xconnection_impl.cc +index a78371098..9d3a7b436 100644 +--- a/plugin/x/client/xconnection_impl.cc ++++ b/plugin/x/client/xconnection_impl.cc +@@ -498,6 +498,7 @@ XError Connection_impl::get_ssl_error(const int error_id) { + return XError(CR_SSL_CONNECTION_ERROR, buffer); + } + ++#ifndef LIBRESSL_VERSION_NUMBER + /** + Set fips mode in openssl library, + When we set fips mode ON/STRICT, it will perform following operations: +@@ -537,6 +538,7 @@ int set_fips_mode(const uint32_t fips_mode, + EXIT: + return rc; + } ++#endif + + XError Connection_impl::activate_tls() { + if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET); +@@ -547,12 +549,14 @@ XError Connection_impl::activate_tls() { + if (!m_context->m_ssl_config.is_configured()) + return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true}; + ++#ifndef LIBRESSL_VERSION_NUMBER + char err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; + if (set_fips_mode( + static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode), + err_string) != 1) { + return XError{CR_SSL_CONNECTION_ERROR, err_string, true}; + } ++#endif + auto ssl_ctx_flags = process_tls_version( + details::null_when_empty(m_context->m_ssl_config.m_tls_version)); + +diff --git a/router/src/harness/src/tls_client_context.cc b/router/src/harness/src/tls_client_context.cc +index c14b1cb18..81a9425ca 100644 +--- a/router/src/harness/src/tls_client_context.cc ++++ b/router/src/harness/src/tls_client_context.cc +@@ -61,7 +61,7 @@ stdx::expected<void, std::error_code> TlsClientContext::verify( + stdx::expected<void, std::error_code> TlsClientContext::cipher_suites( + const std::string &ciphers) { + // TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites() +-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) ++#ifdef TLS1_3_VERSION + if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) { + return stdx::make_unexpected(make_tls_error()); + } +diff --git a/router/src/harness/src/tls_context.cc b/router/src/harness/src/tls_context.cc +index e0b97bf2d..8b64b1d01 100644 +--- a/router/src/harness/src/tls_context.cc ++++ b/router/src/harness/src/tls_context.cc +@@ -115,7 +115,7 @@ static int o11x_version(TlsVersion version) { + return TLS1_1_VERSION; + case TlsVersion::TLS_1_2: + return TLS1_2_VERSION; +-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) ++#ifdef TLS1_3_VERSION + case TlsVersion::TLS_1_3: + return TLS1_3_VERSION; + #endif +@@ -145,9 +145,11 @@ stdx::expected<void, std::error_code> TlsContext::version_range( + switch (min_version) { + default: + // unknown, leave all disabled ++#ifdef TLS1_3_VERSION + // fallthrough + case TlsVersion::TLS_1_3: + opts |= SSL_OP_NO_TLSv1_2; ++#endif + // fallthrough + case TlsVersion::TLS_1_2: + opts |= SSL_OP_NO_TLSv1_1; +@@ -197,8 +199,10 @@ TlsVersion TlsContext::min_version() const { + return TlsVersion::TLS_1_1; + case TLS1_2_VERSION: + return TlsVersion::TLS_1_2; ++#ifdef TLS1_3_VERSION + case TLS1_3_VERSION: + return TlsVersion::TLS_1_3; ++#endif + case 0: + return TlsVersion::AUTO; + default: +@@ -257,7 +261,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const { + } + + int TlsContext::security_level() const { +-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) ++#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ ++ !defined(LIBRESSL_VERSION_NUMBER) + return SSL_CTX_get_security_level(ssl_ctx_.get()); + #else + return 0; +diff --git a/router/src/harness/src/tls_server_context.cc b/router/src/harness/src/tls_server_context.cc +index c8fc2b5a0..76775e2a0 100644 +--- a/router/src/harness/src/tls_server_context.cc ++++ b/router/src/harness/src/tls_server_context.cc +@@ -169,7 +169,8 @@ stdx::expected<void, std::error_code> TlsServerContext::init_tmp_dh( + } + + } else { +-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) ++#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ ++ !defined(LIBRESSL_VERSION_NUMBER) + dh2048.reset(DH_get_2048_256()); + #else + /* +diff --git a/sql-common/client.cc b/sql-common/client.cc +index 79f301fe6..b5e1d126c 100644 +--- a/sql-common/client.cc ++++ b/sql-common/client.cc +@@ -7987,6 +7987,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, + return 1; + break; + case MYSQL_OPT_SSL_FIPS_MODE: { ++#if !defined(LIBRESSL_VERSION_NUMBER) + char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; + ENSURE_EXTENSIONS_PRESENT(&mysql->options); + mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg); +@@ -7998,6 +7999,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, + "Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string); + return 1; + } ++#endif + } break; + case MYSQL_OPT_SSL_MODE: + ENSURE_EXTENSIONS_PRESENT(&mysql->options); +diff --git a/sql/mysqld.cc b/sql/mysqld.cc +index cde636761..266a8c3bb 100644 +--- a/sql/mysqld.cc ++++ b/sql/mysqld.cc +@@ -5035,7 +5035,7 @@ static int init_thread_environment() { + + static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + #define FILE_LINE_ARGS + #else + #define FILE_LINE_ARGS , const char *, int +@@ -5069,12 +5069,14 @@ static void init_ssl() { + } + + static int init_ssl_communication() { ++#ifndef LIBRESSL_VERSION_NUMBER + char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; + int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string); + if (ret_fips_mode != 1) { + LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string); + return 1; + } ++#endif + if (TLS_channel::singleton_init(&mysql_main, mysql_main_channel, opt_use_ssl, + &server_main_callback, opt_initialize)) + return 1; +diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc +index 2df3271ff..90942eef0 100644 +--- a/sql/sys_vars.cc ++++ b/sql/sys_vars.cc +@@ -4614,6 +4614,7 @@ static Sys_var_ulong Sys_max_execution_time( + HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG), + VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1)); + ++#ifndef LIBRESSL_VERSION_NUMBER + static bool update_fips_mode(sys_var *, THD *, enum_var_type) { + char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; + if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) { +@@ -4624,15 +4625,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) { + return false; + } + } ++#endif ++ ++#if defined(LIBRESSL_VERSION_NUMBER) ++static const char *ssl_fips_mode_names[] = {"OFF", 0}; ++#else ++static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0}; ++#endif + +-static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr}; + static Sys_var_enum Sys_ssl_fips_mode( + "ssl_fips_mode", + "SSL FIPS mode (applies only for OpenSSL); " ++#ifndef LIBRESSL_VERSION_NUMBER + "permitted values are: OFF, ON, STRICT", ++#else ++ "permitted values are: OFF", ++#endif + GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE), + ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG, +- ON_CHECK(nullptr), ON_UPDATE(update_fips_mode), nullptr); ++ ON_CHECK(NULL), ++#ifndef LIBRESSL_VERSION_NUMBER ++ ON_UPDATE(update_fips_mode), ++#else ++ ON_UPDATE(NULL), ++#endif ++ NULL); + + static Sys_var_bool Sys_auto_generate_certs( + "auto_generate_certs", +diff --git a/vio/viossl.cc b/vio/viossl.cc +index 0e9594741..3a589c64b 100644 +--- a/vio/viossl.cc ++++ b/vio/viossl.cc +@@ -45,7 +45,7 @@ + BIO_set_callback_ex was added in openSSL 1.1.1 + For older openSSL, use the deprecated BIO_set_callback. + */ +-#if OPENSSL_VERSION_NUMBER >= 0x10101000L ++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER) + #define HAVE_BIO_SET_CALLBACK_EX + #endif + +@@ -634,8 +634,8 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout, + + #if !defined(DBUG_OFF) + { +- STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr; +- ssl_comp_methods = SSL_COMP_get_compression_methods(); ++ STACK_OF(SSL_COMP) *ssl_comp_methods = NULL; ++ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods(); + n = sk_SSL_COMP_num(ssl_comp_methods); + DBUG_PRINT("info", ("Available compression methods:\n")); + if (n == 0) +@@ -643,7 +643,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout, + else + for (j = 0; j < n; j++) { + SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j); +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + DBUG_PRINT("info", (" %d: %s\n", c->id, c->name)); + #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + DBUG_PRINT("info", +diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc +index 21c3510da..70e7d8f8b 100644 +--- a/vio/viosslfactories.cc ++++ b/vio/viosslfactories.cc +@@ -472,6 +472,7 @@ void ssl_start() { + } + } + ++#ifndef LIBRESSL_VERSION_NUMBER + /** + Set fips mode in openssl library, + When we set fips mode ON/STRICT, it will perform following operations: +@@ -525,6 +526,7 @@ EXIT: + @returns openssl current fips mode + */ + uint get_fips_mode() { return FIPS_mode(); } ++#endif + + long process_tls_version(const char *tls_version) { + const char *separator = ","; +-- +2.30.0 + diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.23.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.23.ebuild new file mode 100644 index 000000000000..3b2fc70f9d2f --- /dev/null +++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.23.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake-multilib + +# wrap the config script +MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + +DESCRIPTION="C client library for MariaDB/MySQL" +HOMEPAGE="https://dev.mysql.com/downloads/" +LICENSE="GPL-2" + +SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + +SLOT="0/21" +IUSE="ldap libressl static-libs" + +RDEPEND=" + >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}] + app-arch/zstd:=[${MULTILIB_USEDEP}] + sys-libs/zlib:=[${MULTILIB_USEDEP}] + ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) + " +DEPEND="${RDEPEND}" + +# Avoid file collisions, #692580 +RDEPEND+=" !<dev-db/mysql-5.6.45-r1" +RDEPEND+=" !=dev-db/mysql-5.7.23*" +RDEPEND+=" !=dev-db/mysql-5.7.24*" +RDEPEND+=" !=dev-db/mysql-5.7.25*" +RDEPEND+=" !=dev-db/mysql-5.7.26-r0" +RDEPEND+=" !=dev-db/mysql-5.7.27-r0" +RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1" + +DOCS=( README ) + +S="${WORKDIR}/mysql-${PV}" + +PATCHES=( + "${FILESDIR}"/${PN}-8.0.22-always-build-decompress-utilities.patch + "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch + "${FILESDIR}"/${PN}-8.0.23-libressl.patch +) + +src_prepare() { + sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die + + # All these are for the server only. + # Disable rpm call which would trigger sandbox, #692368 + sed -i \ + -e '/MYSQL_CHECK_LIBEVENT/d' \ + -e '/MYSQL_CHECK_RAPIDJSON/d' \ + -e '/MYSQL_CHECK_ICU/d' \ + -e '/MYSQL_CHECK_EDITLINE/d' \ + -e '/MYSQL_CHECK_CURL/d' \ + -e '/ADD_SUBDIRECTORY(man)/d' \ + -e '/ADD_SUBDIRECTORY(share)/d' \ + -e '/INCLUDE(cmake\/boost/d' \ + -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \ + CMakeLists.txt || die + + # Skip building clients + echo > client/CMakeLists.txt || die + + # Forcefully disable auth plugin + if ! use ldap ; then + sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die + echo > libmysql/authentication_ldap/CMakeLists.txt || die + fi + + cmake-utils_src_prepare +} + +multilib_src_configure() { + local mycmakeargs=( + -DINSTALL_LAYOUT=RPM + -DINSTALL_LIBDIR=$(get_libdir) + -DWITH_DEFAULT_COMPILER_OPTIONS=OFF + -DENABLED_LOCAL_INFILE=ON + -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock" + -DWITH_LZ4=system + -DWITH_NUMA=OFF + -DWITH_SSL=system + -DWITH_ZLIB=system + -DWITH_ZSTD=system + -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient + -DSHARED_LIB_PATCH_VERSION="0" + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DWITHOUT_SERVER=ON + ) + cmake-utils_src_configure +} + +multilib_src_install() { + cmake-utils_src_install +} + +multilib_src_install_all() { + doman \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 + + if ! use static-libs ; then + find "${ED}" -name "*.a" -delete || die + fi +} diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index ae58f1cc5bf8..2d37010f221a 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -6,18 +6,22 @@ AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1f DIST mysql-5.7.30-patches-01.tar.xz 6684 BLAKE2B 9350280094619fda0d91eacae573396198954fceb5dc039669d236b1dad98eef306702550b517ef30ee3d0e6721667b6f5549df91e3c15cef68888079c00d9ba SHA512 74e8e8794fe54b73776b38296aa42c65547311b80bfe65c88b2f961bd44083e9628eb47da4ebcf4c20e2d7c694f514223bcbf29cce27853cca500710ae97778d DIST mysql-5.7.31-patches-01.tar.xz 6664 BLAKE2B 8225f286f0090653f9714545daa95ccdadaa58812e55284d1ee52ad2dcca18960b9266797630762595d832aa1dda1d9e2df691f0c728102f162b376346c99b3c SHA512 c6260e688da6e8f049ba7ac0553ad442e76829deaca32c1b7a101ec927a36b1571cb24982391f05545a9f62d94502efc09530d444e4abfc08350ab4c19fbfd37 DIST mysql-5.7.32-patches-01.tar.xz 6660 BLAKE2B 5c63158615398bdcc4480a0e1b058f491b39ffc7ee33767b425f3b254555411031f64d865e1924afe8aa3926e4cba18049f1219a0a8acc702bc5e011c94fa947 SHA512 bf5e0d27af81e599005268ee243af4cd93f6df95c32cccb268a749322b4e5f73a2ce5d51f0ad1b0e1f2cf4702b8a05e4b2e0b73110fd4aac61f2a0f51bf4952e +DIST mysql-5.7.33-patches-01.tar.xz 6672 BLAKE2B cfa410f9ba5a4ba7e43923e7b5940c2dc6a9356b49230ebaea24bd7eef8a9639fc746e917c22241e19c830b81252e95f38e2c9d6054494de700bae46011fb2f4 SHA512 b16bb9531c44f1c5ec9c08aee6c1f5f5d2e3fe59a0039a54f6c050660a18f7c78b955e7eea7bef4e7dccfcdaa81464e0d8e47ac7d0e40ecb90187865a8a0412e DIST mysql-8.0.20-patches-01.tar.xz 7176 BLAKE2B 2fc51986c0a4da60521d0e64b9f8705caf8ec3869af930c9729359c3710059fc78aae176523fdf17d10173b404431f31f9bb23ee5c82fba7cbbb4cb39881c005 SHA512 bf8211cf3873f8672b9d3d1dc42b68a1c635690ffdc2d3393eafa83f060ada9f2eaa63f859bf8eecc24976a733d8c7c3b9632ac70f28b5facf48eae921c7ceeb DIST mysql-8.0.21-patches-01.tar.xz 7212 BLAKE2B 2f1b38b3f84a124e3636cb726f3fcef82d71d933e90429dc78be44afeb4f456a37104359c5fd58ab50f0c03c1698e6c79f9b1e07640f0411c0024f558b4e9595 SHA512 3edcbb529b0623adaed30150d88c9b54d1a3e402faf5c7cff4ed626bbf4e5f50838d8f3c79bd2173439d748ded13412ff7fe37e3742c55879ff28907b9eb5660 DIST mysql-8.0.22-patches-02.tar.xz 7580 BLAKE2B a50704c3c58b1f67ca86edb233544137927b0ae5fdf302687b48f6fd30fbbd26798e8ef8282662586b25a7240b47278b44f944a8ca59f1a198bc228dd74459c9 SHA512 59f864452e9fdebe4d3990eff8b756e9bbfad58da216b74fa8b7e8391cb0d9d543ca2828591b9ed1ee276c1dec9e1851a8c2683507f0a326c85054e31cc3f950 +DIST mysql-8.0.23-patches-01.tar.xz 7568 BLAKE2B 222120dcb5556457f382eefbb10f66f46fe1673c64730c8c8a5566942031bc98bab1f1182f747e79e23fccfb6b09197d5c2874aa2087104b6f1eaa25ea9fd60c SHA512 54222c420d57c1b206d920f22738746925ed1e0d78683f01c97cac5bd1d3450f70f784a7f603304b8595fb58120e691f94e28fa1d1884a7cc8bea1d7b177470f DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52 DIST mysql-boost-5.7.29.tar.gz 51417554 BLAKE2B 652ce9f99419387e9bcc37afeb1b46438784752e963c3aa1877f17650c31d8b058b4052da97c3a7e9454e758c259d6c311e0518f9a75909fce9741150b82164c SHA512 38acf7c2a10b20c59230ad05cd2cd6996c4c582233c1be573ead08e5c6684275790da07a036570363f89b4d61547b306589b0b98ed5fca70723a3f2cbc21fe11 DIST mysql-boost-5.7.30.tar.gz 51363998 BLAKE2B 7897ad74b685c3b30e7ecdf132fdfa72f3416c05e8d0086cb8f7674b6c4f377fff9abc51ed258cc4dfeab50a2cb393af9076d9c1f9a83a26521facbaf223afa1 SHA512 b75d41d0c72d16c6f8d5393dab6e476b7993d296eb5683c12417ce2da3db2052fdab2a152f6e7c545315d21bfa35f26a247cb6cdab83d3418b5d34ed7f5f9560 DIST mysql-boost-5.7.31.tar.gz 51382559 BLAKE2B 86430ee01b0b066ffbd1c876c7d09afecdd57f99cfe07417f406345bcdb14cc6fd33a2d4d92dfe15e87f34ec476bf34d62508ac3f99fb3e11957458e0d6ec20b SHA512 d7fc1927c860562d121658031bcbd58d36a942340423bf7b692cef84c29e67b56d009c9f9bb10cde8acabd6f9db58c67eb542349eccc4719fb38c8570738700a DIST mysql-boost-5.7.32.tar.gz 52882168 BLAKE2B dd112fa1d8bd29d86fba076675b5b7c9c98b6fb876aed45a00e8a25be716102fc9aa688b7170bef07b1c9f9751737277774d8fb2c64c21e181ecae58f89b4a8a SHA512 33a617d040efd065ea1c2ad84be537f851480abd5cc8a6879b7f170bc4e6db9432bd03f2a6bc680b71f17839c508cab0e7ef1a3aba032197da1b7943c916c77a +DIST mysql-boost-5.7.33.tar.gz 52912380 BLAKE2B bca09314ae73932f6095799faa016998e65655cf5ea74d5596dcdc785e77014fe0b29a6c123e8618771f4a20a19978df00f7b79eea329aeb4b536ae71a4bef94 SHA512 1d1e1e5934fb17ff731fea45b88d4af6a394c2fbf0177a87803b18cb0eb4fb8d4939f82fc22b6cbc2af64022a44e206cd23e2e88ce11cc119c3ea22129d54e7a DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 DIST mysql-boost-8.0.20.tar.gz 266282970 BLAKE2B 2aeb9d6c575ed9dc2d00d3e51e6391c59ffa39156491d9ed2c07e19bb2efb88a14d5a9d4b537c137d71854e39fa3a7fc2b93618118d4fd062e92ba2d83783c6f SHA512 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99 DIST mysql-boost-8.0.21.tar.gz 278292192 BLAKE2B 9e5a14d1401f58f6f620c8691d2d4d3ada122a79a4e081380050961f0add93bf32b682c60ea2a6e58f50a4fcedbd323d8efe2d5f3e1f2bba5010e201a2df5d44 SHA512 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1 DIST mysql-boost-8.0.22.tar.gz 285934450 BLAKE2B 1ba0c9bb9a0cb74af4842d3b746f8b690c122cfbf2c6d5201ce95e59a257427a8683dd8d5c2be31dfe9ece4761366c1287fa7b841c45db222725bf76b0639bc6 SHA512 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612 +DIST mysql-boost-8.0.23.tar.gz 291039175 BLAKE2B 3a7d3e05c774085d6078d0d3effd58d2df47521615356a2aa5efc2ea2ef8457e19ad57a054926ccff0a4752ca71d0464daa7fe9a3ac6c1b1d3bd86a9a82dfc58 SHA512 b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8 DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8 DIST mysql-extras-20200125-1945Z.tar.bz2 344906 BLAKE2B 0e87875efbc221ded43d6f080dc7dce4277b676b538950120c94b962e51d054093286486e5d83ea3e38e1b2d0b12cf81873df50e1cebbe4cff33b54297e6a17a SHA512 5fcc5d372998db2b8aef32661ff71290791c20c1195a6210ca79c0fda12008906e665f9dc878d3df5a38a95e23ff05b910daa861002c17a1b6de71ef0520bee1 DIST mysql-extras-20200317-0103Z.tar.bz2 344905 BLAKE2B c4c8bb2acea16663ab32cf291d0a2d52af04448a507ad3a6dc22dfdef4d6ba427582d66e5923d05cd51565286f85c8df5ccabef9a67a4a500574d21e1f708f27 SHA512 d1d34817faf0a1271f906213eea9081c204d745b14f96166f17d5c60a29ec58c05926e7216f135b6e9d5df2ceab373f10fc4e6a652514d99ba34a336571dce1f @@ -26,8 +30,10 @@ EBUILD mysql-5.7.29-r1.ebuild 31447 BLAKE2B 59b57240696f86ef2f0badaf7b75889e53af EBUILD mysql-5.7.30-r1.ebuild 30672 BLAKE2B d2033739b36d23a02dd61c3c876efdbe444073e37a9bf2fd9c2f8400a04b33768d4017838a59bfa622de46ce808755e1a7889ee27de7c1479de6c12d467cbd66 SHA512 a94a679d9269d3c0291d7380c8917f53991387ddbf2fd7ae9f4124ecd0616fb52ab1b59d8675f850d1d8dd50819c8d3509fc2a7f6073f4ae2c3770a87fce1fcd EBUILD mysql-5.7.31.ebuild 37540 BLAKE2B bc9955fd55d1628ae1ac9a5518ec860564060ab5144872ac64e2c7251cd65d4d9ff124bb97a45b707b9abd502adc48e4c5d5ccfee8eec54de1f3d792f09adb9b SHA512 7011c0e06a84ba75ac14f52db2f43113a7b41102da9436e7bbe3e7577db99260949bbeb2dc4f474345d2415a908f64e3cd8093b0857e1414b1e58a0a47f553cf EBUILD mysql-5.7.32.ebuild 37582 BLAKE2B 3bfc1b63f0ee120c46bf58878180554fdbc4a7030363aab9ce10c25a04c82870e9b471c0883de4f9d34add6869b699b518b1e40f80a1cfbf6ebd4addaffc4492 SHA512 15a630779de70023e6defa80ffb26e75778700d6dff1a5b6e8bf962772d16ad3800ee6664e592bb0f9b63f809bc7934d41a13c78350a2d530707220b1bdf07c6 +EBUILD mysql-5.7.33.ebuild 37799 BLAKE2B ab9386e188823ffe0728834e6b19605296e0012e59879ba8c847144b16eecee1a8b80d29b1cf9a70bbef4623b2378a7ae5d00515cfeda9275003ebb7fd67e200 SHA512 4f0faf3c7f73669e5a49253cabd4540927b5ddae43c6a2a28fb27026438483445370cbb5e75c68e09a50bb0b0fdd4d79d431606f35d8fa0d70f58526be53594a EBUILD mysql-8.0.19-r2.ebuild 37938 BLAKE2B e2e73a2d1ab9ffa6c52374eef4738db94c87353100c4b40afcf6b20e83e872070c50520f694ab1b11c282c1db8c780201260faad41ea646492ad90989c8dc688 SHA512 41f443c5b2cf7a76f902d59ddc66a574a73c4898dbd14aa5dd73a004f48c9b8754e41ee73f2fa1856cec52cf667e647f82a742bfda5c013a733614fc64e8bd91 EBUILD mysql-8.0.20-r1.ebuild 37206 BLAKE2B 3556c8fb3ea88b893b3612fc313ab5c771afc490218c27405b6b9dd3255d6d5a2c6e602ceac44ed7cbf6f8f7443fcc8afcf6c456ce8b5ac273e2b5569a56e8bb SHA512 982906ddc660441f855b3ab59aaf981fbbf1a6ac1c54be0d7ea1d1019279f265579d3d1d1e2781c8f4c8af60befc5e998d36c09fd6a9abc64655fb80f530c0bb EBUILD mysql-8.0.21-r1.ebuild 38157 BLAKE2B 800cc8a5b52e3b465afe98a26668d04c73e449a5bd611dd53406db351f31e09ca8153b1a2dd52b900e23f3c63fbacd4e22711defc761907582a79eb134533677 SHA512 5b22b6ce8ef86454b59b03bf084a23a7fd7d45a51c441337d25c380eb10c2ddf474fcf2145c9e40afb2b8f9025c1efd937985d66ee3fbb91ca6332c62950edab EBUILD mysql-8.0.22.ebuild 37596 BLAKE2B 95680e1c45c4277b483d83696c73c5e78f2ba53395a42330fed37dd1da7f9d5cbdd1343b8db6189406937a74553c5612e3d1cb9e57a6913f38fab6f4b1d0f849 SHA512 135c5abf427f9569e0f406758facf03bd4d1d2f3257ddae683978ecdc70aa8554b29b70041761a8db0e321cf9c85320fedc30477f8c2c5ff47af2e58d3e7a684 +EBUILD mysql-8.0.23.ebuild 37740 BLAKE2B ed0cbe3ec238e4f1d85b5727f08c612d7a9dcd83847eaa181700ef0e83dfac71d58eca0a339356f5248437921dfc78a78c52dab417570b0f14e28503ca57a4b1 SHA512 f7a6ba97880a022eefd785e275dc55f22bfce951a90c6723c6ac8c478679581c2981a187e4139c704a39700419d8df14b24c08c9100409f48ba5616c35f30ef8 MISC metadata.xml 1470 BLAKE2B 09754bc9a1cf5584588c4f69700919fd72a860175ae1c045ce90a644a1360d5abccedd5b2649e16fcd189e82df659ceb96fd71ab2aeccdac6256af4f80e46a0d SHA512 d96f6a133611f50b80116221e2586eff899210255efac58d9f6ef7ccd0ee0854a3322b4d4d1db15b3b2e410525f5d73e43f52a833f3ce358f6708b88b3cf00c7 diff --git a/dev-db/mysql/mysql-5.7.33.ebuild b/dev-db/mysql/mysql-5.7.33.ebuild new file mode 100644 index 000000000000..546fc699fb67 --- /dev/null +++ b/dev-db/mysql/mysql-5.7.33.ebuild @@ -0,0 +1,1244 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR=emake + +inherit check-reqs cmake flag-o-matic linux-info \ + multiprocessing prefix toolchain-funcs multilib-minimal + +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-5.7.33-patches-01.tar.xz" + +SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz + https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz + http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz + ${PATCH_SET}" + +HOMEPAGE="https://www.mysql.com/" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="5.7/18" +IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling + selinux +server static static-libs systemtap tcmalloc test" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!test? ( test ) libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc )" + +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-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" + +# 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=" + sys-libs/ncurses:0= + client-libs? ( + >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + !client-libs? ( + dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] + >=sys-libs/zlib-1.2.3:0= + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + server? ( + >=app-arch/lz4-0_p131:= + cjk? ( app-text/mecab:= ) + experimental? ( + dev-libs/libevent:=[ssl] + dev-libs/protobuf:= + net-libs/libtirpc:= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + numa? ( sys-process/numactl ) + ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + dev-libs/protobuf + virtual/yacc + server? ( + dev-libs/libevent:=[ssl] + experimental? ( net-libs/rpcsvc-proto ) + ) + static? ( sys-libs/ncurses[static-libs] ) + test? ( + acct-group/mysql acct-user/mysql + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:8.0 + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) + selinux? ( sec-policy/selinux-mysql ) + server? ( + !prefix? ( + acct-group/mysql acct-user/mysql + dev-db/mysql-init-scripts + ) + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +mysql_init_vars() { + : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} + : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + MY_DATADIR="${MY_LOCALSTATEDIR}" + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use server ; then + CHECKREQS_DISK_BUILD="3G" + + if has test $FEATURES ; then + CHECKREQS_DISK_BUILD="9G" + fi + + check-reqs_pkg_pretend + fi + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + CHECKREQS_DISK_BUILD="3G" + + if has test ${FEATURES} ; then + CHECKREQS_DISK_BUILD="9G" + + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null) + [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \ + && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!" + + if use latin1 ; then + # Upstream only supports tests with default charset + die "Testing with USE=latin1 is not supported." + fi + fi + + if use kernel_linux ; then + if use numa ; then + linux-info_get_any_version + + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi + fi + + use server && check-reqs_pkg_setup + fi +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${P}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mysql-patches + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove bundled libs so we cannot accidentally use them + # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394 + rm -rv \ + "${S}"/extra/protobuf \ + "${S}"/extra/libevent \ + "${S}"/zlib \ + || die + + # Don't clash with dev-db/mysql-connector-c + rm \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + 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')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_SSL=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_CURL=system + -DWITH_BOOST="${S}/boost" + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI, bug 530132 + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_PROTOBUF=system + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_RAPID=$(usex experimental ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + if use static ; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake_src_compile +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='latin1 perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + # These are failing in MySQL 5.7 for now and are believed to be + # false positives: + # + local t + + for t in \ + auth_sec.keyring_udf \ + innodb.import_compress_encrypt \ + perfschema.privilege_table_io \ + ; do + _disable_test "$t" "False positives in Gentoo" + done + + # Unstable tests + # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340 + # - rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223 + # - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489 + for t in \ + main.xa_prepared_binlog_off \ + rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \ + rpl.rpl_non_direct_stm_mixing_engines \ + ; do + _disable_test "$t" "Unstable test" + done + + for t in \ + gis.geometry_class_attri_prop \ + gis.geometry_property_function_issimple \ + gis.gis_bugs_crashes \ + gis.spatial_op_testingfunc_mix \ + gis.spatial_analysis_functions_buffer \ + gis.spatial_analysis_functions_distance \ + gis.spatial_utility_function_distance_sphere \ + gis.spatial_utility_function_simplify \ + gis.spatial_analysis_functions_centroid \ + main.with_recursive \ + ; do + _disable_test "$t" "Known rounding error with latest AMD processors" + done + + if ! hash zip 1>/dev/null 2>&1 ; then + # no need to force dep app-arch/zip for one test + _disable_test "innodb.partition_upgrade_create" "Requires app-arch/zip" + fi + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_numa_interleave_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + if ! use latin1 ; then + # The following tests will fail if DEFAULT_CHARSET + # isn't set to latin1: + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_xa_prepared_disconnect \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + innodb.innodb_pagesize_max_recordsize \ + innodb.innodb-system-table-view \ + innodb.mysqldump_max_recordsize \ + main.mysql_client_test \ + main.mysqld--help-notwin \ + main.mysqldump_bugs \ + main.type_string \ + main.information_schema \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_xa_survive_disconnect \ + rpl.rpl_xa_survive_disconnect_lsu_off \ + rpl.rpl_xa_survive_disconnect_table \ + ; do + _disable_test "$t" "Requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set" + done + fi + + if has_version '>=dev-libs/openssl-1.1.1' ; then + # Tests are expecting <openssl-1.1.1 default cipher + for t in \ + auth_sec.cert_verify \ + auth_sec.mysql_ssl_connection \ + auth_sec.openssl_cert_generation \ + auth_sec.ssl_auto_detect \ + auth_sec.ssl_mode \ + auth_sec.tls \ + binlog.binlog_grant_alter_user \ + encryption.innodb_onlinealter_encryption \ + main.grant_alter_user_qa \ + main.grant_user_lock_qa \ + main.mysql_ssl_default \ + main.openssl_1 \ + main.plugin_auth_sha256 \ + main.plugin_auth_sha256_2 \ + main.plugin_auth_sha256_server_default \ + main.plugin_auth_sha256_server_default_tls \ + main.plugin_auth_sha256_tls \ + main.ssl \ + main.ssl_8k_key \ + main.ssl_bug75311 \ + main.ssl_ca \ + main.ssl_cipher \ + main.ssl_compress \ + main.ssl_crl \ + main.ssl_ecdh \ + main.ssl_verify_identity \ + x.connection_tls_version \ + x.connection_openssl \ + ; do + _disable_test "$t" "Requires <dev-libs/openssl-1.1.1" + done + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + cmake_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_config() { + _getoptval() { + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") ) + + if [[ ${#results[@]} -gt 0 ]] ; then + # When option is set multiple times only return last value + echo "${results[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # 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 "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_TMPDIR=${MYSQL_TMPDIR%/} + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")" + if [[ -z "${mysql_install_log}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysql_install_log}" || die + chown ${MYSQL_USER} "${mysql_install_log}" || die + fi + + local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")" + if [[ -z "${mysqld_logfile}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysqld_logfile}" || die + chown ${MYSQL_USER} "${mysqld_logfile}" || die + fi + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + 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 + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please 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 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_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 + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")" + [[ -z "${tz_sql}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--initialize-insecure" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + rm "${tz_sql}" || die + + local x=${RANDOM} + local socket="${EROOT}${PID_DIR}/mysqld${x}.sock" + local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/mysql/mysql-8.0.23.ebuild b/dev-db/mysql/mysql-8.0.23.ebuild new file mode 100644 index 000000000000..28619bb74858 --- /dev/null +++ b/dev-db/mysql/mysql-8.0.23.ebuild @@ -0,0 +1,1159 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR=emake + +inherit check-reqs cmake flag-o-matic linux-info \ + multiprocessing prefix toolchain-funcs + +MY_PV="${PV//_pre*}" +MY_P="${PN}-${MY_PV}" + +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-8.0.23-patches-01.tar.xz" + +SRC_URI="https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-${MY_PV}.tar.gz + https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-${MY_PV}.tar.gz + http://downloads.mysql.com/archives/MySQL-8.0/${PN}-boost-${MY_PV}.tar.gz + ${PATCH_SET}" + +HOMEPAGE="https://www.mysql.com/" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="8.0" +IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling + router selinux +server tcmalloc test" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!test? ( test ) libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) + cjk? ( server ) + jemalloc? ( server ) + numa? ( server ) + profiling? ( server ) + router? ( server ) + tcmalloc? ( server )" + +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-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" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + >=app-arch/lz4-0_p131:= + app-arch/zstd:= + sys-libs/ncurses:0= + >=sys-libs/zlib-1.2.3:0= + libressl? ( dev-libs/libressl:0= ) + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + server? ( + dev-libs/icu:= + dev-libs/libevent:=[ssl,threads] + >=dev-libs/protobuf-3.8:= + net-libs/libtirpc:= + cjk? ( app-text/mecab:= ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + numa? ( sys-process/numactl ) + tcmalloc? ( dev-util/google-perftools:0= ) + ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + virtual/yacc + server? ( net-libs/rpcsvc-proto ) + test? ( + acct-group/mysql acct-user/mysql + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:5.7 + selinux? ( sec-policy/selinux-mysql ) + !prefix? ( + acct-group/mysql acct-user/mysql + dev-db/mysql-init-scripts + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +mysql_init_vars() { + : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} + : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + MY_DATADIR="${MY_LOCALSTATEDIR}" + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use server ; then + CHECKREQS_DISK_BUILD="2G" + + if has test $FEATURES ; then + CHECKREQS_DISK_BUILD="9G" + fi + + check-reqs_pkg_pretend + fi + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + CHECKREQS_DISK_BUILD="2G" + + if has test ${FEATURES} ; then + CHECKREQS_DISK_BUILD="9G" + + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null) + [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \ + && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!" + + if use latin1 ; then + # Upstream only supports tests with default charset + die "Testing with USE=latin1 is not supported." + fi + fi + + if use kernel_linux ; then + if use numa ; then + linux-info_get_any_version + + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi + fi + + use server && check-reqs_pkg_setup + fi +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${MY_P}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mysql-patches + + # Avoid rpm call which would trigger sandbox, #692368 + sed -i \ + -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \ + CMakeLists.txt || die + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove man pages for client-lib tools we don't install + rm \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die + + cmake_src_prepare +} + +src_configure() { + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + # Using bundled editline to get CTRL+C working + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_SSL=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DWITH_CURL=system + -DWITH_BOOST="${S}/boost" + -DWITH_ROUTER=$(usex router ON OFF) + ) + + if is-flagq -fno-lto ; then + einfo "LTO disabled via {C,CXX,F,FC}FLAGS" + mycmakeargs+=( -DWITH_LTO=OFF ) + elif is-flagq -flto ; then + einfo "LTO forced via {C,CXX,F,FC}FLAGS" + myconf+=( -DWITH_LTO=ON ) + else + # Disable automagic + myconf+=( -DWITH_LTO=OFF ) + fi + + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + + mycmakeargs+=( + -DWITH_ICU=system + -DWITH_LZ4=system + # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex + -DWITH_RAPIDJSON=bundled + -DWITH_ZSTD=system + ) + + 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." + ewarn "Tests will probably fail!" + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8mb4 + -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci + ) + fi + + if use server ; then + mycmakeargs+=( + -DWITH_EXTRA_CHARSETS=all + -DWITH_DEBUG=$(usex debug) + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_LIBEVENT=system + -DWITH_PROTOBUF=system + -DWITH_NUMA=$(usex numa ON OFF) + ) + + if use jemalloc ; then + mycmakeargs+=( -DWITH_JEMALLOC=ON ) + elif use tcmalloc ; then + mycmakeargs+=( -DWITH_TCMALLOC=ON ) + fi + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + ) + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='perl server' \ +# FEATURES='test userpriv' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo ${rawtestname} : BUG#${bug} ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # 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" + + local -a disabled_tests + disabled_tests+=( "auth_sec.atomic_rename_user;0;Depends on user running test" ) + disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" ) + disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "main.cast;0;Needs update for 2021" ) + disabled_tests+=( "main.mysql_load_data_local_dir;0;Known test failure - no upstream bug yet" ) + disabled_tests+=( "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" ) + disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Known failure - no upstream bug yet" ) + disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware") + disabled_tests+=( "x.connection;0;Known failure - no upstream bug yet" ) + disabled_tests+=( "main.mysqlpump_basic_lz4;0;Extra tool output causes false positive" ) + disabled_tests+=( "x.message_compressed_payload;0;False positive caused by protobuff-3.11+" ) + disabled_tests+=( "x.message_protobuf_nested;0;False positive caused by protobuff-3.11+" ) + + if ! hash zip 1>/dev/null 2>&1 ; then + # no need to force dep app-arch/zip for one test + disabled_tests+=( "innodb.discarded_partition_create;0;Requires app-arch/zip" ) + disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" ) + fi + + local test_infos_str test_infos_arr + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_infos_str test_infos_arr + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # 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 "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + mycnf_src="my.cnf-8.0.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|utf8mb4|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" + + if use router ; then + rm -rf \ + "${ED}/usr/LICENSE.router" \ + "${ED}/usr/README.router" \ + "${ED}/usr/run" \ + "${ED}/usr/var" \ + || die + 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 +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + # NOTE: $MY_LOGDIR contains $EPREFIX by default + [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}" + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog " \"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + einfo + else + einfo + elog "Upgrade process for ${PN}-8.x has changed. Please read" + elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html" + einfo + fi +} + +pkg_config() { + _getoptval() { + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") ) + + if [[ ${#results[@]} -gt 0 ]] ; then + # When option is set multiple times only return last value + echo "${results[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # 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 "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_TMPDIR=${MYSQL_TMPDIR%/} + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")" + if [[ -z "${mysql_install_log}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysql_install_log}" || die + chown ${MYSQL_USER} "${mysql_install_log}" || die + fi + + local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")" + if [[ -z "${mysqld_logfile}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysqld_logfile}" || die + chown ${MYSQL_USER} "${mysqld_logfile}" || die + fi + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + local -a config_files + + local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Client configuration '${config_file}' not found; Skipping configuration of default authentication plugin for client ..." + fi + + config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Server configuration '${config_file}' not found; Skipping configuration of default authentication plugin for mysqld ..." + fi + + if [[ ${#config_files[@]} -gt 0 ]] ; then + if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then + local user_answer + + echo + einfo "Please select default authentication plugin (enter number or plugin name):" + einfo "1) caching_sha2_password [MySQL 8.0 default]" + einfo "2) mysql_native_password [MySQL 5.7 default]" + einfo + einfo "For details see:" + einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password" + read -p " >" user_answer + echo + + case "${user_answer}" in + 1|caching_sha2_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password + ;; + 2|mysql_native_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password + ;; + '') + die "No authentication plugin selected!" + ;; + *) + die "Authentication plugin '${user_answer}' is unknown/unsupported!" + ;; + esac + + echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}" + + unset user_answer + fi + + local cfg_option cfg_option_tabs cfg_section + for config_file in "${config_files[@]}" ; do + cfg_option="default-authentication-plugin" + cfg_section="mysqld" + cfg_option_tabs="\t\t" + if [[ "${config_file}" == *client.cnf ]] ; then + cfg_option="default-auth" + cfg_section="client" + cfg_option_tabs="\t\t\t\t" + fi + + if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then + einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \ + "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!" + else + einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \ + "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!" + fi + done + unset cfg_option cfg_option_tabs cfg_section + fi + unset config_files config_file + + echo + + 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 + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please 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 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_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 + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")" + [[ -z "${tz_sql}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--initialize-insecure" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + rm "${tz_sql}" || die + + local x=${RANDOM} + local socket="${EROOT}${PID_DIR}/mysqld${x}.sock" + local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/mysqltuner/Manifest b/dev-db/mysqltuner/Manifest index 7f61b39bcf7d..8fece49da219 100644 --- a/dev-db/mysqltuner/Manifest +++ b/dev-db/mysqltuner/Manifest @@ -6,5 +6,5 @@ DIST mysqltuner-1.7.17.tar.gz 213429 BLAKE2B 166ed3d657a529ce7c8e92648bcbf6da91f EBUILD mysqltuner-1.6.18.ebuild 819 BLAKE2B 28fbddde037358d38eac70b778e77e255c3a2fcc812652ed42bd3482bca055c81beabd4bdb879d08b05cb15c6b9a5d036a2db0ecdc032fefbfcca8d5b7de1a48 SHA512 097e8b3cecb29cfc084d73befee963c656b017202f048fcd04d8b2a7880218500fd8f52a7b72edbf5f4fa8f8d3780924d8fe954a254c048d6b4f8264f9107dea EBUILD mysqltuner-1.7.13.ebuild 825 BLAKE2B 0a4c896905040f43d559161fece619065e9da1392a9cc9814743cf6170a0d279a781a224174f9621884c52db36345766b62826442268af3f06ac5dc085fe7d36 SHA512 3496115cd682c512e34d46fd5f5db623a78618737b5c23e400e7dedd0f96b6ab1b641abf6fbd394e7d283f00025971f58e9fe3a6c8b371d92824076a3cb4bc17 EBUILD mysqltuner-1.7.15.ebuild 954 BLAKE2B c769e561ab9abbcb314394bca95314e8f1c41464187c8b77952cec9e4e13c20f47f03b0feecc360a6b6a235576fc4b498c05fadfdb0f87eff0e705205fe0347a SHA512 cf78ab7498b00bf8a696b589e22d624fcfb72a1354637e01e36506b54d386abb79e66971ba8c69d3517b7dd699934a9292ee84bcfc10d6bb946391f6196868b5 -EBUILD mysqltuner-1.7.17.ebuild 840 BLAKE2B 0afbbc1c5be8eb0000c95aed44b8213f24daca361ffafcca733f8a0a773d374d7d6db68974e7ed96d9b7309ac6710e08588d6058f395f6e13b827d2690ddbe89 SHA512 2e06dae8f0ffb9c11abbafefe1a2a46b6e93929aa7194c201a17e7f5ce4ac128cf54bc81ec9f3a24d985c08099907246c42350ea1262441d9459847f6c29fb58 +EBUILD mysqltuner-1.7.17.ebuild 839 BLAKE2B 4d2a3472151d27aaa5b5a6a7363d5ff635b850b7b77e5db30296cc9e080ad6837e0635d65668197a6da39ed29e092a0d2fefb4c2fce242b176fba41191e121c3 SHA512 92c1de87b8e62e95cf772aa6ca80fbe3d8aa7fbf2096910bb3e76e98d4c3dc98e94090ac8c64556d18035992873b5b869c2a2199b705f1cb4001fc6b239c13b8 MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 diff --git a/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild b/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild index f9caa472df48..732f4a0e5036 100644 --- a/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild +++ b/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/major/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" RDEPEND=" dev-lang/perl diff --git a/dev-db/percona-toolkit/Manifest b/dev-db/percona-toolkit/Manifest index 3a9aeb1c2468..9df1914dfbd2 100644 --- a/dev-db/percona-toolkit/Manifest +++ b/dev-db/percona-toolkit/Manifest @@ -8,9 +8,11 @@ DIST percona-toolkit-3.0.13.tar.gz 10855538 BLAKE2B 30dfbd3c56da64de10ce5d960a9b DIST percona-toolkit-3.0.9.tar.gz 15197340 BLAKE2B 095d8c0b26853caa6d2515de1d8fb8ff13b3084caa46498c8c789cd4e7b18473d41992701e393ad91cd7fdda8b3e56a099600285aeb4ba788110d36a028f76b6 SHA512 56a8732cfdbd58d0602e482d7bf049d2049104b7ae203d756db81a052cd837f16d2a35f75def4f23748534d0d2eb6441cb9fe49175a931fbcdbb6adeb42f1c53 DIST percona-toolkit-3.1.0.tar.gz 18106856 BLAKE2B 4a08e70a03d80e86e2fd7ba4ac77be9568643faf46bb653ef9e18015b95d36936034369a8adf9de4e09d2ca6cd25a845b140d6dd2c41027597f08d74f328ad26 SHA512 6dd2de997fe9627897dad453277544142cbdcba41bf30de21ee10c292c671bc089df0e299a8e386af082511c57ac53621b8e11f4ae43e98ea41eeca0c76f652f DIST percona-toolkit-3.2.1.tar.gz 15521123 BLAKE2B 7f8222a2afe2c0700d8f965bb5f8d2ef99c1136b977454ef04133fa8dfeb0192c49552dfde90a2d4d69116c2ba7c4a998fc330f64546691982946624bf24efef SHA512 17fd9f10d2d5671c3ce75dfeba501b9c34b216844b8d8ceb03fadbfb6396cedb7b672d52af7a831739a417d6fcc5b538b4772ffdb9b55816d94fac87e88ba472 +DIST percona-toolkit-3.3.0.tar.gz 15342520 BLAKE2B fcafede75cf15ad61efe18eac057cedab11e570cc6a17d48345cd046638b6b1c89b8f233f26cd051301ea0d6bdd03996b4007fc09a84cd44464beb3ca7150b70 SHA512 87bb5bcccabf782eafc0e363f3a5d75e9e28d5edd9d4278df5f455c90207296dc9035f85311567bd210109a2796484010d8a11fa4d4a5bee09f228aedb6b3bb2 EBUILD percona-toolkit-2.2.20.ebuild 1213 BLAKE2B 2bcc433599d64b15225e508fa16c50634b34c9963c38fae7d8ac412e730c9566751bfa1c784254018e40b5a6d8fcb6b4e52c2f85df7362d43bcf153282f7766b SHA512 f1b0b8a48e99d616d9a54a5bf6c39a06ef5e6f48992fe3e0584d464d7ed1abc5f6f08a14488cbffd4fcf4d8afe8791112094438baf06a5a4b788a953d539288b EBUILD percona-toolkit-3.0.13.ebuild 1325 BLAKE2B c8dc51ce757c3165957190266fa484bf74451644cdc62a464d8276fd6d3523a2b2864caa27b766c7e90b1c02c81d940ebd706e876922020c0feb878eb3083d26 SHA512 152841e2bd6be6e7015be3c929e1ecef678bf4456b9beba1ace9dac5f129e02d7373b460bb445ab0c69e10c351602907d33dcddb14faf624013790f9cfe54753 EBUILD percona-toolkit-3.0.9.ebuild 1249 BLAKE2B bd743a722e60cade6307bd04c774a77d0e01b2272e82974be486b47d0462120910c1182ba6fc3f7cf268f4ebfa04d432e456f62079010621aeaf6b325c743b54 SHA512 988d423c3125592608caa659543b508dcea2048b0c905a24c924e75894ca7c93924908e49f5c6c2c5d660a7b90a242e558e874849f0793d58a82abec1ad38982 EBUILD percona-toolkit-3.1.0-r1.ebuild 1389 BLAKE2B 43f48d8cbaa1bebcef5c8d9100f2d270931ee2ac0d5649b1aa66bd2f0fb6c56238d5eb30b5a3d1b2bbe4915470976af3e80f04aa97e173a5214f182d41772953 SHA512 fb554bae9ebc93863faf381a59ab0ce64f41c0374061c34d5b6c34e8728ee771a2c90ea852adb8857211adf52cdfd9e48072fcf079a68c20f3554788775bdffd EBUILD percona-toolkit-3.2.1.ebuild 1327 BLAKE2B 721af4c15c6c1bacae62569f8320698899ac7c26d6694790d4457ea65b2ec12c476d2d3d80e42d8f9f589e4aa8d5c81b76c29484e6f9cf68387bf00cbd2e8000 SHA512 c159ad4696e2fe86b012a24ee3a69da0fe7134c248786936d0f1bca1b0e3672825dd10c1ee485d187d26fa3f0870c453fbbf67de89b28cf770ed640fe9b2b265 +EBUILD percona-toolkit-3.3.0.ebuild 1327 BLAKE2B bb75b25d57fdd2994bc049e55e98060645995111384cd47c9d7c9ee21d7813be85e21622af3e95f08912cd1adc18a990376b611f32c2ebabea5a6659d61e5658 SHA512 61683cb1082708ade2edfc15a8e68c42795582891b9c4d930981d76ddd0473bdac64105d3d25b230380067a9ce7ef4453e7558a1bdbad5f3439eac3cfd8aeefd MISC metadata.xml 723 BLAKE2B f5150e42397c47b3815de1c9ff8414e12f517501e7075c5fddf3ac800a2c0a654db5d2fccef57609629017713f3a80a81164886b82d16df282601452e1bd5705 SHA512 b0e9ddbbd1834f5867600530e946ce30786ea83e779f62bf894facc0bb3f0fd5a58f6095f0e006d565e04370c89ae4101d9cfb9b7243704118eb7629ae0e0f9e diff --git a/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild new file mode 100644 index 000000000000..2baf33ca254c --- /dev/null +++ b/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit perl-module + +DESCRIPTION="Advanced command-line tools to perform a variety of MySQL and system tasks" +HOMEPAGE="https://www.percona.com/software/mysql-tools/percona-toolkit" +SRC_URI="https://www.percona.com/downloads/${PN}/${PV}/source/tarball/${P}.tar.gz" + +LICENSE="|| ( GPL-2 Artistic )" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +# Package warrants IUSE doc +IUSE="" + +COMMON_DEPEND="dev-perl/DBI + dev-perl/DBD-mysql + virtual/perl-Time-HiRes" +RDEPEND="${COMMON_DEPEND} + dev-perl/JSON + dev-perl/libwww-perl + dev-perl/Role-Tiny + virtual/perl-File-Path + virtual/perl-Getopt-Long + virtual/perl-Time-Local + virtual/perl-Digest-MD5 + virtual/perl-IO-Compress + virtual/perl-File-Temp + virtual/perl-File-Spec + virtual/perl-Scalar-List-Utils + dev-perl/TermReadKey" +DEPEND="${COMMON_DEPEND} + virtual/perl-ExtUtils-MakeMaker" + +# Bug #501904 - CVE-2014-2029 +# 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.10-slave-delay-fix.patch +) + +src_prepare() { + default + + sed -i \ + -e "s/=> 'percona-toolkit',/=> 'Percona::Toolkit',/g" \ + Makefile.PL || die +} diff --git a/dev-db/percona-xtrabackup/Manifest b/dev-db/percona-xtrabackup/Manifest index 06cf7ae189b4..15364776e6d1 100644 --- a/dev-db/percona-xtrabackup/Manifest +++ b/dev-db/percona-xtrabackup/Manifest @@ -2,12 +2,19 @@ AUX percona-xtrabackup-2.4.11-fix-gcc6-isystem.patch 4034 BLAKE2B 0ce65196d46794 AUX percona-xtrabackup-2.4.20-fix-gcc10.patch 931 BLAKE2B 77c433ab006f2fc5c36c5cee17fd37d98136779884ad0075b4547671690307a253dec9ac7aa80998bb1ee02b5568d053d7b41b5df348b5338c83497c744d421f SHA512 2a6f4f745a57df0f8df4f684e8ab194de0b00c1578e91823c7cafce1338bbfea873d1fb7d34f94233e40fb7a0b9d7edd869a482e7cb46f3706caf3d297983397 AUX percona-xtrabackup-2.4.6-remove-boost-version-check.patch 485 BLAKE2B c9330c5b0a163a0d95682a81cee9e3c99cebdb2a6ed124cb5f424ade92728b11b29685e2c1eee0fbf9df613f5a1b08cc4021daec8b60a6c66ab51b08a397b33d SHA512 31277d6bef14a6b642ce425ce9f2c92fe49f905c42c720a583cb45406c1ee18ccbf2bef224b9b89bb02de18aecc1ec48576f5ca0c9bfef0cc683d78218506906 AUX percona-xtrabackup-8.0.13-remove-rpm.patch 1139 BLAKE2B c2ada7337f6596ac5c37b1ebe7f2324fb4ee43e14ec41cfeb8d861bc2df0614ca1957c9d44cf81530b1f4bac9d6143edc906721aeebfe4551fe37dec9a41ed7b SHA512 99d4e92c5f979b4d3e9edb6ebae73e88f81d5696826d4f477f8cd885d8c54d955c879eed45779aca092facfef7aa29f818cf467c3302a7e8db6ca89fa5e38e28 +AUX percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch 1094 BLAKE2B 25b43fc6ca621e6f7a93a214580fb491d7c8c4ac7d4fbaca93e521eebb6b63b48e5526cd8aeff4d92c7715416833ed16df4c258ebbd8c5ce8015a0afdd32e11d SHA512 c0b9fe123766b70d324dd9388bd0762e734bc728c3dd8f750f06ac7432a1907fc45aaad7b1c79418446af0c416e962c116a15e17ac7091607df09f2fa04fa555 +AUX percona-xtrabackup-8.0.22-remove-rpm.patch 1086 BLAKE2B fdac1fa3f83cd7b3b82ca7dd443ba9d170051d1b2e92fbb267524b46c8272c28586cce58de6b71eae1372f08fd5e89b0faee567885bc3de7650cb42c4749ec8a SHA512 2362805b7937b9b1922f4d8be86031b58df9c1475c849052727f190ec08b32cbf07bee98ac38fe7a362e8e10fa1dcb4ee16f9bbeb6f36ddfc2931b9f14c05553 DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae DIST boost_1_70_0.tar.gz 116000903 BLAKE2B aefeddf5671295ae46fcfed033cef37cca1c70f88d7d3305636e0add98c277fc8170c7e3e0de58ff83a64389b5b430b81077b6852da5941aa4867845a7b08554 SHA512 3d8800d0aa864fb5484a5339ab75dee9bceca063122108e92d971f1d1295a9f09399b2dd88b117da7f0c4558b4f9fb1494eda1e3035498557bbe90e8f058668f +DIST boost_1_73_0.tar.bz2 109247910 BLAKE2B 5995ff6ca21f45988b187b94bf743795cca97531baa8355f488be0987b9426289dd85d6ce25b7eb03ccd690109f05ba56252a95bca50505ad9cd66f4e0e234e8 SHA512 86c296511c0766145097625a62bf099c3d155284d250ad6e528e788bc90b2945838498dfe473c6c6c78d1694b6fba8e19f7dee0d064a043841e6231603fff668 DIST percona-xtrabackup-2.4.15.tar.gz 57357749 BLAKE2B fcc64736230636a3a5584a300229e0507f00bcd64a3d0b8e00f834b15ec757347a55a85521dd0aea939761c3a26b1ef99466ff7e633133b8088cd290bd835444 SHA512 789b6870d3ad06861126f67190717ffb31224628d1b9631ec5f39d0a41b3c66aaf2127e3ec4b38d3e8f7858a1438a74f0e89b07b9f4248b637b2ed39143ab599 DIST percona-xtrabackup-2.4.20.tar.gz 59782001 BLAKE2B 25deaa3044d89d6f884734bbaee20004d792f4b0bf86bd0d456177cd2b149c29af13900b32e29f92c04cf810b34584ec2d9a74b443be27b8c7dca54b330ced99 SHA512 bac5d276bb78209eacc34ea9950dc128a636c549795b6b071597ac3c8a43fefe9db085a42827b8176647affc2fcfc6caa51462dbc0ae7a1a716ba6fdc9092478 +DIST percona-xtrabackup-2.4.21.tar.gz 61901220 BLAKE2B 77245818015d4e9c22d05cfeb254ff570ab490c43f9d2fd0e1c499e1e3fefb143b4659fb929740a563e2344b3cd7dfb408931c6d24b277f6df06886dfa83126e SHA512 8b14ef4620fdf836a090d07e5aeb78141eacf081a2cf1069d91af1ba5206e36e3e195f8acb06609f334661d6ad27937b31e997b0f1aabb9cef612d35fabd0284 DIST percona-xtrabackup-8.0.13.tar.gz 272887474 BLAKE2B d0ac4c602c7c3197ca0a7c361f9658bd2da00bdac5c6dc0a4d56b92e04e4e6c86f22b70e7cf2b375f121983ea7f134edae93116c91945b2c3314a51565033ae5 SHA512 b1fdb0dea1c8b6e39b5451153f01c8ce0dcf411fd88fe8f9f686e562e0950ff9270a39574230ada928b734cc8bb4517da0f01310e75d5c9beba0e35cfeaa11ff +DIST percona-xtrabackup-8.0.22-15.tar.gz 294237178 BLAKE2B 819d7594bc41e0adc1e6f2632e6ad50de7a2416c7577f48ea83948bed1b14c0c552c4c44597c84c86fa292bcbbaace185978956acdc39070f81ede6701f4af52 SHA512 f5295e2f1e3ee71931295f89dbd708eed936c4912ab3b6c122eb63795ee2e5154011ddf95cfad005a89c7f086f087f7fb19068d098b49202c697a95b58ee7672 EBUILD percona-xtrabackup-2.4.15.ebuild 1778 BLAKE2B 74e30f27b5dc192c2fe8050cb881b1c5450a0f0d39c630580bf93b8bb95312602b30fa827a06df1794410b2d655f8adc2be9fef596ea26bdf00d071800f99f72 SHA512 fa47544c2b83c281d04a3b9f2e435a36a47d94bce872b3b0fce45071cdffc196c0bd03ca41837a2d2132a09880c1a443216f9b7d98ffe856a3323f8de9067bed EBUILD percona-xtrabackup-2.4.20.ebuild 1535 BLAKE2B 41170fcaab472910dde609fb7b12aa6918a708018a7fde9cc182276b8383fd041c322141aea8dcf599752a88e2ed5872f4087ac11cc27387495f7574af1be594 SHA512 592dacff26ec640eec56853e8a9bbe63ba8ecae859463e55aac9478c393d05409e3b0bd9a7aefbd4795f37ef213e183c9e24f9929ea05f470c33a6034e5a1fd3 +EBUILD percona-xtrabackup-2.4.21.ebuild 1499 BLAKE2B 00e2dcb73eee4fcc85847e8524c67195d50e53675dfd9e65d2c4e2ad286cdf18416809f185be81256c59fb5908cf5b44893d365c3f0fb535c8025334350c573c SHA512 b436b90f4aa3bd37471c30f3cf23d35327f6d06d67ba4def513e49528fcc6569c22afee356392c877b951c49d60f2235e408ac18e11d61606105bb5ff00aa7a7 EBUILD percona-xtrabackup-8.0.13.ebuild 1545 BLAKE2B 42ea67173b4c4f462e0acbe4a5ebdf2cae8ea7764df7d5353c73f65dd5d9023a2833e8e8c7baf9b4f8316d5179ea5aa3a7ca1b55eebd88d43fb89cbea333928d SHA512 5967bb6a3e95187d13c4b6995cfd8b151aa1d1fa9c4dadfa1bf0791ff8748a73705a750214115c62c92c41c483d48872e38c7915e82fbc4ef90d79f594a135c2 -MISC metadata.xml 258 BLAKE2B 0ed1f43157a23ac7477592c1eeab36b0b85a0352c488b93df9fe605cf9d3eb40aac636a8791f906ce78bd6a453928f81b9497ffdb0df936c35c919872f9bb33a SHA512 cdce5f5e2e7f2fa95a7fea95b60d014c6e6853ab8adc829a0f9ad5b9baa15d353a3756bc7c38b44e1e8989254a23232f8e539d054a66d2ad79f7fd8d7f3ba40c +EBUILD percona-xtrabackup-8.0.22.15.ebuild 1867 BLAKE2B 626bc0a244a6335f0b8f65ea586e1d26bd2215b239338160f6dcf5a0cb832a810d1a128de7c0599c74fa6c61a8389b002ab9a800d4fd9dfd7ef924d3f32ff0c5 SHA512 d5387d3a5ddf1232786b4d477b404f856484f4d2c9ef4a1b3edc7b4d9f0fb001e18137f0ac597da9ea7c6feed96fe74503126e17d0ff2f890bf12f33ff9c06d9 +MISC metadata.xml 334 BLAKE2B dcc722d923e0f35bd57d67664edf99e7bc159816aa88b4ea210b72a643326c64ed26082088e0468c2b51670b1bd913e66e5f8a99adcb847b42e7f61e7a354223 SHA512 035813d50369063ec1da627ed05ad625045a52e252441bbd4ada2035913525fb18dbf443a57af587aa0f1f18a4e87168e4b683cd33b701e1f115d7e852a81add diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch new file mode 100644 index 000000000000..b3e1662a0cf6 --- /dev/null +++ b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch @@ -0,0 +1,28 @@ +From 16048ed60bef16d4bf1e361a59e7899845b9426a Mon Sep 17 00:00:00 2001 +From: Thomas Deutschmann <whissi@gentoo.org> +Date: Sun, 20 Dec 2020 21:47:33 +0100 +Subject: [PATCH 10/10] Fix building against >=ICU-68 + +Link: https://github.com/unicode-org/icu/commit/a18df7ba2834afc2b577a1d5a7d906868ade6fa9 +Bug: https://bugs.gentoo.org/759070 +Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> +--- + sql/mysqld.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sql/mysqld.cc b/sql/mysqld.cc +index c400e5584..5d2ebfaea 100644 +--- a/sql/mysqld.cc ++++ b/sql/mysqld.cc +@@ -7323,7 +7323,7 @@ int mysqld_main(int argc, char **argv) + if (opt_keyring_migration_source || opt_keyring_migration_destination || + migrate_connect_options) { + Migrate_keyring mk; +- my_getopt_skip_unknown = TRUE; ++ my_getopt_skip_unknown = true; + if (mk.init(remaining_argc, remaining_argv, opt_keyring_migration_source, + opt_keyring_migration_destination, opt_keyring_migration_user, + opt_keyring_migration_host, opt_keyring_migration_password, +-- +2.29.2 + diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-remove-rpm.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-remove-rpm.patch new file mode 100644 index 000000000000..91f67c437168 --- /dev/null +++ b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-remove-rpm.patch @@ -0,0 +1,31 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -222,28 +222,6 @@ ENDIF() + OPTION(FORCE_UNSUPPORTED_COMPILER "Disable compiler version checks" OFF) + MARK_AS_ADVANCED(WITHOUT_SERVER FORCE_UNSUPPORTED_COMPILER) + +-# Use 'uname -r' and 'rpm -qf /' to figure out host system. +-# For Docker images we cannot trust uname, so use rpm instead. +-IF(UNIX) +- FIND_PROGRAM(MY_UNAME uname /bin /usr/bin /usr/local/bin /sbin) +- IF(MY_UNAME) +- EXECUTE_PROCESS(COMMAND ${MY_UNAME} -s +- OUTPUT_VARIABLE MY_HOST_SYSTEM_NAME +- OUTPUT_STRIP_TRAILING_WHITESPACE +- RESULT_VARIABLE MY_UNAME_RESULT +- ) +- EXEC_PROGRAM(${MY_UNAME} ARGS -r OUTPUT_VARIABLE MY_HOST_SYSTEM_VERSION) +- ENDIF() +- FIND_PROGRAM(MY_RPM rpm /bin /usr/bin) +- IF(MY_RPM) +- EXECUTE_PROCESS(COMMAND ${MY_RPM} -qf / +- OUTPUT_VARIABLE MY_HOST_FILESYSTEM_NAME +- OUTPUT_STRIP_TRAILING_WHITESPACE +- RESULT_VARIABLE MY_RPM_RESULT +- ) +- ENDIF() +-ENDIF() +- + # See comments above, about CMAKE_MINIMUM_REQUIRED VERSION and macOS 11. + IF(APPLE) + IF(MY_HOST_SYSTEM_VERSION VERSION_GREATER_EQUAL 20) diff --git a/dev-db/percona-xtrabackup/metadata.xml b/dev-db/percona-xtrabackup/metadata.xml index 5a6137a144a5..379f247efeb0 100644 --- a/dev-db/percona-xtrabackup/metadata.xml +++ b/dev-db/percona-xtrabackup/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="project"> + <email>mysql-bugs@gentoo.org</email> + <name>MySQL</name> + </maintainer> <upstream> <remote-id type="github">percona/percona-xtrabackup</remote-id> </upstream> diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.21.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.21.ebuild new file mode 100644 index 000000000000..967e9fa2e0e1 --- /dev/null +++ b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.21.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR="emake" + +inherit cmake 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/Percona-XtraBackup-2.4/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz + mirror://sourceforge/boost/boost_1_59_0.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + app-arch/lz4:0= + app-editors/vim-core + dev-libs/libaio + dev-libs/libedit + dev-libs/libev + dev-libs/libevent:0= + dev-libs/libgcrypt:0= + dev-libs/libgpg-error + dev-python/sphinx + net-misc/curl + sys-libs/zlib:=" + +RDEPEND=" + ${DEPEND} + !dev-db/percona-xtrabackup-bin + dev-perl/DBD-mysql" + +PATCHES=( + "${FILESDIR}"/${PN}-2.4.6-remove-boost-version-check.patch + "${FILESDIR}"/${PN}-2.4.20-fix-gcc10.patch +) + +src_configure() { + local mycmakeargs=( + -DBUILD_CONFIG=xtrabackup_release + -DBUILD_SHARED_LIBS=OFF + -DWITH_BOOST="${WORKDIR}/boost_1_59_0" + -DWITH_EDITLINE=system + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_SSL=system + -DWITH_ZLIB=system + -DWITH_PIC=ON + ) + + local CMAKE_BUILD_TYPE="Release" + cmake_src_configure +} + +src_install() { + local p="${BUILD_DIR}/storage/innobase/xtrabackup" + + dobin "${p}"/src/{xbcloud/xbcloud,xbcrypt,xbstream,xtrabackup} + dosym xtrabackup /usr/bin/innobackupex + + einstalldocs + doman "${p}"/doc/source/build/man/* +} diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.22.15.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.22.15.ebuild new file mode 100644 index 000000000000..1f27bfcbcf14 --- /dev/null +++ b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.22.15.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR="emake" + +inherit cmake flag-o-matic + +MY_BOOST_VERSION="1.73.0" +MY_PV=$(ver_rs 3 '-') +MY_PV="${MY_PV//_pre*}" +MY_PN="Percona-XtraBackup" +MY_P="${PN}-${MY_PV}" +MY_MAJOR_PV=$(ver_cut 1-2) + +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/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz + https://dl.bintray.com/boostorg/release/${MY_BOOST_VERSION}/source/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION}).tar.bz2 +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + app-arch/lz4:0= + app-editors/vim-core + dev-libs/icu:= + dev-libs/libaio + dev-libs/libedit + dev-libs/libev + dev-libs/libevent:0= + dev-libs/libgcrypt:0= + dev-libs/libgpg-error + dev-libs/openssl:0= + dev-libs/protobuf:= + dev-libs/rapidjson + dev-libs/re2:= + dev-python/sphinx + net-misc/curl + sys-libs/zlib:=" + +RDEPEND=" + ${DEPEND} + !dev-db/percona-xtrabackup-bin + dev-perl/DBD-mysql" + +PATCHES=( + "${FILESDIR}"/${PN}-8.0.22-remove-rpm.patch + "${FILESDIR}"/${PN}-8.0.22-fix-building-against-ICU-68.patch +) + +S="${WORKDIR}/percona-xtrabackup-${MY_PV}" + +src_configure() { + local mycmakeargs=( + -DBUILD_CONFIG=xtrabackup_release + -DBUILD_SHARED_LIBS=OFF + -DWITH_BOOST="${WORKDIR}/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION})" + -DWITH_SYSTEM_LIBS=ON + ) + local CMAKE_BUILD_TYPE="Release" + cmake_src_configure +} + +src_install() { + local p="${BUILD_DIR}/storage/innobase/xtrabackup" + + dobin "${p}"/xbcloud_osenv + dobin "${BUILD_DIR}"/runtime_output_directory/{xbcloud,xbcrypt,xbstream,xtrabackup} + + dolib.so "${BUILD_DIR}"/plugin_output_directory/{keyring_file.so,keyring_vault.so} + + doman "${p}"/doc/source/build/man/* +} diff --git a/dev-db/pgadmin4/Manifest b/dev-db/pgadmin4/Manifest index 5976f645c3fa..0597da720c5c 100644 --- a/dev-db/pgadmin4/Manifest +++ b/dev-db/pgadmin4/Manifest @@ -2,5 +2,5 @@ AUX pgadmin4.desktop 298 BLAKE2B 9048ee03c9f8e05807f2907fd7dcfda9d76bb3cd3b25676 DIST pgadmin4-4.26.tar.gz 33525278 BLAKE2B 2a4061f59299bc48b029a4a93f410538170b6c3d97597074d2b3b6eed1de0f9a1ac88bc187614d9e46d8fe872941f173ba0f0a02def590451dad09e6a3b78e5a SHA512 952a4771f80541c54234fcaa9c870283fdf4887246d0d9751a77c28340b7e39ba871141f230086efda9a274d5e6bd567305047cdc7edf766ccd41112281fdf94 DIST pgadmin4-4.29.tar.gz 35389494 BLAKE2B faaa84c0eee9c92ba483f4adffaf9e39e0c5f8ea21630a9ee8fad62aa833c88aa913df50c760be740afa0696aa1fbf1b6902a8b5bfd322822472f7d2dcb295e1 SHA512 2c7d20d10c96712f41621c2862a6a6222f6d6dad4a0b3e1aaf04744e65744460dcae4220f61b27785e02c82a624fa0793df2ea9d8e83ac0a6de048455929e615 EBUILD pgadmin4-4.26.ebuild 3795 BLAKE2B 0e5e00d49abef6ba610ed3808058bd3835ad6e31f76f1beacd8298d962d5b5d18dc3ee0484724a11fb437c9965694e28d4708afd83b13918504f9451a79cdf21 SHA512 ab2abe86a00380b5347429afcaa0de03bb66e082c2b94c1af23c06f7116dc596d261d52a5ded6b47f2b13440a2b76a9fbcafe0e90df0228703371aba60d80ced -EBUILD pgadmin4-4.29.ebuild 3924 BLAKE2B fea400403695aeb1507ba07615ebde52cd9bd8b23e05eafd734c4b6eb9e837e170777c9af29b0fde2e0e04f351183acbba50970e9e44f267acaa2046859d00ae SHA512 353570463deffe5a45926dac13389d137267b3b642f79ccc46fdf0be243d2162f2b18a7ff407996bb84181d11b2377a13fc5712c86e4ddcf046f1ef603a0536b +EBUILD pgadmin4-4.29.ebuild 3926 BLAKE2B 5a28b1b3fb5b7b7c3806cf590269224ff713dc85e91b413694bc84a2ca46da9cd49d5b08c883bb08a40a7b43e72b87fc2b512554fa2686ea23f5421365d6088d SHA512 96f3ef682c951fe80005cdf8021f14d34ac6c9f040f15b7142f2a4c80b316cb44c3a90a3ebfca9f53b34c2bbf03684c067f95dc552e4790b3a9e518ec6a850a2 MISC metadata.xml 266 BLAKE2B 9d5988ab45f9939f9be5ee7f4b7a9950a3d62252aa0d3e6c953265467428c59fb8c05b2bb72085431b7aa9fc18d31f2b3273e8fdb33443d786b2237db697b7e2 SHA512 9f85990c7ce6a1de5c1067e4781af18bede2d3bd02963a7b2927766b70dbe98d3fb63bb01e19b1cf6e2b77038d9788bf38155b3cc33f9e5ff8430b10a4006325 diff --git a/dev-db/pgadmin4/pgadmin4-4.29.ebuild b/dev-db/pgadmin4/pgadmin4-4.29.ebuild index f795a75bfb27..407c7e2e6dcd 100644 --- a/dev-db/pgadmin4/pgadmin4-4.29.ebuild +++ b/dev-db/pgadmin4/pgadmin4-4.29.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) +PYTHON_COMPAT=( python3_{6,7,8,9} ) PYTHON_REQ_USE="sqlite" inherit desktop python-single-r1 qmake-utils xdg diff --git a/dev-db/pgcli/Manifest b/dev-db/pgcli/Manifest index 3bade1fb664d..ad45dc969815 100644 --- a/dev-db/pgcli/Manifest +++ b/dev-db/pgcli/Manifest @@ -1,4 +1,6 @@ AUX pgcli-3.0.0-sqlparse.patch 1258 BLAKE2B bb899fcd3e059e3380d3bdba12765a1709af9cdb7f9da7358a436afc7229c8b33a2c83e27895321b6fe327ba2e81a35166a04649928d52215fc429df09d16b63 SHA512 c2e40269a65fe07140329c70d063e23dbf6853939005a35b209d1f32bb60786ece4fc37c760fc25ecf4859cde0cf7a4df158caaf6e40660a158bd102ecf15173 DIST pgcli-3.0.0.tar.gz 437733 BLAKE2B 5db69997f675812c3ef847b220b66e7872b134b4d8debd668154bdfa6020432ac08829e7c2ce42adc4cf124e84de5eb9aacbe19636216502f81373a71f21b68f SHA512 7ac52cbfc492dc85163dac7df7a5dde6bfa0327ac1ef6580891cb76d617b998d74c2a59b27d2f8abf8699eb5a69aba30bf13e95ad7bee75c83350730ac061262 +DIST pgcli-3.1.0.tar.gz 441939 BLAKE2B 2c9c9a3afb233eee6f88d304e26e482760f1ff2a458103a80ffb80d877f63bd3ec74ba4be06238e8d78adf36ec251cd27849e0899f3b257b75ac9585f3c04572 SHA512 458871bf7ea0a83a66f44ecbde88590ca2aa08420a58c97d2716d4e36c61738d92283d007fc3968063daa01c25b2c46360292ad6339757c119ff04891e1a1c46 EBUILD pgcli-3.0.0-r1.ebuild 1066 BLAKE2B c879ab11069b87424a5c9118e27f0b0ec06f9dc2d9d5584d13d25f2c52dc4365e37656ab9c0d0df2fc00713fa8a3840f7796a4af4452cda23ee5948d79d563bf SHA512 85b78c0153202b25ea0b3900a9c26579655f4fcfbe735ae271f0a32f3544791348f82d8a758794071b895863538fa47fa973169d2d92f1630e7f4f57615b9e0d +EBUILD pgcli-3.1.0.ebuild 1013 BLAKE2B bc1ebe22b62178467e555396fa88f5a5b5c7072e7d14c36c81f0b9f847a3e4a95f684ff9dd6b39a68c11466f741eb59d2a46467ced804552fbfca7896106e55e SHA512 ce1cac923191a5237132c0845d2c99c1465779abc613857424f4d6ae0e06d804dbaff7049e49fa05f8eabe4c3349bd27d2c9b329be754dac5347e934770e13c5 MISC metadata.xml 460 BLAKE2B c6dc837776eb72ba61b0b0e00cd3f3adc022b70385204346eb2aa0eb8229636ab230be67b194993b22e18cda08b4f968ff02b96d390b8782aac2a4f4de92d7ee SHA512 a3b44f66861c5f8b66cda0fcac6b1d3418bf04835e7ed202ae22faca50ee22187fda785c6e7e7c0848f31b88e1cd9c8c6b4be1999eb600d48965edff2e959c35 diff --git a/dev-db/pgcli/pgcli-3.1.0.ebuild b/dev-db/pgcli/pgcli-3.1.0.ebuild new file mode 100644 index 000000000000..453cba7d70d4 --- /dev/null +++ b/dev-db/pgcli/pgcli-3.1.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=rdepend +PYTHON_COMPAT=( python3_{6..9} ) +inherit distutils-r1 + +DESCRIPTION="CLI for Postgres with auto-completion and syntax highlighting" +HOMEPAGE="https://www.pgcli.com https://github.com/dbcli/pgcli" +SRC_URI="https://github.com/dbcli/pgcli/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] + dev-python/cli_helpers[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/pendulum[${PYTHON_USEDEP}] + dev-python/pgspecial[${PYTHON_USEDEP}] + dev-python/prompt_toolkit[${PYTHON_USEDEP}] + dev-python/psycopg[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/setproctitle[${PYTHON_USEDEP}] + dev-python/sqlparse[${PYTHON_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-db/postgresql + dev-python/mock[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest diff --git a/dev-db/pgrouting/Manifest b/dev-db/pgrouting/Manifest index 35a431b91f68..571fa6258f2b 100644 --- a/dev-db/pgrouting/Manifest +++ b/dev-db/pgrouting/Manifest @@ -2,6 +2,6 @@ DIST pgrouting-2.6.2.tar.gz 6065517 BLAKE2B e27e28cf988040de1e894a857e3d210bc767 DIST pgrouting-3.1.1.tar.gz 6133979 BLAKE2B b7657eeb88773773e6166190cda73d9e657774ff81ce7e9f005333a8dcb9d56587d4a793410356092bb1623ec287549dbc60d814b1d5156ff28301503acee776 SHA512 73285d2d47be844203df136b8a8c13d1672ad8c2dac44a1ff7ce16e4676043692a8f2a60a305542132891da83560c49c5eaeb7712e3e3dd250cd8fd550260d4a DIST pgrouting-3.1.2.tar.gz 6063893 BLAKE2B a371fb9c744b14072c65af5ceb1ea73d2cdb69821626be3ac79e08c9dee854272ce8cb3816d1de3eade06d50a7520846dd6bccda06934b9db926f9092719f131 SHA512 3cf3e0a4a726f6f11887d15ad71b789a9067f3bc5a675288f22730215aa12d12b94d75f9bdc8ab3077de8368c45c55c0dc27128d0453c4c30965bfc0cf118dcd EBUILD pgrouting-2.6.2-r1.ebuild 1224 BLAKE2B d1f10f219e584e2167fbb3351cc35424fb35f10def7e7ba115aa4bec54c259f43e771e47f52d7fddf19c838117d0d265252d4886599ec401020287f590223d35 SHA512 6087d2e8e20c815defe78c440d5ba58e30de353e8ee0722b7347bff79c32ae7abc1d46d48b95c32c0b28db55043f198609217053012134dbfe27b1e879c06eb4 -EBUILD pgrouting-3.1.1.ebuild 1092 BLAKE2B 9e255ade68e57e65f0fb38dc36985f2eaf77323a0e2f769d86031caece6bd08544397b2be8ace08003173b9626663158c54483a0cefc50173117a5991fd6ead3 SHA512 c17720ec34aa5c0c97c39c1e428a45415d78c3b099acb6bce34e8644b2f8f3499bb6219e68efcf2752bc6035354fad239f546589503269e7a098a69ff00eda90 +EBUILD pgrouting-3.1.1.ebuild 1091 BLAKE2B d1505071d8f2f29eb5fae861ba5b621a66f7c8290476b118f879b6b9fd0d909b4a7b7f9f23fc17fed1fccdc648bb11b47d658ad81423d3731767fa58d175be35 SHA512 9f3f6c6d9f0511b868293f3c7e68d3e0e635e91187b4d25812d0e2bfbbf4a58e355ad802a99320bd9fe19a2348a4e33ce2d43c7a162b995f9b2a54f985fab38a EBUILD pgrouting-3.1.2.ebuild 1056 BLAKE2B 1fa30057f61f0d7857ddd0e98b577b93321326ef9b6b0a81409c6b5f6d0de621b6f73d7c7c98a61872620ac7fd7d3332421d4f82aeb946f4db0b57af57268606 SHA512 2aeb113d2e83966939215772762645edc9bd607c65735d3edfd54174ed6cca3b9367e7e68cc54a8a33cdb2b3ff5696e372da8e05309b2d35960eb409554a7903 MISC metadata.xml 457 BLAKE2B d2432768e9244c7648720e1569195498ffa3bda4f862a5b5a2edbbd4383d3ca0ab83063c1004680ea6eb662d74f13c2ec4991baa25365ae9ae8f513b93c973b1 SHA512 bbfc5eec69256ba3addfe5c3158b11b4561b347682474ac2f5ac4cb3be8ca30df130957c751f09d761d3a3d8ad62cf3e59193414a31a9b46d793084285c9406d diff --git a/dev-db/pgrouting/pgrouting-3.1.1.ebuild b/dev-db/pgrouting/pgrouting-3.1.1.ebuild index 519683a61f95..0742615d5496 100644 --- a/dev-db/pgrouting/pgrouting-3.1.1.ebuild +++ b/dev-db/pgrouting/pgrouting-3.1.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -16,7 +16,7 @@ HOMEPAGE="https://pgrouting.org/" LICENSE="GPL-2 MIT Boost-1.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" SRC_URI="https://github.com/pgRouting/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" IUSE="" diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest index a4b873c949b1..74d291176ada 100644 --- a/dev-db/redis/Manifest +++ b/dev-db/redis/Manifest @@ -3,7 +3,6 @@ AUX redis-3.2.3-config.patch 1495 BLAKE2B 9f3c04dfd97845dcd364b75e2e5f543bc40ec0 AUX redis-5.0-shared.patch 883 BLAKE2B 71a490d5c40d873db7d363c4f3cab966bf8e92fa84bcb7209344b79b3bfc4c6f8df5224c8ae0e5d9ee8dbd62d9e288e90934809e91fd6f63c7d1dd4a518170a9 SHA512 f1d1e37a4786a84e9543956e21644a1dcfdc52742299119ba1547b9fb56a92fdef3ca518d94a1db8a88222b661ac7849a4db0bf7ba38b1ae65f286e7df90f0c1 AUX redis-5.0-sharedlua.patch 2642 BLAKE2B f86d3c932a8c0f05e2d65725037a0780152b95835f88395cc74765902c3184a4e1ed0a3802f54345e91a70b6ac013419c6d3412df8fd2397ed300ff1e7210724 SHA512 971944ff03563bcc91c9f29316af2b0eb691c9d0e27d9e4f3fad30dc4e4afe34c077ccdbf5f93ebd78ea6571f809a801721376059780a30467274a7be5ca6425 AUX redis-5.0.8-ppc-atomic.patch 495 BLAKE2B a995c1b1e327416705151dd888b98fe02fdea8126359f3ffa2cce4d5794d7677ffc4dc7f628d076bc0ed341dac4010ffb9409ee25113fe9cac2298658e94802e SHA512 f4f2c2aad5d09e9fafa58946fdc79aa49d8f16ce6d389dd653522295dc397796c58c87f4fb92016af8c261aa4b00a7eab09d33a19eded496807444d234a9abd9 -AUX redis-6.0.3-sharedlua.patch 2815 BLAKE2B 323c13cd06ee50cc86a6f4b4896ab3c887c55a4ec836b6c40e509b166207075ced4cc35b0e9d3490fb893405fc6b4cd325e2e1688acec61a15ef1d34cfc78be1 SHA512 a4e2c54ec9fbaa594290178af26430b5e139b1fb12d44327074077e3e2bff45b9e999d8911f3bc0ac10f5b0afba4ef0993bba610355cb8701bce72a48a6ec634 AUX redis-6.0.9-sharedlua.patch 2871 BLAKE2B 57e56b6cbe6999a2f21daf527aab1a05b6f5107750d8f4afed0f2792ef418a84e6e1addde833ee3969b2aca24b698f2ddc17187eaa726f87642c81ea144b617e SHA512 f39021b66af0d9c7386802430dd26c43fa6fb5ac572dfe459cc00f9f5cd424797bdb13eddfebba5d2f11e9ecf6456f571c7e58190a4f308f889f512250a78092 AUX redis-sentinel-5.0-config.patch 706 BLAKE2B 0fa0166bbb3460e783e85b90acf4c606b83e271d8e9828bb5b3a39b623508b21dac33369ac25b645169271822e9c5deb6ea7294e40fc8d1a5ceec5129c174505 SHA512 2dee5666d50fc5d9b6021735a95c9a9647ba99c562e348785381d5a05f1388c3fb9e8c4a15b0de771cf73fb80e5e29f1df25805df749457a2ce4f2e3f2e0e9e8 AUX redis-sentinel.confd 470 BLAKE2B f77fd7e35c753e35aafa6e773dcc00d2779bc29d8579334078bd6124aab436dff671ae790c0b0e3cefdd4082fe212b4b71501b529176cb0a1e5f8c8cdcf1387e SHA512 ea455f8c73c21bc46127ea5c7b99dc5707ad41160e5fd61367555dd2e3fd5c1518026257651e7d371a60a64b682b6839dd37580f75308c73239edeba49d6b372 @@ -19,6 +18,7 @@ DIST redis-5.0.9.tar.gz 1986574 BLAKE2B 7802d0556d11c9be8577b9bb3f4dbad8c2419b38 DIST redis-6.0.9.tar.gz 2261418 BLAKE2B 93e64e2c682320d11e468021fd13a2888dd6b15430c15eaaa9468242d9b4d8b60e29dfe656e677774dc88ed751471284d1adf94c723521085019b375785abe7a SHA512 ebae2b09637fdbdc71dd22b72ccea24e2c21beb81c6ff5c4bae8b341886a7d847ce868f52dc917079bab8aa250ff61c83efe8acbb8a1cbc5e285c7842b0aefa3 EBUILD redis-5.0.10.ebuild 4733 BLAKE2B 16dff9009b44aff40a0d8b00c6d9885fd26bbd7265a57f09b57060acedb083d15ccbf593015bf66fdd0b0d05b8ce84cfc3805000b7f0aa9a5d7209773046d476 SHA512 f25cf0346af69b39075537a5fc8ee547c1bc3d1c3bd77e9ea6ab7c44fcbfd13e4e23ed5126f37fa86ecf5637c8a6619d864c69cfe3a5b5879464c04c1f7d9261 EBUILD redis-5.0.9-r1.ebuild 4727 BLAKE2B 691271bcb72643dd3b1b0adb6f1a374967b7172437c2049fbc6cfdb01b19ee2cbd104f0baa96fce3b6b6983704f49922863f45677727b4d4ee573694d6897336 SHA512 bf5edded12de21673a5095ea034a344de05b5e54070dbbe698b8ca591d576af209f38df9c3715c21e38e877ae79a9b57b894142a55f2c475e933f72e4dc95222 -EBUILD redis-6.0.9-r100.ebuild 4568 BLAKE2B 0088942746ae620a1e07dc161df62ff84778b5b80c5de90bbe2f1c4cf7322ffb827452047bfdca3b24de57d71195dadf2ef830ea06fc539334b0fbe2569e908a SHA512 37bf4db34a51b2055ab4b9cc3bc591c9fead01b9dbb762776944f19d9155c480df8e031032fcbbd585e5f353b5725ce0fe4e70e0d8fdf1dd233c4911c37b47cb -EBUILD redis-6.0.9.ebuild 4937 BLAKE2B 9612fa325b4e7d380af2dc34e8529cd69c20fbb434f3f0097bbb1759e542b59954c9df437b7351c0f7f77afbbbdd95f5f708c56e44b3983f4db5a346107d64d6 SHA512 12ba4c6d9771c0b9aa50daac093467bb0b086b6086ec2a3b6f6536057c4bcd837c4b6df3527fd06cac8d9ae56731d9d82a5738a69101096b8bb48d8e9648f8e3 +EBUILD redis-6.0.9-r1.ebuild 5127 BLAKE2B 26563847dfdddf0348d766cd21ac03aa740383690db8a42545e3ab5982da3bd99a9196e78bf5f010c5adefe21d7480667dff37328815438cdb39fa58923d81de SHA512 87ffa2f1bc28a4092103f0a845f7cec6f8ed81bf317dd9f69e3fd74717b4ecebf27d3c4dad8908ae37e158d456caf1a5c7f6222d9532715331eced4a38f5223f +EBUILD redis-6.0.9-r100.ebuild 4575 BLAKE2B ec7c086c04e86f54ce4e8faa851cee2dd074aabeeeef1aa569aff498d43e829dc8bd1f73e2ca5885c8bdc1630044e11639cce20ac5e04ed236f21b0f25837baf SHA512 417248f9d33ec0959a789f0c1fd4d300662121ec51dec53088d6b27b0ba9b53b9553b2f174c77656e1cea9d1c9e34e2cbf45590379171d31468d29cd72e2e984 +EBUILD redis-6.0.9.ebuild 4943 BLAKE2B 89a87cd49796bcb9ddb1f46390a6bea48a4fd2b6df7e8f2bd4c22587e6a6c7f3035316800641a0c2a7b4bf1ec76a66927fe72b721f3a141c2c3886d96b899efe SHA512 e827cc5a7db240e1569be7e05da01385e4039ba98a7d96857bfc7a0360a698512a950c29e2d20b7a6bad830641b1c5b53a932def18d00e273d5ee86f53199294 MISC metadata.xml 356 BLAKE2B 19e27b12be84927b990fc2f481d8dd1f88f05b5e029fdd91c7ce9517e7fd378d6e1df1eb55052a04fefe781da09b371da1c28fd269c72f4222aa896897222bf7 SHA512 ab06f694c5b20072f40e85b3a8e05d2c333f3b29fc145733fde1e3f42ea78ac7c51550afc29e671ef9b4a163597ac9f44bc182344c18db52036595e5d65f7e22 diff --git a/dev-db/redis/files/redis-6.0.3-sharedlua.patch b/dev-db/redis/files/redis-6.0.3-sharedlua.patch deleted file mode 100644 index 20df7983d7a8..000000000000 --- a/dev-db/redis/files/redis-6.0.3-sharedlua.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c -index c26c0d7..fa50c41 100644 ---- a/deps/lua/src/lua_cjson.c -+++ b/deps/lua/src/lua_cjson.c -@@ -46,7 +46,7 @@ - #include "strbuf.h" - #include "fpconv.h" - --#include "../../../src/solarisfixes.h" -+#include "solarisfixes.h" - - #ifndef CJSON_MODNAME - #define CJSON_MODNAME "cjson" -diff --git a/src/Makefile b/src/Makefile -index b8c05c3..e5a7cc2 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh') - uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') - uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') - OPTIMIZATION?=-O2 --DEPENDENCY_TARGETS=hiredis linenoise lua -+DEPENDENCY_TARGETS=hiredis linenoise - NODEPS:=clean distclean - - # Default settings -@@ -76,6 +76,7 @@ endif - FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) - FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) - FINAL_LIBS=-lm -+FINAL_LIBS+=@LUA_LIBS@ - DEBUG=-g -ggdb - - # Linux ARM needs -latomic at linking time -@@ -149,7 +150,7 @@ endif - endif - endif - # Include paths to dependencies --FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@ - - # Determine systemd support and/or build preference (defaulting to auto-detection) - BUILD_WITH_SYSTEMD=no -@@ -217,6 +218,7 @@ endif - REDIS_SERVER_NAME=redis-server - REDIS_SENTINEL_NAME=redis-sentinel - REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o -+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o - REDIS_CLI_NAME=redis-cli - REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o - REDIS_BENCHMARK_NAME=redis-benchmark -@@ -268,7 +270,7 @@ endif - - # redis-server - $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) -- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) -+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) - - # redis-sentinel - $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/dev-db/redis/redis-6.0.9-r1.ebuild b/dev-db/redis/redis-6.0.9-r1.ebuild new file mode 100644 index 000000000000..4674c4fe7093 --- /dev/null +++ b/dev-db/redis/redis-6.0.9-r1.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic systemd toolchain-funcs + +DESCRIPTION="A persistent caching system, key-value and data structures database" +HOMEPAGE="https://redis.io" +SRC_URI="http://download.redis.io/releases/${P}.tar.gz" + +LICENSE="BSD" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="+jemalloc luajit ssl tcmalloc test" +RESTRICT="!test? ( test )" +SLOT="0" + +# Redis does NOT build with Lua 5.2 or newer at this time. +# This should link correctly with both unslotted & slotted Lua, without +# changes. +COMMON_DEPEND=" + jemalloc? ( >=dev-libs/jemalloc-5.1:= ) + luajit? ( dev-lang/luajit:2 ) + !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) + ssl? ( dev-libs/openssl:0= ) + tcmalloc? ( dev-util/google-perftools ) +" + +RDEPEND=" + ${COMMON_DEPEND} + acct-group/redis + acct-user/redis +" + +BDEPEND=" + ${COMMON_DEPEND} + virtual/pkgconfig +" + +# Tcl is only needed in the CHOST test env +DEPEND=" + ${COMMON_DEPEND} + test? ( + dev-lang/tcl:0= + ssl? ( dev-tcltk/tls ) + )" + +REQUIRED_USE="?? ( jemalloc tcmalloc )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.2.3-config.patch + "${FILESDIR}"/${PN}-5.0-shared.patch + "${FILESDIR}"/${PN}-6.0.9-sharedlua.patch + "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch + "${FILESDIR}"/${PN}-sentinel-5.0-config.patch +) + +src_prepare() { + default + + # unstable on jemalloc + > tests/unit/memefficiency.tcl || die + + # Copy lua modules into build dir + cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die + cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die + # Append cflag for lua_cjson + # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61 + append-cflags "-DENABLE_CJSON_GLOBAL" + + # now we will rewrite present Makefiles + local makefiles="" MKF + for MKF in $(find -name 'Makefile' | cut -b 3-); do + mv "${MKF}" "${MKF}.in" + sed -i -e 's:$(CC):@CC@:g' \ + -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ + -e 's: $(DEBUG)::g' \ + -e 's:$(OBJARCH)::g' \ + -e 's:ARCH:TARCH:g' \ + -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ + "${MKF}.in" \ + || die "Sed failed for ${MKF}" + makefiles+=" ${MKF}" + done + # autodetection of compiler and settings; generates the modified Makefiles + cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die + + # Use the correct pkgconfig name for Lua + if false && has_version 'dev-lang/lua:5.3'; then + # Lua5.3 gives: + #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h" + LUAPKGCONFIG=lua5.3 + elif false && has_version 'dev-lang/lua:5.2'; then + # Lua5.2 fails with: + # scripting.c:(.text+0x1f9b): undefined reference to `lua_open' + # Because lua_open because lua_newstate in 5.2 + LUAPKGCONFIG=lua5.2 + elif has_version 'dev-lang/lua:5.1'; then + LUAPKGCONFIG=lua5.1 + else + LUAPKGCONFIG=lua + fi + # The upstream configure script handles luajit specially, and is not + # effected by these changes. + einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}" + sed -i \ + -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ + -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ + -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ + configure.ac || die "Sed failed for configure.ac" + eautoreconf +} + +src_configure() { + econf $(use_with luajit) + + # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 + # also, don't define ANSI/c99 for lua twice + sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die +} + +src_compile() { + local myconf="" + + if use jemalloc; then + myconf+="MALLOC=jemalloc" + elif use tcmalloc; then + myconf+="MALLOC=tcmalloc" + else + myconf+="MALLOC=libc" + fi + + if use ssl; then + myconf+=" BUILD_TLS=yes" + fi + + tc-export AR CC RANLIB + emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}" +} + +src_test() { + # Known to fail with FEATURES=usersandbox + if has usersandbox ${FEATURES}; then + ewarn "You are emerging ${P} with 'usersandbox' enabled." \ + "Expect some test failures or emerge with 'FEATURES=-usersandbox'!" + fi + + if use ssl; then + ./utils/gen-test-certs.sh + ./runtest --tls + else + ./runtest + fi +} + +src_install() { + insinto /etc/ + doins redis.conf sentinel.conf + use prefix || fowners redis:redis /etc/{redis,sentinel}.conf + fperms 0644 /etc/{redis,sentinel}.conf + + newconfd "${FILESDIR}/redis.confd-r1" redis + newinitd "${FILESDIR}/redis.initd-5" redis + + systemd_newunit "${FILESDIR}/redis.service-3" redis.service + systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf + + newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel + newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md + + dobin src/redis-cli + dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb + fperms 0750 /usr/sbin/redis-benchmark + dosym redis-server /usr/sbin/redis-sentinel + + if use prefix; then + diropts -m0750 + else + diropts -m0750 -o redis -g redis + fi + keepdir /var/{log,lib}/redis +} diff --git a/dev-db/redis/redis-6.0.9-r100.ebuild b/dev-db/redis/redis-6.0.9-r100.ebuild index 53ee073cd46c..289257d67305 100644 --- a/dev-db/redis/redis-6.0.9-r100.ebuild +++ b/dev-db/redis/redis-6.0.9-r100.ebuild @@ -18,7 +18,7 @@ HOMEPAGE="https://redis.io" SRC_URI="http://download.redis.io/releases/${P}.tar.gz" LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris" IUSE="+jemalloc tcmalloc test" RESTRICT="!test? ( test )" SLOT="0" diff --git a/dev-db/redis/redis-6.0.9.ebuild b/dev-db/redis/redis-6.0.9.ebuild index e9c315ea1560..f24b4fcfe9be 100644 --- a/dev-db/redis/redis-6.0.9.ebuild +++ b/dev-db/redis/redis-6.0.9.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://redis.io" SRC_URI="http://download.redis.io/releases/${P}.tar.gz" LICENSE="BSD" -KEYWORDS="amd64 arm arm64 ~hppa ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris" +KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris" IUSE="+jemalloc luajit tcmalloc test" RESTRICT="!test? ( test )" SLOT="0" diff --git a/dev-db/slony1/Manifest b/dev-db/slony1/Manifest index b223b43b86d6..2f4b200b99fb 100644 --- a/dev-db/slony1/Manifest +++ b/dev-db/slony1/Manifest @@ -8,7 +8,7 @@ DIST slony1-2.2.7-docs.tar.bz2 252020 BLAKE2B 315d54c008fca121fac12385602e729c7b DIST slony1-2.2.7.tar.bz2 1464923 BLAKE2B aee11f92d634a6c2eaf84dd48faf6cac7a27956474aaa9070f1d4fad3e70b0af09475abda149e096f1b238d68237c0b43b18880440bd4c2d66f5c0f4ad789e99 SHA512 22700e1574c91d4a4be5b78aac967eebc039440897364780891c2c76ed5b8e07c03205f0fbcd4870ee7c620d62b175987c46c43750524c6e5f9009044cc24f9a DIST slony1-2.2.9-docs.tar.bz2 1445251 BLAKE2B eafd17370e333a706fd563440b7948513db19a05e23f6a0a118e0f8927b5b52c99f46953c3c9ce2d8e9f04371a35ff390e0e542f295f4e926b7002642fc913b0 SHA512 88d1c26d668b4a021c7b53cb5c2a9b140485595460d1444997ae49e4b77910f58860d603777f1836fdfa1231d2e44ad5cdf8e82c0a03df5278c9de7de3101c5b DIST slony1-2.2.9.tar.bz2 1464548 BLAKE2B 6a2f3e21679ed1542066016bdc9e97aa7b5885fe15770d5015f26deb16e4d9634b930d9f13a8dbba6b1e89bf28cdcc28b3181f12efbf9b549a75c6e62755c099 SHA512 c42d7604ae2eda9b83bfa608ca13a4a25b2a4b77301a591b9308eda964d263490a02acdfd5b1a7e7751c24b2a7cb5d9410c58deaf82bdb3c422456af65c2b3f5 -EBUILD slony1-2.2.10.ebuild 1941 BLAKE2B 6e10b4c4952f637f2a79adbd8487e09bfb1333d07adbdf0391a014a352e9b43a26b1a8c03ffc4741a868ae4e6ed1a8f3adcb600a5ff26bd5ea4ccca1306aaf31 SHA512 dfcfd92604100b4934dc270fd74be4f239c2adaef6e999509ce3af9f8798033b30766273093731c876c7dcb3655baa788daa29b58b3712f7ef4d854f6f411ce0 +EBUILD slony1-2.2.10.ebuild 1939 BLAKE2B 5764f809e2b293bcf9fff457f5d3d5bfb03b4f20c0fb363ed9dca4768199a13d6d34e360cdbc41c85a108db2950afea04af4b81cb45a2c5e40428bb3c571ab88 SHA512 201b3d07398457eeea215cb075a8b0d2e931cb743378da4570f8b38cccd07a698c65f21581db008db04fba1ed4831a46f33302392e30ac114d374d9fe2c6698f EBUILD slony1-2.2.6.ebuild 1643 BLAKE2B f9c9cce6671b1a5c613a6950ee34df5627db305c83709af4a1a76d25b8f0520ee73d679db0d974531062f83d4bb085f65165ba0ca46059908839de639385d41a SHA512 9ee213f0628031c5b670a0a8533c19c43b45694e64bfd7c23ddf5a9d8a09d9d048898214536cde6303b81134504c0e11412e9e28705abe649982e2d4bb69841c EBUILD slony1-2.2.7.ebuild 1635 BLAKE2B c3d2307c14aaec2a9ae999e31ef5ec3b090857d59e50eb09e17c175b4d92f92ba12e15b6a43823a79c9e95d0be94f31218b17ca17f8dfc0c966b87fdb713932a SHA512 767988ade2ba9f7203b1142767d43dfb8fb11f34d9555fc86dec8a2c2360bd423112aaae4a5632b44b8e01610a0f8dbfd3af23a8972adb5d686b9b38eb7d56ea EBUILD slony1-2.2.9.ebuild 1941 BLAKE2B 6e10b4c4952f637f2a79adbd8487e09bfb1333d07adbdf0391a014a352e9b43a26b1a8c03ffc4741a868ae4e6ed1a8f3adcb600a5ff26bd5ea4ccca1306aaf31 SHA512 dfcfd92604100b4934dc270fd74be4f239c2adaef6e999509ce3af9f8798033b30766273093731c876c7dcb3655baa788daa29b58b3712f7ef4d854f6f411ce0 diff --git a/dev-db/slony1/slony1-2.2.10.ebuild b/dev-db/slony1/slony1-2.2.10.ebuild index 0e854d2ba2ca..6c562ce7b40e 100644 --- a/dev-db/slony1/slony1-2.2.10.ebuild +++ b/dev-db/slony1/slony1-2.2.10.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -20,7 +20,7 @@ SRC_URI="https://slony.info/downloads/${MAJ_PV}/source/${P}.tar.bz2 LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ppc ~x86" DEPEND="${POSTGRES_DEP} perl? ( dev-perl/DBD-Pg ) diff --git a/dev-db/sqldeveloper/Manifest b/dev-db/sqldeveloper/Manifest index 5cb3d5952a2a..ce36f50c5b0a 100644 --- a/dev-db/sqldeveloper/Manifest +++ b/dev-db/sqldeveloper/Manifest @@ -3,5 +3,5 @@ AUX sqldeveloper-r1 407 BLAKE2B 26bf826e6ccf1cd45b52e7cdf6e694d88570118c0e98cab8 DIST sqldeveloper-20.2.0.175.1842-no-jre.zip 433127943 BLAKE2B da410245ce2fe62b6f5d533f0d170069cb031cae6abcb294fbb1ccb537814f37260482d00d4c752de33d3cea3b4613929a8c8049c4ea813913666d9950a02875 SHA512 1ac9c29b57efae26a5ec8925c25c6500b2e625852d6bfb4b10afae95d6d1b3e4f7b4df34eb847f6f458009b82c4659f1bbad3bb7ba0632850ed97b096014f4ce DIST sqldeveloper-4.2.0.17.089.1709-no-jre.zip 348604841 BLAKE2B 0c3adff04f148102e6460c7550f787329c7e5a69aca0b81c2de4725b9c9ea27c03bb2f588671a95371aa3612839805f2042855b443bb5635c70d0e0b2140295b SHA512 4d1e270376ae125a60146228e35fcb2cb615d593c0e9f2ca98e4deef4d8fd1ddff59cf15064d63e33e77125f49e8da9fe317ed1fd96a9b00a699bf6c5e739874 EBUILD sqldeveloper-20.2.0.175.1842.ebuild 2659 BLAKE2B 29c616d3e225f917ee66f4a217346fd80a6329627f4826bfe08a32c3e03e12ebe28cbded0383eaaaacb8e24b382538f677090c2e8151728b1bd0d83b9e4171b1 SHA512 08e44520ebca5e9eac49fb8a293ce744abcf50a7792513eaa5e4d889d414e8671d5c85e2870d07a419e1dc0dc48242d816af2199cb57e3f43541729d38437b6f -EBUILD sqldeveloper-4.2.0.17.089.1709.ebuild 3200 BLAKE2B 72022780aad23a4d907b1911447162bee87f5e7d9d68ac0577f3451b2db06931eb12437559752f7970fe4f9348bac470baaf2bd92445d39e6d48411c87235385 SHA512 db084a3aaadd441174b4175c70af7b08833979362ea5093ffdd16a3ebefca440511d6592322b4fc9b641abdc10c3bbf7a67b82766811983c5aaa6baa4f0cdd29 +EBUILD sqldeveloper-4.2.0.17.089.1709.ebuild 3218 BLAKE2B 3640beb6c918d9e2110eb409b4d51de29d1d74a2e1b37cce43b1dd14a74c712b6edf6842e005c697f9da13cc1e7327f0576d722c030c19ff99f9a8fa8b54a1a1 SHA512 27700ffcb3b832074bdd962133b4ca4fe8c6e5be26783a9999aa1b8e9809f82cfca4713265e493d31691d292760fba1e1a8388800aec19fdcc224b5be9ef54b0 MISC metadata.xml 261 BLAKE2B 9772344d77d5ee748886120e69eb80ebc3df85fe5a371772e32b139a0ee39fc8f2758d0f576abca035f2f5ea4124777d44b7d921e56593cbcb819eaf313fd5c6 SHA512 2a60e17b95fab939ca49a24940840277dcd64fd0fa43ad981c933f6f3af3b2eed56ff710f57f6d41fc19877e6e99d4489e8121d9a64d0447ad1348a4a744f613 diff --git a/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild b/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild index 7979de3c0dd0..4bac238ce42b 100644 --- a/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild +++ b/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -17,7 +17,9 @@ KEYWORDS="amd64 x86" IUSE="mssql mysql sybase" -DEPEND="mssql? ( dev-java/jtds:1.3 ) +DEPEND=" + app-arch/unzip + mssql? ( dev-java/jtds:1.3 ) mysql? ( dev-java/jdbc-mysql:0 ) sybase? ( dev-java/jtds:1.3 )" RDEPEND=">=virtual/jdk-1.8 |