summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/apgdiff/metadata.xml2
-rw-r--r--dev-db/barman/Manifest3
-rw-r--r--dev-db/barman/barman-3.10.0.ebuild (renamed from dev-db/barman/barman-2.12.ebuild)12
-rw-r--r--dev-db/barman/barman-3.9.0.ebuild48
-rw-r--r--dev-db/cdb/cdb-0.75-r4.ebuild4
-rw-r--r--dev-db/citus/Manifest11
-rw-r--r--dev-db/citus/citus-10.1.3.ebuild31
-rw-r--r--dev-db/citus/citus-10.2.1.ebuild31
-rw-r--r--dev-db/citus/citus-10.2.2.ebuild31
-rw-r--r--dev-db/citus/citus-11.3.1.ebuild (renamed from dev-db/citus/citus-10.0.5.ebuild)10
-rw-r--r--dev-db/citus/citus-12.0.1.ebuild (renamed from dev-db/citus/citus-10.2.0.ebuild)10
-rw-r--r--dev-db/citus/citus-12.1.2.ebuild (renamed from dev-db/citus/citus-10.0.6.ebuild)10
-rw-r--r--dev-db/citus/citus-9.5.10.ebuild31
-rw-r--r--dev-db/citus/citus-9.5.8.ebuild31
-rw-r--r--dev-db/citus/metadata.xml3
-rw-r--r--dev-db/cockroach/cockroach-19.1.1-r1.ebuild (renamed from dev-db/cockroach/cockroach-19.1.1.ebuild)27
-rw-r--r--dev-db/cockroach/cockroach-2.1.5-r1.ebuild (renamed from dev-db/cockroach/cockroach-2.1.5.ebuild)27
-rw-r--r--dev-db/cpp-driver/Manifest1
-rw-r--r--dev-db/cpp-driver/cpp-driver-2.11.0.ebuild27
-rw-r--r--dev-db/db-je/Manifest1
-rw-r--r--dev-db/db-je/db-je-3.3.75.ebuild40
-rw-r--r--dev-db/db-je/files/db-je-3.3.75-optional-test.patch45
-rw-r--r--dev-db/etcd/Manifest250
-rw-r--r--dev-db/etcd/etcd-3.4.14.ebuild315
-rw-r--r--dev-db/etcd/etcd-3.4.16.ebuild301
-rw-r--r--dev-db/etcd/etcd-3.4.26.ebuild (renamed from dev-db/etcd/etcd-3.3.24.ebuild)41
-rw-r--r--dev-db/etcd/etcd-3.4.31.ebuild (renamed from dev-db/etcd/etcd-3.3.23.ebuild)52
-rw-r--r--dev-db/etcd/etcd-3.5.12.ebuild80
-rw-r--r--dev-db/etcd/etcd-3.5.13.ebuild81
-rw-r--r--dev-db/etcd/files/etcd-3.4.14-modules.patch58
-rw-r--r--dev-db/etcd/files/etcd.confd7
-rw-r--r--dev-db/etcd/files/etcd.confd-r11
-rw-r--r--dev-db/etcd/files/etcd.initd-r1 (renamed from dev-db/etcd/files/etcd.initd)13
-rw-r--r--dev-db/etcd/files/etcd.service17
-rw-r--r--dev-db/etcd/files/etcd.service-r117
-rw-r--r--dev-db/etcd/files/etcd.tmpfiles.d.conf4
-rw-r--r--dev-db/etcd/metadata.xml6
-rw-r--r--dev-db/firebird/Manifest16
-rw-r--r--dev-db/firebird/files/firebird-3.0.10.33601.0-configure-autoconf2.72.patch21
-rw-r--r--dev-db/firebird/files/firebird-3.0.10.33601.0-configure-clang16.patch48
-rw-r--r--dev-db/firebird/files/firebird-3.0.10.33601.0-flags.patch25
-rw-r--r--dev-db/firebird/files/firebird-3.0.10.33601.0-unbundle.patch97
-rw-r--r--dev-db/firebird/files/firebird.init.d.3.0-r122
-rw-r--r--dev-db/firebird/firebird-3.0.10.33601.0-r1.ebuild244
-rw-r--r--dev-db/firebird/firebird-3.0.4.33054.0-r2.ebuild (renamed from dev-db/firebird/firebird-3.0.4.33054.0-r1.ebuild)20
-rw-r--r--dev-db/firebird/metadata.xml7
-rw-r--r--dev-db/freetds/freetds-1.2.18.ebuild6
-rw-r--r--dev-db/freetds/metadata.xml1
-rw-r--r--dev-db/futuresql/Manifest1
-rw-r--r--dev-db/futuresql/futuresql-0.1.1.ebuild38
-rw-r--r--dev-db/futuresql/metadata.xml (renamed from dev-db/mtop/metadata.xml)7
-rw-r--r--dev-db/futuresql5/Manifest1
-rw-r--r--dev-db/futuresql5/futuresql5-0.1.1.ebuild38
-rw-r--r--dev-db/futuresql5/metadata.xml12
-rw-r--r--dev-db/gigabase/Manifest1
-rw-r--r--dev-db/gigabase/files/gigabase-3.83-cpp14.patch34
-rw-r--r--dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch63
-rw-r--r--dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch182
-rw-r--r--dev-db/gigabase/gigabase-3.83-r2.ebuild58
-rw-r--r--dev-db/gigabase/metadata.xml27
-rw-r--r--dev-db/gqlplus/gqlplus-1.16-r2.ebuild4
-rw-r--r--dev-db/gqlplus/metadata.xml1
-rw-r--r--dev-db/hsqldb/hsqldb-1.8.1.3-r4.ebuild (renamed from dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild)8
-rw-r--r--dev-db/influx-cli/Manifest2
-rw-r--r--dev-db/influx-cli/influx-cli-2.7.3.ebuild27
-rw-r--r--dev-db/influx-cli/metadata.xml (renamed from dev-db/db-je/metadata.xml)11
-rw-r--r--dev-db/influxdb/Manifest653
-rw-r--r--dev-db/influxdb/files/influxd.conf140
-rw-r--r--dev-db/influxdb/files/influxdb.confd-r118
-rw-r--r--dev-db/influxdb/files/influxdb.initd-r1 (renamed from dev-db/influxdb/files/influxdb.rc-r1)38
-rw-r--r--dev-db/influxdb/files/influxdb.rc34
-rw-r--r--dev-db/influxdb/influxdb-1.8.0-r1.ebuild504
-rw-r--r--dev-db/influxdb/influxdb-1.8.0.ebuild505
-rw-r--r--dev-db/influxdb/influxdb-1.8.1.ebuild508
-rw-r--r--dev-db/influxdb/influxdb-1.8.10.ebuild58
-rw-r--r--dev-db/influxdb/influxdb-1.8.2.ebuild509
-rw-r--r--dev-db/influxdb/influxdb-1.8.3.ebuild515
-rw-r--r--dev-db/influxdb/influxdb-2.7.3-r2.ebuild284
-rw-r--r--dev-db/influxdb/influxdb-2.7.5.ebuild284
-rw-r--r--dev-db/influxdb/metadata.xml11
-rw-r--r--dev-db/innotop/Manifest1
-rw-r--r--dev-db/innotop/innotop-1.12.0.ebuild27
-rw-r--r--dev-db/kdb/Manifest1
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch52
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch35
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch24
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch25
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-postgresql-gcc12.patch34
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch68
-rw-r--r--dev-db/kdb/kdb-3.2.0-r2.ebuild (renamed from dev-db/kdb/kdb-3.2.0-r1.ebuild)33
-rw-r--r--dev-db/kyotocabinet/Manifest1
-rw-r--r--dev-db/kyotocabinet/files/kyotocabinet-1.2.79-configure-clang16.patch12
-rw-r--r--dev-db/kyotocabinet/files/kyotocabinet-1.2.79-initialize-parameter-error-clang16.patch62
-rw-r--r--dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild6
-rw-r--r--dev-db/kyotocabinet/kyotocabinet-1.2.79-r1.ebuild69
-rw-r--r--dev-db/kyotocabinet/kyotocabinet-1.2.79-r2.ebuild70
-rw-r--r--dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch53
-rw-r--r--dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild4
-rw-r--r--dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild87
-rw-r--r--dev-db/libdbi/libdbi-0.9.0.ebuild4
-rw-r--r--dev-db/libiodbc/Manifest2
-rw-r--r--dev-db/libiodbc/files/libiodbc-3.52.7-debian_bug508480.patch12
-rw-r--r--dev-db/libiodbc/libiodbc-3.52.12-r1.ebuild67
-rw-r--r--dev-db/libiodbc/libiodbc-3.52.14.ebuild66
-rw-r--r--dev-db/libiodbc/libiodbc-3.52.15-r1.ebuild (renamed from dev-db/libiodbc/libiodbc-3.52.15.ebuild)27
-rw-r--r--dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch16
-rw-r--r--dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild5
-rw-r--r--dev-db/libzdb/Manifest3
-rw-r--r--dev-db/libzdb/libzdb-3.1-r1.ebuild90
-rw-r--r--dev-db/libzdb/libzdb-3.2.3.ebuild (renamed from dev-db/libzdb/libzdb-3.2.2.ebuild)8
-rw-r--r--dev-db/litecli/Manifest1
-rw-r--r--dev-db/litecli/litecli-1.10.0.ebuild34
-rw-r--r--dev-db/litecli/metadata.xml (renamed from dev-db/cpp-driver/metadata.xml)12
-rw-r--r--dev-db/litedb/Manifest220
-rw-r--r--dev-db/litedb/litedb-5.0.17-r2.ebuild273
-rw-r--r--dev-db/litedb/metadata.xml17
-rw-r--r--dev-db/lmdb++/Manifest2
-rw-r--r--dev-db/lmdb++/lmdb++-0.9.14.0.ebuild5
-rw-r--r--dev-db/lmdb++/lmdb++-1.0.0-r1.ebuild28
-rw-r--r--dev-db/lmdb++/metadata.xml1
-rw-r--r--dev-db/lmdb/Manifest3
-rw-r--r--dev-db/lmdb/files/lmdb-fix-cursor-delete.patch48
-rw-r--r--dev-db/lmdb/lmdb-0.9.28.ebuild79
-rw-r--r--dev-db/lmdb/lmdb-0.9.31.ebuild (renamed from dev-db/lmdb/lmdb-0.9.29.ebuild)16
-rw-r--r--dev-db/m17n-db/m17n-db-1.8.0.ebuild4
-rw-r--r--dev-db/m17n-db/metadata.xml3
-rw-r--r--dev-db/mariadb-connector-c/Manifest8
-rw-r--r--dev-db/mariadb-connector-c/files/gentoo-layout-3.0.patch9
-rw-r--r--dev-db/mariadb-connector-c/files/mariadb-connector-c-3.1.11-fix-flow-control-statement.patch14
-rw-r--r--dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-fix-building-without-gssapi.patch15
-rw-r--r--dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-remove-zstd.patch19
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.1.12.ebuild78
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild77
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.2.3.ebuild78
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.2.4.ebuild78
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild78
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.2.7.ebuild114
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.3.4.ebuild116
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.3.8.ebuild120
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild96
-rw-r--r--dev-db/mariadb-connector-c/metadata.xml3
-rw-r--r--dev-db/mariadb-connector-odbc/Manifest4
-rw-r--r--dev-db/mariadb-connector-odbc/files/odbcinst.ini4
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild69
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild69
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.18.ebuild (renamed from dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild)15
-rw-r--r--dev-db/mariadb-connector-odbc/metadata.xml3
-rw-r--r--dev-db/mariadb/Manifest45
-rw-r--r--dev-db/mariadb/files/mariadb-10.6.11-gssapi.patch47
-rw-r--r--dev-db/mariadb/files/mariadb-10.6.11-include.patch66
-rw-r--r--dev-db/mariadb/files/mariadb-10.6.12-gcc-13.patch44
-rw-r--r--dev-db/mariadb/mariadb-10.11.5-r1.ebuild1321
-rw-r--r--dev-db/mariadb/mariadb-10.11.5.ebuild (renamed from dev-db/mariadb/mariadb-10.5.13.ebuild)86
-rw-r--r--dev-db/mariadb/mariadb-10.11.6.ebuild1321
-rw-r--r--dev-db/mariadb/mariadb-10.11.7.ebuild (renamed from dev-db/mariadb/mariadb-10.5.12.ebuild)127
-rw-r--r--dev-db/mariadb/mariadb-10.2.38-r2.ebuild1292
-rw-r--r--dev-db/mariadb/mariadb-10.2.39-r1.ebuild1292
-rw-r--r--dev-db/mariadb/mariadb-10.2.40.ebuild1314
-rw-r--r--dev-db/mariadb/mariadb-10.2.41.ebuild1310
-rw-r--r--dev-db/mariadb/mariadb-10.3.29-r2.ebuild1284
-rw-r--r--dev-db/mariadb/mariadb-10.3.30-r1.ebuild1284
-rw-r--r--dev-db/mariadb/mariadb-10.3.31.ebuild1306
-rw-r--r--dev-db/mariadb/mariadb-10.3.32.ebuild1302
-rw-r--r--dev-db/mariadb/mariadb-10.4.19-r2.ebuild1305
-rw-r--r--dev-db/mariadb/mariadb-10.4.20-r1.ebuild1305
-rw-r--r--dev-db/mariadb/mariadb-10.4.21.ebuild1327
-rw-r--r--dev-db/mariadb/mariadb-10.5.10-r2.ebuild1299
-rw-r--r--dev-db/mariadb/mariadb-10.5.11-r1.ebuild1299
-rw-r--r--dev-db/mariadb/mariadb-10.6.14.ebuild (renamed from dev-db/mariadb/mariadb-10.6.5-r1.ebuild)75
-rw-r--r--dev-db/mariadb/mariadb-10.6.15-r1.ebuild1332
-rw-r--r--dev-db/mariadb/mariadb-10.6.15.ebuild (renamed from dev-db/mariadb/mariadb-10.4.22.ebuild)179
-rw-r--r--dev-db/mariadb/mariadb-10.6.16.ebuild1332
-rw-r--r--dev-db/mariadb/mariadb-10.6.17.ebuild1331
-rw-r--r--dev-db/mariadb/metadata.xml64
-rw-r--r--dev-db/mongodb/Manifest5
-rw-r--r--dev-db/mongodb/files/mongodb-4.2.0-fix-scons.patch30
-rw-r--r--dev-db/mongodb/files/mongodb-4.2.15-no-compass.patch45
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.1-boost.patch2
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch71
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.10-boost-1.81.patch317
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch29
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch25
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.16-arm64-assert.patch16
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.2-boost-1.79.patch71
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.2-glibc-2.34.patch16
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.5-boost-1.81-extra.patch11
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch49
-rw-r--r--dev-db/mongodb/files/mongodb.service-r1 (renamed from dev-db/mongodb/files/mongodb.service)2
-rw-r--r--dev-db/mongodb/metadata.xml1
-rw-r--r--dev-db/mongodb/mongodb-4.2.15-r1.ebuild176
-rw-r--r--dev-db/mongodb/mongodb-4.4.20.ebuild (renamed from dev-db/mongodb/mongodb-4.4.8-r1.ebuild)43
-rw-r--r--dev-db/mongodb/mongodb-5.0.16-r1.ebuild (renamed from dev-db/mongodb/mongodb-5.0.2-r1.ebuild)59
-rw-r--r--dev-db/mtop/Manifest1
-rw-r--r--dev-db/mtop/files/mtop-0.6.6-globalstatusfix.patch12
-rw-r--r--dev-db/mtop/mtop-0.6.6-r3.ebuild33
-rw-r--r--dev-db/mycli/Manifest3
-rw-r--r--dev-db/mycli/files/mycli-1.22.2_p20201026.patch470
-rw-r--r--dev-db/mycli/metadata.xml12
-rw-r--r--dev-db/mycli/mycli-1.22.2_p20201026.ebuild52
-rw-r--r--dev-db/mycli/mycli-1.24.1.ebuild57
-rw-r--r--dev-db/mycli/mycli-1.27.0.ebuild82
-rw-r--r--dev-db/mycli/mycli-9999.ebuild54
-rw-r--r--dev-db/mydumper/Manifest6
-rw-r--r--dev-db/mydumper/files/mydumper-0.13.1-atomic.patch (renamed from dev-db/mydumper/files/mydumper-0.10.5-atomic.patch)9
-rw-r--r--dev-db/mydumper/files/mydumper-0.14-Do-not-overwrite-the-user-CFLAGS.patch29
-rw-r--r--dev-db/mydumper/files/mydumper-0.15-Do-not-overwrite-the-user-CFLAGS.patch25
-rw-r--r--dev-db/mydumper/files/mydumper-atomic.patch27
-rw-r--r--dev-db/mydumper/metadata.xml2
-rw-r--r--dev-db/mydumper/mydumper-0.10.3.ebuild45
-rw-r--r--dev-db/mydumper/mydumper-0.10.5.ebuild45
-rw-r--r--dev-db/mydumper/mydumper-0.14.5.2.ebuild (renamed from dev-db/mydumper/mydumper-0.11.1.3.ebuild)20
-rw-r--r--dev-db/mydumper/mydumper-0.15.2.8.ebuild (renamed from dev-db/mydumper/mydumper-0.10.7.2.ebuild)28
-rw-r--r--dev-db/myodbc/Manifest5
-rw-r--r--dev-db/myodbc/files/myodbc-8.0.32-include-string.patch14
-rw-r--r--dev-db/myodbc/metadata.xml11
-rw-r--r--dev-db/myodbc/myodbc-8.0.22.ebuild118
-rw-r--r--dev-db/myodbc/myodbc-8.0.23.ebuild122
-rw-r--r--dev-db/myodbc/myodbc-8.0.25.ebuild129
-rw-r--r--dev-db/myodbc/myodbc-8.0.27-r1.ebuild (renamed from dev-db/myodbc/myodbc-8.0.26.ebuild)11
-rw-r--r--dev-db/myodbc/myodbc-8.0.32.ebuild (renamed from dev-db/myodbc/myodbc-8.0.27.ebuild)23
-rw-r--r--dev-db/mysql++/Manifest1
-rw-r--r--dev-db/mysql++/files/mysql++-3.2.5-as-needed.patch178
-rw-r--r--dev-db/mysql++/mysql++-3.2.5.ebuild61
-rw-r--r--dev-db/mysql-cluster/Manifest4
-rw-r--r--dev-db/mysql-cluster/files/7.2.34-client.patch25
-rw-r--r--dev-db/mysql-cluster/files/my.cnf-5.5147
-rw-r--r--dev-db/mysql-cluster/files/my.cnf-5.6139
-rw-r--r--dev-db/mysql-cluster/metadata.xml19
-rw-r--r--dev-db/mysql-cluster/mysql-cluster-7.2.34.ebuild796
-rw-r--r--dev-db/mysql-cluster/mysql-cluster-7.3.22.ebuild811
-rw-r--r--dev-db/mysql-cluster/mysql-cluster-7.4.21.ebuild811
-rw-r--r--dev-db/mysql-connector-c++/Manifest8
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch43
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.6-fix-cmake.patch23
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch322
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch13
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch274
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.26-fix-build.patch321
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch92
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-mysqlclient_r.patch24
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.33-jdbc.patch11
-rw-r--r--dev-db/mysql-connector-c++/metadata.xml18
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild62
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.31.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27.ebuild)36
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.32.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-8.0.25.ebuild)42
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild)42
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-8.0.26.ebuild)33
-rw-r--r--dev-db/mysql-connector-c/Manifest6
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.25-add-OpenSSL-3.0.0-support.patch294
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch313
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch49
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.32-musl.patch25
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.22.ebuild110
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.23-r1.ebuild118
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.25-r1.ebuild122
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.25.ebuild121
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.26.ebuild122
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild (renamed from dev-db/mysql-connector-c/mysql-connector-c-8.0.27.ebuild)47
-rw-r--r--dev-db/mysql-init-scripts/files/conf.d-2.02
-rw-r--r--dev-db/mysql-init-scripts/files/init.d-2.36
-rw-r--r--dev-db/mysql-init-scripts/files/init.d-s6-2.34
-rw-r--r--dev-db/mysql-init-scripts/files/init.d-supervise-2.38
-rw-r--r--dev-db/mysql-init-scripts/files/mysql.conf1
-rw-r--r--dev-db/mysql-init-scripts/files/mysql.conf-r11
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r8.ebuild (renamed from dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r3.ebuild)44
-rw-r--r--dev-db/mysql-super-smack/Manifest1
-rw-r--r--dev-db/mysql-super-smack/files/mysql-super-smack-1.2.destdir.patch13
-rw-r--r--dev-db/mysql-super-smack/files/mysql-super-smack-1.3-automake-1.13.patch256
-rw-r--r--dev-db/mysql-super-smack/files/mysql-super-smack-1.3-gen-data.patch45
-rw-r--r--dev-db/mysql-super-smack/files/mysql-super-smack-1.3.amd64.patch20
-rw-r--r--dev-db/mysql-super-smack/files/mysql-super-smack-1.3.gcc4.3.patch9
-rw-r--r--dev-db/mysql-super-smack/metadata.xml9
-rw-r--r--dev-db/mysql-super-smack/mysql-super-smack-1.3-r4.ebuild66
-rw-r--r--dev-db/mysql-workbench/Manifest5
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-8.0.33-gcc13.patch40
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch33
-rw-r--r--dev-db/mysql-workbench/metadata.xml2
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.27.ebuild111
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.36.ebuild (renamed from dev-db/mysql-workbench/mysql-workbench-8.0.26-r1.ebuild)31
-rw-r--r--dev-db/mysql/Manifest29
-rw-r--r--dev-db/mysql/files/mysql-8.0.27-gcc12.patch33
-rw-r--r--dev-db/mysql/files/mysql-8.0.31-build-tmpdir-nodefault.patch12
-rw-r--r--dev-db/mysql/files/mysql-8.0.32-gcc13.patch21
-rw-r--r--dev-db/mysql/files/mysql-8.0.36-boost-clang-fix.patch76
-rw-r--r--dev-db/mysql/metadata.xml45
-rw-r--r--dev-db/mysql/mysql-5.7.32.ebuild1230
-rw-r--r--dev-db/mysql/mysql-5.7.33.ebuild1236
-rw-r--r--dev-db/mysql/mysql-5.7.34-r1.ebuild1262
-rw-r--r--dev-db/mysql/mysql-5.7.34.ebuild1239
-rw-r--r--dev-db/mysql/mysql-5.7.35.ebuild1293
-rw-r--r--dev-db/mysql/mysql-5.7.41.ebuild (renamed from dev-db/mysql/mysql-5.7.36-r1.ebuild)22
-rw-r--r--dev-db/mysql/mysql-8.0.22.ebuild1156
-rw-r--r--dev-db/mysql/mysql-8.0.23.ebuild1158
-rw-r--r--dev-db/mysql/mysql-8.0.27-r1.ebuild (renamed from dev-db/mysql/mysql-8.0.27.ebuild)34
-rw-r--r--dev-db/mysql/mysql-8.0.31-r2.ebuild (renamed from dev-db/mysql/mysql-8.0.26.ebuild)102
-rw-r--r--dev-db/mysql/mysql-8.0.32-r2.ebuild (renamed from dev-db/mysql/mysql-8.0.25-r1.ebuild)349
-rw-r--r--dev-db/mysql/mysql-8.0.34.ebuild (renamed from dev-db/mysql/mysql-8.0.25.ebuild)359
-rw-r--r--dev-db/mysql/mysql-8.0.36.ebuild1271
-rw-r--r--dev-db/mysqltuner/Manifest2
-rw-r--r--dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch107
-rw-r--r--dev-db/mysqltuner/metadata.xml14
-rw-r--r--dev-db/mysqltuner/mysqltuner-1.7.21-r1.ebuild33
-rw-r--r--dev-db/mysqltuner/mysqltuner-2.5.2.ebuild36
-rw-r--r--dev-db/mytop/mytop-1.9.1-r1.ebuild (renamed from dev-db/mytop/mytop-1.9.1.ebuild)26
-rw-r--r--dev-db/ocp/Manifest1
-rw-r--r--dev-db/ocp/ocp-0.2.ebuild41
-rw-r--r--dev-db/ocp/ocp-0.3.ebuild12
-rw-r--r--dev-db/ocp/ocp-9999.ebuild12
-rw-r--r--dev-db/opendbx/Manifest2
-rw-r--r--dev-db/opendbx/metadata.xml5
-rw-r--r--dev-db/opendbx/opendbx-1.4.5-r1.ebuild79
-rw-r--r--dev-db/opendbx/opendbx-1.4.6-r2.ebuild79
-rw-r--r--dev-db/opendbx/opendbx-1.4.6-r6.ebuild (renamed from dev-db/opendbx/opendbx-1.4.6-r3.ebuild)50
-rw-r--r--dev-db/opendbx/opendbx-1.5.0-r2.ebuild81
-rw-r--r--dev-db/oracle-instantclient-basic/metadata.xml5
-rw-r--r--dev-db/oracle-instantclient-basic/oracle-instantclient-basic-12.ebuild16
-rw-r--r--dev-db/oracle-instantclient-jdbc/oracle-instantclient-jdbc-12.ebuild19
-rw-r--r--dev-db/oracle-instantclient-odbc/metadata.xml5
-rw-r--r--dev-db/oracle-instantclient-odbc/oracle-instantclient-odbc-12.ebuild19
-rw-r--r--dev-db/oracle-instantclient-sqlplus/metadata.xml5
-rw-r--r--dev-db/oracle-instantclient-sqlplus/oracle-instantclient-sqlplus-12.ebuild19
-rw-r--r--dev-db/oracle-instantclient/Manifest70
-rw-r--r--dev-db/oracle-instantclient/files/21.13.0.0.0-makefile.patch22
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild378
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild368
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild15
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-19.3.0.0-r1.ebuild378
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-19.5.0.0.ebuild378
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-19.6.0.0.ebuild378
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-21.13.0.0.0.ebuild (renamed from dev-db/oracle-instantclient/oracle-instantclient-19.6.0.0-r1.ebuild)205
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild15
-rw-r--r--dev-db/percona-server/Manifest2
-rw-r--r--dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch45
-rw-r--r--dev-db/percona-server/files/percona-server-8.0.26.16-gcc-13.patch41
-rw-r--r--dev-db/percona-server/metadata.xml8
-rw-r--r--dev-db/percona-server/percona-server-8.0.25.15.ebuild1273
-rw-r--r--dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild (renamed from dev-db/percona-server/percona-server-8.0.26.16.ebuild)31
-rw-r--r--dev-db/percona-toolkit/Manifest11
-rw-r--r--dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch13
-rw-r--r--dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch216
-rw-r--r--dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch33
-rw-r--r--dev-db/percona-toolkit/metadata.xml5
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild44
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.0.9.ebuild49
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild52
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild51
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.5.3.ebuild (renamed from dev-db/percona-toolkit/percona-toolkit-3.0.13.ebuild)4
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.5.5.ebuild (renamed from dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild)14
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.5.7.ebuild (renamed from dev-db/percona-toolkit/percona-toolkit-3.2.1.ebuild)18
-rw-r--r--dev-db/percona-xtrabackup-bin/Manifest2
-rw-r--r--dev-db/percona-xtrabackup-bin/metadata.xml5
-rw-r--r--dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild69
-rw-r--r--dev-db/percona-xtrabackup/Manifest8
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.11-fix-gcc6-isystem.patch113
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.20-fix-gcc10.patch26
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.6-remove-boost-version-check.patch19
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.25-remove-rpm.patch37
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.30.23-gcc13.patch38
-rw-r--r--dev-db/percona-xtrabackup/metadata.xml5
-rw-r--r--dev-db/percona-xtrabackup/percona-xtrabackup-2.4.15.ebuild79
-rw-r--r--dev-db/percona-xtrabackup/percona-xtrabackup-2.4.24.ebuild67
-rw-r--r--dev-db/percona-xtrabackup/percona-xtrabackup-8.0.25.17.ebuild85
-rw-r--r--dev-db/percona-xtrabackup/percona-xtrabackup-8.0.30.23.ebuild (renamed from dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild)27
-rw-r--r--dev-db/pg-gvm/Manifest1
-rw-r--r--dev-db/pg-gvm/files/README.gentoo10
-rw-r--r--dev-db/pg-gvm/metadata.xml21
-rw-r--r--dev-db/pg-gvm/pg-gvm-22.6.4.ebuild38
-rw-r--r--dev-db/pgLatLon/Manifest1
-rw-r--r--dev-db/pgLatLon/metadata.xml (renamed from dev-db/oracle-instantclient-jdbc/metadata.xml)5
-rw-r--r--dev-db/pgLatLon/pgLatLon-0.15.ebuild20
-rw-r--r--dev-db/pg_activity/Manifest2
-rw-r--r--dev-db/pg_activity/pg_activity-3.5.1.ebuild (renamed from dev-db/pg_activity/pg_activity-2.2.1.ebuild)9
-rw-r--r--dev-db/pg_top/metadata.xml3
-rw-r--r--dev-db/pg_top/pg_top-4.0.0-r3.ebuild (renamed from dev-db/pg_top/pg_top-4.0.0-r1.ebuild)5
-rw-r--r--dev-db/pgadmin4/Manifest2
-rw-r--r--dev-db/pgadmin4/files/pgadmin4.desktop11
-rw-r--r--dev-db/pgadmin4/metadata.xml8
-rw-r--r--dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild130
-rw-r--r--dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild132
-rw-r--r--dev-db/pgagent/Manifest2
-rw-r--r--dev-db/pgagent/files/pgagent-4.0.0-pthreads-linking.patch33
-rw-r--r--dev-db/pgagent/pgagent-4.2.1.ebuild (renamed from dev-db/pgagent/pgagent-4.0.0-r1.ebuild)29
-rw-r--r--dev-db/pgbadger/Manifest8
-rw-r--r--dev-db/pgbadger/pgbadger-11.0.ebuild24
-rw-r--r--dev-db/pgbadger/pgbadger-11.5.ebuild24
-rw-r--r--dev-db/pgbadger/pgbadger-12.1.ebuild (renamed from dev-db/pgbadger/pgbadger-11.6.ebuild)6
-rw-r--r--dev-db/pgbadger/pgbadger-12.2.ebuild (renamed from dev-db/pgbadger/pgbadger-11.3.ebuild)9
-rw-r--r--dev-db/pgbadger/pgbadger-12.4.ebuild (renamed from dev-db/pgbadger/pgbadger-11.4.ebuild)9
-rw-r--r--dev-db/pgbouncer/Manifest5
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.16.1.ebuild (renamed from dev-db/pgbouncer/pgbouncer-1.16.0.ebuild)3
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.22.0.ebuild (renamed from dev-db/pgbouncer/pgbouncer-1.15.0-r1.ebuild)20
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.22.1.ebuild73
-rw-r--r--dev-db/pgcli/Manifest2
-rw-r--r--dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch112
-rw-r--r--dev-db/pgcli/pgcli-3.1.0.ebuild35
-rw-r--r--dev-db/pgcli/pgcli-4.0.1-r1.ebuild54
-rw-r--r--dev-db/pglogical/Manifest2
-rw-r--r--dev-db/pglogical/metadata.xml11
-rw-r--r--dev-db/pglogical/pglogical-2.4.1.ebuild32
-rw-r--r--dev-db/pglogical/pglogical-2.4.4.ebuild34
-rw-r--r--dev-db/pgmodeler/Manifest1
-rw-r--r--dev-db/pgmodeler/pgmodeler-0.9.4.ebuild61
-rw-r--r--dev-db/pgpool2/Manifest7
-rw-r--r--dev-db/pgpool2/files/pgpool-4.2.0-run_paths.patch432
-rw-r--r--dev-db/pgpool2/files/pgpool-4.3.1-run_paths.patch100
-rw-r--r--dev-db/pgpool2/files/pgpool-4.4.4-run_paths.patch88
-rw-r--r--dev-db/pgpool2/files/pgpool-9999-run_paths.patch98
-rw-r--r--dev-db/pgpool2/pgpool2-4.3.2.ebuild (renamed from dev-db/pgpool2/pgpool2-4.2.1-r1.ebuild)19
-rw-r--r--dev-db/pgpool2/pgpool2-4.3.7.ebuild (renamed from dev-db/pgpool2/pgpool2-4.2.2-r1.ebuild)21
-rw-r--r--dev-db/pgpool2/pgpool2-4.3.8.ebuild97
-rw-r--r--dev-db/pgpool2/pgpool2-4.4.4.ebuild97
-rw-r--r--dev-db/pgpool2/pgpool2-4.4.5.ebuild97
-rw-r--r--dev-db/pgpool2/pgpool2-9999.ebuild22
-rw-r--r--dev-db/pgrouting/Manifest5
-rw-r--r--dev-db/pgrouting/pgrouting-3.1.1.ebuild56
-rw-r--r--dev-db/pgrouting/pgrouting-3.2.1.ebuild6
-rw-r--r--dev-db/pgrouting/pgrouting-3.5.1.ebuild (renamed from dev-db/pgrouting/pgrouting-3.1.3.ebuild)6
-rw-r--r--dev-db/pgrouting/pgrouting-3.6.1.ebuild (renamed from dev-db/pgrouting/pgrouting-3.1.2.ebuild)10
-rw-r--r--dev-db/pgtap/Manifest4
-rw-r--r--dev-db/pgtap/pgtap-1.2.0-r2.ebuild (renamed from dev-db/pgtap/pgtap-0.99.0.ebuild)17
-rw-r--r--dev-db/pgtap/pgtap-1.3.1.ebuild (renamed from dev-db/pgtap/pgtap-1.1.0.ebuild)14
-rw-r--r--dev-db/pgxnclient/Manifest3
-rw-r--r--dev-db/pgxnclient/pgxnclient-1.3-r2.ebuild36
-rw-r--r--dev-db/pgxnclient/pgxnclient-1.3.2.ebuild (renamed from dev-db/pgxnclient/pgxnclient-1.3.1.ebuild)9
-rw-r--r--dev-db/phpmyadmin/Manifest5
-rw-r--r--dev-db/phpmyadmin/metadata.xml4
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.0.3.ebuild61
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild61
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild61
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild (renamed from dev-db/phpmyadmin/phpmyadmin-4.9.6.ebuild)11
-rw-r--r--dev-db/phppgadmin/Manifest4
-rw-r--r--dev-db/phppgadmin/metadata.xml2
-rw-r--r--dev-db/phppgadmin/phppgadmin-7.12.1.ebuild38
-rw-r--r--dev-db/phppgadmin/phppgadmin-7.13.0.ebuild38
-rw-r--r--dev-db/phppgadmin/phppgadmin-7.14.5.ebuild37
-rw-r--r--dev-db/phppgadmin/phppgadmin-7.14.7.ebuild37
-rw-r--r--dev-db/plr/Manifest4
-rw-r--r--dev-db/plr/metadata.xml3
-rw-r--r--dev-db/plr/plr-8.4.5.ebuild (renamed from dev-db/plr/plr-8.3.0.17.ebuild)21
-rw-r--r--dev-db/plr/plr-8.4.6.ebuild (renamed from dev-db/plr/plr-8.4.1.ebuild)21
-rw-r--r--dev-db/postgis/Manifest20
-rw-r--r--dev-db/postgis/files/postgis-3.3.2-flatbuffers-abseil-2023.patch39
-rw-r--r--dev-db/postgis/files/postgis-3.4.0-without-gui.patch13
-rw-r--r--dev-db/postgis/metadata.xml4
-rw-r--r--dev-db/postgis/postgis-3.0.3-r2.ebuild144
-rw-r--r--dev-db/postgis/postgis-3.0.4.ebuild144
-rw-r--r--dev-db/postgis/postgis-3.1.10.ebuild (renamed from dev-db/postgis/postgis-3.1.4.ebuild)4
-rw-r--r--dev-db/postgis/postgis-3.1.8-r1.ebuild (renamed from dev-db/postgis/postgis-3.1.0.ebuild)6
-rw-r--r--dev-db/postgis/postgis-3.1.9.ebuild (renamed from dev-db/postgis/postgis-3.1.2.ebuild)6
-rw-r--r--dev-db/postgis/postgis-3.2.4-r1.ebuild (renamed from dev-db/postgis/postgis-3.2.0_beta1.ebuild)6
-rw-r--r--dev-db/postgis/postgis-3.2.5.ebuild (renamed from dev-db/postgis/postgis-3.1.1.ebuild)7
-rw-r--r--dev-db/postgis/postgis-3.2.6.ebuild (renamed from dev-db/postgis/postgis-3.1.3.ebuild)8
-rw-r--r--dev-db/postgis/postgis-3.3.2-r1.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.3.3.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.3.4.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.3.5.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.4.0-r1.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.4.0-r2.ebuild138
-rw-r--r--dev-db/postgis/postgis-3.4.1.ebuild138
-rw-r--r--dev-db/postgis/postgis-9999.ebuild26
-rw-r--r--dev-db/postgresql/Manifest16
-rw-r--r--dev-db/postgresql/files/postgresql-10.0-icu68-2.patch11
-rw-r--r--dev-db/postgresql/files/postgresql-10.0-icu68.patch12
-rw-r--r--dev-db/postgresql/files/postgresql-13.8-no-server.patch (renamed from dev-db/postgresql/files/postgresql-11_beta1-no-server.patch)10
-rw-r--r--dev-db/postgresql/files/postgresql-13_beta1-no-server.patch149
-rw-r--r--dev-db/postgresql/files/postgresql-14.5-no-server.patch (renamed from dev-db/postgresql/files/postgresql-10.2-no-server.patch)27
-rw-r--r--dev-db/postgresql/files/postgresql-14_rc1-no-server.patch151
-rw-r--r--dev-db/postgresql/files/postgresql-15_beta3-no-server.patch (renamed from dev-db/postgresql/files/postgresql-9.6.3-no-server.patch)51
-rw-r--r--dev-db/postgresql/metadata.xml7
-rw-r--r--dev-db/postgresql/postgresql-10.19.ebuild458
-rw-r--r--dev-db/postgresql/postgresql-12.17.ebuild (renamed from dev-db/postgresql/postgresql-11.14.ebuild)43
-rw-r--r--dev-db/postgresql/postgresql-12.18.ebuild (renamed from dev-db/postgresql/postgresql-12.9.ebuild)36
-rw-r--r--dev-db/postgresql/postgresql-13.13.ebuild464
-rw-r--r--dev-db/postgresql/postgresql-13.14.ebuild (renamed from dev-db/postgresql/postgresql-13.5.ebuild)38
-rw-r--r--dev-db/postgresql/postgresql-14.10.ebuild464
-rw-r--r--dev-db/postgresql/postgresql-14.11.ebuild (renamed from dev-db/postgresql/postgresql-14.1.ebuild)38
-rw-r--r--dev-db/postgresql/postgresql-15.5.ebuild466
-rw-r--r--dev-db/postgresql/postgresql-15.6.ebuild465
-rw-r--r--dev-db/postgresql/postgresql-16.1.ebuild467
-rw-r--r--dev-db/postgresql/postgresql-16.2.ebuild466
-rw-r--r--dev-db/postgresql/postgresql-9.6.24.ebuild479
-rw-r--r--dev-db/postgresql/postgresql-9999.ebuild167
-rw-r--r--dev-db/pspg/Manifest6
-rw-r--r--dev-db/pspg/metadata.xml7
-rw-r--r--dev-db/pspg/pspg-3.1.5-r1.ebuild19
-rw-r--r--dev-db/pspg/pspg-4.3.0-r1.ebuild19
-rw-r--r--dev-db/pspg/pspg-5.5.4.ebuild (renamed from dev-db/pspg/pspg-5.0.5.ebuild)4
-rw-r--r--dev-db/pspg/pspg-5.5.8.ebuild25
-rw-r--r--dev-db/pspg/pspg-5.8.1.ebuild25
-rw-r--r--dev-db/psqlodbc/Manifest1
-rw-r--r--dev-db/psqlodbc/metadata.xml2
-rw-r--r--dev-db/psqlodbc/psqlodbc-15.00.0000.ebuild35
-rw-r--r--dev-db/qdbm/qdbm-1.8.78-r4.ebuild (renamed from dev-db/qdbm/qdbm-1.8.78-r3.ebuild)10
-rw-r--r--dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.10-install-path.patch5
-rw-r--r--dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild (renamed from dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11.ebuild)8
-rw-r--r--dev-db/redict/Manifest1
-rw-r--r--dev-db/redict/files/redict-7.3.0-config.patch (renamed from dev-db/redis/files/redis-3.2.3-config.patch)36
-rw-r--r--dev-db/redict/files/redict-7.3.0-system-hiredict.patch240
-rw-r--r--dev-db/redict/files/redict-7.3.0-system-jemalloc.patch173
-rw-r--r--dev-db/redict/files/redict-sentinel-7.3.0-config.patch27
-rw-r--r--dev-db/redict/files/redict-sentinel.confd16
-rw-r--r--dev-db/redict/files/redict-sentinel.initd22
-rw-r--r--dev-db/redict/files/redict.confd20
-rw-r--r--dev-db/redict/files/redict.initd25
-rw-r--r--dev-db/redict/files/redict.logrotate6
-rw-r--r--dev-db/redict/files/redict.service (renamed from dev-db/redis/files/redis.service-3)8
-rw-r--r--dev-db/redict/files/redict.tmpfiles2
-rw-r--r--dev-db/redict/metadata.xml20
-rw-r--r--dev-db/redict/redict-7.3.0.ebuild159
-rw-r--r--dev-db/redis/Manifest9
-rw-r--r--dev-db/redis/files/configure.ac-7.058
-rw-r--r--dev-db/redis/files/redis-5.0-sharedlua.patch60
-rw-r--r--dev-db/redis/files/redis-5.0.8-ppc-atomic.patch19
-rw-r--r--dev-db/redis/files/redis-6.0.12-sharedlua.patch60
-rw-r--r--dev-db/redis/files/redis-6.2.1-sharedlua.patch60
-rw-r--r--dev-db/redis/files/redis-7.0.4-no-which.patch66
-rw-r--r--dev-db/redis/files/redis-7.2.0-system-jemalloc.patch33
-rw-r--r--dev-db/redis/files/redis-sentinel-7.2.0-config.patch27
-rw-r--r--dev-db/redis/files/redis-sentinel.confd16
-rw-r--r--dev-db/redis/files/redis-sentinel.initd22
-rw-r--r--dev-db/redis/files/redis.confd-r120
-rw-r--r--dev-db/redis/files/redis.initd-525
-rw-r--r--dev-db/redis/files/redis.tmpfiles2
-rw-r--r--dev-db/redis/metadata.xml7
-rw-r--r--dev-db/redis/redis-5.0.13.ebuild164
-rw-r--r--dev-db/redis/redis-5.0.14.ebuild164
-rw-r--r--dev-db/redis/redis-6.0.15.ebuild189
-rw-r--r--dev-db/redis/redis-6.0.16.ebuild189
-rw-r--r--dev-db/redis/redis-6.2.14-r1.ebuild (renamed from dev-db/redis/redis-6.2.5.ebuild)52
-rw-r--r--dev-db/redis/redis-7.0.15-r1.ebuild (renamed from dev-db/redis/redis-6.2.6.ebuild)78
-rw-r--r--dev-db/redis/redis-7.2.4-r1.ebuild200
-rw-r--r--dev-db/repmgr/files/repmgr-5.1.0-fix-missing-getpwuid-clang16.patch12
-rw-r--r--dev-db/repmgr/repmgr-5.1.0-r1.ebuild47
-rw-r--r--dev-db/rqlite/Manifest444
-rw-r--r--dev-db/rqlite/rqlite-5.10.2.ebuild383
-rw-r--r--dev-db/rqlite/rqlite-6.1.0.ebuild456
-rw-r--r--dev-db/rqlite/rqlite-6.7.0.ebuild230
-rw-r--r--dev-db/rqlite/rqlite-6.8.0.ebuild230
-rw-r--r--dev-db/rqlite/rqlite-6.8.1.ebuild230
-rw-r--r--dev-db/rqlite/rqlite-8.16.8.ebuild37
-rw-r--r--dev-db/rqlite/rqlite-8.23.0.ebuild36
-rw-r--r--dev-db/slony1/slony1-2.2.10-r1.ebuild (renamed from dev-db/slony1/slony1-2.2.10.ebuild)15
-rw-r--r--dev-db/spatialite-tools/Manifest1
-rw-r--r--dev-db/spatialite-tools/spatialite-tools-4.3.0-r1.ebuild33
-rw-r--r--dev-db/spatialite/Manifest2
-rw-r--r--dev-db/spatialite/metadata.xml1
-rw-r--r--dev-db/spatialite/spatialite-5.0.1-r2.ebuild (renamed from dev-db/spatialite/spatialite-4.3.0a.ebuild)30
-rw-r--r--dev-db/spatialite/spatialite-5.1.0-r1.ebuild62
-rw-r--r--dev-db/sqlcipher/Manifest4
-rw-r--r--dev-db/sqlcipher/sqlcipher-4.5.1.ebuild (renamed from dev-db/sqlcipher/sqlcipher-4.0.1.ebuild)5
-rw-r--r--dev-db/sqlcipher/sqlcipher-4.5.5.ebuild (renamed from dev-db/sqlcipher/sqlcipher-3.4.2.ebuild)52
-rw-r--r--dev-db/sqlcl-bin/Manifest2
-rw-r--r--dev-db/sqlcl-bin/sqlcl-bin-23.4.0.023.2321.ebuild (renamed from dev-db/sqlcl-bin/sqlcl-bin-21.3.1.281.1748.ebuild)6
-rw-r--r--dev-db/sqldeveloper/Manifest3
-rw-r--r--dev-db/sqldeveloper/files/sqldeveloper9
-rw-r--r--dev-db/sqldeveloper/sqldeveloper-23.1.1.345.2114.ebuild (renamed from dev-db/sqldeveloper/sqldeveloper-21.2.1.204.1703.ebuild)12
-rw-r--r--dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild99
-rw-r--r--dev-db/sqlite/Manifest22
-rw-r--r--dev-db/sqlite/files/sqlite-3.34.1-build_1.1.patch375
-rw-r--r--dev-db/sqlite/files/sqlite-3.34.1-build_1.2.patch500
-rw-r--r--dev-db/sqlite/files/sqlite-3.34.1-build_2.1.patch291
-rw-r--r--dev-db/sqlite/files/sqlite-3.34.1-build_2.2.patch441
-rw-r--r--dev-db/sqlite/files/sqlite-3.35.0-build_1.1.patch375
-rw-r--r--dev-db/sqlite/files/sqlite-3.35.0-build_1.2.patch500
-rw-r--r--dev-db/sqlite/files/sqlite-3.35.0-build_2.1.patch292
-rw-r--r--dev-db/sqlite/files/sqlite-3.35.0-build_2.2.patch441
-rw-r--r--dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch125
-rw-r--r--dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch187
-rw-r--r--dev-db/sqlite/files/sqlite-3.45.1-lto.patch20
-rw-r--r--dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch24
-rw-r--r--dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch112
-rw-r--r--dev-db/sqlite/metadata.xml13
-rw-r--r--dev-db/sqlite/sqlite-3.35.3.ebuild428
-rw-r--r--dev-db/sqlite/sqlite-3.35.4.ebuild428
-rw-r--r--dev-db/sqlite/sqlite-3.44.2-r1.ebuild (renamed from dev-db/sqlite/sqlite-3.35.0.ebuild)123
-rw-r--r--dev-db/sqlite/sqlite-3.44.2-r2.ebuild (renamed from dev-db/sqlite/sqlite-3.35.2.ebuild)124
-rw-r--r--dev-db/sqlite/sqlite-3.45.1-r1.ebuild439
-rw-r--r--dev-db/sqlite/sqlite-3.45.2.ebuild (renamed from dev-db/sqlite/sqlite-3.34.1.ebuild)117
-rw-r--r--dev-db/sqlite/sqlite-3.45.3.ebuild (renamed from dev-db/sqlite/sqlite-3.35.5.ebuild)117
-rw-r--r--dev-db/sqlite/sqlite-9999.ebuild (renamed from dev-db/sqlite/sqlite-3.35.1.ebuild)112
-rw-r--r--dev-db/sqlitebrowser/Manifest1
-rw-r--r--dev-db/sqlitebrowser/metadata.xml6
-rw-r--r--dev-db/sqlitebrowser/sqlitebrowser-3.12.1.ebuild67
-rw-r--r--dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild (renamed from dev-db/sqlitebrowser/sqlitebrowser-3.12.2.ebuild)16
-rw-r--r--dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild18
-rw-r--r--dev-db/sqliteman/files/sqliteman-1.2.2-cmake.patch10
-rw-r--r--dev-db/sqliteman/files/sqliteman-1.2.2-desktop.patch11
-rw-r--r--dev-db/sqliteman/sqliteman-1.2.2-r6.ebuild (renamed from dev-db/sqliteman/sqliteman-1.2.2-r4.ebuild)31
-rw-r--r--dev-db/sqlitestudio/Manifest2
-rw-r--r--dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-PyThreadState.patch54
-rw-r--r--dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-python.patch13
-rw-r--r--dev-db/sqlitestudio/metadata.xml3
-rw-r--r--dev-db/sqlitestudio/sqlitestudio-3.4.4-r1.ebuild (renamed from dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild)78
-rw-r--r--dev-db/sqlmap/Manifest3
-rw-r--r--dev-db/sqlmap/files/sqlmap.bash-completion158
-rw-r--r--dev-db/sqlmap/metadata.xml25
-rw-r--r--dev-db/sqlmap/sqlmap-1.7.9.ebuild60
-rw-r--r--dev-db/sqlmap/sqlmap-1.8.2.ebuild60
-rw-r--r--dev-db/sqlmap/sqlmap-1.8.ebuild60
-rw-r--r--dev-db/sqlmap/sqlmap-9999.ebuild60
-rw-r--r--dev-db/timescaledb/Manifest11
-rw-r--r--dev-db/timescaledb/metadata.xml3
-rw-r--r--dev-db/timescaledb/timescaledb-2.0.1-r2.ebuild66
-rw-r--r--dev-db/timescaledb/timescaledb-2.0.2-r1.ebuild66
-rw-r--r--dev-db/timescaledb/timescaledb-2.1.0-r1.ebuild66
-rw-r--r--dev-db/timescaledb/timescaledb-2.1.1-r1.ebuild66
-rw-r--r--dev-db/timescaledb/timescaledb-2.14.0.ebuild (renamed from dev-db/timescaledb/timescaledb-2.2.1-r1.ebuild)8
-rw-r--r--dev-db/timescaledb/timescaledb-2.14.2.ebuild (renamed from dev-db/timescaledb/timescaledb-2.3.1.ebuild)8
-rw-r--r--dev-db/timescaledb/timescaledb-2.4.1.ebuild67
-rw-r--r--dev-db/timescaledb/timescaledb-2.4.2.ebuild67
-rw-r--r--dev-db/timescaledb/timescaledb-2.5.0.ebuild67
-rw-r--r--dev-db/tinycdb/Manifest1
-rw-r--r--dev-db/tinycdb/tinycdb-0.78.ebuild6
-rw-r--r--dev-db/tinycdb/tinycdb-0.81.ebuild52
-rw-r--r--dev-db/tokyocabinet/tokyocabinet-1.4.48-r2.ebuild (renamed from dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild)39
-rw-r--r--dev-db/tokyocabinet/tokyocabinet-1.4.48-r3.ebuild75
-rw-r--r--dev-db/tora/files/tora-3.2-missing-header.patch21
-rw-r--r--dev-db/tora/files/tora-3.2-qt-5.11.0.patch69
-rw-r--r--dev-db/tora/files/tora-3.2-qt-includes.patch61
-rw-r--r--dev-db/tora/metadata.xml20
-rw-r--r--dev-db/tora/tora-3.2-r1.ebuild96
-rw-r--r--dev-db/tora/tora-3.2-r2.ebuild (renamed from dev-db/tora/tora-9999.ebuild)52
-rw-r--r--dev-db/unixODBC/Manifest3
-rw-r--r--dev-db/unixODBC/files/unixODBC-2.3.11-config-no-install.patch33
-rw-r--r--dev-db/unixODBC/files/unixODBC-2.3.9-clang16.patch345
-rw-r--r--dev-db/unixODBC/metadata.xml3
-rw-r--r--dev-db/unixODBC/unixODBC-2.3.11.ebuild79
-rw-r--r--dev-db/unixODBC/unixODBC-2.3.12.ebuild (renamed from dev-db/unixODBC/unixODBC-2.3.9.ebuild)44
628 files changed, 23653 insertions, 56525 deletions
diff --git a/dev-db/apgdiff/metadata.xml b/dev-db/apgdiff/metadata.xml
index 403757d2e151..1f8114f046d4 100644
--- a/dev-db/apgdiff/metadata.xml
+++ b/dev-db/apgdiff/metadata.xml
@@ -5,6 +5,6 @@
<email>java@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="sourceforge">apgdiff</remote-id>
+ <remote-id type="github">fordfrog/apgdiff</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/barman/Manifest b/dev-db/barman/Manifest
index 40a91a4f4fd7..888a8fdff7a4 100644
--- a/dev-db/barman/Manifest
+++ b/dev-db/barman/Manifest
@@ -1 +1,2 @@
-DIST barman-2.12.tar.gz 1370978 BLAKE2B 2b44e153addab3fca7dbf572b03b2e22fe18f0960d98048aa145c64552a0de4cea977c423c268bfb9b822e44aaead3572ee350053049ab5459cc022d976eb4d0 SHA512 b4b479a03e5b770ba783af1d5645f6be2a19e2427cb58c6d9dfc6389240d4eeeec85401caa59c0d837a70f1cf67c0edbdb1539ecbd2f3de86285a122fc184320
+DIST barman-3.10.0.tar.gz 1851778 BLAKE2B 8e481676ae8a41e5a38a206966e26523237ee13f7201d219c405f355795e9755778d5495be3274bb67a931820b069d96be21adbcefc471380f98cd5f41fc1a08 SHA512 d01f4e940a46964aa8359614195c2bdc423c5a57e18331ccd798e0d52a2bd8f6adf299d42c5e1ac47ece5100cb1a828093badd8e1b181b20e4480cf368c8d1d0
+DIST barman-3.9.0.tar.gz 1819096 BLAKE2B 712ec047f9409014495afd868a9bbe889b6b2d54a511770a95e9c62513d7042673b7c1ebec31d45729211a1da0e55dfdc5cdc0ef62d84e7efa26b2b9fbff5feb SHA512 e5b4796a470f43e4ea79383defabd31cd4d33d8dfc06495bc4485bd1bc5cfab701c3719567bcc302de3f157e9ef08a6848776daa2cf9c537fb2829b7931111fd
diff --git a/dev-db/barman/barman-2.12.ebuild b/dev-db/barman/barman-3.10.0.ebuild
index ce74beef1454..d7a56ecd1e99 100644
--- a/dev-db/barman/barman-2.12.ebuild
+++ b/dev-db/barman/barman-3.10.0.ebuild
@@ -1,9 +1,12 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..12} )
+
+RESTRICT="test" # missing azure sdk
inherit distutils-r1
@@ -19,7 +22,7 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/boto3[${PYTHON_USEDEP}]
dev-python/argh[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2[${PYTHON_USEDEP}]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/argcomplete[${PYTHON_USEDEP}]
net-misc/rsync
@@ -30,6 +33,7 @@ BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/python-snappy[${PYTHON_USEDEP}]
)
"
diff --git a/dev-db/barman/barman-3.9.0.ebuild b/dev-db/barman/barman-3.9.0.ebuild
new file mode 100644
index 000000000000..d7a56ecd1e99
--- /dev/null
+++ b/dev-db/barman/barman-3.9.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..12} )
+
+RESTRICT="test" # missing azure sdk
+
+inherit distutils-r1
+
+DESCRIPTION="Administration tool for disaster recovery of PostgreSQL servers"
+HOMEPAGE="https://www.pgbarman.org https://sourceforge.net/projects/pgbarman/"
+SRC_URI="https://github.com/2ndquadrant-it/barman/archive/release/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-release-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/argh[${PYTHON_USEDEP}]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ net-misc/rsync
+ dev-db/postgresql[server]
+"
+
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/python-snappy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ sed -i -e \
+ "s/^ def test_xlog_segment_mask(.*:/ @pytest.mark.xfail(reason='Test fails on Gentoo')\n\0/" \
+ tests/test_xlog.py || die
+}
diff --git a/dev-db/cdb/cdb-0.75-r4.ebuild b/dev-db/cdb/cdb-0.75-r4.ebuild
index 6f6e1be87205..58534e5e7073 100644
--- a/dev-db/cdb/cdb-0.75-r4.ebuild
+++ b/dev-db/cdb/cdb-0.75-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -11,7 +11,7 @@ SRC_URI="https://cr.yp.to/${PN}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="!dev-db/tinycdb"
diff --git a/dev-db/citus/Manifest b/dev-db/citus/Manifest
index 7ff517197115..3e0a2d22cbba 100644
--- a/dev-db/citus/Manifest
+++ b/dev-db/citus/Manifest
@@ -1,8 +1,3 @@
-DIST citus-10.0.5.tar.gz 5182513 BLAKE2B 84bd1d2d8a33ecb58371625bfe9936985b3e84237f5580b5d217ee7807a541b7d94c09ad1be75204582149a2be0f3b54fa69ba73c089a33c7d416c796259423e SHA512 38414bd53952b3fcda222a3edeb7c0d32c9fe360fd6cfdefbe2c597df0dc527cf32471b5a9eac68be670858f3c3ee0a5691b778e2821c129838d1f17bc7a539b
-DIST citus-10.0.6.tar.gz 5186554 BLAKE2B b7f4c46cf202bcc1a0d62d797056d5dbee625c4d00f6c0507e95201698bd9d0eceddaf2dd524e0a954a75013fcfb5f42531975ae157d1aa015a27f8adc8d9f25 SHA512 2a839eb2cc907a8294b974ec4f698042546e84757d209ce5e7c52d122f3f2af5036b3a1147d26b50170192649a19cf38d3c2bccfa445e213f604bb21ef84d478
-DIST citus-10.1.3.tar.gz 5281581 BLAKE2B cf119c550174a8b64bfee6497288a10030db7ff8d40e48d4751799d4268618afe9b7dcd72bfbd5b01dc073f6f4af55e8dc338071e3be224d15ded423885bbebd SHA512 2ad9665c5de3214a5ebc08d5df663caa634912dd9db433a43bea96d3932213786d1650a695531a4d00ab8dff7d53078848466d7a6e803bff3ab26f4df3990c91
-DIST citus-10.2.0.tar.gz 5496211 BLAKE2B 9b6f3aeb19e8f4391b6ca24615a6eab405a57bf673995d79c2ea563dec67c63ffb5d17d4f8a1f245497f15de2fb572d0ecccc4a5195e797bd2a799800dcc553a SHA512 fb816bc0f252f6a63c76923366c9a25b9004288c09c7a6de7911a2c0325e47b1772b7a59cdb39e034d406ce99db53ced8e68c658bf16e92c2c99eb7331537ea7
-DIST citus-10.2.1.tar.gz 5502245 BLAKE2B d83e951aed48bcdd67e0d6ffb7c1f036e46cf5da961a11df007e2f4d0bb6437dc9f61f4c2e32732beb23bdb3d03236f1b2c2bdfcdbd843d95c3788310475c4dd SHA512 782bef91d2d3a0eb12b291e43ce10fc43e24b37d330f0d861e5e5feaba8d9bd556270cfa01d210d29ee729364697e9fbce47f95ef892ea6ec92a9ef49c34f931
-DIST citus-10.2.2.tar.gz 5513323 BLAKE2B f968215919470e330ca47bf40b3315f9d28abcff22b5d655bba61c39f6253129eacfbe3f388d824edbea0114386dd013426f1149c2296d2ab4b599baea410ba9 SHA512 9e369ea00066119e343f29c9b8b6bdc9c1be7fba5b521950bf0eda391022d7616d81a7d0c7cf15a35b5048f9e2c5f4abd9d1db8ef653f08a6e5a59da6c333a36
-DIST citus-9.5.10.tar.gz 4744848 BLAKE2B e6d9595fe30cb93508007cb4f39933ae57b6f0f1c5ee084ac83b0f5edea0d32dc0e8fd71737e396eb9b77fd5601ae647e29dea5b13e2e7a53a59f96365773466 SHA512 24683c7607de115d1d7fc355b56ff732e5e5f2adcdbebac7ee0d71b8878de3f335f3824be9e02ae9554850c68d7e21bc6d95d581e02ba4fef9da27b2f67f2987
-DIST citus-9.5.8.tar.gz 4737096 BLAKE2B aa2e272f635699e16ebb5df2f981c1250009c721198456228a90837a8a37c6e5325dfea8f51f39bd3aafe8be0b6335cbac36443bc3193b796c9be6fe34a91a41 SHA512 5fbde79f995a1e66adb9339fecae03c62763b725e7aeafe4d57e10355cfe6bfca0724e38f2e6c34ce4eb762d94566f23ea1e78692eff602623ededc8a91b7949
+DIST citus-11.3.1.tar.gz 6623462 BLAKE2B ef07fb1e6cf0dd3f49600c3befcb300d47244393dd3bbe01450a8cb7bdb40adf1b7c6d7cf473ac80c466fc5dd4d6e0f5a62d1a587804d74011dda65731431028 SHA512 481d74cdf0e8de86b918fc73ed72f988f42679a827a39e7d89e2d0ebb0447d629dbaf323099dc97e886ea3012539200831f580bfe0cf3a12ef1f3a7bfe3fab42
+DIST citus-12.0.1.tar.gz 6740395 BLAKE2B ca004f8026d94c1ed70c9c7450726287aff415c13b80b93d25a19fbae9a79cbbeaec51521fc7922d5574c75bddb9537d42d656121ca586f4512afe773be5bf76 SHA512 db9b882c63ef6ab848a85d547390d4fc61b97056485dcc8fa51c289a302b78d0de959e29c27a91c494fd3e20491f6a96e96436d8766d02b2770f0e375b94564e
+DIST citus-12.1.2.tar.gz 6897486 BLAKE2B 6cbd65cf0cefc5bbe4abcedbeaece8c9a123a05d0d6b812d95cea69153843fd187ff67ce0e99e19758f43569b7e38379294c3c1551f7751ffcb5a6d025800f1a SHA512 00ca6d7053c91671c894bb2afec25ba2a38aae50b6f363a1e63e08e4f3016e43739c9a48b20d93afecb5cc0f2d886fd12318dd8f54f67c052baca2d421882828
diff --git a/dev-db/citus/citus-10.1.3.ebuild b/dev-db/citus/citus-10.1.3.ebuild
deleted file mode 100644
index 7c1f0e8ac75c..000000000000
--- a/dev-db/citus/citus-10.1.3.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 12 13 )
-
-inherit postgres-multi
-
-DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
-HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE=""
-LICENSE="POSTGRESQL AGPL-3"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- app-arch/lz4
- app-arch/zstd
- "
-RDEPEND="${DEPEND}"
-
-src_configure() {
- postgres-multi_foreach econf
-}
diff --git a/dev-db/citus/citus-10.2.1.ebuild b/dev-db/citus/citus-10.2.1.ebuild
deleted file mode 100644
index 2ff6ad1ae5d3..000000000000
--- a/dev-db/citus/citus-10.2.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 12 13 14 )
-
-inherit postgres-multi
-
-DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
-HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE=""
-LICENSE="POSTGRESQL AGPL-3"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- app-arch/lz4
- app-arch/zstd
- "
-RDEPEND="${DEPEND}"
-
-src_configure() {
- postgres-multi_foreach econf
-}
diff --git a/dev-db/citus/citus-10.2.2.ebuild b/dev-db/citus/citus-10.2.2.ebuild
deleted file mode 100644
index 2ff6ad1ae5d3..000000000000
--- a/dev-db/citus/citus-10.2.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 12 13 14 )
-
-inherit postgres-multi
-
-DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
-HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE=""
-LICENSE="POSTGRESQL AGPL-3"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- app-arch/lz4
- app-arch/zstd
- "
-RDEPEND="${DEPEND}"
-
-src_configure() {
- postgres-multi_foreach econf
-}
diff --git a/dev-db/citus/citus-10.0.5.ebuild b/dev-db/citus/citus-11.3.1.ebuild
index 4bb39ab5f008..196628d1bd19 100644
--- a/dev-db/citus/citus-10.0.5.ebuild
+++ b/dev-db/citus/citus-11.3.1.ebuild
@@ -1,15 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 11 12 13 )
+POSTGRES_COMPAT=( 13 14 15 )
inherit postgres-multi
DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+MY_PV="${PV/beta0/beta}"
+SRC_URI="https://github.com/citusdata/citus/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
IUSE=""
LICENSE="POSTGRESQL AGPL-3"
diff --git a/dev-db/citus/citus-10.2.0.ebuild b/dev-db/citus/citus-12.0.1.ebuild
index 2ff6ad1ae5d3..c3c9617e490d 100644
--- a/dev-db/citus/citus-10.2.0.ebuild
+++ b/dev-db/citus/citus-12.0.1.ebuild
@@ -1,15 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 12 13 14 )
+POSTGRES_COMPAT=( 14 15 )
inherit postgres-multi
DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+MY_PV="${PV/beta0/beta}"
+SRC_URI="https://github.com/citusdata/citus/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
IUSE=""
LICENSE="POSTGRESQL AGPL-3"
diff --git a/dev-db/citus/citus-10.0.6.ebuild b/dev-db/citus/citus-12.1.2.ebuild
index 4bb39ab5f008..6f1052ed0c2d 100644
--- a/dev-db/citus/citus-10.0.6.ebuild
+++ b/dev-db/citus/citus-12.1.2.ebuild
@@ -1,15 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 11 12 13 )
+POSTGRES_COMPAT=( 14 15 16 )
inherit postgres-multi
DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+MY_PV="${PV/beta0/beta}"
+SRC_URI="https://github.com/citusdata/citus/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
IUSE=""
LICENSE="POSTGRESQL AGPL-3"
diff --git a/dev-db/citus/citus-9.5.10.ebuild b/dev-db/citus/citus-9.5.10.ebuild
deleted file mode 100644
index 4bb39ab5f008..000000000000
--- a/dev-db/citus/citus-9.5.10.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 13 )
-
-inherit postgres-multi
-
-DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
-HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE=""
-LICENSE="POSTGRESQL AGPL-3"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- app-arch/lz4
- app-arch/zstd
- "
-RDEPEND="${DEPEND}"
-
-src_configure() {
- postgres-multi_foreach econf
-}
diff --git a/dev-db/citus/citus-9.5.8.ebuild b/dev-db/citus/citus-9.5.8.ebuild
deleted file mode 100644
index 4bb39ab5f008..000000000000
--- a/dev-db/citus/citus-9.5.8.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 13 )
-
-inherit postgres-multi
-
-DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
-HOMEPAGE="https://www.citusdata.com/"
-SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE=""
-LICENSE="POSTGRESQL AGPL-3"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- app-arch/lz4
- app-arch/zstd
- "
-RDEPEND="${DEPEND}"
-
-src_configure() {
- postgres-multi_foreach econf
-}
diff --git a/dev-db/citus/metadata.xml b/dev-db/citus/metadata.xml
index 726969ed2748..ecb2dfb2164d 100644
--- a/dev-db/citus/metadata.xml
+++ b/dev-db/citus/metadata.xml
@@ -5,4 +5,7 @@
<email>pgsql-bugs@gentoo.org</email>
<name>PostgreSQL and Related Package Development</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">citusdata/citus</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/cockroach/cockroach-19.1.1.ebuild b/dev-db/cockroach/cockroach-19.1.1-r1.ebuild
index b4fd44218a0a..8d796276a335 100644
--- a/dev-db/cockroach/cockroach-19.1.1.ebuild
+++ b/dev-db/cockroach/cockroach-19.1.1-r1.ebuild
@@ -1,42 +1,41 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PV=v${PV}
CHECKREQS_MEMORY="2G"
-inherit check-reqs toolchain-funcs user
+inherit check-reqs toolchain-funcs
DESCRIPTION="open source database for building cloud services"
HOMEPAGE="https://www.cockroachlabs.com"
SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz"
+S="${WORKDIR}/cockroach-${MY_PV}"
LICENSE="Cockroach Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
-IUSE=""
-DEPEND=">=app-arch/xz-utils-5.2.3
- >=dev-lang/go-1.8.3
- >=dev-util/cmake-3.8.1"
+RDEPEND="
+ acct-group/cockroach
+ acct-user/cockroach
+"
-S="${WORKDIR}/cockroach-${MY_PV}"
+DEPEND="
+ ${RDEPEND}
+ >=app-arch/xz-utils-5.2.3
+ >=dev-lang/go-1.8.3
+ >=dev-build/cmake-3.8.1
+"
QA_EXECSTACK="usr/bin/cockroach"
pkg_pretend() {
check-reqs_pkg_pretend
- if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then
- eerror "Cockroach cannot be built with this version of gcc."
- eerror "You need at least gcc-6.0"
- die "Your C compiler is too old for this package."
- fi
}
pkg_setup() {
check-reqs_pkg_setup
- enewgroup cockroach
- enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach
}
src_compile() {
diff --git a/dev-db/cockroach/cockroach-2.1.5.ebuild b/dev-db/cockroach/cockroach-2.1.5-r1.ebuild
index b4fd44218a0a..8d796276a335 100644
--- a/dev-db/cockroach/cockroach-2.1.5.ebuild
+++ b/dev-db/cockroach/cockroach-2.1.5-r1.ebuild
@@ -1,42 +1,41 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PV=v${PV}
CHECKREQS_MEMORY="2G"
-inherit check-reqs toolchain-funcs user
+inherit check-reqs toolchain-funcs
DESCRIPTION="open source database for building cloud services"
HOMEPAGE="https://www.cockroachlabs.com"
SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz"
+S="${WORKDIR}/cockroach-${MY_PV}"
LICENSE="Cockroach Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
-IUSE=""
-DEPEND=">=app-arch/xz-utils-5.2.3
- >=dev-lang/go-1.8.3
- >=dev-util/cmake-3.8.1"
+RDEPEND="
+ acct-group/cockroach
+ acct-user/cockroach
+"
-S="${WORKDIR}/cockroach-${MY_PV}"
+DEPEND="
+ ${RDEPEND}
+ >=app-arch/xz-utils-5.2.3
+ >=dev-lang/go-1.8.3
+ >=dev-build/cmake-3.8.1
+"
QA_EXECSTACK="usr/bin/cockroach"
pkg_pretend() {
check-reqs_pkg_pretend
- if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then
- eerror "Cockroach cannot be built with this version of gcc."
- eerror "You need at least gcc-6.0"
- die "Your C compiler is too old for this package."
- fi
}
pkg_setup() {
check-reqs_pkg_setup
- enewgroup cockroach
- enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach
}
src_compile() {
diff --git a/dev-db/cpp-driver/Manifest b/dev-db/cpp-driver/Manifest
deleted file mode 100644
index e98de2da6565..000000000000
--- a/dev-db/cpp-driver/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cpp-driver-2.11.0.tar.gz 9392387 BLAKE2B 37d6063b33cd9821faa15d0eb8cb7e87d3a57a58384cf60dd623f94c9246250ba00c3303d9e0ca586f5455d449c9749058e9ed5dcb06d736591329b252bc1ffc SHA512 c8ccb3b10895c3e8f3bcf9543dff233a45c468b1b5e9c9c848d651b13c1b3f76cd0edd20fbff8e6e093767e1a2c8d360447496f1ef4370c1776d3fad28a9b3a3
diff --git a/dev-db/cpp-driver/cpp-driver-2.11.0.ebuild b/dev-db/cpp-driver/cpp-driver-2.11.0.ebuild
deleted file mode 100644
index d9088c8dee8d..000000000000
--- a/dev-db/cpp-driver/cpp-driver-2.11.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="DataStax C/C++ Driver for Cassandra"
-HOMEPAGE="https://datastax.github.io/cpp-driver/"
-SRC_URI="https://github.com/datastax/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ssl"
-
-RDEPEND="
- dev-libs/libuv:=
- ssl? (
- dev-libs/openssl:0=
- )"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=( -DCASS_USE_OPENSSL=$(usex ssl) )
- cmake_src_configure
-}
diff --git a/dev-db/db-je/Manifest b/dev-db/db-je/Manifest
deleted file mode 100644
index e5110d3f0c08..000000000000
--- a/dev-db/db-je/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST je-3.3.75.tar.gz 5179709 BLAKE2B 9bc8382ad2bf54efd1a235115972761ecc38e2f641a6722623c7d2806e6eb2e2dbe65bf91e899844641365fb144fe73e021d70c02f12343e6dccb998426c229e SHA512 e28648459a3a7dcf98e8865e6859544c656c3b58688b244df568cc8c006a74dda79aadfbfb279e099c1376914cca064734da490998a864c1bd2cc3209bc64ae4
diff --git a/dev-db/db-je/db-je-3.3.75.ebuild b/dev-db/db-je/db-je-3.3.75.ebuild
deleted file mode 100644
index 943c9c9fd986..000000000000
--- a/dev-db/db-je/db-je-3.3.75.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="A high performance, transactional storage engine written entirely in Java"
-HOMEPAGE="https://www.oracle.com/database/berkeley-db/java-edition.html"
-SRC_URI="https://download.oracle.com/berkeley-db/${P/db-/}.tar.gz"
-S=${WORKDIR}/${P/db-/}
-
-LICENSE="Sleepycat BSD"
-SLOT="3.3"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.5
- dev-java/ant-core:0"
-RDEPEND=">=virtual/jre-1.5"
-
-EANT_DOC_TARGET="javadoc-all"
-EANT_EXTRA_ARGS="-Dnotest=true"
-
-src_prepare() {
- default
- eapply "${FILESDIR}"/${P}-optional-test.patch
- rm -r docs || die
- cd lib || die
- rm -v *.jar || die
- java-pkg_jar-from --build-only ant-core ant.jar
-}
-
-src_install() {
- java-pkg_dojar build/lib/je.jar
- use doc && java-pkg_dojavadoc docs
- use source && java-pkg_dosrc src/com
-}
diff --git a/dev-db/db-je/files/db-je-3.3.75-optional-test.patch b/dev-db/db-je/files/db-je-3.3.75-optional-test.patch
deleted file mode 100644
index ac23185c2ba8..000000000000
--- a/dev-db/db-je/files/db-je-3.3.75-optional-test.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- a/build.xml 2008-06-11 05:25:20.000000000 +0200
-+++ b/build.xml 2008-08-22 15:59:53.000000000 +0200
-@@ -102,6 +102,7 @@
- <path id="empty.classpath"/>
-
- <path id="class.path">
-+ <fileset dir="lib" includes="*.jar"/>
- <pathelement location="${specificjar}"/>
- <pathelement location="."/>
- </path>
-@@ -487,14 +488,14 @@
- <!-- JUnit unit tests -->
- <!-- ============================================================ -->
-
-- <target name="init-unittest" depends="init">
-+ <target name="init-unittest" depends="init" unless="notest">
- <delete dir="${unittest.datadir}"/>
- <delete dir="${unittest.reportsdir}"/>
- <mkdir dir="${unittest.datadir}"/>
- <mkdir dir="${unittest.reportsdir}"/>
- </target>
-
-- <target name="clean-unittest" depends="init-unittest">
-+ <target name="clean-unittest" depends="init-unittest" unless="notest">
- <delete dir="${unittest.destdir}"/>
- <mkdir dir="${unittest.destdir}"/>
- <delete dir="${unittest.testserialdir}"/>
-@@ -503,7 +504,7 @@
- <mkdir dir="${unittest.testevolvedir}"/>
- </target>
-
-- <target name="compile-unittest" depends="compile-src">
-+ <target name="compile-unittest" depends="compile-src" unless="notest">
- <ant antfile="ant/compile.xml" dir="." inheritall="false">
- <property name="srcdir" value="${unittest.srcdir}"/>
- <property name="destdir" value="${unittest.destdir}"/>
-@@ -597,7 +598,7 @@
- </path>
-
- <target name="test"
-- depends="compile-unittest, init-unittest, jar">
-+ depends="compile-unittest, init-unittest, jar" unless="notest">
-
- <!-- Determine which tests to run. -->
- <condition property="alltests">
diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest
index 1ccdaa97e706..a66e5e34c31e 100644
--- a/dev-db/etcd/Manifest
+++ b/dev-db/etcd/Manifest
@@ -1,242 +1,8 @@
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST etcd-3.3.23.tar.gz 6526967 BLAKE2B b29cc691a45021ffb2bbf9528d66e2a4384bdf21bf8865a1062d38535e8823a7726790e4d1d5f7b1a9362a730668d2ea579422619c9e29837c290f8fd7edaea7 SHA512 28b689092b342f5d7b211b122f6fc22dcd62c54eec70d4108b5f933851cd145bdf26097927e70b6596af918c583ad3a4bd28acc4c0e93d7f67011789d66dc94b
-DIST etcd-3.3.24.tar.gz 6518759 BLAKE2B bff713b5f754e6ed86f4265be7691f5cf6ad0bc1576ef15a4364b34dda827bef4390024d7a9bb032907dc8a95d8d3884e9f2ddf5a37b3b7e4ab476a13e61b8ac SHA512 a3825a1d6ec886a5f30317929bafc1f5b2657f374a4cb7a0348786a7c4f6b073197b2bdeb4d725e78cf5c99cead3e38dbf468ea023b3e7689bdce857466a72d3
-DIST etcd-3.4.14.tar.gz 9182134 BLAKE2B 9723b275816423be92cf24ff39f84a69362e30aaccd879edbde75e1cf8e9d6f35e503118bb9a6182f46b566c6fcd56546bbf00c2532837de2d64e9ebabfda8b6 SHA512 61262b921104f4626131f9722a127debe7b1daac09a90fcb55fb044312b771024e913eb657ea0c59a64b493f66a07f828bcc109afadbd4cc5981034a778f3958
-DIST etcd-3.4.16.tar.gz 8853228 BLAKE2B 576d3f038f6e9e3eadaa9ba3935f8372271e9fd2cfb8ab193ce16ee57a55419daad4d8496f6ad27dcb833566e6eb077052422e1c86053d176a86b4305c8cc525 SHA512 3f413debe8bd723a00a3e39db05f6dbf414b7dc02f40f07d3037445c63b31c7bd8adaf77152ae01aa6aae3966f65393c5c8e352bbc2b86d01e5e2dd979c1c2e1
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
-DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
-DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.zip 15013 BLAKE2B daecbcbb12a60a1423c4f419db44a0d63108fe622cf843593abb16fd75dcea703b3cf56f1c13433959eccbfb2a9bd5640f837f4be3296220366438dd7ed04f86 SHA512 44ccb3d6134742a80ac15830613c169d1b0d43e6ce40c2f2fdea07203bec134e1ba80dc57c6d14a007014ea141dca311b3ebe61b12d2181311665a9ffe83ca39
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.mod 40 BLAKE2B ce42c81a7dcb03d21a99d6240ce12f8455297722513497b1a75f2c848b5fb7ef70b577c2406638442f16beedd68806de890a5c299cf1c008c439df23df2f5bb1 SHA512 ec4424da8e1e3849408da7bfe83d37e21ac75edb889de8ef63be897d59678679b018f4606be78500952e7eee73a6252ee6e477b1a1612e2d036dbf72c17b9c9b
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.zip 14678 BLAKE2B 3f95d78aa356a314f8da501f8085a880201766e184abb6c222c45e09c0c3b5e1e1eb7b89cc8ed46b77b09be8860fdf3e28525d9a451964ad64a96c6ee848a41d SHA512 be60a4c8059a9cb07ceb12e079b1224b6f871ecb1d7953906ab303cfe86d00cb979e203299f00fe828b2f6d2a3f5d55814c50809e9b872ab6d96db73f3771498
-DIST github.com%2Fbgentry%2Fspeakeasy%2F@v%2Fv0.1.0.mod 36 BLAKE2B ad3bb22bde28277f26a819b093ab7392da57c027bfb91bbbab4686d225ddc4e239c0905f6eec64cda2fd47746bd625682f663a11007bdbbf64f9cbff7dd1de76 SHA512 f961ced2c3e902be60fb862fff6b1c4457c57bd7586375a18857863be63d9b3ea998b05fc0c9c3a7270387e9907861d6f9d6ce4024643ec84ea6a63e59e915c1
-DIST github.com%2Fbgentry%2Fspeakeasy%2F@v%2Fv0.1.0.zip 9262 BLAKE2B 50feca006319c5a8d957976be1c02a0a6a7247441fa0e903b1a03de85859f2afd0c93cf8599f60974686f47bdb7f0c94e58c6ec01ffa3fc33cf5d04da3bfd08d SHA512 0e52838ad73009c795d6a43d7d52d082b0ec134e0f07015fa51caab7d1dd141b19df7807a7ab146312848567f8635966c6ce7ac22b934a630e0131383caef9cf
-DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
-DIST github.com%2Fcockroachdb%2Fdatadriven%2F@v%2Fv0.0.0-20190809214429-80d97fb3cbaa.mod 41 BLAKE2B fce07437afe34fbb38dc2b3c8695440413610213aa82b910471dfdd37a5dfabd332513dff18fbef7b84469c0c137530e821e2a5adf0e660a96bb78446a084cc6 SHA512 180a8be6b0f3596aa376ec5f264ee545a082328067b3ffa5523634cc95b106328fbc6330fffcada0a1cf250c3a988971073441184b9194fe0d05fd62a33901fa
-DIST github.com%2Fcockroachdb%2Fdatadriven%2F@v%2Fv0.0.0-20190809214429-80d97fb3cbaa.zip 12336 BLAKE2B 9af04c73a7345883b0255c644a2ff626825cd80c98b8254e270c338e796ff594f2c14ca3fe3e6f8fedb54d6ad471a88e4c8d1fcd13bf3830bbe0231c68ab6f32 SHA512 b3b5b92200ee866c9d587be1e3a0dfdcd237ec787fc6cf35321306363bb64a5080291ff6f14be4c387a2f76437559fc85c11da9ccddd0894a0016e637a83950f
-DIST github.com%2Fcoreos%2Fgo-semver%2F@v%2Fv0.2.0.mod 35 BLAKE2B 931ceb7bcae15a876b79910a59b0f4ec67ae8f0ac5fbd401e80233107e7683d9cc4a947548c4d08b26f2d47ad6bfe4916f99ffd2a98abe26e8161af87eb49c64 SHA512 58d88566898778823c24b5f4ff7ac50384075312e3eb332aa01233ada3ff385cd8a0e3b8727a77ecf068f13b52a304fbdb5f47a27957333dbd5a8fb1448956c2
-DIST github.com%2Fcoreos%2Fgo-semver%2F@v%2Fv0.2.0.zip 10848 BLAKE2B 6bafaaca5b1bf59ac01421e1726f48de06015b36217f9f08ac776428a9edf089bc64382b251be8a02ac537366542ab160c028af668316a0a821486e29b012116 SHA512 7ec927cc2547c8307631198f09d32507176af71bbf03e7192025798dfd34eed3a8350cc0c5b388069eb6f426352d0688e3ee4baab9cf78b18176eb7e46bfc09f
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20180511133405-39ca1b05acc7.mod 36 BLAKE2B bec7662666b7a5313f4b7ed0789ca75f07dcebed3b4498cced2b75b3622bc4c8c7d624066338fc6d77adea4b778c89f0a1218fad524c6804ef350deae2f24d68 SHA512 00ccb440abed145db781cbc7bc12695057b7dfa034c8ebd7ab1aaf5ea509fafc0be7147328dd9654e3fc2623bbbf91fd3992a86ff29e78bfa3e868d994b47e7d
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20180511133405-39ca1b05acc7.zip 104092 BLAKE2B 34bd76adab656f40017de5168f2fa1e0f3eb524c3ad9996b7354de8212c54acdc7b0ac7b99c69b71824d9ac9cc263aefe8220daee7b86d96d8b7f323fa6cc9c9 SHA512 4ffb6845abd0ea7cb6ca96a3c306b76b59a049f63dc61e38d5cca6e16e7e82c38ca04b5213230aed92d85b89da76864039fb1706ed15af83e8301c4245498322
-DIST github.com%2Fcoreos%2Fpkg%2F@v%2Fv0.0.0-20160727233714-3ac0863d7acf.mod 29 BLAKE2B db9b03b0adf02e3b379eb06d67988a60f2e2034d1217e56b40ebafc1262cb4803500b73a3e697a5a73418615c84310bd7f7aeca6db56f6ddbcf6c044cce0e9f3 SHA512 ea629c85891049bdff24f75a4dbce34f048a9627fc126b44f497b3ae65602045ca4fe0856e1b3d7ba050bb867226b90c25912565867c696bc370697341681c33
-DIST github.com%2Fcoreos%2Fpkg%2F@v%2Fv0.0.0-20160727233714-3ac0863d7acf.zip 56040 BLAKE2B 371b6a37ef8bc88baf94d2a0b95d59454b399c862107cb8b1b30af5cdccc9fff1ee5e400e19d362d0c89203f2c8044316bf853322e05312b5c7a2ce961cd90bf SHA512 2c709a194dcab81cae05040cdef59a21e9f02014cea998dd5957180ff3a28f79607d15c61ce03b54be4a8163c4d5e60f86a5d07012df0f206af735a8d317a6a7
-DIST github.com%2Fcreack%2Fpty%2F@v%2Fv1.1.11.mod 39 BLAKE2B 71e70b038748ac19649698b1c0e59af99ce0b1c5d7c9177e8c55751eea9e82d4828b27dabb17cc04978142c9fb7a54d90c062a7cc3fdbb86116034026e40baf6 SHA512 9cf1687520933d3d6bbec9d7c51472998d3bdbe1b3d2a7478fca80f9e7944f9040a2b8ec7d49f1458bd46a5121bae4810d314725add41efd413319a5006b944a
-DIST github.com%2Fcreack%2Fpty%2F@v%2Fv1.1.11.zip 19702 BLAKE2B ee009befd8861b2556869434d14c1d4ce130d432ba5f43821b0cc2f6fa493bc8a4f93a011f05f5789f7c388b2a74f272623d6dc2689a5c29dde0b3c307598173 SHA512 d7c39c78c074d060973433f5f4c1405260fa9f49ba9ff020630bb17404412337b536275aac71ae30c0e3783b95585c46cc492f722572b941fa1476898a6f7e8c
-DIST github.com%2Fcreack%2Fpty%2F@v%2Fv1.1.7.mod 29 BLAKE2B 6d29d882c7c8c863cc1cfa01de2e2347b09e8cf4470c0bae2737f7436ce6d6ab34eb6714eba9f869974c1c8d7a332bfb90ac842b9fb7a07bd1a4c8b0e460eefe SHA512 a41a722efe7f634eebd689a9793f9ee3a89924e6c7917008c6661761c8829d6a897dc71c496f761068c36c590a800f06bbefa4ac59f7761cc0ee2cc68ac5c14c
-DIST github.com%2Fcreack%2Fpty%2F@v%2Fv1.1.7.zip 19233 BLAKE2B 72d5eb2b25cc20e8f22d29948913981975ad9b19669e4bc898b380e946e73b2ae7791c9bb14ac69a6949a28fa4b64f0cf8e2d8c08c5b647119b33856f8b00d51 SHA512 e2c2738bf03022c96e739fbfb9a43c19988d49a54e45eade73ab9b8deaa9f94bbcbbeed910051eb370699de1519da9d5d2ce7c42e22b9d15784b599daf393d4a
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
-DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.mod 35 BLAKE2B ae3ae89fc373221646f196cb2112e003afec9206977905007426d522c584b455fa207f105eaa35cc716fae74d605fcc2a88c0ab5b62e4025b7a739749410fbd9 SHA512 4d46c1b3280c5b4984d22e57b0541cc6762853c0f6cea19a7a5f392c23039e29ca616a4bd8f283c2a35c3c045ec54716f5000cb4f0f43f07f0464c12ed1369ec
-DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.zip 57069 BLAKE2B 2c921bf5a88bf293a4c86bbaed6d7c391a323cf3ac39a54ac10fb74da5498e0f565db5e5220a9871ad5c4dedad7eacc0657ad9f8907c2bfccf147384b53b37b9 SHA512 c937c8b98196eb8496735410324a6a845e618d47e4631c500c9def70d8effb27cfb4efb17f81a8d304ce1a9d27fa6fbcfdec11ea10355de3d1918f1ddeef81d2
-DIST github.com%2Fdustin%2Fgo-humanize%2F@v%2Fv0.0.0-20171111073723-bb3d318650d4.mod 37 BLAKE2B f097ba062c5ae93b06edbf7827cc21a40d6bf6d2130c44fc8002344e860b3471742cf930e505a74a6a2af3a77a6dcc7d01b103d01f6f208c96dd9ca713c96344 SHA512 be96d9da23cc31932c1001e2ed367e55d06ccf2af41cc106e83b92fb866b61110d06ff224797c942b9ab6104bdcba4542f2214b9fb2d88df63e69be8158c6e2b
-DIST github.com%2Fdustin%2Fgo-humanize%2F@v%2Fv0.0.0-20171111073723-bb3d318650d4.zip 26646 BLAKE2B 408dfc541d7bd0692010d6071f96db972dbf84b0e9dfe552db221cdcc4011f023dcfc12e7c9657696c9ad204c6587404f793b4785beb78d53462764a2da96c5b SHA512 fb53c8511a1538397edace6101699904f19e63b82143b56754ef2a62d457fd34f6bfa907d379964c427ad8b7d38fa9ad186bc66d4a103c7f118b8734324593ce
-DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
-DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.7.0.mod 30 BLAKE2B cdd74965525563fa7e3db19aae87c777b2de65faeaf2987957ea3bb4c0c6a91ab82fe02bfeeab4d6f523214bc2e929628c082edb967d49309e75483ff4c3bb41 SHA512 2dfc66b2f6accb7ecaccc48cb3daa338173f4751d954cb2912025d881f17a7a2df0457b2d7420f2d93b50519a2437a763450c4d639a26b3289fce7bdec5bb144
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.7.0.zip 11987 BLAKE2B bb585868c568466b366c1c50762376d9e2b6f3d3ac287af94c45f7d348516d2e80ee96c6980a4b5fede40f1302f0e3e900e24aae16fec29801a795cb7e514dec SHA512 70f78081c04bdbb52e8f5d24b8926b39a28c4f069beaee0d7bf24be946f2b0ee3bc08d8ecc1305412623670e1767433a37d458df3fc849d244c63b6222f1f599
-DIST github.com%2Fghodss%2Fyaml%2F@v%2Fv1.0.0.mod 30 BLAKE2B 6a680b6e14f0cbca536b1ca02d633e16b2010cee7f590088748339785b2989cb0f86a51fba709da938d4c10ec810d5fe022d7d1a5c269d5ece253a78a5b2069f SHA512 7ffc7a5c3e0b39831e590ce3402dbf5c95392e88a08576a16d9e1887b11400efa71a9d183d3f1e080081246f28a70262a679348f009f7da6bd41f253a60b0741
-DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.8.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
-DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.3.0.mod 35 BLAKE2B 0868f712c026b68559846a28bd29f39f584603cd79e1189a9ad76909cce7423a811f71265baf5b7f381a33bee76917759a9cb6ac131ab21450b4b52558cb6190 SHA512 526b97ecd0ccf878c0ada56c5217405c34c59d4c9cb53808f98b24a2823c0b3f1a74e862b9b1a5594034e570aa6749574d5e49212d6d48724e984f528b8c67ea
-DIST github.com%2Fgo-stack%2Fstack%2F@v%2Fv1.8.0.mod 33 BLAKE2B 366a1ff397488b2b1c7e42db8a946bced1eb8d4260a6c177a978eb978e14f89265e7ac1d0bcd77905bc89eb35b68b3ebb028c0dfc67ff71395ab14b62335d16c SHA512 f3dc70dfcf086b785750d5b346ea07d0dc7903937bdbba58eace0fb903e656b02ddf3a1d49b486ac29b1cac9ca9d346e964d55d3a4cc5ee5ae79ac40b24d0cd0
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.zip 2461758 BLAKE2B e02c6e6512de9be1410923a6b3eec36a087f8de00e1d1e715a61e6f26a18352db169b1dbec49e3d563e294d8c65c51ca5b55361dff70d1e9e20976e46209209e SHA512 7f9d1d2671c82a1df5f79a154340dd1fa1e92952feb03a1ddaedb1f6cea371bde8d6f7c774a4351aa87abc2646f97891d0beb4d175fe9d51e2f761d37f2699ec
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.2.1.mod 88 BLAKE2B 0699027ef7284edb7deb6a2640db52a5b93076e3250d42710bf02a1cd7d5f591f1d335ffb1e7e753dda5fe177837fad87a25bf69b03466bb545708fb2952fd7d SHA512 b91b25b4fe769a403fd7a1f82d7720bdb0526a349ffe7cfdfff09a2ba5e0015d5a3446cd8e0e5fe46479b7d2296a8616de38a8183c0185f84fcfc75d202db106
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.2.1.zip 2656615 BLAKE2B 08542db845ecffd88d279cd63919a705d566084bb556aa4a6c98164a11520ec6476841128134f8fac2e5132d5fb298c9ef6670074891e91ca90577a8535049ff SHA512 2e51e876c4533c4b34f0017f6f13ff3c34922a1905f6a4f90bab241152dbb344689d8d1f5ff1040c79632feb21fbd8f213831179bd424579ac9b5bb602325bac
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.zip 22449 BLAKE2B 8d2eaf41ab75e870a445d50b62c02877ae8049e282f066d9aedc0dfb54d04af55d921ebc84d1e4131cc66a3f9efdf8270a0e423e563d3f8fc5a6bdd403bcdb39 SHA512 a3c086e660f2285d9fb7d56d1eba74994e8f0052363413337413cb50009ba46d3a432e2b4c67a73bfb753e7c60646d96bdad308d8e634e53f0bb0bb97ea17bda
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20160516000752-02826c3e7903.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20160516000752-02826c3e7903.zip 38604 BLAKE2B a7d16e6b3e1820db97600f17bef2076ec815b81d36c22c8ee927012e8df74bcfc6a3384b2abcffd974a1635068ffa5de9443b204c587df10c9593f830e1c3df8 SHA512 af7492e0d36fa2a876c6204a651d250193900badb819dc7db8c62141d7ee7253eab9d87393a131059587160a0a5f7d373017b2ea2170b4ca6d91e9a58175d88f
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.zip 482403 BLAKE2B 47db66e9c8187c20b27b9aeb8584f0f2289084103ccda25406eb30059147c3bcb867c76d145c4cab7eae801ed4cf76a63efe23f091e05c9206fcadc3358a02f6 SHA512 d102d00618f077f7d677eea9f0d4aff600e4b95caaca6ae6021355e64ed0a8fe418fd731370baa968f6fd338e377b5d3a2077b0b8a1ee399f992b8a7717cf77f
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.zip 461624 BLAKE2B 37b2bbde9cd1153fe5811ae008983179820ce40fd6816155fc7b7d040e29b8725509f68c30b5099b686e9a6ff31a2d029188aa526ada6375fb9c7a236b8a7d1a SHA512 a99c2150515bc3deef1d7887644497fc4aaa96ed6c2aaeae91aabfaee6668c144b34a2c75ca829636c7e88d59b297601867b0f188ac048de452b5e0767480608
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.zip 465217 BLAKE2B 4caaf832a22faf1c45e04bebf35d29b38bfab18a490ad1fd7b2c6cd85ae678fd3991505f68e526f9f2205cf919374b07d57f8abe95d8f74dc8263cd37a9db3dd SHA512 7fe69c066b2407e6000ae21888f6cc696e51df2342a71e196aba1a9a9ecce630bd9a4d41c58b3105002508a4d0efb9c5ae2b8a87f848b8e2c6293558b8c4b4ad
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.zip 17644 BLAKE2B 2ab156c678ef5120adab042c415b287bfa6ebf901181837122bbf83867ff312900a16a24c0f375708f915628ae5bac93b42f659663cf827b81e5e6c4c6e47769 SHA512 b54c7f94aef24c769a0478aea5dedbf67309dc3f59a5d7cf52ea8b49e81783d87bf80e5bcfa36f1f95a65e64bdd8312d20ebf81cd73952af5481b2f1f3619eb9
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.zip 74164 BLAKE2B 6a3c04c2986b35dcc32f14553534758c3270c294a5e2595487f884e32e76cac2ebbc34cf7e42232eb7d85e71fee7660b513de4e365981e625515b086c341d15c SHA512 7be2dd2b362f56ad7fb7be35b62a841ca051d4fe31ffe1ca784e393b0cfe44674a050cf1129a15094872bc16c8ed9bc62afe0e7017bcaf1a4eb9b2e39423f790
-DIST github.com%2Fgoogle%2Fgofuzz%2F@v%2Fv1.0.0.mod 41 BLAKE2B 32370943a480c13662a0847b33fadc7d7f909784d044619ae8b00f03c9f537115448140ef2ea1b47606dbc64d7593e07cc8f9b9000fc5382e4f1ae94ae4086e9 SHA512 3dcfdb76a938cf370310213720ca952c6aa99c8b1b96afe41eb05f1bff15df7d98d279509d921893c0c749337c83d4bf40613813e117c01205859a041716b2ee
-DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.0.0.mod 30 BLAKE2B 704029826c505198458e86463528ce2c1b209376f376b92d4f05a0f4094d161b45470d04ed3c1b5635397aca3126c25911299711139d794cca3e9b2bb373ee17 SHA512 695f3424e0cc247a069fbd6b94820554e003030eb0e208ba7be38f660c5fc29f74a057e60031ec77918b5b320913d6deabdf19a0f0666b0f5bc5e2724e1fddba
-DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.0.0.zip 20693 BLAKE2B f0dcdb63fb70631203b429ead117c7f4db44738c2c6b58013c591449c57e90b7441bd5d298255b229f211882dd73a78967d14e6be7b59bcf96f60b3ffb557a65 SHA512 e46912eed65d3853f80e1b2c990a7c72f1c613d373ea1f4f0c5782b513362a0b4294847e536262039929c65c152f137f90a03d6bab276541b801427e4322bd10
-DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv0.0.0-20170926233335-4201258b820c.mod 36 BLAKE2B 94a5b4cb6c6de32397f001dfc95c49960de212f67fbb6b4a1a4806f78cac88a2698c3c2e19b7e1cb64d07a3ad6caab25a1006bb4f51b65e1c62c5a12c77d8b9c SHA512 21ce8fb666af3c32e843c816626a7c4c0c63ed1f170c7a49eea4a2f40e28e4ba0105dad2e17aa527da7dc3eca198a20dbb6566e60ef48d7d7cf72413bc81d24a
-DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv0.0.0-20170926233335-4201258b820c.zip 67349 BLAKE2B 65b87b962f3b826681183536713048c4719354c7e90c54b555d946edd8f37af86e40cb9230bfc1bd191b38c11fbc32e46e585758600b1f870e7ab948358194f5 SHA512 f6f902c1e097a4cedbeebc96785184270015009d8669dd6ed118a61a3d12e8a5c40a773a9ba9aafcaebd7442914aa8d8edc96b4988619509972fc74b211a13cc
-DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv1.4.2.mod 45 BLAKE2B 5f187c997ed74f2aab1da57c9a828be383e41f47905531da8babc1360612ba5d4cc0fc6cc48106647ffa450f334c7cc5f455bea7f6e6b9734f3e55734cf623c6 SHA512 81ef224435efb5cbd429dd4339e8410234855f4a268302a61d34e76c388e89ea22c97ae90d71a6ef910ca00d3178e40d3587eaf484112966050fbd1f1f4843ab
-DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv1.4.2.zip 79096 BLAKE2B dfe472a48935e77689778e60ac3379abac11b1fd632c35033f4ba19afc601175a26e38bcdcaecdc56250d1b90aaa2f7f499010040eccc49e477dc904202de4b7 SHA512 4506c31c8d95fadde5570686eff451f177ff4bcc80469a5bdba92b65afcfb2597d05f14ca724e8dd40b43b867ab9eef1f62d98d7afed6bf93cd33b689d646c3c
-DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-middleware%2F@v%2Fv1.0.1-0.20190118093823-f849b5445de4.mod 52 BLAKE2B 51b2a4332061cdef080fa53a14d29b65645776c1077922e6cc37f02db2ddaf924c0f2f71c2cca4586c582075c7cf76861161ccf39d11cf803482276b78321b15 SHA512 6e5556550286ca0fed117d3db2f43d6023d7f0e7625762ca76c773e410fe51d6092c6acb574db7578284188bbf79cb9050aab7000f09510338b24195ea395945
-DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-middleware%2F@v%2Fv1.0.1-0.20190118093823-f849b5445de4.zip 138925 BLAKE2B 34895513786f190d7379e74e7256b9fc18fb82bcc985866dc94ab2110fe04c120fda46b2f2629b87d9d0380e21420a625f8206782c67ca5c0e71c6cc8309b9ea SHA512 39bb926ff817750578322805bcf412db6c09ca5b7dcd237fed9f64df51222de62b62eee275e6d37c7dafde7dd8fada499c344c62c3ef0a3bd8d27053057f4079
-DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-prometheus%2F@v%2Fv1.2.0.mod 52 BLAKE2B 9e5de5c147fb3f100119fc7c290e9790af57892762b7ea8b2a8328c397432466ba56ee20b64ced6dc548d58bf8ef0ecb2e62a51de2524f90a0ff39921d0f2a3f SHA512 c9e15e4a4436ffdedfe5ece51858a45806d6fd77d2306c35eb986a866a3da5bec0d5d06ddba55a05ca45c8c29a51bc7c58150849b5dbde569a6810012f3ace4e
-DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-prometheus%2F@v%2Fv1.2.0.zip 35110 BLAKE2B 4ebd3cf0dc4580a53cbefe7a955cf05cb6d1d60a69951ea4e18eaaf108ce2cd5bfd0b2dc4bed62a12b48922f6f9dcdf1e598b77a946bfa0267314caea827286d SHA512 5c8e6beedefdf390a9eda76fd8d5042323e1c9a6306605ec7ca8b1612bc038a6cb0c02ca1093e0b6373a05ea64b7eb0c0bc62720a74b37d4ceb61564f4d46753
-DIST github.com%2Fgrpc-ecosystem%2Fgrpc-gateway%2F@v%2Fv1.9.5.mod 661 BLAKE2B c7566b98c99bd43fb31dcd6de0086533bc499df099dbfc3c37aeba4996bbf46cf11b98e0c356ecebd0c7adbcabf4ab54fb31c41309287c26c083e78cd1639451 SHA512 35fbfcc2b6fb04830cf6d4966469ccf37e4b7593c8d8c5479dd2322722bb325b7f303ca836989c3ea96f862a4c85bae7863c415f94b72bb91742763ef08bcb49
-DIST github.com%2Fgrpc-ecosystem%2Fgrpc-gateway%2F@v%2Fv1.9.5.zip 429863 BLAKE2B 51d2d6558bb657231d7e7e9561e42018196902dd388a320726a5f5c93b1111c8ed0b8c6eccc62b2e6c49d4b09f084ad99a8b17ce3944963e990c75271ee6f8aa SHA512 3cf71984f9b4974a2967b5d0496bf9ee28f248f10133ed54017c02b7d2bb9e04dcc00cd3873f5a8b9fa4ae7d6cec619a4ee4e97e6dbfecd886df10de47017fda
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.zip 3712 BLAKE2B f4f79741bb83862583f51f2ac5e80181eb0e9c2a4578df32f7e24eb98f4f548b99333e0e6a377e03ef701057b01e852e6b710ab885b65170c861bef556863da4 SHA512 e16bd414c1df566a12944e4a99ebd84d2103f0cb3bf8ec312e3de400f20b3eae27845db50672801c10474dbf1dc61d0c2e16e5dcd3c4447681c0b77f9114a411
-DIST github.com%2Fjonboulle%2Fclockwork%2F@v%2Fv0.1.0.mod 38 BLAKE2B 091e824ab9156af7978fe3aa6f61ae046588510903cf635ec166225395e40df6a1c715e4eb3c47aee849435eca3cc10db971a7c28acdae233eda85a4408c7520 SHA512 377d94cf7dd50f88b57ba829ded5169a6c41c5a304814660df0a3447d10860b87855f25cdb945a6e4de14c41281651330d4109c6dd6684c86fa4dbba27a3872d
-DIST github.com%2Fjonboulle%2Fclockwork%2F@v%2Fv0.1.0.zip 8857 BLAKE2B 2887917f30fc4cba4c028ce8d42262b007ecd785df9f4ba1dd74f9ddf68376a6c3af924449684c8ff8ca530b249445a7ac0ea36a63fdb18d767ed3649a63f7e0 SHA512 999ed7f22551e55d6b4b59af2ff2692ddddb251de4c61a835ccbb9f8386ae426ef8df6c3434b8e8e143faacf82ab64e022350f9d57ec51544a27042465cf920f
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.mod 35 BLAKE2B aa26eb3b67893fa913ea0f88bf22ac283c6cbac246683f41ede681940cb2e4437d033811fc12f2b47f9d94337dca9cdc926fbb5f044b2caed19c8e46a5879432 SHA512 e8bb59637bc1154ed648179314c4e20fa7f549353d094f4861e2fdfaeb70da1c1711c1159e78d82914a35b8ce184641937efd8808ffb1384136c7a6f3fbeb78c
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.zip 130029 BLAKE2B d93b46be80649fe8a93eafb6d1bf323daed352a9502bc00034da2bb868b757a32ee2417d0c1fb4f79693f076317d98c35987807f4823fc508043115aa3646a8b SHA512 ff2823c8371568a825075309054e424816e45c0242efea76d94127a72b875ff54d7c7f415bf7aefcb8f0df0863f56d9288df64869edbfba29fb15c693f968b17
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.7.mod 295 BLAKE2B c143c3fdf7abf77b2a2f55a66f8efff4f0e99478a89cd3cfaf50fb042e0da2fda5dd1e203c227597cc2caa7039f269daa48339701233a3e21f898eaa028ecc87 SHA512 395eb3069c417f996120ec06ea8d7a712f6d8915c7398da1f346c5bf5e0fde4492bae0ff3833f3316a41a28d23fc7c9c494db312da72d5cacdf52b2bb95da6ff
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.7.zip 131514 BLAKE2B 477f1ba8434036d96652435c432190539006ee38ccf606671cf319e356c6047c3913c6dffad6e4af13e023dbcb6ce93455797e37d3e5b9524b75ddbcbe0e906e SHA512 e64c91926d1e3688151b4f511f506fe4c2acd0a2ab839a43d12c77145e23215e7ce3ea281651f46bb945a07e04a1d2b6bccdfc3d862b3b7cce074e5817ac014e
-DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.2.0.mod 43 BLAKE2B 2b7883d00bddf90261a91670917e335bf5c59101032ed3ef5ab6752eb4da25e8417071b1d0021441fd887158b519f4fca4b028b6ea52fe3ae9a41b84441c8c06 SHA512 60340233f2a0205ee4b1a7b2d78ed52d88fe5d39887413d0e62d6ed006c51eda83ac117454b0c1a31ab29c5aceae13810ec719dadc554d10480219c1afc3e5bc
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.1.0.mod 143 BLAKE2B 128f8934f81d0e497e1258ec65129fe5d8831b66058669a5aef3fdb2fbe5f6d8ab30bfe97a1de7befadd34aafd55d6d15bb787e8948fb7718761392817203874 SHA512 c5e546822036a7114a29454e28290f8e1082392a47a101fb1d370e0969fc2c83186b4487473f903dd638abb8a763ce3180dc87993906895a2df33db7d8bc4790
-DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.zip 3567 BLAKE2B 80b7bf217df9367160180d44c1fab6a9f10154bb9a6455538860158a08c5bf8c794fff973b899b1376e4e65764a9aa0d6b8b162a6d9ebe1adb1368b9a2a42786 SHA512 27910ae03fc9fbf573ac31454635c43bfd771d2a91325eca544f7be0e24b43c2798ed8e74b4c31e8c20c1a9cd266b835017aea3a3e24c2ecb43a14a6143af8e1
-DIST github.com%2Fkr%2Flogfmt%2F@v%2Fv0.0.0-20140226030751-b84e30acd515.mod 28 BLAKE2B fddd4b3cdef60f53bc3f8da5a3154d10b49dd180c12837d3740c22b442947cba2025649f3ac7321bcf0c73a272527659b0ccd9be141ddca13caa7594bf6ad3fe SHA512 3c623d077e39697506174a50c0380cb7787a05a52819b1a73c2f64ba8dd819fd500777de83c83d8d9e80f19c828128a569b4cd783667b4d6b9a375b0e3d527a7
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.zip 11159 BLAKE2B c176e4bc9b5534b0df153e027f22be7d28eefbea1c0adab10979f19d601b95d300c54086b5ee388f453c73b9931339b9b04208fc5e6512385b348c49faff5488 SHA512 bad73f3c47f70de55a90a977a1e2b4a68de545a8425c71533de081c7a8f71d7ab1b489001c56ba2e88dcb78c08804275f7f8128c812f50d005a074ed6dd9286f
-DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.zip 12591 BLAKE2B 944b0b9a802757e78e3dfb11d6c4d79e0e0d90489d49262b7079e6ea4728328457f8773b392c8a618aacb5fdec78948a16cc852eff71ca6f4fb9eb422c03890b SHA512 3f0d00b0545769ad882e25a9a6f30b96ce4b72a8a46bb3c064907c94e2dda4e499eb32354c149f89752f9bc5d1ee5cb2ee5cafa46e2f65ea329fb432d0c0029f
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.mod 37 BLAKE2B 6bd675a05c0bb6f9dc12d09203d13de115801888cf8c02cb5d609f72d214b7e7ebf13a72ddfa2eb9172e9c2ba1f3e5a040f089a86ce9fe873d49288d5f7dc5a7 SHA512 3cc3ae26618b96a0fc076b18bab6f8f0f6a1064d6a9913c1015a9867fd3571d17f5d2867d72cec008e9bc7005883a596edb21424084f82ad5b572443de90f976
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.zip 10606 BLAKE2B d9aed996970ecc4828716e86ddbc85a7949f60ceacc7326708ce499bfc09250bc8ee336806b229a44064839e7ce34f5cb2a7607da5e82c417a737ea869f97f03 SHA512 dd1763a8d04540b3e579d397fa4888c4bd8c00c3963cfcd1fe42af7c1990ef85f9a2e2fd5c5f2c7d3e6817448df5e2237241ff5a2cda651b061cc8932e0afdca
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.mod 34 BLAKE2B 55253c2475bc0169df729915bc92689eaad2908ff7b9dd81b8a553bd75d5f866c308a85fd69d664d31b0d2d373d8d52ee1701677cbebb07e361612ab8cf17f2a SHA512 00c272b4652db259c46875641b29489ecada2602e38beede8c8bd529d73b6e123bff58f8e0f8cadd2d680a6a5485aadffa448e9445548abbd2fb424b059a31e1
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.zip 7026 BLAKE2B 3cebbd0bdebcd1d32b7fc618b7190b7813876a1df010d1c3ca3800c41acd64b6537e4b3e4d4a574e3eb736822a27eda7bb2fffa197063baf9a347a820573883f SHA512 829b0596279218a2fad36695fa42036f265ce79903a0f5aad27495dfc7c6a33e8bad32010e59f4dc6853f1e38fd9e9f635ca2f56adaf5ea47e4914f2a892d251
-DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.2.mod 37 BLAKE2B f36ba4b667bc5bebbf49062ee5be234891ecc0a2be075c7bf57f5e39ee7fa2657d6bc086ba9a89728468ddd0623d27edb3c357ba4e91f79563bc9747d1d9ae63 SHA512 b891712f639a850e41582c15bcb384a985fad4f8aa86ce2d3f4d2554354aa1a9619667f60837a8280f869fc07dd58dc676c222bac23aaa5b2b00c06284b2f475
-DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.2.zip 24025 BLAKE2B e814fb5f02c39b111715c1b39b66cd720c03ce5011c2534f6255eb2b6fe9d6666eae2003431e8c23438f0af500b6b738ee71c715a4f4abe49df63d2e81d75fd9 SHA512 02d32d992b0fdf082ee703e36f2d3a82c2e8c1e260db4f2ea83b9f73f44f8486187aae2190d4d8c506426a2b81a5468e0482cae946ad488d26d7d9f6becf9e92
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.zip 44378 BLAKE2B 15ccda2b94bb024656859fb8a6968782b9a1bffb786b0b1ed69a3284b01f4a2100b3f3c46b6ebcb8f7febedb5bd4f6762fe333b7d4f1d14c700f8fce60843352 SHA512 e9349ee2a7d5e5b129ec6a1c0507854aebca82cf9ac2d0a681cac2f4630ea35551ede48e1931494362232a83dc9f26b6b4162c6114e0176084c50101b1da46b0
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180228061459-e0a39a4cb421.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.zip 10936 BLAKE2B b045256d37d4973e88d0d9c6dbad7397160ddd7b3102ea8420f92be2e8c3ebf6362f350eff10b52fc7fb447d98b00f07c2bc1da3f6e442ebdb8e90103492c8c5 SHA512 e7986e7dfb362e346309cf77ee3969c2881056959e34db07d2dfa0e505106844b7424270d8f17f1a89d335071688e98b992ac81e8ffe0c98c8a0e3d145144d4c
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv0.0.0-20180701023420-4b7aa43c6742.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.zip 25694 BLAKE2B 59d0a645e3fc29e94a04fbed5329cfaf2162f5779f1c13bfe96c9d979c7acd1b356587b6e30760568607ea15d2088a76bb58e4504e17abf360f2702eb6e8c3c8 SHA512 8fb62179a48e212b74f0e8af79ee1c20479b1725c089c75a12b43bf4936caaf87d42b35f2b7a7de87c60e793347bb185486beb8061e588b8085ac354a3ef8562
-DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20161129095857-cc309e4a2223.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b
-DIST github.com%2Folekukonko%2Ftablewriter%2F@v%2Fv0.0.0-20170122224234-a0225b3f23b5.mod 41 BLAKE2B a8e979ec93d507fe82beeb327f4747a7dc9ef7068b14afe9d08ac1e8241c5681d53bd5c1751781948e07d41831eb133ee850e30ce651728686a75fdb66b6e1a5 SHA512 446f9405f9004b40cfa355b9d93f279e2f74fe9157a868e5d8253b7c563fd58c0c2f7b393960eb1693e5be2ee6e9cfd7f5213adb0bc7f85559928ee9dda6da02
-DIST github.com%2Folekukonko%2Ftablewriter%2F@v%2Fv0.0.0-20170122224234-a0225b3f23b5.zip 17365 BLAKE2B 9853368adbde2a0ebcc9666dfaabe2c1dc45247d3c5ce48553e70afbdea58b865ab63e755763595ac5cc13ee3ad6b33a226dceeb08095b22a16f26e7ca8ab550 SHA512 05be92fb57c9b65909d7b37e7ada716dffc3a4e71029e40e3d03a8a5a14b74e57a0eb4e79813e23ca4b8e102a829941b33496495fb96a6b953e68ca9bee1e1cb
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.zip 14743 BLAKE2B c0c06d296c0583be2a6eb06359659b50941ea516bc768833bbfe252b73a2d81616dbe2d2db1991bd196b4a615b253c60046bbc6d56ca7268ded5b0ff40a4dc81 SHA512 2975fb8868fddaff560951be41194b82b631138d617705c3f6162acb76ace8697cc8ebc8f610ca1fb1a5167c6b6b0ecc87c150133a757447831463a0da18f392
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.mod 535 BLAKE2B a8d3fb22b519e88dcb6b6f305a80c94e8b40fba8bdc96941230b354cc6bd8ec4bfd121b8e5ee57e9883e0b01b6224ff22a55fa8434bee1623133cf59489e64d0 SHA512 1d3646f93821b2ff1a4d80074f773eca22ff3675caca9d267762a31c1ec719ab464ba7ade7c8e2aa79b16a4f35f5a64f779fd909060a0c3056f09af77cebd655
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.zip 200972 BLAKE2B 6b6aa2cc4006f6671b0f54def912df6ff1aba7b69bd08c1950f7415032e2de383af556cd793f991989f1542cab5d7bc8a73894504c2f3b757a23007ba76b21b6 SHA512 c01081549c9e62a75d99ff37fb4bf3e620dd9e6a22a049c1b0b1b53604086ba68a5c366a7373423354b25cf7298c642956db7eca4b04be4b9431fe24ec8da125
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.zip 69217 BLAKE2B 738c4f5d28aff0b5e5eaa04f50e9a4e4671bb0a06dafb2174720cc0e6fa79ee87123f55776cdc051124434a3889232d512b32d08b1db1d2cb7f54e251b617e94 SHA512 6cf7daa3b86c574afbf5d91d3d4f372fb31c06ff93d59aa128d8ef025b5c22fcbca5a148b21637ed97127e5e2150305e48c241be1ee4c1b23ae32a09f19ffaa0
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.zip 69219 BLAKE2B 6ecc62f2f3ae4622ba6e19c51f7ff7ca3bafcadcb38cb7a9d79dfcc2ddd7183d79dca8e0d6b534f5a2dc508c21e0fb349310b4feaac35c1f7b1166c3febd1228 SHA512 934c3e50ebdc1ea65ccfd4de1e2e0f0ebdece54be1cccaffa5e325c667ab22bae84a7fc7ead1066e75094697a86452fdc36fab57b955f42337708de32e7eec32
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.1.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.1.zip 151692 BLAKE2B 89c5a1012d53a62b773c2c3e9a20426564f01e70abd39ea67cc76abc00f38e6f1443ccb31c0ad89920cff80ad94c5f7e72c5d67eb3aa44e047c0bea758be242b SHA512 121a4e3ffbf959722b4333b5e449dd54b6a84548bb580e429b21fc6fdb6a494456ea55208a039f7be6dc7b7fedcf0c6183edd0dd727cd7ebe0ec517a8e999c85
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181005140218-185b4288413d.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.zip 132055 BLAKE2B ed3f24a397ca21aee9972a2fb1bcd12acdcd5b7aa5b21a36cd8e8c1b1e04bf3a1264cd7b21147e1f69e76792fb0d36f4cd44f51178376a9daeb092e69eb8a2f3 SHA512 e3f4d97e22ad8d27a3c8bcdb6516f4e1574348b864deb6f1569f3d94098987f35bc87c7a34f95e84834fcd8c750b3a177f847b586b72b91af0e0f9a735bc3f20
-DIST github.com%2Frogpeppe%2Ffastuuid%2F@v%2Fv0.0.0-20150106093220-6724a57986af.mod 36 BLAKE2B 6faef3be0b5f137ecc89a7875bed1f576d144f11623905c04cc44f93812b80f3e5b56f05ddb3343848e7fde7fc439f49627f4fbd10730b1e9c2c9153a2d3067c SHA512 8cedf150caf05299c5b9f8b4fcaa17e4771c613fa06bac434586048ffee22ba9501e0fa540da90a3a24f3e4f662c9517571a23a0353fbb29c881d6d6c26d5f1d
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.zip 52967 BLAKE2B ffc9e503771f88257408708b3e0bf6f1d0c9a36dfb10d6f4f6377fa7e97599b1993f6198a8dc013d29ef17929a83562eac4f5eba1e8f51148b189a94128a4314 SHA512 d30efcc17654904bafaa3cbac0c2aae4b44f83dd347c8ae4ea77f5b637ef4371e08e6d8483ccb8a73273ff9fc91dcad43e8c536ebf5de9b69bac66cdfbf6efe8
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.mod 337 BLAKE2B 94ce7d2e23281061ee0ac0b1be2f8c3439c86e62c56ecf556a81123d57d819b1e0e95ec3b7c6425f13abaaa1683942b7a3d0bb8ad489577284b2a6063c777b37 SHA512 38a79599dbd09661614d54fc92149fe581575b7833e89dd73a3f754fafa4bc549c6c9078753ab8e2a85ce2be3ab81e528e29b6d19e7c329e0cb0f74896d2e418
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.zip 58627 BLAKE2B f4276f0095188324c06e4412303ac19e3006b18823985e26ca49b2de54ef58cade626b3d2439f5f2a29c47618420b890951f94e5a4801dbaad4c3294f6555a4e SHA512 3bf6be07dd9a97bde938309857e16dc425587c100e35b2acd1a6f11a9ac196238b0844abbaded43fcc01be0664efa15b64f159f6259322043e3046e7d361dc20
-DIST github.com%2Fsoheilhy%2Fcmux%2F@v%2Fv0.1.4.mod 32 BLAKE2B cf220acb07f93b3927afcfb4211e356e17f28dbef71cfdf777366d8cd09440282cd23e7800c7e86949615b90ec60ad4f2601ef21e58d4470349913c348758b0a SHA512 def5f190323350b58be18ef9f1b00e4810987a37e1fa9332be62a638a01df7f070788c75a19a0c11949890ccbc395419de45bf9c5f7fb38fdbef56118c681d32
-DIST github.com%2Fsoheilhy%2Fcmux%2F@v%2Fv0.1.4.zip 26744 BLAKE2B dbc7578fcac5c616d1cb5dd7cae959ee8df0496532db36d78d617ff265f213e4e5a336d33b795e793100c1b8e604919ca6fabb1736bcea0c02bdd0f8f0cc931a SHA512 dc990fd4f640acaa66baed26f2e82e0a6c46e293b016bd1573e72600e1256146f1b8abf746ebd96771bad4f3d95dded70c9f884908580ffffc4162efa0450735
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.zip 139997 BLAKE2B c20d7292a69fd548bf0dbd62751dc08a41c66f120bd8b5142e96f498aafd208328ed4888d7ac59404b64dace96bcad210f64734e432f15ae63ce6d39dd308cf4 SHA512 1476716a98d5aa26c34af6d85eb93886cae211beac7cdc8f886d2030bf7f83802409aa56510ba09cbdb609dcd2faf87d3490c4e5392922e0e034edcd3d9fb1bf
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.1.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.1.zip 69054 BLAKE2B 03dffa3333ad0656875adf9c3681e7aa966a119a22e7136de21ab517d960b25f36f5f64b8790951351a8bbe49a6682162b0e09198b10c71d0049072cfd1f7ca1 SHA512 63b2847f7eb93fef4af239ec91df153dc85af0b1283c302880793f1427ececad90b5dffaadea6b2d2e560fb57f29559b82b417cf317f2a7e9b7e1bed7f50c225
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.zip 81710 BLAKE2B 245149718759e71d8c882731fb51813924beee131aa16c9d6ea83a72738721011bceee80411d88dedf91653219d3c8ae33f66349e2d373b08931c28aa2e16d8d SHA512 b2cb918d623065d391a318f4f5c532aec12635662d176a441c30cbe3b042b60be848c7eb685679c5258e661f5780ebc3db3f9dbbb8a37e157da214b4f57fde88
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.zip 83537 BLAKE2B 6d6de57cc5e393aaef1cdc7e2140143eb7fa324bb2ea3b9f63bfe1e8652c02d24eb441fc3b435c6b287f165c5540a008a7c21ab4070d8bc77c77e6fb608f7e46 SHA512 c5cd06f825bbfdcf2ae58ea21edbeea03c110de3fc20fcf69db07aae26c9ae67a8ac57a9ffedec9b3b4f1f3b016089935049d75d92a9a03e45ce6345b4c9c611
-DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20170815181823-89b8d40f7ca8.mod 43 BLAKE2B a0f8fc8639040a1b7194a35a4020cff543111ee47a3b013163e93d14d42325146b1f6c2acfd595438721c4f6e80f9e5871811c058accbf06c6500bdfd9524004 SHA512 b3b02f5e9f8b68a93f531ce9bece44fbaa691f1527528555327c15b574ecee209ba7f6b713d8ae1f6b58b1416a9eb39546be646ef73b4328e79d8bdf605dcf9b
-DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20170815181823-89b8d40f7ca8.zip 13357 BLAKE2B 679a623ef429ee69279da815f3467805fd339a082b10272011db5e2edee034efa23f03a0015fac0fbc33ffe2818a7011a5298e44b1013d0015a31f874201588b SHA512 d4f3b3537e862809c33ab7b0d372806ddac9ace9da1831cbea77649f43773d59b1e2d221b152f73eb148e7a6350c476ccb8ccca41108c0a4e4436e878c234d36
-DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20200427203606-3cfed13b9966.mod 43 BLAKE2B a0f8fc8639040a1b7194a35a4020cff543111ee47a3b013163e93d14d42325146b1f6c2acfd595438721c4f6e80f9e5871811c058accbf06c6500bdfd9524004 SHA512 b3b02f5e9f8b68a93f531ce9bece44fbaa691f1527528555327c15b574ecee209ba7f6b713d8ae1f6b58b1416a9eb39546be646ef73b4328e79d8bdf605dcf9b
-DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20200427203606-3cfed13b9966.zip 14185 BLAKE2B cadb2f5385b4d6463242d7d86f7bfca610be66a6f98efaa612850f85716ac463eaf708dd72f99d279f86d069b5c809858933fc70644c2efdc81499a2c428d5c7 SHA512 3902b701054a7e360ed023e31d82e02cc18ce4f27ee9e319729c6c841420f50f62614df714e77ac60a84ad42d3196a78b9a290d0e2442d9dc20d2aa169616c7e
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.20.0.mod 29 BLAKE2B 4f20ac8fb7beef2b678cff290a28c8125d368504aebfcde33e746d3ca7b9606804bd94c59c50fe328da4c1c592b8768b1aad89bc1d22ddf76cbc88d0f0f76b74 SHA512 5edcf2aac39658fc7e60d5086b066470c6d6213b66a2432bc35c6f67b8cb37a66a67fd97cdd4b8fa1b8b1bddfd544e4aa9838cec06806b89f8e1447e3c61bd2a
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.20.0.zip 72765 BLAKE2B 61a5269577f397701a50299f9e32b195f56af70a439ecc94f3ccba5a04cf6d1d220b5ae34d26c1a019989b19996335d265abb665ac5aee876ba50b941665cf99 SHA512 5edcc7510abaf7a6326a27a43aa7debd43d333dd1c23462a5f0d8a8d526ef74c085db35a637536eb6883d531bce4bf35648b75dbb19e43e481382572cdd24b3f
-DIST github.com%2Fxiang90%2Fprobing%2F@v%2Fv0.0.0-20190116061207-43a291ad63a2.mod 34 BLAKE2B da6bd307f61b08eb749a0b2d9a9f445dfc057c8cafaa13f4a7c6d2d2324f7812c9c8269d9747cc21db9c3478f73558da05035b3f1ce9940f5c5befb16dcdd159 SHA512 b9773f617e5b48c6767051fc7dd2faa63a8a9d537ee42fb51efe6db5b3d24060dea0a264568bb5324915de8917a334f3563dc49d35651a4ee7c15042faad2964
-DIST github.com%2Fxiang90%2Fprobing%2F@v%2Fv0.0.0-20190116061207-43a291ad63a2.zip 5264 BLAKE2B f6d986c7f5fbb1960fa1b62a5722d426c3ab79d865cb179bb9bca5a213bb2008a3cf4edb59dba1a336928cb0bd05d31f7083f394cec09270e66b55cd4a045b37 SHA512 2a8e1f10d10e4479568374b9e51b1b8dbbf1077d8af413d7dcd254ba1dc1cd38ee19e75a4661a4e237d3662e51cbcf96a08bc69a2e5beaf34a2559fcfb9d653c
-DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.3.mod 24 BLAKE2B f23f0532ce6fece605e76cd16e5f9a1fbf40657f26b2aa6a135bf300a232ffe8eaa9161f93d2845312b10ccb6dd5c4cfea40a2256b6481787ce9ddca7555b0fc SHA512 8988baa04517a19f905b323768f98690b19ce302d54da4648bf72baa2766c8ea8362efaf1c8dd2f02a82fb9c76e72f32373fd04cf48ff133804b6b251bd48529
-DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.3.zip 112407 BLAKE2B af65ce0475f0b55ace7f03a7af6fdfaf8daae8b79e0ec1c9fd1aaa911cfe517c6760e6a5fb7881f87d7fed4da3274d14c78aa1424c85c003dc0fa98b092134ee SHA512 ff7060fd74bf2070006a55a739f6a8b64abc5ff09db2d2bc53fe978852e5b82f96bfc79c1f73b68e704bff423722f7adefba0b906de6d96d7e03c3e5740b7ac1
-DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.mod 26 BLAKE2B 00521092f85fc8940d69a5885423e84d8e6987a29749d886be3f40c230e563b55d96779ccd2efb99e939167c93067e8d37117750cf2567fc49e70bce9e847d07 SHA512 4c66fd56c35d6d25a3091f83a2d3872ba395092c10519e052aaccf3edca281fb874a46e86e7a7294b4f42a5d5a51d3cc0f066081e5ab945288a48ac223bc19e6
-DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.zip 15027 BLAKE2B 06a2451071b8cb0de9b4e664d007584998c91acf4bcca04be7f6c4e97c2579a9cc174e4db220347a00b252392cd6f3aa3e08e27ef3a231d422512a419a199c2a SHA512 be6b2545811ac8a869fd0365c1126be58531a6c0b51690feb17d7e88a2b79dfec6a466ac317df15e4d038c02df0f72993ae3e50a218c9f7f6659787c7f8e9333
-DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.mod 28 BLAKE2B 4f0c4b42b00093024ef494b1b0a07896ec41eb140fb953affc085921181eab44bab0baa38ab559b9e36e022acf5cb9ebad5ddcc7303f33982d9012e9e150cb03 SHA512 7939dfe977dd42ac3ca8b91824a73046222ac9bed4f9cbcf0f2d332727b92a094540a56dfb19d095df6d5917b30cec86a6e9e1b082581049fb05bb7bb10106a4
-DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.zip 14488 BLAKE2B 3bb8df1a459b2cf1dd63ab200f06a9f41f968f828b815b70bff899972a4c913656dbd3856dc6f4626836175d32b63c439e32a5aeb6a034f4733e2d09ef53f7f9 SHA512 d5fff733045694509ef1100fb8701526002b0841a11b5e1acbdea7e186c80738f651bd973c5eba2db5d2b8fff1b3057ea5d7d0e46645268b2f3619656238fdf4
-DIST go.uber.org%2Fzap%2F@v%2Fv1.10.0.mod 23 BLAKE2B c60cbd3c1e15e71a99909c113b100de3909740d9e0f939da800209ed1ccde49f77be7a8c22e045b9edc663859995859bc7ccd60bb6953846829ca3164115f3fa SHA512 263e322e5615c91e810fb9ba30a601508e1e3e418f87c7c74de962c341f207e703930f2ad41ae1bf7b2ad106831dc37b0b96637b816d130bddc7225d41911946
-DIST go.uber.org%2Fzap%2F@v%2Fv1.10.0.zip 224175 BLAKE2B 839e4b40c818d9ed889cb4f00b3b4c1e1a21add9e4732da956da63d77e5b8c2211443c9c2528f3c7a6886455d94d0818932e19876cf5576318426451d10eebb5 SHA512 deff970d323e0023cb39fd3aa38c419ccafef4c10af4edc8e9b70671e5892d60229e47f176495bdc4602b1cc4f344e8724e06eb740dd7858fde006bf121d5c1e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.zip 1758421 BLAKE2B 0c0c663e20a8d703a5e0a971638b81158c90b5d44961e683b3108c6f6d81fc21cb2577aef125db2ea0dc2dc53a00bc162c970c6e339379875d8a1d18957a549c SHA512 cf2f1e8428e764782e64d65629ec18fe8aa67926fef1097284cf15550c4c8de050e6d362ca944548e0009bf1cf449678f1749f7c30370b11029dfad308f4b5ce
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.zip 1776515 BLAKE2B 5833fc2a16dec541a1362c9df7c02abe04a54e92e04eaafd5767c1a923e3a9cf90bc8d8ae0ee3c60b9745f5f0e3234350be1cafd984052353594d6e6b9fba041 SHA512 a1418dbc50d1e41495fd68ccba2ac84fed5edfd3e613c68850068afcce1136c3456e99d226674908a77c9648f16d7861edacb70afebcf3a7e73ea3dcdf8edbe7
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200622213623-75b288015ac9.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200622213623-75b288015ac9.zip 1874261 BLAKE2B d31130353795828e794c9a0fbadafb9d745947d03c7e826fe7cc70f14002f60fb6f2f2699a875fb49b37ac3419b22b484bf95b86522b936b8136d4c627b24c2b SHA512 cdb474720f4b2b0357ac218297be03b967ccf068b05c11bc8eff60cf5383ff8738b0ebb87459a64643f3f8aac2f73967dbf616a51685ba48ecaeb15898851cea
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.zip 1322507 BLAKE2B 5b9988629da614ea3908f5f72307b64e02f2e9005ddb51177be32ebf670c9c89e3d62d4222d996728572bdb4716cbe492f77d966c22aefd4d31700c9ff9cca3e SHA512 0e757735d9080f79e627dd107607c1b9f9163be08dbb304d4a9219564ae5f34727ad622e84c650eacbd4eb5cc939086e8364c847c21e768a70e08cc1d3e1af4d
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181220203305-927f97764cc3.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.zip 1273340 BLAKE2B 7d42472afb905448b6ae6f66258dc805fa7c4b9c8dffb230ad6458b250fe5d564a3f6e2bf97b241ac9293c9f5885f28cc996ab7953a0ba9e97b8731911b982d5 SHA512 57852d3cd066a9eb279f909b464824041e138db1eb98c66ffbbc81259cb3f94da8ecd4d2b961646fbbe0c05156785ab2f44408b19d9f467001627d7b12fed4af
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190813141303-74dc4d7220e7.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190813141303-74dc4d7220e7.zip 1422376 BLAKE2B 5995b3bf9ad143a950acb3ea20e416518d8f90fa1486416b23895f7e8f8decda87cea64757616d8df1390c714ea5a50f4b2a1d1e4338157867da72f72b4c3f65 SHA512 fe2575eb7f3ca98d19db88886f0812f46e93151037b1286a89e9da22ea8adf1d27ad9243848885e3d309830a3fbbbd40f343a9333ef4cc57e66311d61d8ab638
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20201021035429-f5854403a974.mod 181 BLAKE2B 3d3ddd23252ae7c54121211421c04a53076d3c347a9511c24494ded58863b0e96b2fefbdd10ee783bb3c0089cca1af91358701ef709fbd52a2c2d1fdec011939 SHA512 098a7d7eadb99bc1eb8695f1d86e1ed2ec2f5f625045f3ed77648d4ef7047818cfc449d46c8a6ccf285f95956baf228c1c57d6e281da1f63f67cfa0f93ca4230
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20201021035429-f5854403a974.zip 1503642 BLAKE2B 459cd4c9e103f489e029f1d7a4073b9af288c7feb34a7290a4b2c430d7cef6d8d8f85904d13e2549dc64ce47b9b3741c3082c46827988f085d3b32fa44eb81a3 SHA512 3f81ba470596bf5801cb9c80cb3ad84b61ae8d9b7a43d43b6c81bad14a2f7c9f08609a3205811ef7b4bf67d06f3474a7cacf6b42c06b5c9c88082f68082db67d
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181107165924-66b7b1311ac8.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181116152217-5ac8a444bdc5.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181116152217-5ac8a444bdc5.zip 1438775 BLAKE2B e8b4b6a5ed32eb337abc8df4ba122356c664b4b23fd7f4bf7e08772a031795a293e26aefee819865ef381593807f0af82d9333822f31979d217414edc8b8288a SHA512 3a3f9adfced28713c60cb0047a0fd8a9b4de774fbd96afa7494d7fcb062f172e33024be15abfdeb7565987ee44e71390366fe43b78e8709d21cdc11be491a927
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.zip 1584596 BLAKE2B 2d891f4ee749bbf528b0a44acc8cc71a56432961fc47864ec9dd47543a8a1a97d55399dbb95a0654b0588ca2dc95289ae31746ada83afd9a667662c371b6747d SHA512 8431fd78425186e55e07be9cfdb81d294b517d1695f99da3612477b8275d9a64038b60097658a02f399ed99d2f399197e572f3c307f70fa075b4995943caddb8
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190422165155-953cdadca894.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190826190057-c7b8b68b1456.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190826190057-c7b8b68b1456.zip 1818872 BLAKE2B f8bb456d6c12b800b7a572f686788454dc81f4f65f61d2f5f7986e936a7dcd4a57417137df2ff16d229adafe2a2daddd9622cb558454648419fbf293857a0382 SHA512 15544b523ad8b302ab9f9fffaf971decb598f3f7789296125523638d5ebb56218312ba2b0d7d43dd8e786ffb761b012d957c8f123dcdcec8c967bb28a544f84d
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200930185726-fdedc70b468f.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210119212857-b64e53b001e4.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210119212857-b64e53b001e4.zip 1546031 BLAKE2B b8b07e0d05b0bd1b77ef90145d6684a30225e5c38ebc21039e94524792937ef49d60ef2705fe226f62a03712553c685c5eff6c4ddaa6a1fad0327151769125b2 SHA512 f4a3d3f6af5020f70eb69f539c4ee8452028aad40bda05bcd5de74e725db1ffc487a3ff2bf31e4c26ef530b74fa090332f608bec5a2ee233ddfd82c1209e77b4
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.zip 6349244 BLAKE2B 0aa464ac7b7d17fa7ec0627b64cd2301ed4f2819f837807db7a55725950dacb40be899b5148b07ea31b51530818edcccc6444a9800755e1d369ba8f1bce949b0 SHA512 982d78f580a7eac99a0c51e6f1fd2b2c3b91f56cd5e2b96fe960510049f7daf5915264f73f55f05675eee232a52998f9667fa84a9ccba15ed7819e4c93f583a7
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.zip 8010747 BLAKE2B 78d999113a75f84966ffd23356e7cf60811b614754936851f197e547657cb6ff40acd074593c9cb6a2ae39ba625b36731c2fc0bc4b2b5ff68a2d377a6c7192db SHA512 024719305765ca737b225fec6268f84fc4c7d17c04e31eadfacafbb24a5f30af61920f4633e95d74dd2a266de40d1d2d13587881a3c22829ffeafb01fd75959f
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20180412165947-fbb02b2291d2.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20180412165947-fbb02b2291d2.zip 12802 BLAKE2B bd71752bbf787376638a3eb8369fb3f3ac4efdc057cf3ecc9f02318186011af009c17c0a7a3b9183b1bb6a88aad15128dc64835821c90d9bc2adabf6cb6ddde6 SHA512 2e23c18588f6f5cb58a6edc02b23ba1abfef92ec0d46c272b3f542354f8ffba45b14c3a328372dc46bd8118a255d3f3d9aed303a8a91ababd6ed296cba2aadc6
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180221164845-07fd8470d635.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.zip 2661495 BLAKE2B 19aa174d089edd2bf17eda19b54178cbf9c9856a5bcd1860c5a8bc92954e9678a471d45de835e9d1dbcce7f3ea07e7678076c2e8a5592f84b3a56d4198d802d7 SHA512 6890637b40a71ebbc1c218b9d3fb142a473896c1eb939388644dc377c783c487caae3df6fe69d8912708da5345c56477a1fc74038056011f57b12981ffeb5303
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.zip 2541816 BLAKE2B d23e165336ee73dcb15c5a5d9632a4594b8853421601d497c29a8c16a69c558b6e7fb8a478e15e9808b9bb9f138501a8d82f6f6329e486a24481e337f883fc14 SHA512 eda9b82bbe85d100e1ff545b838fae621b68848c9293e0d3caa8bd2a183bcfb5dce072a1ac721468cffc264e5f9dc38797e4d98c23f85f905ee95b3587c6d867
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.zip 7435365 BLAKE2B 7698ddb8160d66abd158a526a71371ffc975215c78fcb187171399c0a7f68b840b2e3d9b9ff631bd57d4e5aab7afb782acd137d41b68cfe8a7dcde60b7564249 SHA512 ad0e0016a55319377b549a55cead8f3d39916dbc2acd22ef7b9a93eb455e52f58ea46e306838a908054e6438b1f2006d1a74fe0dbeee9f3fba9e727fdd42deae
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.zip 1101208 BLAKE2B bee7938f7e39bd6acfe03bf03e1d4787f30384f34fbf292ddabf7e172dcf8736ebc0d32f7d26bdf0021252dcb984766bc3b778312434a4ffc5f515f009fd26ed SHA512 8b90599cca0b31538086a5d65dc124c2e7641ec42b4774b15b3f5cb063b39f3d8f83a7114e89e6aac1dc4cebbac526105378a3cd9504bc723cb26781b5d214fd
-DIST gopkg.in%2Falecthomas%2Fkingpin.v2%2F@v%2Fv2.2.6.mod 38 BLAKE2B e7781691d8c15b764ef6c89fcdf20e69fc28d46e8df2703b6fdc342247595c10ed25e3cc5b30cd29b81c57837f5685e4122e1b2c218a51fffbb1567c85b0835a SHA512 585188d3a75067e6b7d8a8321959fe7df80c6a19f8668a87f0d1b8687c4d2cefc039167446f6d02f7eeeb147371bc7a673348213bcb07f4d90bebc0ccf9f2015
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.zip 39844 BLAKE2B b3dab69dbd1ebb999938c12595de7007dce9431cfeaeb5e77aba80c49918d1a4edf7fb95279e9b66686cb45deaf57a011c083e55fb66ec2c614582ba323954da SHA512 97c96a92ec86372c2f06141c30bceaa86ed62c1db34696f9542f43f3411cb0a37dea654de923a5ee054e603198179b9048e3b477da140e4092ffadc4525b9241
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.zip 41465 BLAKE2B 9a7183d3ac6591399b5208026208047a670c85e8b6014ad29955b168c63bb4953fa972d31025613c2ab12d7207adeebe9578b3c15b65ebb792f1e41df2668297 SHA512 fa7c68a2b5a6bb14f99cda92a3e77aad0e4160f659c54ea73e9813af9ff9449df6b0cab42ee283971e778b6b9da4a6098df805dd284c3b1aedfcd3a0b8504bde
-DIST gopkg.in%2Fcheggaaa%2Fpb.v1%2F@v%2Fv1.0.25.mod 31 BLAKE2B 1a4baffd98c62173795d54bc25845b710fe8391726fc5d67cd6025131f783a3d94cd474299d72f5f077dc529203dcdf7a069268dc30fa39d9b3f7fab566df45b SHA512 b8685a6e649de49671d079375ba2132a467bb015a29a7182744caa9464f5e7ac72a952b10faf04e5b6d745ec955b565dc03cbc4ca9849d23ebd5303a12f18401
-DIST gopkg.in%2Fcheggaaa%2Fpb.v1%2F@v%2Fv1.0.25.zip 18135 BLAKE2B 070a1f2616aff08e14ae65e04b7a9ba63a2a31c4e073981da9b41cb4131e04c15fbfd057cf902a27987e5962ed96144561e4fb04957e52938c0e22ea55180e18 SHA512 3cfbad655bd8ecfa2b30aa71d41c6c1620dda6c0ce4574c21d017e6f5fb3c15a511520f2bdf3147f74e17fc21406c55a798f2fede3ad28f9121603efd6994469
-DIST gopkg.in%2Fresty.v1%2F@v%2Fv1.12.0.mod 86 BLAKE2B a2c81f0cabd00084e6e52de82e9ba9a5bdf42d45123b7a58ebe4baa07b41631498c7590535884282869c4947b4f4f9ea0f41bfd28c1c7bbd516ea5631f207e30 SHA512 84c11a71dfd5f94cbcc79aaa8d387600ea3eec89cdb44bc63e55daad5700dc20aa719ce7a5c960cf97900231bedd118afbd93c408aec449e68ed5d8c5641ff57
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.0.0-20170812160011-eb3733d160e7.mod 24 BLAKE2B 1cb17a1c6b1eb33cebd983f9e965f6db03f5095441d7cd72aff6df805501eef4dc249c22ecc85da360c27696a7c4ae613f0769a1f89e73f286281de89ffd3ef2 SHA512 89b481cc62ed7a486990ebfcf65cf7a344e5d189deef680e6ddd82dc93f31d166af05fc27b4a95ea27c33fd3ced1b87d4050d617d52008ca059c4a5d3b6c26a9
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.zip 78275 BLAKE2B 139c8eb7c405dddbb67321eacd25c0af1e5b3f031831266abf6a8e5a5ed12f6381778868383c03433f8ef760d6b42ffbff40150f2fee91dedd0b312f9fe81c7f SHA512 3214b38f348921f6a6d9ef93d4337bb90abd0d101d69d16ad8e38415c22d3b9a85bda873df2eb7a271f9b973ef38b74731405e522e1bb8083c78932762cb5535
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.1.0.mod 24 BLAKE2B d33080dbc62b185d029eb43f75d66328dbfa7c463a3117b3efd5419ab8e1e52cc6f5d5a288d553421025c785ec6948b3aa68588cae19bd325f6acc0d043bb5fb SHA512 78f6402daccb04510f4ef35ee457ee13e4f447fba8e6aa33b4d32aa666e925861bf3b3f22c5ba9573871ec7e830f99e4caae0969724a54eadf40e6a7ed7931a0
-DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.1.0.zip 18120 BLAKE2B 244d3089322264e2fab71fa27e6e49396f724026674970eac309bb027d7bbc7030e9780fbc1c3803b20d893b8621f4e24d5c7824e0315440c14ceb850ec391f9 SHA512 c6e23fe09971b82d52e14d67e68458d3884b0f1d56a7fa9131fe4dafbfa971dd1f134f2d9eeab2599eae02c96132502036fd6b37eda92cd62f3129de6e04e7c3
+DIST etcd-3.4.26-deps.tar.xz 39352316 BLAKE2B 8b1a30d645b1ea756ac944d2d3f7e0c5b9491bab54d4d74c6525c519e5297a1e8e2a97f70a50a5681cf8941d2e4978d5c3717fccb552042bcd42e7c4bd2b29a8 SHA512 eb3af2910030a165699158a3dfe7e1267f29c0720865026da2a95941c7e1e19db793e177e9ca5a9f3b134c1a9a83b4a0613a32a30282b68fe3aef75b8dacae59
+DIST etcd-3.4.26.tar.gz 6043999 BLAKE2B 03f3bd0388e59dea9300b9a811b426ce03f1001750259dcd8386566efaa64783746f0353f83c1d01960004a77cea08a194aba394d91808aad15b5d4bb8f151cf SHA512 b2048070adb1df6e98c06e0e951f7940815dab238fe4ba49c36681a638f39eb7e40fed691baf70410d01467965094d70f008d0046b1b550b2ac1ed19ac89ca47
+DIST etcd-3.4.31-deps.tar.xz 2212704 BLAKE2B 8b30941eefdb3811fb331014b69eb8d5b9c691b8ace1004432e5b05bb787bb3ba3ce872f881af2a559d7b955fae890a4ec0e8b10daa06cf388447af1b6a92679 SHA512 85915f5738493bfe3c09208649e26cfdc612df900916686006a437c44aad5afb2ab69b0840550e37544a50b79d2d3718e2cbdfd037e47bcaa8e33a8a6a95105f
+DIST etcd-3.4.31.tar.gz 6072806 BLAKE2B 30aa5b79d2fd0ba639bc766c104d5df28af50ae5398d860af3b3aff91c143ccd899538b341501386bac55dedc00086654de6e4ab9b237053b199a8de2fa509ec SHA512 4a7e366ced86ea86a324ab972ea47be56456c0aa8744e5ec07d499a56bdc9179ebc3bc2f33bd67c2d341181a5bcc703abc5a7c2e57879169a351457b4a0274f3
+DIST etcd-3.5.12-deps.tar.xz 3935756 BLAKE2B c043cc55f59549734f38b1a734106bd25a1bbeb47f84e00a6b4308bad6086a6f0e0f3dee151bf1708bac269be124c782ea48c3761ee5e1d130a002989f99f2d3 SHA512 caae360e315756fe933bd87a7ce543d904084a745b5e42844a293bbf17c121d245f9f3645cd9992de5203c9efe4efcd4226ba294afb5a3550c114de78dad3110
+DIST etcd-3.5.12.tar.gz 4083299 BLAKE2B 85615cf9095a440ef73aa59f5582293de543f7e473c8049712ff13646276c9441039c96c4e42aaedfddcfb3baede8d37f0ef68bb5ddabdb3f4833c8591ee1c8c SHA512 6fc8bd64ad63cff71c7645253273418fb3fa262c2da1742dc345576caa733af7cd75acad2f57610c5883e6bf16cffd36bc5a0c89cbbb0793c00c2a4db1c6d14b
+DIST etcd-3.5.13-deps.tar.xz 5004004 BLAKE2B effc3c3fb8e6fff789f96030e485fb887b0f973e5943e66f744ce2d41c65c0756a81850be8f8cca96f50214a59e0eeac694c4669d809ddcee0771acc1703d9ff SHA512 ed80d70a14cf049e3af22757ad5cc4abd1ce563e00e0d422d38c82d66fe4381822ef1344de3ef803dedc2bfc038dabb520ad58fd489b8916529d24357628f002
+DIST etcd-3.5.13.tar.gz 4089792 BLAKE2B be7a46af3978108b7e25adabe736ac111a01ab7fcb8e142b75c0c87aa33905d42d10b721ebc982e834110388669d028e6a612c9745e2f5c93210dd05ffccba7d SHA512 dc85d80079b61e96eb06eb573d41d8972060392e49140a2414c283ea9edfef7b01d5554e50c7ab37c6ad079b373ae12a1b84dbcc533addc1d4d30a2a5abf7b7b
diff --git a/dev-db/etcd/etcd-3.4.14.ebuild b/dev-db/etcd/etcd-3.4.14.ebuild
deleted file mode 100644
index 0f1ab44ae004..000000000000
--- a/dev-db/etcd/etcd-3.4.14.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module systemd tmpfiles
-GIT_COMMIT=8a03d2e96
-MY_PV="${PV/_rc/-rc.}"
-
-DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
-HOMEPAGE="https://github.com/etcd-io/etcd"
-
-EGO_SUM=(
- "cloud.google.com/go v0.26.0/go.mod"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/beorn7/perks v1.0.0"
- "github.com/beorn7/perks v1.0.0/go.mod"
- "github.com/bgentry/speakeasy v0.1.0"
- "github.com/bgentry/speakeasy v0.1.0/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa"
- "github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod"
- "github.com/coreos/go-semver v0.2.0"
- "github.com/coreos/go-semver v0.2.0/go.mod"
- "github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7"
- "github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod"
- "github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf"
- "github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod"
- "github.com/creack/pty v1.1.7"
- "github.com/creack/pty v1.1.7/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
- "github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4"
- "github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/fatih/color v1.7.0"
- "github.com/fatih/color v1.7.0/go.mod"
- "github.com/ghodss/yaml v1.0.0/go.mod"
- "github.com/go-kit/kit v0.8.0/go.mod"
- "github.com/go-logfmt/logfmt v0.3.0/go.mod"
- "github.com/go-stack/stack v1.8.0/go.mod"
- "github.com/gogo/protobuf v1.1.1"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/gogo/protobuf v1.2.1"
- "github.com/gogo/protobuf v1.2.1/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903"
- "github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/protobuf v1.2.0"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/google/btree v1.0.0"
- "github.com/google/btree v1.0.0/go.mod"
- "github.com/google/go-cmp v0.2.0"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/gofuzz v1.0.0/go.mod"
- "github.com/google/uuid v1.0.0"
- "github.com/google/uuid v1.0.0/go.mod"
- "github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c"
- "github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod"
- "github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4"
- "github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod"
- "github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0"
- "github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod"
- "github.com/grpc-ecosystem/grpc-gateway v1.9.5"
- "github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/jonboulle/clockwork v0.1.0"
- "github.com/jonboulle/clockwork v0.1.0/go.mod"
- "github.com/json-iterator/go v1.1.6"
- "github.com/json-iterator/go v1.1.6/go.mod"
- "github.com/json-iterator/go v1.1.7"
- "github.com/json-iterator/go v1.1.7/go.mod"
- "github.com/julienschmidt/httprouter v1.2.0/go.mod"
- "github.com/kisielk/errcheck v1.1.0/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
- "github.com/kr/pretty v0.1.0"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/mattn/go-colorable v0.0.9"
- "github.com/mattn/go-colorable v0.0.9/go.mod"
- "github.com/mattn/go-isatty v0.0.4"
- "github.com/mattn/go-isatty v0.0.4/go.mod"
- "github.com/mattn/go-runewidth v0.0.2"
- "github.com/mattn/go-runewidth v0.0.2/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
- "github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
- "github.com/modern-go/reflect2 v1.0.1"
- "github.com/modern-go/reflect2 v1.0.1/go.mod"
- "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
- "github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5"
- "github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod"
- "github.com/pkg/errors v0.8.0"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_golang v1.0.0"
- "github.com/prometheus/client_golang v1.0.0/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.4.1"
- "github.com/prometheus/common v0.4.1/go.mod"
- "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
- "github.com/prometheus/procfs v0.0.2"
- "github.com/prometheus/procfs v0.0.2/go.mod"
- "github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod"
- "github.com/sirupsen/logrus v1.2.0"
- "github.com/sirupsen/logrus v1.2.0/go.mod"
- "github.com/sirupsen/logrus v1.4.2"
- "github.com/sirupsen/logrus v1.4.2/go.mod"
- "github.com/soheilhy/cmux v0.1.4"
- "github.com/soheilhy/cmux v0.1.4/go.mod"
- "github.com/spf13/cobra v0.0.3"
- "github.com/spf13/cobra v0.0.3/go.mod"
- "github.com/spf13/pflag v1.0.1"
- "github.com/spf13/pflag v1.0.1/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v1.2.2"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8"
- "github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod"
- "github.com/urfave/cli v1.20.0"
- "github.com/urfave/cli v1.20.0/go.mod"
- "github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2"
- "github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod"
- "go.etcd.io/bbolt v1.3.3"
- "go.etcd.io/bbolt v1.3.3/go.mod"
- "go.uber.org/atomic v1.3.2"
- "go.uber.org/atomic v1.3.2/go.mod"
- "go.uber.org/multierr v1.1.0"
- "go.uber.org/multierr v1.1.0/go.mod"
- "go.uber.org/zap v1.10.0"
- "go.uber.org/zap v1.10.0/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
- "golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7"
- "golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod"
- "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5"
- "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
- "golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456"
- "golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod"
- "golang.org/x/text v0.3.0"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.3"
- "golang.org/x/text v0.3.3/go.mod"
- "golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2"
- "golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod"
- "golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.26.0"
- "google.golang.org/grpc v1.26.0/go.mod"
- "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/cheggaaa/pb.v1 v1.0.25"
- "gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod"
- "gopkg.in/resty.v1 v1.12.0/go.mod"
- "gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "sigs.k8s.io/yaml v1.1.0"
- "sigs.k8s.io/yaml v1.1.0/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc +server"
-
-COMMON_DEPEND="server? (
- acct-group/etcd
- acct-user/etcd
- )"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/etcdctl"
-
-# Tests fail with this error:
-# fatal error: checkptr: unsafe pointer conversion
-RESTRICT+=" test "
-
-PATCHES=(
- "${FILESDIR}/${P}-modules.patch"
-)
-
-src_prepare() {
- export GO_BUILD_FLAGS="-v -x"
- default
- sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
- -i "${S}"/build || die
- sed -e 's:\(for p in \)shellcheck :\1 :' \
- -e 's:^ gofmt \\$:\\:' \
- -e 's:^ govet \\$:\\:' \
- -e 's:^ govet_shadow \\$:\\:' \
- -i "${S}"/test || die
-
- sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
- -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
- -i ./test || die
-
-# mkdir -p vendor/github.com/coreos || die
-# ln -s ../../.. vendor/github.com/coreos/etcd || die
-}
-
-src_compile() {
- ./build || die
-}
-
-src_test() {
- ./test || die
-}
-
-src_install() {
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- newtmpfiles "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
-}
-
-pkg_postinst() {
- if use server; then
- tmpfiles_process ${PN}.conf
- fi
-}
diff --git a/dev-db/etcd/etcd-3.4.16.ebuild b/dev-db/etcd/etcd-3.4.16.ebuild
deleted file mode 100644
index 9901ce26b6f9..000000000000
--- a/dev-db/etcd/etcd-3.4.16.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module systemd tmpfiles
-GIT_COMMIT=cf54fab42
-MY_PV="${PV/_rc/-rc.}"
-
-DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
-HOMEPAGE="https://github.com/etcd-io/etcd"
-
-EGO_SUM=(
-"cloud.google.com/go v0.26.0/go.mod"
-"github.com/BurntSushi/toml v0.3.1/go.mod"
-"github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
-"github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
-"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
-"github.com/beorn7/perks v1.0.0"
-"github.com/beorn7/perks v1.0.0/go.mod"
-"github.com/bgentry/speakeasy v0.1.0"
-"github.com/bgentry/speakeasy v0.1.0/go.mod"
-"github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
-"github.com/client9/misspell v0.3.4/go.mod"
-"github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa"
-"github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod"
-"github.com/coreos/go-semver v0.2.0"
-"github.com/coreos/go-semver v0.2.0/go.mod"
-"github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7"
-"github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod"
-"github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf"
-"github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod"
-"github.com/creack/pty v1.1.11"
-"github.com/creack/pty v1.1.11/go.mod"
-"github.com/davecgh/go-spew v1.1.0/go.mod"
-"github.com/davecgh/go-spew v1.1.1"
-"github.com/davecgh/go-spew v1.1.1/go.mod"
-"github.com/dgrijalva/jwt-go v3.2.0+incompatible"
-"github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
-"github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4"
-"github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod"
-"github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
-"github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
-"github.com/fatih/color v1.7.0"
-"github.com/fatih/color v1.7.0/go.mod"
-"github.com/ghodss/yaml v1.0.0/go.mod"
-"github.com/go-kit/kit v0.8.0/go.mod"
-"github.com/go-logfmt/logfmt v0.3.0/go.mod"
-"github.com/go-stack/stack v1.8.0/go.mod"
-"github.com/gogo/protobuf v1.1.1/go.mod"
-"github.com/gogo/protobuf v1.2.1"
-"github.com/gogo/protobuf v1.2.1/go.mod"
-"github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
-"github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
-"github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903"
-"github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod"
-"github.com/golang/mock v1.1.1/go.mod"
-"github.com/golang/protobuf v1.2.0/go.mod"
-"github.com/golang/protobuf v1.3.1/go.mod"
-"github.com/golang/protobuf v1.3.2"
-"github.com/golang/protobuf v1.3.2/go.mod"
-"github.com/google/btree v1.0.0"
-"github.com/google/btree v1.0.0/go.mod"
-"github.com/google/go-cmp v0.2.0"
-"github.com/google/go-cmp v0.2.0/go.mod"
-"github.com/google/gofuzz v1.0.0/go.mod"
-"github.com/google/uuid v1.0.0"
-"github.com/google/uuid v1.0.0/go.mod"
-"github.com/gorilla/websocket v1.4.2"
-"github.com/gorilla/websocket v1.4.2/go.mod"
-"github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4"
-"github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod"
-"github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0"
-"github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod"
-"github.com/grpc-ecosystem/grpc-gateway v1.9.5"
-"github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod"
-"github.com/inconshreveable/mousetrap v1.0.0"
-"github.com/inconshreveable/mousetrap v1.0.0/go.mod"
-"github.com/jonboulle/clockwork v0.1.0"
-"github.com/jonboulle/clockwork v0.1.0/go.mod"
-"github.com/json-iterator/go v1.1.6/go.mod"
-"github.com/json-iterator/go v1.1.7"
-"github.com/json-iterator/go v1.1.7/go.mod"
-"github.com/julienschmidt/httprouter v1.2.0/go.mod"
-"github.com/kisielk/errcheck v1.1.0/go.mod"
-"github.com/kisielk/gotool v1.0.0/go.mod"
-"github.com/konsorten/go-windows-terminal-sequences v1.0.1"
-"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
-"github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
-"github.com/kr/pretty v0.1.0"
-"github.com/kr/pretty v0.1.0/go.mod"
-"github.com/kr/pty v1.1.1/go.mod"
-"github.com/kr/text v0.1.0"
-"github.com/kr/text v0.1.0/go.mod"
-"github.com/mattn/go-colorable v0.0.9"
-"github.com/mattn/go-colorable v0.0.9/go.mod"
-"github.com/mattn/go-isatty v0.0.4"
-"github.com/mattn/go-isatty v0.0.4/go.mod"
-"github.com/mattn/go-runewidth v0.0.2"
-"github.com/mattn/go-runewidth v0.0.2/go.mod"
-"github.com/matttproud/golang_protobuf_extensions v1.0.1"
-"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd"
-"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
-"github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
-"github.com/modern-go/reflect2 v1.0.1"
-"github.com/modern-go/reflect2 v1.0.1/go.mod"
-"github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
-"github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5"
-"github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod"
-"github.com/pkg/errors v0.8.0"
-"github.com/pkg/errors v0.8.0/go.mod"
-"github.com/pmezard/go-difflib v1.0.0"
-"github.com/pmezard/go-difflib v1.0.0/go.mod"
-"github.com/prometheus/client_golang v0.9.1/go.mod"
-"github.com/prometheus/client_golang v1.0.0"
-"github.com/prometheus/client_golang v1.0.0/go.mod"
-"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
-"github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
-"github.com/prometheus/common v0.4.1"
-"github.com/prometheus/common v0.4.1/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
-"github.com/prometheus/procfs v0.0.2"
-"github.com/prometheus/procfs v0.0.2/go.mod"
-"github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod"
-"github.com/sirupsen/logrus v1.2.0/go.mod"
-"github.com/sirupsen/logrus v1.4.2"
-"github.com/sirupsen/logrus v1.4.2/go.mod"
-"github.com/soheilhy/cmux v0.1.4"
-"github.com/soheilhy/cmux v0.1.4/go.mod"
-"github.com/spf13/cobra v0.0.3"
-"github.com/spf13/cobra v0.0.3/go.mod"
-"github.com/spf13/pflag v1.0.1"
-"github.com/spf13/pflag v1.0.1/go.mod"
-"github.com/stretchr/objx v0.1.0/go.mod"
-"github.com/stretchr/objx v0.1.1/go.mod"
-"github.com/stretchr/testify v1.2.2/go.mod"
-"github.com/stretchr/testify v1.3.0"
-"github.com/stretchr/testify v1.3.0/go.mod"
-"github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966"
-"github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod"
-"github.com/urfave/cli v1.20.0"
-"github.com/urfave/cli v1.20.0/go.mod"
-"github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2"
-"github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod"
-"go.etcd.io/bbolt v1.3.3"
-"go.etcd.io/bbolt v1.3.3/go.mod"
-"go.uber.org/atomic v1.3.2"
-"go.uber.org/atomic v1.3.2/go.mod"
-"go.uber.org/multierr v1.1.0"
-"go.uber.org/multierr v1.1.0/go.mod"
-"go.uber.org/zap v1.10.0"
-"go.uber.org/zap v1.10.0/go.mod"
-"golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
-"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2"
-"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
-"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9"
-"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
-"golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
-"golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
-"golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
-"golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
-"golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
-"golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
-"golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
-"golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod"
-"golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
-"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
-"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
-"golang.org/x/net v0.0.0-20201021035429-f5854403a974"
-"golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod"
-"golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
-"golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
-"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
-"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
-"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
-"golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
-"golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
-"golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod"
-"golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
-"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
-"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
-"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
-"golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod"
-"golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4"
-"golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod"
-"golang.org/x/text v0.3.0/go.mod"
-"golang.org/x/text v0.3.3"
-"golang.org/x/text v0.3.3/go.mod"
-"golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2"
-"golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod"
-"golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod"
-"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
-"golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
-"golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
-"golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
-"golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135"
-"golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
-"google.golang.org/appengine v1.1.0/go.mod"
-"google.golang.org/appengine v1.4.0/go.mod"
-"google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
-"google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55"
-"google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
-"google.golang.org/grpc v1.19.0/go.mod"
-"google.golang.org/grpc v1.23.0/go.mod"
-"google.golang.org/grpc v1.26.0"
-"google.golang.org/grpc v1.26.0/go.mod"
-"gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
-"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
-"gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
-"gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
-"gopkg.in/cheggaaa/pb.v1 v1.0.25"
-"gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod"
-"gopkg.in/resty.v1 v1.12.0/go.mod"
-"gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod"
-"gopkg.in/yaml.v2 v2.2.1/go.mod"
-"gopkg.in/yaml.v2 v2.2.2"
-"gopkg.in/yaml.v2 v2.2.2/go.mod"
-"honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
-"honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
-"sigs.k8s.io/yaml v1.1.0"
-"sigs.k8s.io/yaml v1.1.0/go.mod"
-)
-go-module_set_globals
-SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc +server"
-
-COMMON_DEPEND="server? (
- acct-group/etcd
- acct-user/etcd
- )"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/etcdctl"
-
-# Tests fail with this error:
-# fatal error: checkptr: unsafe pointer conversion
-RESTRICT+=" test "
-
-src_prepare() {
- export GO_BUILD_FLAGS="-v -x"
- default
- sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
- -i "${S}"/build || die
- sed -e 's:\(for p in \)shellcheck :\1 :' \
- -e 's:^ gofmt \\$:\\:' \
- -e 's:^ govet \\$:\\:' \
- -e 's:^ govet_shadow \\$:\\:' \
- -i "${S}"/test || die
-
- sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
- -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
- -i ./test || die
-
-# mkdir -p vendor/github.com/coreos || die
-# ln -s ../../.. vendor/github.com/coreos/etcd || die
-}
-
-src_compile() {
- ./build || die
-}
-
-src_test() {
- ./test || die
-}
-
-src_install() {
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- newtmpfiles "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
-}
-
-pkg_postinst() {
- if use server; then
- tmpfiles_process ${PN}.conf
- fi
-}
diff --git a/dev-db/etcd/etcd-3.3.24.ebuild b/dev-db/etcd/etcd-3.4.26.ebuild
index cfe02273d71b..691f72f29383 100644
--- a/dev-db/etcd/etcd-3.3.24.ebuild
+++ b/dev-db/etcd/etcd-3.4.26.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit go-module systemd tmpfiles
-GIT_COMMIT=bdd57848d
-MY_PV="${PV/_rc/-rc.}"
+GIT_COMMIT=a603c0798
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
HOMEPAGE="https://github.com/etcd-io/etcd"
-SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/etcd-io/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~loong ~riscv"
IUSE="doc +server"
COMMON_DEPEND="server? (
@@ -20,15 +20,14 @@ COMMON_DEPEND="server? (
acct-user/etcd
)"
DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/etcdctl"
+RDEPEND="${COMMON_DEPEND}"
# Tests fail with this error:
# fatal error: checkptr: unsafe pointer conversion
RESTRICT="test"
src_prepare() {
- export GO_BUILD_FLAGS="-mod=vendor -v -x"
+ export GO_BUILD_FLAGS="-v -x"
default
sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
-i "${S}"/build || die
@@ -41,15 +40,10 @@ src_prepare() {
sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
-e "s|go test |go test ${GO_BUILD_FLAGS} |" \
-i ./test || die
-
- mkdir -p vendor/github.com/coreos || die
- ln -s ../../.. vendor/github.com/coreos/etcd || die
-
- echo 'module go.etcd.io/etcd' > go.mod || die
}
src_compile() {
- ./build || die
+ ./build || die
}
src_test() {
@@ -61,21 +55,20 @@ src_install() {
use doc && dodoc -r Documentation
if use server; then
insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
+ sed -e 's|^data-dir:|\0 /var/lib/etcd|' -i etcd.conf.yml.sample || die
+ newins etcd.conf.yml.sample etcd.conf.yml
dobin bin/etcd
dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
newtmpfiles "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd-r1 ${PN}
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
+ keepdir /var/lib/${PN} /var/log/${PN}
+ fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
+ fperms 0755 /var/log/${PN}
fi
}
diff --git a/dev-db/etcd/etcd-3.3.23.ebuild b/dev-db/etcd/etcd-3.4.31.ebuild
index cf8a5c817d79..468971161050 100644
--- a/dev-db/etcd/etcd-3.3.23.ebuild
+++ b/dev-db/etcd/etcd-3.4.31.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit go-module systemd tmpfiles
-GIT_COMMIT=4873f5516
-MY_PV="${PV/_rc/-rc.}"
+GIT_COMMIT=950cd5fbe
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
HOMEPAGE="https://github.com/etcd-io/etcd"
-SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/etcd-io/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64 ~loong ~riscv"
IUSE="doc +server"
COMMON_DEPEND="server? (
@@ -20,15 +20,14 @@ COMMON_DEPEND="server? (
acct-user/etcd
)"
DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/etcdctl"
+RDEPEND="${COMMON_DEPEND}"
-# Tests hang and emit this error:
-# Too many goroutines running after all test(s).
+# Tests fail with this error:
+# fatal error: checkptr: unsafe pointer conversion
RESTRICT="test"
src_prepare() {
- export GO_BUILD_FLAGS="-mod=vendor -v -x"
+ export GO_BUILD_FLAGS="-v -x"
default
sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
-i "${S}"/build || die
@@ -37,26 +36,14 @@ src_prepare() {
-e 's:^ govet \\$:\\:' \
-e 's:^ govet_shadow \\$:\\:' \
-i "${S}"/test || die
- # missing ... in args forwarded to print-like function
- sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \
- -i "${S}"/raft/logger.go || die
-
- sed -e 's:TestGetDefaultInterface(:_\0:' \
- -e 's:TestGetDefaultHost(:_\0:' \
- -i "${S}"/pkg/netutil/routes_linux_test.go || die
-
- rm "${S}"/pkg/tlsutil/cipher_suites_test.go || die
sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
-e "s|go test |go test ${GO_BUILD_FLAGS} |" \
-i ./test || die
-
- mkdir -p vendor/github.com/coreos || die
- ln -s ../../.. vendor/github.com/coreos/etcd || die
}
src_compile() {
- ./build || die
+ ./build || die
}
src_test() {
@@ -68,21 +55,20 @@ src_install() {
use doc && dodoc -r Documentation
if use server; then
insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
+ sed -e 's|^data-dir:|\0 /var/lib/etcd|' -i etcd.conf.yml.sample || die
+ newins etcd.conf.yml.sample etcd.conf.yml
dobin bin/etcd
dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
newtmpfiles "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd-r1 ${PN}
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
+ keepdir /var/lib/${PN} /var/log/${PN}
+ fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
+ fperms 0755 /var/log/${PN}
fi
}
diff --git a/dev-db/etcd/etcd-3.5.12.ebuild b/dev-db/etcd/etcd-3.5.12.ebuild
new file mode 100644
index 000000000000..926be7cb76f3
--- /dev/null
+++ b/dev-db/etcd/etcd-3.5.12.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module systemd tmpfiles
+GIT_COMMIT=e7b3bb6cc
+
+DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
+HOMEPAGE="https://github.com/etcd-io/etcd"
+SRC_URI="https://github.com/etcd-io/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~riscv"
+IUSE="doc +server"
+
+COMMON_DEPEND="server? (
+ acct-group/etcd
+ acct-user/etcd
+ )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+# Tests fail with this error:
+# fatal error: checkptr: unsafe pointer conversion
+RESTRICT="test"
+PATCHES=("${S}/go-mod-sum.patch")
+
+src_prepare() {
+ export GO_BUILD_FLAGS="-v -x"
+ default
+ sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|" \
+ -i "${S}"/build.sh || die
+ sed -e 's:\(for p in \)shellcheck :\1 :' \
+ -e 's:^ gofmt \\$:\\:' \
+ -e 's:^ govet \\$:\\:' \
+ -e 's:^ govet_shadow \\$:\\:' \
+ -i "${S}"/test || die
+
+ sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
+ -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
+ -i ./test || die
+}
+
+src_compile() {
+ ./build.sh || die
+}
+
+src_test() {
+ ./test || die
+}
+
+src_install() {
+ dobin bin/etcdctl
+ use doc && dodoc -r Documentation
+ if use server; then
+ insinto /etc/${PN}
+ sed -e 's|^data-dir:|\0 /var/lib/etcd|' -i etcd.conf.yml.sample || die
+ newins etcd.conf.yml.sample etcd.conf.yml
+ dobin bin/etcd
+ dodoc README.md
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+ newtmpfiles "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
+ newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd-r1 ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ keepdir /var/lib/${PN} /var/log/${PN}
+ fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
+ fperms 0700 /var/lib/${PN}
+ fperms 0755 /var/log/${PN}
+ fi
+}
+
+pkg_postinst() {
+ if use server; then
+ tmpfiles_process ${PN}.conf
+ fi
+}
diff --git a/dev-db/etcd/etcd-3.5.13.ebuild b/dev-db/etcd/etcd-3.5.13.ebuild
new file mode 100644
index 000000000000..77d02b80751b
--- /dev/null
+++ b/dev-db/etcd/etcd-3.5.13.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module systemd tmpfiles
+GIT_COMMIT=c9063a0dc
+
+DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
+HOMEPAGE="https://github.com/etcd-io/etcd"
+SRC_URI="https://github.com/etcd-io/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
+
+LICENSE="Apache-2.0"
+LICENSE+=" BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~riscv"
+IUSE="doc +server"
+
+COMMON_DEPEND="server? (
+ acct-group/etcd
+ acct-user/etcd
+ )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+# Tests fail with this error:
+# fatal error: checkptr: unsafe pointer conversion
+RESTRICT="test"
+PATCHES=("${S}/go-mod-sum.patch")
+
+src_prepare() {
+ export GO_BUILD_FLAGS="-v -x"
+ default
+ sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|" \
+ -i "${S}"/build.sh || die
+ sed -e 's:\(for p in \)shellcheck :\1 :' \
+ -e 's:^ gofmt \\$:\\:' \
+ -e 's:^ govet \\$:\\:' \
+ -e 's:^ govet_shadow \\$:\\:' \
+ -i "${S}"/test || die
+
+ sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
+ -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
+ -i ./test || die
+}
+
+src_compile() {
+ ./build.sh || die
+}
+
+src_test() {
+ ./test || die
+}
+
+src_install() {
+ dobin bin/etcdctl
+ use doc && dodoc -r Documentation
+ if use server; then
+ insinto /etc/${PN}
+ sed -e 's|^data-dir:|\0 /var/lib/etcd|' -i etcd.conf.yml.sample || die
+ newins etcd.conf.yml.sample etcd.conf.yml
+ dobin bin/etcd
+ dodoc README.md
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+ newtmpfiles "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
+ newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd-r1 ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ keepdir /var/lib/${PN} /var/log/${PN}
+ fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
+ fperms 0700 /var/lib/${PN}
+ fperms 0755 /var/log/${PN}
+ fi
+}
+
+pkg_postinst() {
+ if use server; then
+ tmpfiles_process ${PN}.conf
+ fi
+}
diff --git a/dev-db/etcd/files/etcd-3.4.14-modules.patch b/dev-db/etcd/files/etcd-3.4.14-modules.patch
deleted file mode 100644
index 4529cb07e313..000000000000
--- a/dev-db/etcd/files/etcd-3.4.14-modules.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/go.mod b/go.mod
-index 56cd96b36..6d0c879eb 100644
---- a/go.mod
-+++ b/go.mod
-@@ -43,15 +43,12 @@ require (
- go.uber.org/multierr v1.1.0 // indirect
- go.uber.org/zap v1.10.0
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
-- golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3 // indirect
- golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7
- golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456 // indirect
- golang.org/x/text v0.3.3 // indirect
- golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2
-- golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 // indirect
- google.golang.org/grpc v1.26.0
- gopkg.in/cheggaaa/pb.v1 v1.0.25
- gopkg.in/yaml.v2 v2.2.2
-- honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc // indirect
- sigs.k8s.io/yaml v1.1.0
- )
-diff --git a/go.sum b/go.sum
-index 330532e52..55363d205 100644
---- a/go.sum
-+++ b/go.sum
-@@ -52,6 +52,7 @@ github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs
- github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
- github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
- github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-+github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
- github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
- github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
- github.com/google/uuid v1.0.0 h1:b4Gk+7WdP/d3HZH8EJsZpvV7EtDOgaZLtnaNGIu1adA=
-@@ -152,8 +153,6 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 h1:u+LnwYTOOW7Ukr/fppxEb1
- golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
--golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc h1:c0o/qxkaO2LF5t6fQrT4b5hzyggAkLLlCUjqfRxd8Q4=
--golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
- golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
- golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
- golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-@@ -190,6 +189,7 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
- golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM=
- golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
- golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
- golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
- golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
- golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-@@ -202,8 +202,6 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2El
- google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
- google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
- google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
--google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s=
--google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA=
- google.golang.org/grpc v1.26.0 h1:2dTRdpdFEEhJYQD8EMLB61nnrzSCTbG38PhqdhvOltg=
- google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
- gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
diff --git a/dev-db/etcd/files/etcd.confd b/dev-db/etcd/files/etcd.confd
deleted file mode 100644
index 4592dac08d56..000000000000
--- a/dev-db/etcd/files/etcd.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-# Name of this node in the etcd cluster.
-ETCD_NAME=etcd
-
-# Path to the data directory.
-ETCD_DATA_DIR=/var/lib/etcd
-
-ETCD_OPTS=""
diff --git a/dev-db/etcd/files/etcd.confd-r1 b/dev-db/etcd/files/etcd.confd-r1
new file mode 100644
index 000000000000..c7913d259409
--- /dev/null
+++ b/dev-db/etcd/files/etcd.confd-r1
@@ -0,0 +1 @@
+ETCD_OPTS="--config-file=/etc/etcd/etcd.conf.yml"
diff --git a/dev-db/etcd/files/etcd.initd b/dev-db/etcd/files/etcd.initd-r1
index a2c67d0723da..f38b977a7568 100644
--- a/dev-db/etcd/files/etcd.initd
+++ b/dev-db/etcd/files/etcd.initd-r1
@@ -1,19 +1,14 @@
#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
pidfile=/run/${RC_SVCNAME}.pid
LOGPATH=/var/log/${RC_SVCNAME}
-DATADIR=/var/lib/${RC_SVCNAME}
command_user=${RC_SVCNAME}
command=/usr/bin/etcd
-command_args="
- -name=${ETCD_NAME}
- -data-dir=${ETCD_DATA_DIR}
- ${ETCD_OPTS}"
+command_args="${ETCD_OPTS}"
command_background=true
start_stop_daemon_args="
- --chdir ${ETCD_DATA_DIR}
-1 ${LOGPATH}/${RC_SVCNAME}.log
-2 ${LOGPATH}/${RC_SVCNAME}.err"
@@ -28,9 +23,5 @@ start() {
mkdir -p "${LOGPATH}"
chown "${command_user}:${command_user}" "${LOGPATH}"
fi
- if [ ! -d "${ETCD_DATA_DIR}" ] ; then
- mkdir -p "${ETCD_DATA_DIR}"
- chown "${command_user}:${command_user}" "${ETCD_DATA_DIR}"
- fi
default_start
}
diff --git a/dev-db/etcd/files/etcd.service b/dev-db/etcd/files/etcd.service
deleted file mode 100644
index 6823777066d6..000000000000
--- a/dev-db/etcd/files/etcd.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=Etcd Server
-After=network.target
-
-[Service]
-Type=notify
-PermissionsStartOnly=true
-Environment=ETCD_DATA_DIR=/var/lib/etcd
-Environment=ETCD_NAME=%m
-WorkingDirectory=/var/lib/etcd/
-User=etcd
-ExecStart=/usr/bin/etcd
-Restart=on-failure
-LimitNOFILE=65536
-
-[Install]
-WantedBy=default.target
diff --git a/dev-db/etcd/files/etcd.service-r1 b/dev-db/etcd/files/etcd.service-r1
new file mode 100644
index 000000000000..e3b701551510
--- /dev/null
+++ b/dev-db/etcd/files/etcd.service-r1
@@ -0,0 +1,17 @@
+[Unit]
+Description=etcd key-value store
+Documentation=https://github.com/etcd-io/etcd
+After=network-online.target local-fs.target remote-fs.target time-sync.target
+Wants=network-online.target local-fs.target remote-fs.target time-sync.target
+
+[Service]
+User=etcd
+Type=notify
+Environment="ETCD_OPTS=--config-file /etc/etcd/etcd.conf.yml"
+ExecStart=/usr/bin/etcd $ETCD_OPTS
+Restart=always
+RestartSec=10s
+LimitNOFILE=40000
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-db/etcd/files/etcd.tmpfiles.d.conf b/dev-db/etcd/files/etcd.tmpfiles.d.conf
index 721e9c9161a3..67a720ae29cf 100644
--- a/dev-db/etcd/files/etcd.tmpfiles.d.conf
+++ b/dev-db/etcd/files/etcd.tmpfiles.d.conf
@@ -1,2 +1,2 @@
-d /var/lib/etcd 0755 etcd etcd - -
-d /var/run/etcd 0755 etcd etcd - -
+d /var/lib/etcd 0700 etcd etcd - -
+d /run/etcd 0755 etcd etcd - -
diff --git a/dev-db/etcd/metadata.xml b/dev-db/etcd/metadata.xml
index 46163bd16f36..c5db413df944 100644
--- a/dev-db/etcd/metadata.xml
+++ b/dev-db/etcd/metadata.xml
@@ -2,10 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
- <bugs-to>https://github.com/coreos/etcd/issues</bugs-to>
- <changelog>https://raw.githubusercontent.com/coreos/etcd/master/CHANGELOG</changelog>
- <doc>https://github.com/coreos/etcd/blob/master/README.md/</doc>
- <remote-id type="github">coreos/etcd</remote-id>
+ <bugs-to>https://github.com/etcd-io/etcd/issues</bugs-to>
+ <remote-id type="github">etcd-io/etcd</remote-id>
</upstream>
<use>
<flag name="server">Installs etcd daemon</flag>
diff --git a/dev-db/firebird/Manifest b/dev-db/firebird/Manifest
index 51396b4f1a13..db16ce7c41f4 100644
--- a/dev-db/firebird/Manifest
+++ b/dev-db/firebird/Manifest
@@ -1,2 +1,18 @@
+DIST Firebird-3.0.10.33601-0.tar.bz2 13270269 BLAKE2B 1c30b002525287b239a6e24e59f146fdb61e1a9880cf66f2c59605b9f2a28c42603e21b2c5275e03a319af24c18f8fa5a7fa73f34c9a0d6c19e36e69864ad122 SHA512 0297a191ea1d0eda9557519d8ce6b7686cc3698a98b9c6c00547c2d36bf098083ae9d34b61614a7232b6195344bea1d66d2cbd3b092844b11f5b139162f8f886
DIST Firebird-3.0.4.33054-0.tar.bz2 9778106 BLAKE2B 4b9116cbc351e0c2e10d15e6ea8e9754a383da77d8e016337604143eb2677ff2519da34b1a5c2e9b7b071fa9774eddbb535e9f926058ee626573b0411f6c042d SHA512 a346ebd53aeccf0b33eac5d35c3c3356624c1fbd0ad897173b3f68d940143062b28460a2822df807e8e8a1ea8792ebf98ed33e5b3ae273d86e6e36295a7fc8ad
+DIST firebird-3-quickstartguide.pdf 392796 BLAKE2B ef867664d107a9ee6dba3d724a5696fafe07a84305f1827dbeb5acf33d54aada45fad4e37971419fc7c26dba9b99577844a33c6e566485059329a8717fa79c1d SHA512 480ed2e79f83741c5b0b268f07e1ac1e317fbd9572a6e646411dc7fb94e5f44187e90d50b6ce761fc5e562e5ad2abafe89b2766e651eb7a36dbcb9ed49c3289f
+DIST firebird-30-developers-guide.pdf 1747057 BLAKE2B 9bde38dd5e997fec7fe69ada2ab1d74b0d59c440dd7a67d49e87a9464d7955f3766dde63aa60caf3e320759c934ec9f4088deed06cfae1b98e4d7ae6de364f02 SHA512 6a2a5ba1334e4a45839a950dd7b9c0a136b71a7626212b8aad5d173e8afd9a89c20ae51bdc5d309ebc206e0ac5af79138c28a10c64585d6f51c497e784445760
+DIST firebird-30-language-reference.pdf 3130464 BLAKE2B 975550c77e1b9cfcd53eef023781f1a1bc2282b7ba7bcedd57027399cbd44ad06c35d3f58bdcb2bdb953abe8ab948149ea9c284bc37eb35770dd57369f6838cd SHA512 9f17737733e2dd6e3a3f367c97c7053508621bc97b37b16ba36e6fe3554bf60363e3c06bf55ac6703d65e66039da7c16b71b70187c45b2206f6191c543cc1e95
+DIST firebird-fbmgr.pdf 151933 BLAKE2B b57394745a90732ee74f86d903690e0906be4bd5da5663ef28bd6959eb96f2d0f712cc06079a9730d9efa58e75258673b77b7b72db7897928632d315ffe1b5e1 SHA512 68b255d0de427df071400097f95205b8417c358e66a80c91d068b5e567f0a210c5494598cce871c83564cfbcd04b2f805cb53074a933ef963e94f1d1552ea2c9
+DIST firebird-gbak.pdf 196327 BLAKE2B c79e360a58c79c39e87b84b2653bd5fad1b1d45df8f02c8b6279277ea32b191533be52146ce8c03c3858ea86d23300c00d6eb31c30f0d6b466b5131aac4a7d54 SHA512 8a58adf94ea93bf51e55c7a0fd3adb7b6fc1f5fcaf71e29934f7bc192b5cac7dbd97113acf2ecda36df5470de5ee20f0100b65ab2b260a2194b846c52e0d816f
+DIST firebird-generator-guide.pdf 172298 BLAKE2B a923cc6aa5bab82b40d49b255d5ed2482e30f390ae76bffcd51294f9ee2000b827696bcb15b5bc5d9224a5650faf195daf89938c73ebce22d1e31411522c5800 SHA512 a043b84a1e7dff6b240b4786de7155fce266091d11f2a088e6864087e7d24c42cc70e44816d6abebf003feccf2676f9f8bbbb612b00db00366aead01f7e08c00
+DIST firebird-gfix.pdf 250034 BLAKE2B 2073f5348d6bd5989ba2496aa59865bf107e08c7a8a4058866a53b482f5f8012d9f6877e7ceb5cbe42d1587d8d29f1fa6622f3e5842d241eeca8da1ae5afcb4b SHA512 2f8de1fe4b45012c0d08e9e5d85d9ed1269629ac95c1ede5a9c8ae69aa69570ebfebe0f313ba54d6f00e785818f8801831c581be8b5ab427b189d3857a2b73fc
+DIST firebird-gsec.pdf 146403 BLAKE2B f20ddaee95c968df7b348ef5516ea53e3e6e866fdb2848951bd3ae5ed68e491360a24b6fbd71e2cf8fd03555284bf60bf0623db11d7b2569050fd022716eea55 SHA512 e930da593a9c0a8cdc0a669012c73b05e5844fe946807308bbe5e7a8ccd9a98261c7f4690fa7e07cfb39930359e30fdbfbe9c012565bf279a3471badf5eb46fa
+DIST firebird-gsplit.pdf 106100 BLAKE2B fd1e7edf7e6ea9556594395602739daa51253becf61db011548d763782ae57c5a2618ed79b91faf94264c1c0faff643f3941b6be0912c57e5d4b75d22ad5defa SHA512 70dafc072a1265ee9db63902b58e52833ea2c7482a12030ac13c35e51e3b94dde746090a7a02060475bf85d5170348207816e3997102fd4e33820c695d7d3e57
+DIST firebird-gstat.pdf 162939 BLAKE2B c63825c52f85020c095b90e8482a6e5f38c752178b135331268b5c2800fcfe3a035ccc68c14b83219bff1cb864c9f405e851e64f44919854e7e8e7290f4ad94d SHA512 c711122d9d020505f8475cda5b3621361a4d48cc39545a5e840430f43cb4dd7c97280a91085499547c95ce4cf9229b4ffec0f68c008fc04d7918b14fb7b8ec8a
+DIST firebird-isql.pdf 369327 BLAKE2B 3ea02b7a7b97bf231d43906f2fc8feb79aba525f1cb642da834c68c436d81d2f4408bcfe287d4ace089d6f37d9b3c8dc002fa98121fe2819c27c7840482ca91c SHA512 5f85a7ef98ab68df08c1225efab5859e988e63c3c3083e2320966cc4bf0976f9bbb4bea43906752f1710c860b33dae92c118ce13217ba61ee3ee9b0052204a3c
+DIST firebird-metadata-security.pdf 117765 BLAKE2B 67075db42cca196f019eef15fd2474be6d92353f0697b134ee5d3bb1e4cc6cd5c38cd978236f289d6c9cc300d9ebc5ee856ad871f1bd1816b7d92d46ee0cffe3 SHA512 8f24ff48ff177fdd98dfc1272f43de979fc405139475bd630a8f1c10feaf773425c85704194b8245235c2c61c0f7ebaf9d0d1741b68323146630a1361ed478a4
+DIST firebird-nbackup.pdf 202108 BLAKE2B 5ee794890f69935ec238d946649d05a72c3108674781af546e279e3d6cbbb82bbf81789270ad284a365f05cc6fdbca108baf86c5cb4eeacd242960e12e54d6b2 SHA512 c8e83a8e2bf23f3bcb17277b07eb822d1ae2ed412d6d1881f60c7c3003f60f1b6fe09e5dd52367c62a9311f9a7057fe4c85dd0c64a93554556f31cefc45e18c1
+DIST firebird-null-guide.pdf 487359 BLAKE2B 346d942b7d4780496c2c212433660415437f6b17a42bb109aaf1cd8a8de31a394a1d2a3b52bb6dc1c3830bc839a692b611c7fe3289243e86ab874a84d989a7b8 SHA512 b5b9981a3f15fe933a44deb001d1d85b0dc340ae0ff55e79d160da8590406515f0ba73360a3904556aa36d94cdafb17fe2452b5f63138cb1f585d70842511cd3
DIST ib_b60_doc.zip 10530848 BLAKE2B b4008b3e8b0416014d024cbbc9ac2e648ad671c71b91b7aeb0eedf0f8479aef80e22aff7105c5e7417e88bcf57f2cdacbc2d5f51a2ef7fb870f9d361c5f0ed6d SHA512 59eccf1d6b1f0410eddbc5967fd77a3d00e09749640b3f81e2f8b624f5a45461dffad4af5ec61488e941fb3d3af266fe86c0b56e6b7e023239537cb6557a145a
+DIST using-firebird.pdf 236646 BLAKE2B 54b296ac8c6281ff501678a24dac76e203a66e569b1cda7dc475a7fe9bbed9fc03923377c320a621a225d0277fc68cfb9820514d3f12191902cdeb18ccb87270 SHA512 ec16c33082524aa5df8907c1143a8707f1193c42882956c220e6c95442d43751ec3e2ba77ded004866f7dab7f58ecf4fac3a0027cf89ec7536c0771260f09cc4
diff --git a/dev-db/firebird/files/firebird-3.0.10.33601.0-configure-autoconf2.72.patch b/dev-db/firebird/files/firebird-3.0.10.33601.0-configure-autoconf2.72.patch
new file mode 100644
index 000000000000..29cca62fc790
--- /dev/null
+++ b/dev-db/firebird/files/firebird-3.0.10.33601.0-configure-autoconf2.72.patch
@@ -0,0 +1,21 @@
+https://github.com/FirebirdSQL/firebird/commit/3fe8f6510de79689a26868e244840b24dcb19567
+
+From 3fe8f6510de79689a26868e244840b24dcb19567 Mon Sep 17 00:00:00 2001
+From: AlexPeshkoff <alexander.peshkoff@gmail.com>
+Date: Wed, 23 Nov 2022 20:30:03 +0300
+Subject: [PATCH] Fixed #7394: autoconf 2.72 support
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -696,8 +696,9 @@ if test "$STD_EDITLINE" = "true"; then
+ AC_CHECK_LIB(readline, readline, [READLINE=readline EDITLINE_FLG=Y],
+ [STD_EDITLINE=false
+ if test "$EDITLINE_FLG" = "Y"; then
+- AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])])))
++ AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])
+ fi
++ ])))
+ fi
+ XE_RESTORE_ENV()
+
+
diff --git a/dev-db/firebird/files/firebird-3.0.10.33601.0-configure-clang16.patch b/dev-db/firebird/files/firebird-3.0.10.33601.0-configure-clang16.patch
new file mode 100644
index 000000000000..06d6907369ca
--- /dev/null
+++ b/dev-db/firebird/files/firebird-3.0.10.33601.0-configure-clang16.patch
@@ -0,0 +1,48 @@
+https://github.com/FirebirdSQL/firebird/pull/7407
+
+From a39cde31c4c78866c8f8ee0285fc4bcb81496d81 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 1 Dec 2022 18:26:06 +0100
+Subject: [PATCH] configure.ac: Add missing int return types to main
+
+Implicit ints are a language feature that was removed in C99 and
+future compilers may require declaration of all return types.
+--- a/configure.ac
++++ b/configure.ac
+@@ -1118,7 +1118,7 @@ AC_CHECK_FUNCS(sem_init)
+ if test "$ac_cv_func_sem_init" = "yes"; then
+ AC_MSG_CHECKING(for working sem_init())
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h>
+- main () {
++ int main () {
+ sem_t s;
+ return sem_init(&s,0,0);
+ }
+@@ -1159,7 +1159,7 @@ AC_SYS_LARGEFILE
+ if test "$ac_cv_sys_file_offset_bits" = "no"; then
+ AC_MSG_CHECKING(for native large file support)
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <unistd.h>
+- main () {
++ int main () {
+ return !(sizeof(off_t) == 8);
+ }]])],[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
+ AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)],[])
+@@ -1206,7 +1206,7 @@ dnl EKU: try to determine the alignment of long and double
+ dnl replaces FB_ALIGNMENT and FB_DOUBLE_ALIGN in src/jrd/common.h
+ AC_MSG_CHECKING(alignment of long)
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h>
+-main () {
++int main () {
+ struct s {
+ char a;
+ union { long long x; sem_t y; } b;
+@@ -1217,7 +1217,7 @@ AC_MSG_RESULT($ac_cv_c_alignment)
+ AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_c_alignment, [Alignment of long])
+
+ AC_MSG_CHECKING(alignment of double)
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[main () {
++AC_RUN_IFELSE([AC_LANG_SOURCE([[int main () {
+ struct s {
+ char a;
+ double b;
+
diff --git a/dev-db/firebird/files/firebird-3.0.10.33601.0-flags.patch b/dev-db/firebird/files/firebird-3.0.10.33601.0-flags.patch
new file mode 100644
index 000000000000..a0ecef4693c4
--- /dev/null
+++ b/dev-db/firebird/files/firebird-3.0.10.33601.0-flags.patch
@@ -0,0 +1,25 @@
+# Compile externs with same CXX/CC/CFLAGS/CXXFLAGS/LDFLAGS as main
+--- a/builds/posix/Makefile.in
++++ b/builds/posix/Makefile.in
+@@ -127,8 +127,8 @@
+ endif
+
+ extern:
+- $(MAKE) -C $(ROOT)/extern/btyacc
+- $(MAKE) -C $(ROOT)/extern/cloop TARGET=release WITH_FPC=0 BUILD_DIR=$(TMP_ROOT)/cloop OUT_DIR=$(GEN_ROOT)/$(TARGET)/cloop
++ $(MAKE) -C $(ROOT)/extern/btyacc CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
++ $(MAKE) -C $(ROOT)/extern/cloop TARGET=release WITH_FPC=0 BUILD_DIR=$(TMP_ROOT)/cloop OUT_DIR=$(GEN_ROOT)/$(TARGET)/cloop CXX="$(CXX)" CXXFLAGS="$(OPTIMIZE_FLAGS)" CFLAGS="${CFLAGS}" CC="${CC}" LDFLAGS="$(LDDFLAGS)"
+
+ ifeq ($(TOMBUILD_FLG),Y)
+ $(MAKE) -C $(ROOT)/extern/libtommath -f makefile.shared LIBTOOL=$(LIBTOOL)
+@@ -592,8 +592,8 @@
+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(call LINK_DARWIN_RPATH,..)
+
+ examples: include_generic
+- $(MAKE) -f Makefile.examples -C $(GEN_ROOT)/examples/
+- $(MAKE) -f Makefile.plugins_examples
++ $(MAKE) -f Makefile.examples -C $(GEN_ROOT)/examples/ CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}"
++ $(MAKE) -f Makefile.plugins_examples CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}"
+
+ message_file: $(FIREBIRD_MSG)
+
diff --git a/dev-db/firebird/files/firebird-3.0.10.33601.0-unbundle.patch b/dev-db/firebird/files/firebird-3.0.10.33601.0-unbundle.patch
new file mode 100644
index 000000000000..4e5399f198b6
--- /dev/null
+++ b/dev-db/firebird/files/firebird-3.0.10.33601.0-unbundle.patch
@@ -0,0 +1,97 @@
+Partly based on:
+- https://github.com/freebsd/freebsd-ports/blob/main/databases/firebird30-server/files/patch-builds-posix_Makefile.in.plugins_examples
+- https://github.com/freebsd/freebsd-ports/blob/main/databases/firebird30-server/files/patch-extern_btyacc_Makefile
+- https://github.com/freebsd/freebsd-ports/blob/main/databases/firebird30-server/files/patch-extern_cloop_Makefile
+- https://github.com/freebsd/freebsd-ports/blob/main/databases/firebird30-server/files/patch-builds_posix_make.defaults
+--- a/builds/posix/Makefile.in
++++ b/builds/posix/Makefile.in
+@@ -688,8 +688,8 @@ install install-embedded silent_install package packages dist:
+ # various cleaning
+ #
+ .PHONY: clean clean_objects clean_dependancies clean_extern_objects clean_build \
+- clean_gpre_gen clean_icu clean_dbs clean_examples clean_makefiles \
+- clean_editline clean_all
++ clean_gpre_gen clean_dbs clean_examples clean_makefiles \
++ clean_all
+
+
+ clean: clean_objects clean_dependancies clean_extern_objects clean_build \
+@@ -708,8 +708,6 @@ clean_config clean_all: clean clean_makefiles
+ $(RM) $(ROOT)/config.status
+ $(RM) $(ROOT)/libtool
+ $(RM_R) $(ROOT)/autom4te.cache
+- -$(MAKE) -C $(ROOT)/extern/editline distclean
+-# -$(MAKE) -C $(ROOT)/extern/icu/source distclean
+ -$(MAKE) -C $(ROOT)/extern/btyacc distclean
+
+ clean_dbs:
+@@ -724,12 +722,6 @@ clean_dbs:
+ clean_examples:
+ $(RM) `find $(GEN_ROOT)/examples/ -type f ! -name 'Make*'`
+
+-clean_editline:
+- -$(MAKE) -C $(ROOT)/extern/editline clean
+-
+-#clean_icu:
+-# -$(MAKE) -C $(ROOT)/extern/icu/source clean
+-
+ clean_tommath:
+ -$(MAKE) -C $(ROOT)/extern/libtommath clean
+
+--- a/builds/posix/Makefile.in.plugins_examples
++++ b/builds/posix/Makefile.in.plugins_examples
+@@ -99,7 +99,7 @@ AllObjects += $(CA_Objects)
+ crypt_app: $(CRYPT_APP)
+
+ $(CRYPT_APP): $(CA_Objects)
+- $(EXE_LINK) $^ -o $@ $(FIREBIRD_LIBRARY_LINK)
++ $(EXE_LINK) $(LDFLAGS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK)
+
+
+ include $(ROOT)/gen/make.shared.targets
+--- a/builds/posix/make.defaults
++++ b/builds/posix/make.defaults
+@@ -240,7 +240,7 @@ LIBFBINTL_SO = $(FB_BUILD)/intl/$(LIB_PREFIX)fbintl.$(SHRLIB_EXT)
+
+ ifeq ($(EDITLINE_FLG),Y)
+ ifeq ($(STD_EDITLINE), true)
+- LIBEDITLINE := -l$(READLINE)
++ LIBEDITLINE := $(shell ${PKG_CONFIG} libedit --libs)
+ else
+ LIBEDITLINE := $(LIB)/libedit.a
+ endif
+--- a/extern/btyacc/Makefile
++++ b/extern/btyacc/Makefile
+@@ -42,7 +42,7 @@ OTHERS = README README.BYACC \
+ all: $(PROGRAM)
+
+ $(PROGRAM): $(OBJS) $(LIBS)
+- $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
+
+ clean:; rm -f $(OBJS)
+
+--- a/extern/cloop/Makefile
++++ b/extern/cloop/Makefile
+@@ -6,7 +6,7 @@ TARGET := release
+
+ CC := $(CC)
+ CXX := $(CXX)
+-LD := $(CXX)
++LD := $(CXX) $(LDFLAGS)
+
+ SRC_DIR := src
+ BUILD_DIR := build
+@@ -27,8 +27,10 @@ SRCS_CPP := $(foreach sdir,$(SRC_DIRS),$(wildcard $(sdir)/*.cpp))
+ OBJS_C := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS_C))
+ OBJS_CPP := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRCS_CPP))
+
+-C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter
+-CXX_FLAGS := $(C_FLAGS)
++
++COMMON_C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter
++C_FLAGS := $(COMMON_C_FLAGS) $(CFLAGS) $(CPPFLAGS)
++CXX_FLAGS := $(COMMON_C_FLAGS) $(CXXFLAGS) $(CPPFLAGS)
+ FPC_FLAGS := -Mdelphi
+
+ ifeq ($(TARGET),release)
diff --git a/dev-db/firebird/files/firebird.init.d.3.0-r1 b/dev-db/firebird/files/firebird.init.d.3.0-r1
new file mode 100644
index 000000000000..c49ea97f9203
--- /dev/null
+++ b/dev-db/firebird/files/firebird.init.d.3.0-r1
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+name=${RC_SVCNAME}
+
+fbhomedir="/var/run/firebird"
+fblogdir="/var/log/firebird"
+pidfile="${fbhomedir}/firebird.pid"
+command="/usr/sbin/fbguard"
+command_args="-forever"
+command_args_background="-daemon -pidfile $pidfile"
+command_user="${FBUSER:-firebird}:${FBGROUP:-firebird}"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -q -d -m 0770 -o ${FBUSER:-firebird}:${FBGROUP:-firebird} ${fbhomedir} || return 1
+ checkpath -q -d -m 0770 -o ${FBUSER:-firebird}:${FBGROUP:-firebird} ${fblogdir} || return 1
+}
diff --git a/dev-db/firebird/firebird-3.0.10.33601.0-r1.ebuild b/dev-db/firebird/firebird-3.0.10.33601.0-r1.ebuild
new file mode 100644
index 000000000000..cf1793d314a8
--- /dev/null
+++ b/dev-db/firebird/firebird-3.0.10.33601.0-r1.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P=${PN/f/F}-$(ver_rs 4 '-')
+inherit autotools flag-o-matic
+
+DESCRIPTION="Relational database offering many ANSI SQL:2003 and some SQL:2008 features"
+HOMEPAGE="https://www.firebirdsql.org/"
+
+SRC_URI="
+ https://github.com/FirebirdSQL/firebird/releases/download/v$(ver_cut 1-3)/${MY_P}.tar.bz2
+ doc? (
+ https://firebirdsql.org/file/documentation/pdf/en/refdocs/fblangref30/firebird-30-language-reference.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/qsg3/firebird-3-quickstartguide.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/refdocs/fbdevgd30/firebird-30-developers-guide.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/isql/firebird-isql.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/gsec/firebird-gsec.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/gbak/firebird-gbak.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/nbackup/firebird-nbackup.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/gstat/firebird-gstat.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/gfix/firebird-gfix.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/fbmgr/firebird-fbmgr.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/gsplit/firebird-gsplit.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/generatorguide/firebird-generator-guide.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/nullguide/firebird-null-guide.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/fbmetasecur/firebird-metadata-security.pdf
+ https://firebirdsql.org/file/documentation/pdf/en/firebirddocs/ufb/using-firebird.pdf
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="IDPL Interbase-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="doc examples +server xinetd"
+
+BDEPEND="
+ doc? ( app-arch/unzip )
+"
+# FIXME: cloop?
+DEPEND="
+ dev-libs/icu:=
+ dev-libs/libedit
+ dev-libs/libtommath
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/firebird
+ acct-user/firebird
+ xinetd? ( virtual/inetd )
+ !sys-cluster/ganglia
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.10.33601.0-unbundle.patch
+ "${FILESDIR}"/${PN}-3.0.10.33601.0-flags.patch
+ "${FILESDIR}"/${P}-configure-autoconf2.72.patch
+ "${FILESDIR}"/${P}-configure-clang16.patch
+)
+
+pkg_pretend() {
+ if [[ -e /var/run/${PN}/${PN}.pid ]] ; then
+ ewarn
+ ewarn "The presence of server connections may prevent isql or gsec"
+ ewarn "from establishing an embedded connection. Accordingly,"
+ ewarn "creating employee.fdb or security3.fdb could fail."
+ ewarn "It is more secure to stop the firebird daemon before running emerge."
+ ewarn
+ fi
+}
+
+check_sed() {
+ MSG="sed of $3, required $2 line(s) modified $1"
+ einfo "${MSG}"
+ [[ $1 -ge $2 ]] || die "${MSG}"
+}
+
+src_prepare() {
+ default
+
+ # Rename references to isql to fbsql
+ # sed vs patch for portability and addtional location changes
+ check_sed "$(sed -i -e 's:"isql :"fbsql :w /dev/stdout' \
+ src/isql/isql.epp | wc -l)" "1" "src/isql/isql.epp" # 1 line
+ check_sed "$(sed -i -e 's:isql :fbsql :w /dev/stdout' \
+ src/msgs/history2.sql | wc -l)" "4" "src/msgs/history2.sql" # 4 lines
+ check_sed "$(sed -i -e 's:--- ISQL:--- FBSQL:w /dev/stdout' \
+ -e 's:isql :fbsql :w /dev/stdout' \
+ -e 's:ISQL :FBSQL :w /dev/stdout' \
+ src/msgs/messages2.sql | wc -l)" "6" "src/msgs/messages2.sql" # 6 lines
+
+ # use gentoo's CXXFLAGS instead of whatever firebird decided on
+ # doesn't replace all firebird's CXXFLAGS, but at least this is last,
+ # so it can do some overrides
+ sed -i -e "/OPTIMIZE_FLAGS=/s/=.*/=${CXXFLAGS}/" builds/posix/prefix.*
+
+ find . -name \*.sh -exec chmod +x {} + || die
+ # firebird's patched btyacc is needed now as of
+ # https://github.com/FirebirdSQL/firebird/commit/9aab6ed8cc6872e2ebc6bfa2531e089cb96e8305#diff-a01303d63fcb967bea34359c3c7f79e4356d6549ab22a1a9190e8020c0b33a3d
+ rm -r extern/{editline,icu} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+
+ local myeconfargs=(
+ --prefix=/usr/$(get_libdir)/firebird
+ --with-editline
+ --with-system-editline
+ --with-fbbin=/usr/bin
+ --with-fbsbin=/usr/sbin
+ --with-fbconf=/etc/${PN}
+ --with-fblib=/usr/$(get_libdir)
+ --with-fbinclude=/usr/include
+ --with-fbdoc=/usr/share/doc/${PF}
+ --with-fbudf=/usr/$(get_libdir)/${PN}/UDF
+ --with-fbsample=/usr/share/${PN}/examples
+ --with-fbsample-db=/usr/share/${PN}/examples/empbuild
+ --with-fbhelp=/usr/share/${PN}/help
+ --with-fbintl=/usr/$(get_libdir)/${PN}/intl
+ --with-fbmisc=/usr/share/${PN}
+ --with-fbsecure-db=/etc/${PN}
+ --with-fbmsg=/usr/share/${PN}/msg
+ --with-fblog=/var/log/${PN}/
+ --with-fbglock=/var/run/${PN}
+ --with-fbplugins=/usr/$(get_libdir)/${PN}/plugins
+ --with-gnu-ld
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+# from linux underground, merging into this here
+src_install() {
+ if use doc; then
+ dodoc -r doc
+
+ local x
+ for x in ${A}; do
+ if [[ ${x} == *.pdf ]] ; then
+ dodoc "${DISTDIR}"/${x}
+ fi
+ done
+ fi
+
+ cd "${S}/gen/Release/${PN}" || die
+
+ doheader include/*
+ dolib.so lib/*.so*
+
+ # links for backwards compatibility
+ insinto /usr/$(get_libdir)
+ dosym libfbclient.so /usr/$(get_libdir)/libgds.so
+ dosym libfbclient.so /usr/$(get_libdir)/libgds.so.0
+ dosym libfbclient.so /usr/$(get_libdir)/libfbclient.so.1
+
+ insinto /usr/share/${PN}/msg
+ doins *.msg
+
+ use server || return
+
+ einfo "Renaming isql -> fbsql"
+ mv bin/isql bin/fbsql || die "failed to rename isql -> fbsql"
+
+ dobin bin/{fb_config,fbsql,fbsvcmgr,fbtracemgr,gbak,gfix,gpre,gsec,gsplit,gstat,nbackup,qli}
+ dosbin bin/{firebird,fbguard,fb_lock_print}
+
+ insinto /usr/share/${PN}/help
+ # why???
+ insopts -m0660 -o firebird -g firebird
+ doins help/help.fdb
+
+ exeinto /usr/$(get_libdir)/${PN}/intl
+ doexe intl/libfbintl.so
+ dosym libfbintl.so /usr/$(get_libdir)/${PN}/intl/fbintl.so
+
+ insinto /usr/$(get_libdir)/${PN}/intl
+ insopts -m0644 -o root -g root
+ doins intl/fbintl.conf
+
+ # plugins
+ exeinto /usr/$(get_libdir)/${PN}/plugins
+ doexe plugins/*.so
+ exeinto /usr/$(get_libdir)/${PN}/plugins/udr
+ doexe plugins/udr/*.so
+
+ exeinto /usr/$(get_libdir)/${PN}/UDF
+ doexe UDF/*.so
+
+ # logging (do we really need the perms?)
+ diropts -m 755 -o firebird -g firebird
+ dodir /var/log/${PN}
+ keepdir /var/log/${PN}
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # configuration files
+ insinto /etc/${PN}/plugins
+ doins plugins/udr_engine.conf
+ insinto /etc/${PN}
+ doins {databases,fbtrace,firebird,plugins}.conf
+
+ # install secutity3.fdb
+ insopts -m0660 -o firebird -g firebird
+ doins security3.fdb
+
+ if use xinetd; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd.3.0" ${PN}
+ else
+ newinitd "${FILESDIR}/${PN}.init.d.3.0-r1" ${PN}
+ fi
+
+ if use examples; then
+ cd examples || die
+ insinto /usr/share/${PN}/examples
+ insopts -m0644 -o root -g root
+ doins -r api
+ doins -r dbcrypt
+ doins -r include
+ doins -r interfaces
+ doins -r package
+ doins -r stat
+ doins -r udf
+ doins -r udr
+ doins CMakeLists.txt
+ doins functions.c
+ doins README
+ insinto /usr/share/${PN}/examples/empbuild
+ insopts -m0660 -o firebird -g firebird
+ doins empbuild/employee.fdb
+ fi
+
+ elog "Starting with version 3, server mode is set in firebird.conf"
+ elog "The default setting is superserver."
+ elog
+ elog "If you're using UDFs, please remember to move them to ${EPREFIX}/usr/$(get_libdir)/firebird/UDF"
+}
diff --git a/dev-db/firebird/firebird-3.0.4.33054.0-r1.ebuild b/dev-db/firebird/firebird-3.0.4.33054.0-r2.ebuild
index 02ac62b72c4c..171554c2aebe 100644
--- a/dev-db/firebird/firebird-3.0.4.33054.0-r1.ebuild
+++ b/dev-db/firebird/firebird-3.0.4.33054.0-r2.ebuild
@@ -1,16 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_P=${PN/f/F}-$(ver_rs 4 '-')
-inherit autotools flag-o-matic user
+inherit autotools flag-o-matic
DESCRIPTION="Relational database offering many ANSI SQL:2003 and some SQL:2008 features"
HOMEPAGE="https://www.firebirdsql.org/"
SRC_URI="
https://github.com/FirebirdSQL/firebird/releases/download/R$(ver_rs 1-3 '_' $(ver_cut 1-3))/${MY_P}.tar.bz2
- doc? ( ftp://ftpc.inprise.com/pub/interbase/techpubs/ib_b60_doc.zip )"
+ doc? ( ftp://ftpc.inprise.com/pub/interbase/techpubs/ib_b60_doc.zip )
+"
+S="${WORKDIR}/${MY_P}"
LICENSE="IDPL Interbase-1.0"
SLOT="0"
@@ -27,13 +29,14 @@ DEPEND="
dev-libs/libedit
dev-libs/libtommath
"
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
+ acct-group/firebird
+ acct-user/firebird
xinetd? ( virtual/inetd )
!sys-cluster/ganglia
"
-S="${WORKDIR}/${MY_P}"
-
PATCHES=(
"${FILESDIR}"/${PN}-3.0.2.32703.0-unbundle.patch
"${FILESDIR}"/${PN}-3.0.2.32703.0-cloop-compiler.patch
@@ -50,11 +53,6 @@ pkg_pretend() {
fi
}
-pkg_setup() {
- enewgroup firebird 450
- enewuser firebird 450 /bin/sh /usr/$(get_libdir)/firebird firebird
-}
-
check_sed() {
MSG="sed of $3, required $2 line(s) modified $1"
einfo "${MSG}"
diff --git a/dev-db/firebird/metadata.xml b/dev-db/firebird/metadata.xml
index b42ab3611d47..1183b4f3ae97 100644
--- a/dev-db/firebird/metadata.xml
+++ b/dev-db/firebird/metadata.xml
@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="project">
+ <email>office@gentoo.org</email>
+ </maintainer>
<longdescription>
Firebird is a relational database offering many ANSI SQL standard
features that runs on Linux, Windows, and a variety of Unix platforms.
@@ -14,8 +17,6 @@
</use>
<upstream>
<remote-id type="sourceforge">firebird</remote-id>
+ <remote-id type="github">FirebirdSQL/firebird</remote-id>
</upstream>
- <maintainer type="project">
- <email>office@gentoo.org</email>
- </maintainer>
</pkgmetadata>
diff --git a/dev-db/freetds/freetds-1.2.18.ebuild b/dev-db/freetds/freetds-1.2.18.ebuild
index 50ee8acd8d37..d76511a638fe 100644
--- a/dev-db/freetds/freetds-1.2.18.ebuild
+++ b/dev-db/freetds/freetds-1.2.18.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ 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 ~riscv ~s390 sparc x86 ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos"
IUSE="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs"
# iODBC and unixODBC are mutually-exclusive choices for
@@ -23,7 +23,7 @@ REQUIRED_USE="?? ( iodbc odbc )"
RESTRICT="test"
-COMMON_DEPEND="virtual/awk
+COMMON_DEPEND="app-alternatives/awk
gnutls? ( net-libs/gnutls:= )
iconv? ( virtual/libiconv )
iodbc? ( dev-db/libiodbc )
diff --git a/dev-db/freetds/metadata.xml b/dev-db/freetds/metadata.xml
index f6065763dbe6..778555752459 100644
--- a/dev-db/freetds/metadata.xml
+++ b/dev-db/freetds/metadata.xml
@@ -4,5 +4,6 @@
<!-- maintainer-needed -->
<upstream>
<remote-id type="cpe">cpe:/a:freetds:freetds</remote-id>
+ <remote-id type="github">FreeTDS/freetds</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/futuresql/Manifest b/dev-db/futuresql/Manifest
new file mode 100644
index 000000000000..2a7052c288cf
--- /dev/null
+++ b/dev-db/futuresql/Manifest
@@ -0,0 +1 @@
+DIST futuresql-0.1.1.tar.xz 27844 BLAKE2B d2f335c7a64b44b32785e2bf8522ca3670450ff2ec5190aa2ff296198e2ac62985e51dacb890566b24a52c54f6300688f17cbb208055d7b4a3ee007d19415d81 SHA512 ce9cd927c6da3ca7351640cc2c36854c1a728ec5c24517e61772e3571d56bcaa2221cfe05127f78554bd9d2b2d72bd46e911834c9fb1e9b89bd96b84b39bda16
diff --git a/dev-db/futuresql/futuresql-0.1.1.ebuild b/dev-db/futuresql/futuresql-0.1.1.ebuild
new file mode 100644
index 000000000000..acad2895fac0
--- /dev/null
+++ b/dev-db/futuresql/futuresql-0.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_EXAMPLES="true"
+ECM_TEST="true"
+KDE_ORG_CATEGORY="libraries"
+KFMIN=5.249.0
+inherit ecm kde.org
+
+DESCRIPTION="Non-blocking Qt database framework"
+HOMEPAGE="https://api.kde.org/futuresql/html/index.html https://invent.kde.org/libraries/futuresql"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-qt/qtbase:6[sql]"
+DEPEND="${RDEPEND}
+ examples? ( dev-libs/qcoro )
+ test? ( dev-libs/qcoro )
+"
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ fi
+ ecm_src_install
+}
diff --git a/dev-db/mtop/metadata.xml b/dev-db/futuresql/metadata.xml
index 8dd097be54f1..9049183544a1 100644
--- a/dev-db/mtop/metadata.xml
+++ b/dev-db/futuresql/metadata.xml
@@ -2,10 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge">mtop</remote-id>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/futuresql</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/futuresql5/Manifest b/dev-db/futuresql5/Manifest
new file mode 100644
index 000000000000..2a7052c288cf
--- /dev/null
+++ b/dev-db/futuresql5/Manifest
@@ -0,0 +1 @@
+DIST futuresql-0.1.1.tar.xz 27844 BLAKE2B d2f335c7a64b44b32785e2bf8522ca3670450ff2ec5190aa2ff296198e2ac62985e51dacb890566b24a52c54f6300688f17cbb208055d7b4a3ee007d19415d81 SHA512 ce9cd927c6da3ca7351640cc2c36854c1a728ec5c24517e61772e3571d56bcaa2221cfe05127f78554bd9d2b2d72bd46e911834c9fb1e9b89bd96b84b39bda16
diff --git a/dev-db/futuresql5/futuresql5-0.1.1.ebuild b/dev-db/futuresql5/futuresql5-0.1.1.ebuild
new file mode 100644
index 000000000000..cd018a1df132
--- /dev/null
+++ b/dev-db/futuresql5/futuresql5-0.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_EXAMPLES="true"
+ECM_TEST="true"
+KDE_ORG_NAME="${PN/5/}"
+inherit ecm kde.org
+
+DESCRIPTION="Non-blocking Qt database framework"
+HOMEPAGE="https://api.kde.org/futuresql/html/index.html https://invent.kde.org/libraries/futuresql"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN/5/}/${KDE_ORG_NAME}-${PV}.tar.xz"
+ S="${WORKDIR}/${KDE_ORG_NAME}-${PV}"
+ KEYWORDS="amd64 arm64 ~riscv x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-qt/qtsql:5"
+DEPEND="${RDEPEND}
+ examples? ( dev-libs/qcoro5 )
+ test? ( dev-libs/qcoro5 )
+"
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ fi
+ ecm_src_install
+}
diff --git a/dev-db/futuresql5/metadata.xml b/dev-db/futuresql5/metadata.xml
new file mode 100644
index 000000000000..9049183544a1
--- /dev/null
+++ b/dev-db/futuresql5/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/futuresql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/gigabase/Manifest b/dev-db/gigabase/Manifest
deleted file mode 100644
index 1f22a68d7a31..000000000000
--- a/dev-db/gigabase/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gigabase-3.83.tar.gz 1746301 BLAKE2B f9168a7182f2a152a36a9bda12c91f3f2507f17a28e3cac9a58ed25795fdee73e397021ef46f3ad75dffb2f76b81c47d3d8d4cc900b1345619939e450daa6e9a SHA512 df2eab9b8ceae831c24a25f010cf06ebdd38fdf2f7478116b0d769092d6e4575c5c95222562410752df462a8bf3cc2f205c05d3adfaeb1634e82f443529957e5
diff --git a/dev-db/gigabase/files/gigabase-3.83-cpp14.patch b/dev-db/gigabase/files/gigabase-3.83-cpp14.patch
deleted file mode 100644
index 47d2a1a540ff..000000000000
--- a/dev-db/gigabase/files/gigabase-3.83-cpp14.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This patch fixes GCC6 (C++14) compilation errors. It replaces two invalid macro
-calls with correct code in one place. It also removes redefinitions of fmax and
-fmin functions which exist in standard library since C++11.
-Gentoo-bug: https://bugs.gentoo.org/show_bug.cgi?id=594550
-
---- a/testddl.cpp
-+++ b/testddl.cpp
-@@ -102,8 +102,13 @@
-
- REGISTER(Record);
-
-+#if __cplusplus < 201103L
- USER_FUNC(sin);
- USER_FUNC(cos);
-+#else
-+static dbUserFunction fsin_descriptor((double (*)(double))&sin, STRLITERAL("sin"));
-+static dbUserFunction fcos_descriptor((double (*)(double))&cos, STRLITERAL("cos"));
-+#endif
-
- int __cdecl main()
- {
---- a/testtimeseries.cpp
-+++ b/testtimeseries.cpp
-@@ -47,8 +47,10 @@
- REGISTER(Stock);
-
- inline int random(unsigned mod) { return rand() % mod; }
-+#if __cplusplus < 201103L
- inline float fmax(float x, float y) { return x > y ? x : y; }
- inline float fmin(float x, float y) { return x < y ? x : y; }
-+#endif
-
- int main(int argc, char* argv[])
- {
diff --git a/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch b/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch
deleted file mode 100644
index d807bc9a7fdb..000000000000
--- a/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Fix build system to respect DESTDIR and rename subsql to subsql-gdb,
-in order to avoid name clash with FastDB version of subsql.
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -21,7 +21,7 @@
- # Place where to copy Gigabase library
- libdir = @libdir@
-
--# Place where to copy Gigabase subsql utility
-+# Place where to copy Gigabase subsql-gdb utility
- bindir = @bindir@
-
- VERSION = 2
-@@ -42,7 +42,7 @@
-
- GB_LIB = libgigabase$(SUFF).${LIBEXT}
- CLI_LIB = libcli$(SUFF).${LIBEXT}
--EXES = subsql
-+EXES = subsql-gdb
-
- EXAMPLES = guess testdb testjoin testddl testperf testspat testperf2 testsync testiref testtrav testidx testidx2 clitest testblob testleak testsession testtimeseries testtl
- WEB_EXAMPLES = cgistub bugdb clidb
-@@ -90,8 +90,8 @@
- clitest: clitest.o $(CLI_LIB)
- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o clitest clitest.o $(CLI_LIB) $(SOCKLIBS)
-
--subsql: subsql.o $(GB_LIB)
-- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o subsql subsql.o $(GB_LIB) $(SOCKLIBS)
-+subsql-gdb: subsql.o $(GB_LIB)
-+ $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o subsql-gdb subsql.o $(GB_LIB) $(SOCKLIBS)
-
- bugdb: bugdb.o $(GB_LIB)
- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o bugdb bugdb.o $(GB_LIB) $(SOCKLIBS)
-@@ -153,18 +153,18 @@
- testleak: testleak.o $(GB_LIB)
- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o testleak testleak.o $(GB_LIB) $(SLHACK)
-
--install: subsql $(GB_LIB) $(CLI_LIB)
-- mkdir -p $(includedir)
-- cp $(INCS) $(CLI_INCS) $(includedir)
-- mkdir -p $(libdir)
-- $(LIBTOOL) --mode=install $(INSTALL) $(GB_LIB) $(CLI_LIB) $(libdir)
-- mkdir -p $(bindir)
-- if test -x .libs/subsql ; then \
-- cp .libs/subsql $(bindir); \
-+install: subsql-gdb $(GB_LIB) $(CLI_LIB)
-+ mkdir -p $(DESTDIR)$(includedir)
-+ cp $(INCS) $(CLI_INCS) $(DESTDIR)$(includedir)
-+ mkdir -p $(DESTDIR)$(libdir)
-+ $(LIBTOOL) --mode=install $(INSTALL) $(GB_LIB) $(CLI_LIB) $(DESTDIR)$(libdir)
-+ mkdir -p $(DESTDIR)$(bindir)
-+ if test -x .libs/subsql-gdb ; then \
-+ cp .libs/subsql-gdb $(DESTDIR)$(bindir); \
- else \
-- cp subsql $(bindir); \
-+ cp subsql-gdb $(DESTDIR)$(bindir); \
- fi
--# strip $(bindir)/subsql
-+# strip $(bindir)/subsql-gdb
-
- clean:
- rm -f *.o *.lo core *~
diff --git a/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch b/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch
deleted file mode 100644
index d2f0669d24fa..000000000000
--- a/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch
+++ /dev/null
@@ -1,182 +0,0 @@
---- a/session.cpp
-+++ b/session.cpp
-@@ -131,7 +131,7 @@
- throw CursorException("Cursor is not opened");
- }
- fillBuffer(sizeof(oid_t));
-- oid_t currOid = *(oid_t*)&sockBuf[bufPos];
-+ oid_t currOid = *(oid_t*)(sockBuf + bufPos);
- bufPos += sizeof(oid_t);
- if (currObj != NULL) {
- delete[] currObj;
-@@ -139,7 +139,7 @@
- }
- if (currOid != 0) {
- fillBuffer(sizeof(int));
-- size_t size = *(int*)&sockBuf[bufPos];
-+ size_t size = *(int*)(sockBuf + bufPos);
- if (size <= SOCKET_BUFFER_SIZE) {
- fillBuffer(size);
- if (record != NULL) {
---- a/database.cpp
-+++ b/database.cpp
-@@ -739,40 +739,55 @@
- return;
-
- case dbvmInvokeMethodBool:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.bvalue);
-- sattr.bvalue = *(bool*)&sattr.bvalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ bool val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.bvalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt1:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
-- sattr.ivalue = *(int1*)&sattr.ivalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ int1 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.ivalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt2:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
-- sattr.ivalue = *(int2*)&sattr.ivalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ int2 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.ivalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt4:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
-- sattr.ivalue = *(int4*)&sattr.ivalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ int4 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.ivalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt8:
- execute(expr->ref.base, iattr, sattr);
- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
- iattr.free(sattr);
- return;
- case dbvmInvokeMethodReal4:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.fvalue);
-- sattr.fvalue = *(real4*)&sattr.fvalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ real4 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.fvalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodReal8:
- execute(expr->ref.base, iattr, sattr);
- expr->ref.field->method->invoke(sattr.base, &sattr.fvalue);
-@@ -792,28 +807,43 @@
- return;
-
- case dbvmInvokeSelfMethodBool:
-- expr->ref.field->method->invoke(iattr.record, &sattr.bvalue);
-- sattr.bvalue = *(bool*)&sattr.bvalue;
-- return;
-+ {
-+ bool val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.bvalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt1:
-- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
-- sattr.ivalue = *(int1*)&sattr.ivalue;
-- return;
-+ {
-+ int1 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.ivalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt2:
-- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
-- sattr.ivalue = *(int2*)&sattr.ivalue;
-- return;
-+ {
-+ int2 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.ivalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt4:
-- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
-- sattr.ivalue = *(int4*)&sattr.ivalue;
-- return;
-+ {
-+ int4 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.ivalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt8:
- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
- return;
- case dbvmInvokeSelfMethodReal4:
-- expr->ref.field->method->invoke(iattr.record, &sattr.fvalue);
-- sattr.fvalue = *(real4*)&sattr.fvalue;
-- return;
-+ {
-+ real4 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.fvalue = *(real4*)&sattr.fvalue;
-+ return;
-+ }
- case dbvmInvokeSelfMethodReal8:
- expr->ref.field->method->invoke(iattr.record, &sattr.fvalue);
- return;
---- a/server.cpp
-+++ b/server.cpp
-@@ -2097,7 +2097,7 @@
- bufUsed = 0;
- }
- oid_t oid = cursor.getOid();
-- *(oid_t*)&buf[bufUsed] = oid;
-+ *(oid_t*)(buf + bufUsed) = oid;
- bufUsed += sizeof(oid_t);
- dbRecord* record = db->getRow(tie, oid);
- size_t size = record->size;
-@@ -2129,7 +2129,7 @@
- bufUsed = 0;
- }
- }
-- *(oid_t*)&buf[bufUsed] = 0;
-+ *(oid_t*)(buf + bufUsed) = 0;
- return session->sock->write(buf, bufUsed + sizeof(oid_t));
- }
-
diff --git a/dev-db/gigabase/gigabase-3.83-r2.ebuild b/dev-db/gigabase/gigabase-3.83-r2.ebuild
deleted file mode 100644
index 5e21d4f9ae8f..000000000000
--- a/dev-db/gigabase/gigabase-3.83-r2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="OO-DBMS with interfaces for C/C++/Java/PHP/Perl"
-HOMEPAGE="http://www.garret.ru/~knizhnik/gigabase.html"
-SRC_URI="mirror://sourceforge/gigabase/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-dereferencing.patch"
- "${FILESDIR}/${P}-cpp14.patch" # fix #594550
- "${FILESDIR}/${P}-fix-build-system.patch"
-)
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- default
-
- if use doc; then
- doxygen doxygen.cfg || die
- HTML_DOCS=( GigaBASE.htm docs/html/. )
- fi
-}
-
-src_test() {
- local t
- for t in testddl testidx testidx2 testiref testleak testperf \
- testperf2 testspat testtl testsync testtimeseries; do
- ./${t} || die
- done
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
-
-pkg_postinst() {
- elog "The subsql binary has been renamed to subsql-gdb,"
- elog "to avoid a name clash with the FastDB version of subsql"
-}
diff --git a/dev-db/gigabase/metadata.xml b/dev-db/gigabase/metadata.xml
deleted file mode 100644
index 525e79d7da7b..000000000000
--- a/dev-db/gigabase/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- Object-Relational Database Management System GigaBASE inherits most of the
- features of FastDB, but uses page pool instead of direct mapping of file on
- virtual memory. So GigaBASE is able to handle database, which size
- significantly exceeds size of computer physical memory. Convenient and
- flexible C++ interface makes development of application for GigaBASE very
- easy and automatic scheme evaluation simplifies maintenance and modification
- of the system. GigaBASE merges best features of relational (simple data
- structure and non-procedural query language) and object-oriented (direct
- object references, user defined types and methods) databases. GigaBASE is
- primary oriented on application requiring fast data retrieving by means of
- indices and direct object references, such as Web Server databases
- applications. SUBSQL utility can be used for database browsing and
- inspection, performing online backups, database recovery, importing data to
- and exporting data from database. GigaBASE will perform automatic recovery
- after system or application crash, you should not worry about it. The only
- thing you can have to do manually is stopping all database application if
- one of them is crashed leaving database blocked.
- </longdescription>
- <upstream>
- <remote-id type="sourceforge">gigabase</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-db/gqlplus/gqlplus-1.16-r2.ebuild b/dev-db/gqlplus/gqlplus-1.16-r2.ebuild
index 471d67809998..0d2c4b3310e7 100644
--- a/dev-db/gqlplus/gqlplus-1.16-r2.ebuild
+++ b/dev-db/gqlplus/gqlplus-1.16-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -26,7 +26,7 @@ PATCHES=(
src_prepare() {
default
- # don't use packaged readline and old version containing it
+ # don't use bundled readline and old version containing it
rm -Rf readline gqlplus-1.15 aclocal.m4 configure
# maintainer can't seem to get versioning right
diff --git a/dev-db/gqlplus/metadata.xml b/dev-db/gqlplus/metadata.xml
index 4af056fece5d..ad9a456b4293 100644
--- a/dev-db/gqlplus/metadata.xml
+++ b/dev-db/gqlplus/metadata.xml
@@ -13,5 +13,6 @@
</longdescription>
<upstream>
<remote-id type="sourceforge">gqlplus</remote-id>
+ <remote-id type="gitlab">jessp011/gqlplus</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild b/dev-db/hsqldb/hsqldb-1.8.1.3-r4.ebuild
index 618d6bc03d9b..8c19f12a1155 100644
--- a/dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild
+++ b/dev-db/hsqldb/hsqldb-1.8.1.3-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,12 +16,12 @@ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
LICENSE="BSD GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
CDEPEND="
acct-group/hsqldb
acct-user/hsqldb
- dev-java/tomcat-servlet-api:4.0"
+ dev-java/jakarta-servlet-api:4"
RDEPEND="${CDEPEND}
virtual/jre:1.8"
DEPEND="${CDEPEND}
@@ -77,7 +77,7 @@ JAVA_ANT_REWRITE_CLASSPATH="yes"
EANT_BUILD_XML="build/build.xml"
EANT_BUILD_TARGET="jar jarclient jarsqltool jarutil"
EANT_DOC_TARGET="javadocdev"
-EANT_GENTOO_CLASSPATH="tomcat-servlet-api-4.0"
+EANT_GENTOO_CLASSPATH="jakarta-servlet-api-4"
src_test() {
java-pkg_jar-from --into lib junit
diff --git a/dev-db/influx-cli/Manifest b/dev-db/influx-cli/Manifest
new file mode 100644
index 000000000000..e9e3b8e391b1
--- /dev/null
+++ b/dev-db/influx-cli/Manifest
@@ -0,0 +1,2 @@
+DIST influx-cli-2.7.3-deps.tar.xz 52915924 BLAKE2B 38ca630eb4445dfdd66ed47362cbad220e727c8ddab64eb262e4859577155038650e5d14fcdc6fd8f44c541db07d1b79503c7d9ec5fdd52595198293edf3850e SHA512 c2fa4b7d5d744a85de11f97e3172c9d51b2c1c7b2e31d35fbd15a6ba2b6c12cd4d265216ced0bd27d150d5d3ee619e7d972b67c63cfdbdfdfb69d84d966d881c
+DIST influx-cli-2.7.3.tar.gz 442354 BLAKE2B 3c69e6a2510a4b82830134b930ebc62446848f19cad302f35796853cebd53002963a2d9015512dbf60a4a24e86f237af1ce62c698231150a66331cd8718f2c69 SHA512 d2ffd56c7a1dee24e48afdf487e79b3f125f897fe1c642cccf64a9544134dd6692ebd40415624418597341c16c1afbd444b949c9e3d1bb825ebed5e3f8392dfa
diff --git a/dev-db/influx-cli/influx-cli-2.7.3.ebuild b/dev-db/influx-cli/influx-cli-2.7.3.ebuild
new file mode 100644
index 000000000000..32cb6d38589f
--- /dev/null
+++ b/dev-db/influx-cli/influx-cli-2.7.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+MY_PV="${PV/_rc/-rc.}"
+
+DESCRIPTION="The command line for influxdb"
+HOMEPAGE="https://github.com/influxdata/influx-cli"
+
+SRC_URI="https://github.com/influxdata/influx-cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT=" test"
+
+src_compile() {
+ unset LDFLAGS
+ emake
+}
+
+src_install() {
+ dobin bin/$(go env GOOS)/$(go env GOARCH)/influx
+}
diff --git a/dev-db/db-je/metadata.xml b/dev-db/influx-cli/metadata.xml
index 136ae36ee8ee..1d3caf78c06f 100644
--- a/dev-db/db-je/metadata.xml
+++ b/dev-db/influx-cli/metadata.xml
@@ -2,11 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>tommy@gentoo.org</email>
- <name>Thomas Sachau (Tommy[D])</name>
- </maintainer>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">influxdata/influx-cli</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/influxdb/Manifest b/dev-db/influxdb/Manifest
index 8fd6d243b072..11b7a47c667e 100644
--- a/dev-db/influxdb/Manifest
+++ b/dev-db/influxdb/Manifest
@@ -1,462 +1,191 @@
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.38.0.mod 1006 BLAKE2B 9d321b9bad7e881795f0215828ca23ff5753b8ca9cbe64ca085bcd2f64d36d0d5bdd5c3e80eb64e19e067748b6b23eb7837827cede0e75a840ed1cfa2b00c1a8 SHA512 8aa90e6ce7d50af3db56c8a7abdd16822f6351cabb96e6b75ac0cdefa15bb4a2d402aa84e6212fec4d599ec6f13cb1891bb37f41200e6a05a27642375a89a959
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.43.0.mod 1150 BLAKE2B 061e538c00a3bb43069837aa4492ee4a040a31cb20acc0bd18cc9c9bde19f1a2a54a19539e71df75b696879bcae42eed0e708e5e07eb76e1e8a238baea589592 SHA512 9b440323826ece8eb7681b931bf7964b02242425651111f1ace97c5b026d25f8ee5e72147bfbfde60166e9d3cede791d2d9ea20893985c118d087705747a04d0
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.1.mod 1150 BLAKE2B dba381727351af838c47c0d81a0d842d3851dc4e4a6cce1fbea14ccef9dc21407dbe2749fcaf130df4211b083ddac015bc532f7285450e767064855cf729ecce SHA512 6a49609209f9d51e4851ed5c55a06b9451c0101de3bd92b7fa5b3662b2e85df4a667ad8068288773b9a85670c65fbba46f88c643aac290d1f65e2a44ef531409
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.2.mod 1075 BLAKE2B 370ba9f085033653a0fe9d328aca613b7feb50eb9407e55ed583d7b9302fd844856c9a1a9dca69c67c360c0a7b49ebff6ebd22946fb83c6c7061b9b8c573e99e SHA512 a58f7bd34b5ba8affd021a2d34be64e49dab0d9bb893ad25e00bf5b50ff92c4762b6d9093134b483dff2573ad3c0ebb5f42808dfbe33081cef0e96dc5215074f
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.45.1.mod 998 BLAKE2B 8dc0e29275055b37db12138b6e30fb22a6ccd995b3c3566efbb616f799660cd7073bfee935e41a77f311a95d0ec40ef9b5e40673ff8e59c9c06e5cfa32675adb SHA512 ade24f2b10476b5e5eb42d6f471b73ccb7d8107e6a26c5b1fd38191dc7d4ffee31552088fa5854983c47a2c4868a13bfc22d7f92f834662c75f7c4c88e0274ea
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.46.3.mod 960 BLAKE2B 879529244d38fbecdaea27588031c2d0d82551d8173f7e41f004dae8356e2264259d80e66953e941aa856a9613ae82211ea8dc0b12f9188f65bdf54487052952 SHA512 cbe178d04fe28f9b7dd07b0317fd4404d805e80ceada4953ad47763bafa2f215f88464c1315261a902ebcc52145af09df4c96a341e42644d38526909fcef313c
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.50.0.mod 1129 BLAKE2B 975226b22ad0291e83a5e47d901c79ac5a7c684010972581dc15f9713154141f3d6dd7231407255240620e29cbfeb877f05f5b5d388100a70d381f8f54f7db5f SHA512 70400a50eedc5305fef765d38f0428f636f439195d09cbb283ee7779b8aba1f881f83d894acbc6ee90ff016358aa9b117c79557da15d10fc60264eb36ed3fe3c
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.51.0.mod 1226 BLAKE2B c58a92fb234f949137fa6a6369308f104c2619cf6af1b0a727dba2e6d0ca9297521f9236d15389e40945f314fdd3f03cbaede2a5e1a2f5b96a983ddc26beedd1 SHA512 dbadaecbd6db504404c9bc700960c20678af4ba3ecf517e993589bc3b124654cb8ba5585c77d3e454ab3e5a5172c2041ef9560ed2776fde91bfa5d92c95085b9
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.51.0.zip 1283809 BLAKE2B b704166087a43d4535ea1307ca01f42db82aca7f1fae12b308f16264cd08f95a8631e8f44594370a5937ea095bf8ed5f13943c1f91f35cb5536613811cc43be8 SHA512 f37caaa630b74006467930113b86137c0d3a2736877d1320ac26ff6da628587e29537b6ce215d1f2b7304b5e75897f7644fc8ef005496e98a6a07ec530cc3d33
-DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.0.1.mod 319 BLAKE2B 99d93b5a4dbd4c90f3e8dfb58e64ed41fdbb484f2348297a90c8dabe03b036ef6917c2c9fb7cc4795d0c8d25af10cefebff4c4bc1b2ebcdc876b6db8beae5eb8 SHA512 338a067f7ad15d8549da11ac146b65657923ae4fee3caf2eff888c104c0df0edcdf0d98f5be6a67a764aa39210d5cad811ebd9d604084a67049b753246fbf89a
-DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.3.0.mod 555 BLAKE2B 6707e248be1fa35970275388888eb7692f976a8fca6ddc7cf02e355f8d44264c7eef6d093d90c115670b7a3b495658b79e622c47d1c90b95684b8d32547d7342 SHA512 2df2dbf07037f027100f8beba6416c00fc115fcde2dce19ea4c0fe4a036e8f66f7ae278e9765d0fc80149a330e6dd90eee8e9a0c93aecfe16da65d02320aabd1
-DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.3.0.zip 368303 BLAKE2B 3fda06ce9b44cf6ec10ebe84123f4fdec67eb57d32abf16e90aaab633562bf63be1813e5c7a05145f081c0f5aceaf6d70f5ba42e979414a7e144e8ff7bcaf44c SHA512 19a5c7c77df447e8a32782ac61fa62964c54860b8b41fecf315003d1b54215b63bd465e89722d9c868667ce45a98960cb0b5e5836cb4d96155a70d3ddd95a30b
-DIST cloud.google.com%2Fgo%2Fbigtable%2F@v%2Fv1.2.0.mod 617 BLAKE2B 4717d7bce69879f27db17c13d4c0b283a9939d32f5e116d885d170e2668235114aa0a7c70ca98a522e01a543285ee10ba47f5d8fccf2e6c3b8a7c123b3fc1bdd SHA512 850d2892d1be55d674990de6cad2b778372473f03fdbbe8d3fa61c0a87ba32a349d5f98a52aae006e079986c84a5ed56256629a1bfbabf65b89c0f068e7f9975
-DIST cloud.google.com%2Fgo%2Fbigtable%2F@v%2Fv1.2.0.zip 143408 BLAKE2B 4b018b6ce5debf58cfc353f9d3f120d9b21893146cecdb3cda5b91e64eeeb833f29a646064f37a8d56c1824e60742654648774984be178cca41c94f498c8a7e2 SHA512 a4c51a88470174919fdb4fab1528f10684aafbd11e8c32780feacf38178df6c28cc9f53a917fd483d0a5484c42685699cc4770dd82fab075e328227180b3f90f
-DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.mod 433 BLAKE2B b3d58e290d719434bd433ffda9572fb233171493c7b81bfe353d9b7730130d5dec365f4e93a136a25467851b5f26cb21be6be06486696f010ccff1fcea140662 SHA512 8082ab039764aa6abd6615b1cf3a1830f2813dd5b791a27b7f0ebf5fa1ee68fe040a5e12988e6c91ba5d032a0a6666d384d6eceff12165d394a75ba56b744382
-DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.zip 271434 BLAKE2B fff473ccead1ee3845f6a65d95cd63cca29f0997dd9bc91e4ce54f1dab259ce680ef0a9a35defc8b5bc3b8559b5d52b9c57966f5f4a46e846d476abfbf0989ce SHA512 1e60a44acc0e365d014fe463684d543c0adfa8a51fbe3be099803d338d15558dbb0a36ffaded7b301bb3db3ae4fc7fb4eda3e9dd18fbc30da0992d7fd0609f4b
-DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.0.1.mod 508 BLAKE2B 9915d1d1a768852b3f262784771c8fe2e7e176e61f7d77841f8d3adac571dc141e36c6455c19090cf00a98a7a5ef0c2c887424142e2ecad339f8105b1c30f91e SHA512 8a393b8614207c22c73a706ccc3e66a8a16d2f305ab95d8f70774f13d0bcb7396b0ac5095daa57ebb991225a1db08c3110f1e85c26dd72f3bbcaf73fea536d9c
-DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.1.0.mod 755 BLAKE2B 2a2aa8bcee45060e8a277379fabf5ce73a2c0a0abea8802c1bf152e31522b565b969ace4a49367048672908e55142c18b3c4ad60c7a468866ddf3316c722699a SHA512 2b2720ffcf11b02b3e12e794132f0d25e5e0afa08e4d617f9d4147d8bafbb6f00c8aa4c5776e039eba4ff5c8add0b4e73c8c928f4b155c5c386f09a4e06b765c
-DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.1.0.zip 146995 BLAKE2B 90c8ffffd215cf0b564cf11c54cb03514211cfd9270cf37d6a729398633a28a1fe1df2d416ede882800886b32f2620c57f34e87470b4131a472990a5396cde9e SHA512 0df8741bfa1f83ab41b2c03a29d9aa5be8cc1e0ae4fe6cf780d2e084876e6011ceecf8bcf41818be3c1f5460aa2ec95c1c2ee5daaec05d38a527c895e7bad80c
-DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.0.0.mod 374 BLAKE2B 4fef9f7da9f23e94efe43be0e279958715949a889c5d51e388f5b66ec9a7cdbf15a717c988883647032998facd71359ad1dcacebcf3334100144abbfa12dac03 SHA512 faf4a02a513ae4c23f931b8917e74a056c528b4267ef3b5b704949283910bfc5d41fdd7264b78d4fc1f6e5b370474a7c9933a2fad36bb5c872006def71f8ed0b
-DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.5.0.mod 953 BLAKE2B c520f4cc8fbb60561cfd33b1f70839691a3970669c34c0bc1ede45a31ea53624d9c4d2b16de25533d3121792739006faecc1086afd2539e2a1c7e9b37fc6bead SHA512 33dacd4dc65bf8a7ead2e660e6719beb7024b1603e47e705ee657cf3024e5ec06c44ba88dfd05192142ce880903e94f8dd628d059ddc357e6b42e395953a86ba
-DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.5.0.zip 401108 BLAKE2B 1f28d174c6a34504bb5cc6674866396a1b1e56b6fa3274996b90e66a7007cd20d677fdc1cedd2f9f3666eeba12939c37f0c8016b950e0350986d5c23d9662dd5 SHA512 6d31112652f152cf748ae57782a5aaa8764bb60797845b4da6a3012474f10376f3d9fdcb5d713b3be8bc9425937841d091914ac622abeaf8740fc7348842ea4f
-DIST collectd.org%2F@v%2Fv0.3.0.mod 20 BLAKE2B 7b96a22f921fe63455011f7665f2a9d857a574a9ec0f5045366dda86a1d2a9ef9a8afebe9c5640aa46fc8c06cc73769b13263aea16537ac63a938fb8df70833e SHA512 f214d1a62a9cbf57ab751b12c01e522933dc85f766efaa3d01f15730bc36c08bb3fd01bc3305d883d204f55871eb7996978b7bf8d4a43d2c1675c677d4179b06
-DIST collectd.org%2F@v%2Fv0.3.0.zip 56106 BLAKE2B bd6a89a8301e1d43076be3fb190a9ad53516bafc65bedae931b6d55505dec5daaa683b625d108b5a72c7fcc455c87efe1045484bc7895f2809ba085505ef0304 SHA512 658875ff38947b9f858640b9b87baccae062361423dd65169e026e5c02f1d7e76e5f76a571115675f0befc892f7536909f1956eb7f7b969c650c885aaa0ab647
-DIST dmitri.shuralyov.com%2Fgpu%2Fmtl%2F@v%2Fv0.0.0-20190408044501-666a987793e9.mod 36 BLAKE2B b430ef9388b0dfe932b201495a00275a6036338c99160d7362556be1e25924584b0802061d193533f23b1f76719dfd6a9484572babd25f1af0e53fd9bf07ac00 SHA512 196affe091247f94ceda4b56629bd62d4ee2b397f2c0f56c9534c02e43531b46705ad33543b58c1a4fc7a48e25e5923db087fe0485a93966a4086581c0d1d3e1
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f
-DIST github.com%2F!burnt!sushi%2Fxgb%2F@v%2Fv0.0.0-20160522181843-27f122750802.mod 33 BLAKE2B d234bf9be3dd919cb1f8d33750a24dca68c90fea110fd0ff62f0dba86d2ebbfc66d55fea62745b6383c5607bc91cfd78c9d2cf12df251397e85995c04707caa2 SHA512 dbfa64ac31b25fdbff12110c6f9815abfde65f281e40852e7165499a2cefb6656c74fe0b82f0f018304daa02b83b421e9c15654efabad39787c69c1b2996a79d
-DIST github.com%2F!d!a!t!a-!d!o!g%2Fgo-sqlmock%2F@v%2Fv1.3.3.mod 38 BLAKE2B eb94b6f6f4bf332f916cb642fae50486c6ad9f6a7aa1bb57aade3ed640bc98236ae167d30c140c106cee0ada737eca6bdf54d36bcab0751a940f283f55f08c5c SHA512 43bc64732c4ca2ff23bb09cd67f002b05a1b68963116fb42cf9bd60ac8dade8b2efa1cab798217a73b221ea86fb4e219e36912ffe338c7bd505f2a877be05c09
-DIST github.com%2F!d!a!t!a-!d!o!g%2Fgo-sqlmock%2F@v%2Fv1.3.3.zip 42823 BLAKE2B cb9b71b7dc0372ee4fed1c9c4c51abbd6cffa907f0eb5dd156475187256e5f8d007e667324edcecb3bbe51badf51c7d46643b89f30613670506c0aa5e76833a6 SHA512 b419a038368e290028a8e10066a95044d1b4aadfc3d33d396c05482f155dec4bd04f5a2277092761fa4433f4e25263a64b31524198dbe669526871ee540070d1
-DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.mod 34 BLAKE2B 83966cb7de9bb687f99f17c5c89c03718258d2df34e3dda01b96a2fcb1273a0ba0e3253ba5950d5458193d3e54962371317a8fe85020ae338b44e864bd96667f SHA512 9081c69a2480ef726f547047306dc9136211ac7550882e68d458e2c04e5343366cb08f20525a51c804ab9a554dfe8363a1d9660bc0f9e501e1d996f7b6f320e4
-DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.zip 17606 BLAKE2B ee5acf57c658d87b97b533d695cb72c9d83e281f9e533271f03d85d52f92c3c90e240f3b6d2a01bebbea6befb147ab66d7f75c403fb8bb3e58a2bc0bb1269f6e SHA512 89912d8630bed5c71dcf391b57e4537b93f01c4f1cf320a8c11d5d34d47fa4e3ea4abbfb3bc3aa76ad3cf08350da67e190cd80322597d0de3123fbaccbcea9e4
-DIST github.com%2Fajstarks%2Fsvgo%2F@v%2Fv0.0.0-20180226025133-644b8db467af.mod 32 BLAKE2B b8647c299d1f9a1c4f8ade152cfcb58f73d4bba4b6803f7fed7e0584607c6da369f9f622e70c1a415af2f5f53cdd1c8de7f29a7843b3ce505821ff1ffacaaec7 SHA512 031c2c2f683d57f81b504c68d24aa328a8f03af7d3ab9021b0acffd541d9a295a80cc7b1c9051d19ba30caad619d3e454ec5b804f14e24e9e39b008ec27dfaf5
-DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
-DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.zip 66023 BLAKE2B c023de8e6a5f0b13a7ad1484f21f04643782d802becae77f247709f0c16ab8aff7caf748736561138448efe1cd52c0ac1903b22b92ec56efe817935ccd45ff22 SHA512 356c87eec65f0dc8a680b7a19e888d87fb8c808ec675501df635560fd5d3b57da36ecc2cd9eeb4a5e454c5564d4cf1a062b47b7a050e116b57c87afbe020eb53
-DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
-DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.zip 5176 BLAKE2B 58fdc8010b4ee8363336ef720c8ef2d126c2b7dd79357ca4f99a1094957965544430420f6ae4155490f75242cd7a7cd20993a9ae15087ccdf33327c551caff59 SHA512 0dd4cbe03b224bfe68d00d121f758796f6e63b96eeee17261bc7d8f6ad1ef9878976b8eae5eadc2f6abee28670a83e6925596f4d35bea529fcd735772fc9a049
-DIST github.com%2Fandreyvit%2Fdiff%2F@v%2Fv0.0.0-20170406064948-c7f18ee00883.mod 33 BLAKE2B 5aced043cac582e67e8d3ddfef0a54dae0f7e4792dba23d7c6cb18fe687be98649a90e9aa46f591385003f945a2ffc192aca18bf1ef0516ac22fe1526d2e3b85 SHA512 8960a9c2dcaa7ab5225d3d10fbba4264032ff9bba80fd8efe2ecda6f9b925dab4db320a4650fba43c0d9c61d31005c6045eec4a650411bb549c60792f31c3b09
-DIST github.com%2Fandreyvit%2Fdiff%2F@v%2Fv0.0.0-20170406064948-c7f18ee00883.zip 4677 BLAKE2B fa0d0bb753cb780d7a9ab7f1df0129ff80832c97836756568dc3f1b0f92ddd8cdbef58ff43b8b0279ee7014f0d97becdb73bc87456183035692c47c53ddcd963 SHA512 4faccef281c2e780b5eeed214b82b9caa84bc8e6185d5a9bfb531e5293f35b46ed6b9d2888de7a41aeac9daeff2456a3db1f41edc45789b7d24b853ef61aeaad
-DIST github.com%2Fapache%2Farrow%2Fgo%2Farrow%2F@v%2Fv0.0.0-20191024131854-af6fa24be0db.mod 1060 BLAKE2B 50eb8aa20b011a8dedf13e3a00defda30ee36bb4ed9405e648ea2cdd2a00cc379c8a1c41d3d5794300fb7624e59b2b5aee65d8b93555c736908ec1e7c2ac46c9 SHA512 8bcab95c89a92d8840a37ecedb7a000290e6db5a4354bf1339066d1fc02c16532be5eafd4ae3213df10eac236d08dfcf50a0a6b848f63c0557453a26dc36d3ea
-DIST github.com%2Fapache%2Farrow%2Fgo%2Farrow%2F@v%2Fv0.0.0-20191024131854-af6fa24be0db.zip 411649 BLAKE2B a041679c0e8a5039f0ead7334da5a787fec1189e45cde59a20cea3d52426178ee042592dc6b5342a5bf27573697f9f31e32db120c4755c48487c6f33699cefde SHA512 c3c226c1c31872a4ad0993712fddc23c482a6989b0f2ad768dae94b02bb162e5129efcd76f56f6713fa2f40e1b31f11470cb7e96bd22c2e9d2c999ba622d88b7
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.mod 40 BLAKE2B ce42c81a7dcb03d21a99d6240ce12f8455297722513497b1a75f2c848b5fb7ef70b577c2406638442f16beedd68806de890a5c299cf1c008c439df23df2f5bb1 SHA512 ec4424da8e1e3849408da7bfe83d37e21ac75edb889de8ef63be897d59678679b018f4606be78500952e7eee73a6252ee6e477b1a1612e2d036dbf72c17b9c9b
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.zip 14678 BLAKE2B 3f95d78aa356a314f8da501f8085a880201766e184abb6c222c45e09c0c3b5e1e1eb7b89cc8ed46b77b09be8860fdf3e28525d9a451964ad64a96c6ee848a41d SHA512 be60a4c8059a9cb07ceb12e079b1224b6f871ecb1d7953906ab303cfe86d00cb979e203299f00fe828b2f6d2a3f5d55814c50809e9b872ab6d96db73f3771498
-DIST github.com%2Fbmizerany%2Fpat%2F@v%2Fv0.0.0-20170815010413-6226ea591a40.mod 32 BLAKE2B 25b2fb5f8529b2f05f214278d44b7bb0470cf5c1b5ab7ab72461fef66ac68f911c4c092b073bf0b0f1688d596847eea2782b4d303d71ab3c2801c1a7b024dfe5 SHA512 f26adb57197a4c172e0e34fc6a4a897e54e2855a5bf67dc43667ddfb57d31e243d4a971044c456dc0d1c54351426d7582688705791c3844938dc76e0d1afc5aa
-DIST github.com%2Fbmizerany%2Fpat%2F@v%2Fv0.0.0-20170815010413-6226ea591a40.zip 8934 BLAKE2B 6c2454e24397530cedb83ee12d127e385d85adcc0eca4067116ae9d4c8b3dae7d40be62eae6db023e714dcf898ce365599c70f1fb9b1875e53a0428e79ebf360 SHA512 b367b01589d719771cfbdd0fff97241011b94467ba75c6eed8cb221ae518456fc8623230db8d33845a0c55f4bc346f545f851022064bf517f0a2b9727125ae6f
-DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.mod 30 BLAKE2B bf7d457fdd333781e403b93aac891f5a0a8e202c62983ec6e34ab559ea5624c3e6cc525416fe400c7a0af20a3f647b49eac5717aa749d9ff79b02fe994c36d42 SHA512 7a1ef7d0fc6d5a3a8530b44dd5aa23d4248d952fd573b9f0f6f630b1bc38fa5c9c65ecc4894734c7115a8a0c7c71e8d0e2da0773ed4c5779c23f7f294e1e7d5f
-DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.zip 99852 BLAKE2B 9151e6475685ff3b550d1ae1291778a01793f691a3ddb007d64fa49f02ee85927c834ad709dee5fcba0f071630cd62504a65fd4344d4ea5b9fb713787bf6b725 SHA512 837cbbdb0a91efd765e697e01bc64f0206897d6363b303c96ba53062d674623b19d8c86d96a867529f1dfd6689240e18ae7c25dee268542d46e2877dcbf83848
-DIST github.com%2Fc-bata%2Fgo-prompt%2F@v%2Fv0.2.2.mod 35 BLAKE2B 275030ee2ce09666c11f6b20ba9d787119ced543b4e3f310900f5030544e956af15b407003d01849e807f0c8c256bb709619fdacba8c19b93e4806be5a1ae5d8 SHA512 cd905646c7ab3d19d41de121be3c8630c40ac2c55ca77b73afab555c54d1130f7c41c966ad91b84744fc2d52cbe3f6f7e7d1f2f9db5c8a29e7c799ec007bd4b2
-DIST github.com%2Fc-bata%2Fgo-prompt%2F@v%2Fv0.2.2.zip 52573 BLAKE2B 327ecb7e9b3991bd6584607c4b507d7a6cd01d1b3700c280006f6e775ee10f264420cbd05feb4127357a952fab32211a6d6e76f4696cc81e9ee7e50a582a6fae SHA512 171159867e05fa0cf528a7a008f7ec2b22c8e561e907b9956828699763c241f3e5616684c7cff26daace21e836a7f49e0067400ad0f3dad67f4e9e0ae428b373
-DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
-DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.mod 146 BLAKE2B 5efa8dad622ae253ffa106eafea277fd947fc0f28e6962e461283ce2267d992b85b1f0eb9074a90009d8ed1d47f9e1f3e03cfc0eb7ad7df104282cfd144cc12a SHA512 32c34a590e6c113a16700ef2faa5124ebb6c8773cd76594312157bd2b70d54cd939ff2c32fac47421b5615e804142cb7b393394d4745d5894f9b68392bc37ad9
-DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.zip 12221 BLAKE2B ea2f826b4582ec60f51c65783408df0e065d2a752d1cba17aaf277e0c2b48779a3bf3579982dcc26e5566c899c3f933e4c711d2f1e01c98c13e73d46fa08baad SHA512 09432cff34f69e9b0cc6f0d5bb9af376efccb85ab4396c14a4e0c072272f3172a93c240c5ae0aa89eab91799d1bed1a0e7e00ba83682843f46344c9e2fc2d4b6
-DIST github.com%2Fchzyer%2Flogex%2F@v%2Fv1.1.10.mod 31 BLAKE2B 683f04ea11a77fcee27cfc84f41a1974ca6d61ee854dc77f072493358099ec03e94f01b5cd5cbb5ef69c856dc36790b660a3e90d7d520fd553e572f1b01a2304 SHA512 0e40cd7ff22a86cd23b49b509f5b5653f67e31ca67a07ab82743f56e5504f126cb2c11d88da644afbaf024dffa657560a420ec6d82f6b463452ad8a8bdb576d2
-DIST github.com%2Fchzyer%2Freadline%2F@v%2Fv0.0.0-20180603132655-2972be24d48e.mod 34 BLAKE2B b1e2e3052b202324b63ddd8e580c76da40ff0bdf1df2e9e2f3d7b2f5287d75469a544e1a586352130ce636bb08c9d4ca517f0fd49c892bc17365412cb791dcaa SHA512 c0d4f293bac15a26df2433bb909794b75ecbc5cb4ffdb33a8fbf3c8f421597780eb6bb036cfb11a8346ec959ceb8e36efa8ebb84d8ebbd606485735ba171f98d
-DIST github.com%2Fchzyer%2Ftest%2F@v%2Fv0.0.0-20180213035817-a1ea475d72b1.mod 30 BLAKE2B 9ec507e8410331513ba11ed5432f95b9141e41125975204c2dcb50b5fbe6f7117430ed9b1b0df44fcb45843f75ca862070f85cb40a5c4f6a8d13c066d2d6741a SHA512 528f23910ca94ddf6f811331dc7ed615b2949b2cb04c630e4e2b0ba4a6dadac1396268c4c3251a77af25db3e94dc8b0a0a66d365a8d3feaa78f31192a40e2556
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
-DIST github.com%2Fdave%2Fjennifer%2F@v%2Fv1.2.0.mod 32 BLAKE2B bac4a6712c426a393e847390ccd97e8ac70a59481520ee26e029880733401b91d138425f233a44513303b14d72210b5a7e54dec2078a7a7adec89f0b49a580ff SHA512 c75dee01e189f9fbc2fad8e7b74890ac91b1119af917341aa4437b0018e6895569d6c614e90864c75516825c8ce2923b34e1e396f67c56f1d71bd126dc1de712
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
-DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.mod 35 BLAKE2B ae3ae89fc373221646f196cb2112e003afec9206977905007426d522c584b455fa207f105eaa35cc716fae74d605fcc2a88c0ab5b62e4025b7a739749410fbd9 SHA512 4d46c1b3280c5b4984d22e57b0541cc6762853c0f6cea19a7a5f392c23039e29ca616a4bd8f283c2a35c3c045ec54716f5000cb4f0f43f07f0464c12ed1369ec
-DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.zip 57069 BLAKE2B 2c921bf5a88bf293a4c86bbaed6d7c391a323cf3ac39a54ac10fb74da5498e0f565db5e5220a9871ad5c4dedad7eacc0657ad9f8907c2bfccf147384b53b37b9 SHA512 c937c8b98196eb8496735410324a6a845e618d47e4631c500c9def70d8effb27cfb4efb17f81a8d304ce1a9d27fa6fbcfdec11ea10355de3d1918f1ddeef81d2
-DIST github.com%2Fdgryski%2Fgo-bitstream%2F@v%2Fv0.0.0-20180413035011-3522498ce2c8.mod 39 BLAKE2B c435f602cec54957d1ef8546cd47d5f0171055be6cfbb65da80a055e7829ab42ed7f88ec10b04977f6c928794e754b86722cc686f7315e873565e767c34ff976 SHA512 afdd263d04c6c48931f5734013fbe50d810d027664bf5bca128ffb8ec2cb884466f68eda26ce54d899bd517b6c8151ca4e1f09cf767696dbb56ccae1a5cb398a
-DIST github.com%2Fdgryski%2Fgo-bitstream%2F@v%2Fv0.0.0-20180413035011-3522498ce2c8.zip 4305 BLAKE2B b65992c485460b90b24eef46810e684e247234fb70a69b7d310e1bbdaa1e317bcadc41d88019a345f01063ca7a5cf3c3d3979074c35f38b5664b60d4a8c23530 SHA512 b54200645a693c933c6f13f1432dc11b38dd26bb33f3a5f45af73f4846c9341f36e47fde8e0da1614fe662e8fedbed59e138e05f898fc42f17d5507d0e876727
-DIST github.com%2Feclipse%2Fpaho.mqtt.golang%2F@v%2Fv1.2.0.mod 43 BLAKE2B 1431139ee59695bdb732385a06f05f26856117d6fde79f5aa3e3bac98bd7f10e6786600c90b414baf7d10c2bde471ceaf265e471b3159a00a13dac8cd4736b57 SHA512 9b87dd132016fb64ec4679aabaca500e4d07b1131affaf5bd1eb2e780b48f2e1364d1cc9e655a6a298d5e2e2b74aa554b228d636e294f01c3ce53f6f53837f0e
-DIST github.com%2Feclipse%2Fpaho.mqtt.golang%2F@v%2Fv1.2.0.zip 108829 BLAKE2B efac4fdf409c984caf579ffc34c94419b0d9ff5d559dd02f763cbf7bfe853e167debe82696ce3a16764bccb885987ba68ff85938a5618738ef13d198bd004c33 SHA512 723c089d31c2b5d843c4b27e79a23a80504222da1019b6c6f92bde4a54e3b156d6ff33effe987482921c2d71eacdd4c1140cf87f13f2b5430d30b836fbb80d83
-DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
-DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
-DIST github.com%2Ffogleman%2Fgg%2F@v%2Fv1.2.1-0.20190220221249-0403632d5b90.mod 30 BLAKE2B 725b27caadd05c18fc518e46ce4f1a213cd6ed7b4da3edb02cd74b7c7d3dc37891692f195144bbfc455bdc9bc77e683b41122bb3d646796555e92f565cc0133c SHA512 d64a7c87d6a40c48684a61ed0f6a7e75590df7d72d55242863f1bf18af9bb9ef51c40ecf0c41fbc039e06f1651898a238375afb12f41af5978195887a9a16c9c
-DIST github.com%2Fglycerine%2Fgo-unsnap-stream%2F@v%2Fv0.0.0-20180323001048-9f0cb55181dd.mod 45 BLAKE2B bac7691d817e47764a81e469868f9b02deae3674d8853e7e9e089000dc2c8c94414c978dde8f7b8da65bb692bde21f569db9de8b94c2944d92b17b9534ef9b55 SHA512 d74f84f6297e89c221091296b305df98c6a28d30385a5a4dccbdb664040f23dd211528e2d859e259e862b0f626f94dcdd20ff58aa8afe26af5b95d9e675507e4
-DIST github.com%2Fglycerine%2Fgo-unsnap-stream%2F@v%2Fv0.0.0-20180323001048-9f0cb55181dd.zip 31508 BLAKE2B f024ee86409797eb356f14f244baf65dc6e6eb892e70901af808bf85b40627312199185111d1d72d24b999b1dbeb3b379780f78336959fbe08556d7f1df75d8a SHA512 7c1ab6d12139b7b0e63c1f236dd9e20136c695003798576b816cbf4ae12b72f26bc56e752b507faa9dbb09a57ee09cba24f0f30e3d2c3eb3e712a9cb46568bf7
-DIST github.com%2Fglycerine%2Fgoconvey%2F@v%2Fv0.0.0-20190410193231-58a59202ab31.mod 37 BLAKE2B a1d5e990a4760ee43e0e3ecfcfed98cadb6870b30fd5bc4015c5d4ad89eed058453f2f48a771eb12f0952e7fca5a817aeb0139f529b6fa7a82a1445e19c066f2 SHA512 f8c65c717d960464e2773cd3f6d73a481d9694ed90627a08eefd42f9fbac72c60a5fa4b0b28942eac6292afe62d244eaed51a6514133a8d0ff41282b3bc71c26
-DIST github.com%2Fglycerine%2Fgoconvey%2F@v%2Fv0.0.0-20190410193231-58a59202ab31.zip 1399172 BLAKE2B 84e7928ecb12572c527696961d0af890b81f3c00366070ad981d153d0eb1d2405c3f3a0f75c94a34b114f664094c4cc14186064fa85276e8cba8d1f00c06529f SHA512 ed7081932a0706021e064a4efb097ae2437e3259b14381782047cd578401d370fba2bade8bfdaa62a903aa297eed88b1efc113da809713d39f2d855d064a1121
-DIST github.com%2Fgo-gl%2Fglfw%2F@v%2Fv0.0.0-20190409004039-e6da0acd62b1.mod 29 BLAKE2B 1cefa73995b3d0b4206aea263f55c672b675dd22d42c61a92f7380b6e726f2d7ea40e0a9e456181f34808f5386eae3c485bd2872857caf1824254fe4a55cb635 SHA512 a709c650da5d5f513e94891b88c26697826fafebc1ca964fb9544415637ca14e3b9f1f4ddcf738e28032e10a2d39b619678ec5c8d44cc0a1dff738c75645e2f8
-DIST github.com%2Fgo-gl%2Fglfw%2Fv3.3%2Fglfw%2F@v%2Fv0.0.0-20191125211704-12ad95a8df72.mod 48 BLAKE2B 7d441b7bef1f34bd7065c63630add910d504ba5a2897d6a0b7cf9c9456337b8e55e1ffd9e12cb3fb8c7f021e51cc045ea41cdf62f2c33555f4b61aeda07c332b SHA512 06dd140361d7cc1af9e37de85402631a5310d34198e20d6ce1521dca15d1fba1dc9e40b512a30b8e850e105e9fbcfe0691b298d092eb92b79da564532dba721e
-DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.8.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
-DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.3.0.mod 35 BLAKE2B 0868f712c026b68559846a28bd29f39f584603cd79e1189a9ad76909cce7423a811f71265baf5b7f381a33bee76917759a9cb6ac131ab21450b4b52558cb6190 SHA512 526b97ecd0ccf878c0ada56c5217405c34c59d4c9cb53808f98b24a2823c0b3f1a74e862b9b1a5594034e570aa6749574d5e49212d6d48724e984f528b8c67ea
-DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.4.0.mod 100 BLAKE2B 2558b7edc234429c8bc0926d347231c2352cbfe83d83bc3c7e76ed0ac4b3a843de65cc3e0dede3f0acb7a2dedc623584eff8cb236787c12d7f5a47c9e1c39145 SHA512 5782a5d5e5d4c64244a8463e0f15dfb97de4b60b9fed527ebbd8dc5a26999af8ad0b3ce0064da30182c757785ea9b35f253c5946b233fa3d9a61c873b23011c7
-DIST github.com%2Fgo-sql-driver%2Fmysql%2F@v%2Fv1.4.1.mod 38 BLAKE2B 198f3a6fb7348bf50286e1dbb067e72ff854b1daedf1d181b643872aab377b930029feeb95d5d6ca21109facde089527a06922b9ea52cdd59ef553d69b984e06 SHA512 21ac6d6f8fd92ccbe09cb30d0dd6a37142907048cc5f9d0574824765918dfd8ccef96b7ceab9dd259f9a95f5c5be566ac00ff4eb3e37ba7c7c98f25b3185baef
-DIST github.com%2Fgo-sql-driver%2Fmysql%2F@v%2Fv1.4.1.zip 106521 BLAKE2B c7c61852b093d2b0452e9daf9ab26b83ee6426a9afa4f67abb0e0f98ef28961017f774075f5d90fc05d6de3c26fdf90a1916b426b32a41e2cee8fb0452e21f03 SHA512 023209372d47d4b5279789f581a6f4452aaff1e262ecbdb3fbdc48a0939599e319109b99d1c79414716f1c426c143cc1ce506dcd38f304dd5aa3e9348084628e
-DIST github.com%2Fgo-stack%2Fstack%2F@v%2Fv1.8.0.mod 33 BLAKE2B 366a1ff397488b2b1c7e42db8a946bced1eb8d4260a6c177a978eb978e14f89265e7ac1d0bcd77905bc89eb35b68b3ebb028c0dfc67ff71395ab14b62335d16c SHA512 f3dc70dfcf086b785750d5b346ea07d0dc7903937bdbba58eace0fb903e656b02ddf3a1d49b486ac29b1cac9ca9d346e964d55d3a4cc5ee5ae79ac40b24d0cd0
-DIST github.com%2Fgofrs%2Fuuid%2F@v%2Fv3.3.0+incompatible.mod 29 BLAKE2B 5311a22dbbbedd78a98e34293e79fb5443c57774fa9049665943e377fd07984a9316f3ec5c8fb70da9b133c6390d32ab28b97e939f938bfeeef78883cca6fba2 SHA512 8a1ab67bf3555ca17b7efb1042fb6a7d58b225b4186302b0cf289e7b60f9aeaf23e36ff6d4e8da2ed728dcd676cb2f30f0625c430c0b6943dd25ee02d2c27247
-DIST github.com%2Fgofrs%2Fuuid%2F@v%2Fv3.3.0+incompatible.zip 37788 BLAKE2B c23c30419fd55a14451ffcd5b95ac35ff704ad6d1d0d4b3d344c9e3e0afe3adcc619ee2d99630dd9343229a890d8331183806eaf0e012b8597d7a5d285ec3b57 SHA512 2d8bb8c9051997cf18289857515a09c6a5b2475bdb6a54206bfd1cb213d1e3516d50f3fc8879d69174dc5f91b0b81d23e834095684b39d4d850c0aef5321e3fd
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.zip 2461758 BLAKE2B e02c6e6512de9be1410923a6b3eec36a087f8de00e1d1e715a61e6f26a18352db169b1dbec49e3d563e294d8c65c51ca5b55361dff70d1e9e20976e46209209e SHA512 7f9d1d2671c82a1df5f79a154340dd1fa1e92952feb03a1ddaedb1f6cea371bde8d6f7c774a4351aa87abc2646f97891d0beb4d175fe9d51e2f761d37f2699ec
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.mod 139 BLAKE2B 0c793b0070acfae7ad92de8d8e177d6b9a2519d521bb397da4dc2610927374e4c010db6a4454783556edaabf64e585b00112aea05820874c49f9bb4c4f049fb4 SHA512 232bef55468d9ff66ef7f446d8096a44a0a947533c8665f0f018300b7ec1804a634299a1a6ab64deaa67f1475e9ef68e7be233dc72fb2d9173559800f01af142
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.zip 2698974 BLAKE2B 5fcb1c66d3fa55efca631fe5def383ec089fab784cad7d6a031ea390463a0c552f5fc4698f7648d271f40fb0ae3eee525f149347bb409c951d15d86b7f560e16 SHA512 c7e2170eda176da203ca64e402c11489c1fd183afd3359742e373927ff228d62e445f5dfc001a471303e1708862998c125ad4c2db86919596297b11cae4aee9e
-DIST github.com%2Fgolang%2Ffreetype%2F@v%2Fv0.0.0-20170609003504-e2365dfdc4a0.mod 34 BLAKE2B 55487f18e815e30ee3653a5dcc9370d2cf044641f7cf12c566e165fa173efe9af3ab18fed752dc36ee0fa25ae2e81a5094e18cebaa61d997ae599b9cc3d09bf1 SHA512 a34e950c565fa284163c40712c9f5e53881996c85153f972a78f27a5cdcaebfdbcce60556e173bbef2db32939f1b8721325846b705ef1504a1c5680598343b10
-DIST github.com%2Fgolang%2Fgeo%2F@v%2Fv0.0.0-20190916061304-5b978397cfec.mod 38 BLAKE2B 3dd22c8b8c82e80965988cbaf0b8241af2d32273ae0bffc30f3da0522a327ea65f2f93a0496558551f2799ac7fa4cb8f103d80de25ec8def97ba34578bdbce77 SHA512 d7a817fa0adf48e773c941af6f6207d87204e153ddec86cc4bdc9508411fcec5179b4bcd6bdeaacf5512d50afc5f4ae4f5f25354acbd665698e6110ed4e400fe
-DIST github.com%2Fgolang%2Fgeo%2F@v%2Fv0.0.0-20190916061304-5b978397cfec.zip 468305 BLAKE2B 6e31468404432f25552cffa1214cc144df2fca016663b506bb1e79e32d444d64b232220a94615f13b503a03fa89fa318799968b8bd04fde2b7ad52beae4d9b6c SHA512 05aa995076c218e0faf316d9443a1fe1f26eee7373846873ea406cafc52e090eda044abd663a3b26258c71edcb2543d597e51eda83fb2d12e3aa4f7246029abd
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.zip 22449 BLAKE2B 8d2eaf41ab75e870a445d50b62c02877ae8049e282f066d9aedc0dfb54d04af55d921ebc84d1e4131cc66a3f9efdf8270a0e423e563d3f8fc5a6bdd403bcdb39 SHA512 a3c086e660f2285d9fb7d56d1eba74994e8f0052363413337413cb50009ba46d3a432e2b4c67a73bfb753e7c60646d96bdad308d8e634e53f0bb0bb97ea17bda
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20190702054246-869f871628b6.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.zip 39683 BLAKE2B cebd7b69e8f18547e77e07d49ca26fabd513b6bf95317553c5bcabac3b513dc1d7becc259118eadbad18ee4d45a1dffc3ec96864b80d87c0dc6885983bdbb3d4 SHA512 e7a8277f9b7d2e35d1e8586c580d03457ac1e755e1051fcda20ff9f819a6fb9c3cd1892be3a50d4cbf141b35d1c7b85b27bdc402eb45b700a37ce994be4e5b5e
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.2.0.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.3.1.mod 93 BLAKE2B aa4bc48d8914434d540f570e6017b3572dc4b75563174e73ecce9f86460669a264389e1e24ce26cbe056a26865b3cee294457315034b6ae9779001b7306d91a3 SHA512 5dff0170dc085e1be63ce69886cb019b9df09a5678128b3b0a1b174756500f7d4bd62dc25ee7546977e298f719746ce951119908ff59463a79a1aec7a8882e32
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.zip 465217 BLAKE2B 4caaf832a22faf1c45e04bebf35d29b38bfab18a490ad1fd7b2c6cd85ae678fd3991505f68e526f9f2205cf919374b07d57f8abe95d8f74dc8263cd37a9db3dd SHA512 7fe69c066b2407e6000ae21888f6cc696e51df2342a71e196aba1a9a9ecce630bd9a4d41c58b3105002508a4d0efb9c5ae2b8a87f848b8e2c6293558b8c4b4ad
-DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5
-DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.zip 70555 BLAKE2B d83b37593eea44bbd11100af9c0c41bc2b55e14d06ef1fae1dce5242bf8cea1574c97a7148e7878385fd4bafbb433aa26fb4fcaa47e766353b2b6c179ddda124 SHA512 3ecebc76ab8e8f3cb65a95065639f3e90b5d722ba1aa564b42104e83ea4bd67af65e52c73a33b9b327b9934553f2c5b7324be8229f2c2e95c495065360a37c54
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv0.0.0-20180813153112-4030bb1f1f0c.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.zip 17644 BLAKE2B 2ab156c678ef5120adab042c415b287bfa6ebf901181837122bbf83867ff312900a16a24c0f375708f915628ae5bac93b42f659663cf827b81e5e6c4c6e47769 SHA512 b54c7f94aef24c769a0478aea5dedbf67309dc3f59a5d7cf52ea8b49e81783d87bf80e5bcfa36f1f95a65e64bdd8312d20ebf81cd73952af5481b2f1f3619eb9
-DIST github.com%2Fgoogle%2Fflatbuffers%2F@v%2Fv1.11.0.mod 37 BLAKE2B 9355e4909ed1e7ea43b9882cdfffdc9c986b9a8febd22659143b53f05b4c7a9b152e01848cacaef750ce4fd7660dbb62ea3e0fec4bc2abb47dfeb566248df33d SHA512 9d10e0f8380c49034398df4cf8c9500a0e1091001f08b9574da6933b861210dc4d518c7e353570618c4d4c432c0162e8fab4b4acd64a2d5360efe456fed4881c
-DIST github.com%2Fgoogle%2Fflatbuffers%2F@v%2Fv1.11.0.zip 1180341 BLAKE2B 390754756d725b5b898089e5375fb03452a168eaecbe5a6d7d596a781146d88ccdb822ee5daea0cee7f3c63040702d602d30a99a70def0880c9bbf60d337da94 SHA512 78d6138fd0a575d70d3813fa0dca70dd8ae3de591ea41d795462a82dcdbe73370fbf17717571e396bdeb1b67d61b0b8a34872b0e7110cfc9fd0fd3e3c6b985db
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.zip 99332 BLAKE2B d95e04036796b0687ccfe18e2cae196efa87fbfe7a763a219860a82117f5a7ac594af005d67698289a9fa0f19b9c397f850ebcc8f6b2e2390fcc6463e95dd47a SHA512 6922e27a1a67c4e858880ca338f68ed80bc01175801b2194a900ba265c00eb482c29e785c564e9afb8f60288593b315ae8af6c8f366d35475678003440115d26
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.zip 105396 BLAKE2B 8b45b030824cf6ad208a00e36c7098b59e89c2725702926092baa11e82bd395d52b5daf26af57cd5edb01bee6ac2b8c4e3379e357e3a6cef69550d9403090c53 SHA512 bd13e72e46a82b149661a61dfc36dc6e0471dd4161f2291f301e871811e5b2a7976a49cf2af10eee1b7b2f6ad68583c240cba007ec163cea157f24bbe51d3b3a
-DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.mod 33 BLAKE2B 694b57887cca857fe6950b0df444dc6e3d757dde540c1846ddcd4bb8f96a5eef3f469eaec30cf415541ff2f53acaafffbf4032189122875603d7e5e3dad2ef97 SHA512 cffb5dc1c6531ae9d5998b3a57ba14de5dd8631a36dd48975da07ce5ec052d97b6f632c5d30ab9ab695f178758837aae8a6344c67d57c7a39ca8e9243f8211df
-DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.zip 259222 BLAKE2B a40b65755786c83fc0cc40de98de0c7f734b54c0441617f0274890f823175b4e44e721d4ca3c46a7551bddb5487c7d992459c928ff4abc435acb5bba5a302a96 SHA512 26ffdf319d3c952533c25c487e027bf219be3f7ec7345f9d155a480e1e5f3006fe335ba790cbfed00487e23a8506a8208ed7223a514da11b7a4bb069337573ef
-DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20181206194817-3ea8567a2e57.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
-DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20190515194954-54271f7e092f.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
-DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20191218002539-d4f498aebedc.mod 368 BLAKE2B 5cc8fedbc9bb93a20e0ae5cb9a69dd5a92ee4a7f55c6b5a93e7925b402b830316038cf99d0c80bec2cf5c8ae1593cb879dd8ad29dbb10b66c64fca856367f816 SHA512 9b278d6667d9380f84c972ee1d383e2b54b460ded5b84e872aa3d64336ab059a8a747c442f4227d60e7dbfb67414ffc98a26bc2507327d9ac85ed1c493a5fc02
-DIST github.com%2Fgoogle%2Frenameio%2F@v%2Fv0.1.0.mod 34 BLAKE2B 1eabef50b2977886d7980d7da197828b826c54018766418b3160f5cd512784635e5791a40cc4fb806d52f5ead99f941fae8037872d6cedfd6c851103f3be1a74 SHA512 a46cae976ce90d1cef802eeaa873c059cc9ec3678d5c3c304a9de45f44f20a24d68fa290cfdcf78c4ac222a6d619a005825de8f11e72b9a5af476a0b0180092b
-DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.4.mod 88 BLAKE2B 840afaa28e8d5b816289e6556e114311f039b477e5ac86fc1c2ac80b1f8d7729ab6a83b99baa4c03de9634240481feb13900fd4049753b8de839656d6a7cef8f SHA512 31e50016a01fd485775368e2e430959278cb6c03ae6b1871b3d0c173fd43e91654ae87d1758c08daf897e55be8b4044bcb47fc072ec645d16e2594f345b46c73
-DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.mod 79 BLAKE2B 21f442637ef0be838858e192b563e158bf6ed1f7e06e09a3872fbcd613046b095c5209d9ccd9cc0853ef14947b6b70d4483675505d0905a1d2aab15e7bfdf80a SHA512 2af320b0514b032ee87a92d99d673579981571f325d0d46133e212a639eca274d5a6f8164a7256cfa6c063967b98ace36e637f53d90331903fd6e4a21f1a5a19
-DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.zip 16077 BLAKE2B f05e4ad34d0ca2cf07ed10f5b4510f277fb4fe621523c213016171a42be56edc1b33185a93226b0d04ae6f629358603030083c7b5ba03a36fadf8349b0ebaa9f SHA512 240fccffe9eef7f5900b7e3add1fc95b45efbca63d6c09086ed4a0d4c50d470fddeb01672da067222c107b794c204f8da63c366782c52e7b7de6514c310bcb7d
-DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.mod 36 BLAKE2B d7cd8f31950392cb5de7f4223ff9fe3257568dd0a1c1b81c8b97934ba92379753dc936c81c39e5b553e4101bc7c035ce81c8d669d85ed1d1eee41a74218f3d88 SHA512 35151946ce44fde9d3bde1d0626749ac4bc68cc448736c3b0f056f40a9ae30aef591db614b271df3eba3a96dbc94052ea5bf7ff68749ec980088d60361934771
-DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.zip 257755 BLAKE2B 13d505a73dd179828fd3dbcbc1dfb90f6bdf8a888bb7ab160713a566472adf63d45491fa29928853d76725c2ffa5ada33e802cf857376c83cd8085a31acb48b5 SHA512 5bb0e61c8622e09cecc099c80cd97cdefbc497d4ad0e88984b2936e7731991e972883eb639be1cc3f56249a97b4f14c6820cda6b1c08e4a2323aaca22b840dea
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fianlancetaylor%2Fdemangle%2F@v%2Fv0.0.0-20181102032728-5e5cf60278f6.mod 42 BLAKE2B a20b1ee1675ded231069e976e9e3812b116d80b207914ecd1266ce87160bd6fd3c0bdfd7f7afa4a2a4d7891a01cd7e4a7b7bcafa90ae31c5875f6b0eca00268b SHA512 ff238b036db5df69dc734f4a0db4d1fd1a94a04131d64ea20c5268078a645327527f185da4aab38b2aca60da8c6a5f8f118b660f5b0773cc76d7d108a47297c9
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.zip 3712 BLAKE2B f4f79741bb83862583f51f2ac5e80181eb0e9c2a4578df32f7e24eb98f4f548b99333e0e6a377e03ef701057b01e852e6b710ab885b65170c861bef556863da4 SHA512 e16bd414c1df566a12944e4a99ebd84d2103f0cb3bf8ec312e3de400f20b3eae27845db50672801c10474dbf1dc61d0c2e16e5dcd3c4447681c0b77f9114a411
-DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.0.mod 2193 BLAKE2B 5915c62df75a52c3605aa6411cc7c69f1658345bd8b75a8e381f188c6da251aa6a0fc55f3044137e39c5980938e387ae48b151e0a3fe862a259ba3ad9a698326 SHA512 14986b3e68f459c9978e6912df35ab1f95eaa16e1554ff7c69b5e63a8dea1b012593bd4c1937abc1361e295ce2abe22be4f3cc1c6a1087c5199d8324999b35fc
-DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.0.zip 4038797 BLAKE2B cd8b4c94eab6afa533893f40c1ccad089245d8980e97edd252ce703c19ef9560f5b50f3dd72dec94773150d81abefebb778be0785c3a4a93e7af783f488cf153 SHA512 5629f4165ad6f3252d8c9ede02aa321bf1e3fb2ae261e3fb364cde6054a1b90a592463c9c520a882dc76fa548a1b63356120eb6be372b9ae996826c2d3f8bd75
-DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.1.mod 2172 BLAKE2B d6e003af4680c7a44e6ab883051a17d17adf0a6a47e734203c4e577c8a3b0164d138e5267c99a73ea5825ea36b413a129681dee3a6957c0c304eaa0edf5b9051 SHA512 c64e72f8cf7b727c805c155b9a2725a3eda7d1533a9beb1c95223f1806a41d175c27673cac46005dd6484f9f76737e6b78e0c9b919271cb17330ada932d81a76
-DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.1.zip 4038748 BLAKE2B 84677b6783ad148a865deb46dc433c3d85a9054962a2154614b0d32d28a0e251c1c126bc2b7a7842dc5a3bfe273cb98526a39d3520a1d30a2bb962fd5844dc3b SHA512 08c83829fe0605ab72cbd84552681bf6345b16e66a3f5667b23b8fc98a3acf07d458b8e0dba3afb49cc6e526628452deb9eb35fef7900ae66de541cd91ba70e8
-DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.0.mod 38 BLAKE2B 0d8182450446ad0554f17ee1787f1068d4bffde6e80c2b3120d2422ea6066014e9b4e999d884302e48b794edadfe8fe88a70428658d6fd2a90c11183335455e5 SHA512 49d2580a785d3592fbc65e22870eff7bc5624516f955ca362ba8a45f1cb63df1b24e9302b9c041c5470ce110a0487313ab969238598a0afc10b4f0a76a03f9ab
-DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.0.zip 102778 BLAKE2B 2be8899b9fd535b74d8da732942bcf1de0989f8c5647bb6d31c25b4683b70c1829203e6400545089591f67297fde784398df796c838430f729b2cbfe594358a5 SHA512 f8a730981f8fa827d32def5a0eeec481af1404f676a0171c6d040af28775229edf7376db3ec86eb736fafc09d762f32f0a852cd6ea89e986f3b4f1b56ebbdb3c
-DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.1-0.20200828144457-65d3ef77d385.mod 88 BLAKE2B 33663dfe72c785654946bb76bb663eb3335275d778be681c7c9a653321ba5ca446fb3580b073dc9519578c45eff3728784e2077dd7697ff8923efde17512594c SHA512 e38a910673c951623a2b5d0a2855843fee0b78ccbc547bf8943493f036ae8a1ffc76b42474de9a25755de688d060a8d1be648f0fe81d7a69c831a01b5956ab10
-DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.1-0.20200828144457-65d3ef77d385.zip 104911 BLAKE2B 330caf027c7f188c47f2b3ec5b6f685eac79e060a37f8548da401c14e8353ec7500710658773dc0cdf9843def4126f2bc105830c66a33cc7a42a28b57d680931 SHA512 3cb9375a8df5381ad0b12ea7fa890103ec5f0f3cd8a3d94bdbad8ca3e74de412df5be054f1938b22146d37076a7fe0316474df058a23ddf06501dece504adbe1
-DIST github.com%2Finfluxdata%2Fline-protocol%2F@v%2Fv0.0.0-20180522152040-32c6aa80de5e.mod 43 BLAKE2B fddec34812812262b5b2e9499391dbad71c00fb2546658d031306189207c366ba5f9863735c4a52c09b838f2b052feda55bc8f9e424447905725079f7877ef49 SHA512 f40bb2ea09705727ab3be3b8598b471e32dbcf5a67e64580faae7ac80f8b8504964a30b8d84cdedafcb47577bbe021e73127a2053ce04340c27c00726572edd8
-DIST github.com%2Finfluxdata%2Fline-protocol%2F@v%2Fv0.0.0-20180522152040-32c6aa80de5e.zip 7883 BLAKE2B a7d9cec7fc98b9a145f5f44a5697f1a46fd205a3917d97a6336fbee898325b325d637a56f65e0426fe74ec49f93acf6c89b07bbbfe8bd667a5ae48cf37ae7dc8 SHA512 b63f273f0d16f304e3cca2d7e739b91df0ee7f1fa53f409d2daffce3975232b904614d5b6ea7d1595c3fc1a5e9bd76cbbc2254f98e3743f4e7bc510e87711cce
-DIST github.com%2Finfluxdata%2Fpromql%2Fv2%2F@v%2Fv2.12.0.mod 198 BLAKE2B e0abd56792debdf075818269c29a5928ea182b7e10792a2bce20f217db64b3922608067c6eb4a87a88c981c44478ea9e2ee3831905c724b103f98170718db37a SHA512 3cc83aabd3742a8dd775077f4c71055ba6a7949a7730af7da6df9e92bfdd7688c02b8c6f0df3f51b22f84a6defeb79040a6f1e9b78becb680358fdefd3e7528a
-DIST github.com%2Finfluxdata%2Froaring%2F@v%2Fv0.4.13-0.20180809181101-fc520f41fab6.mod 37 BLAKE2B ccb5fc7cf2c1564b9f5f0c9559d1aa34913d6c6d38b256d88fecd346b0a12532302585d13ffd00ace8e55d100fbd4cc468ff6e4163b45e352340ee5ae75c3580 SHA512 d56f2a532b077f1321c2e462db1a6091c5b272948b3cd2a272369a30539cb284a35bdc8a3bce39ce86808c81275d31e79cc9b0e61e42c0a2238f499c247755f7
-DIST github.com%2Finfluxdata%2Froaring%2F@v%2Fv0.4.13-0.20180809181101-fc520f41fab6.zip 161756 BLAKE2B 194dbb9dab8d0533ae5415855329efc4fb0980a6c631fcbc6d3af36406b7d6ab9b2ef6ab18e89206e35fdbf1dbdd7c87063c8b76bc683fceaf418f93224b4ce2 SHA512 fc65b2d9aa90dadaf1682624df6c623743e61225cca20052a2e1b934fc9cff0c4758067e0d3bfa0e8c50a8eca067bbac059d07d016a8023b957ff6afdc92291e
-DIST github.com%2Finfluxdata%2Ftdigest%2F@v%2Fv0.0.0-20181121200506-bf2b5ad3c0a9.mod 259 BLAKE2B 4d4f1556bda08820db792730d893a735a856c824073e1b66f8b9a06e2512187038e4ae5f465d1f9b1e4e074c69722d5003917cf40dd6a0f61e0a32697a99c2fc SHA512 76e847d693e7e785e04ffeef5b48db94ff1a8a317a4037710522b596adf01e30c4b4a38e5e4b8040db55a5b1b3a68911fcb8b1e646473863c6644adfe5cf9759
-DIST github.com%2Finfluxdata%2Ftdigest%2F@v%2Fv0.0.0-20181121200506-bf2b5ad3c0a9.zip 21991 BLAKE2B 4515169854c8edd0e35eaaecd7a072eacd1a49ea0f83326e9c9977fe1cd300db4d92a3fd298f415e1817846a42183257947a66ef1b73dcf64fe2a2067c73d938 SHA512 45168ef62dcb9f294e34efcf820d93bcb2dd9e3c8bad23fdb9a4a1eec7a2fff90de7f52402fd53a7a62b9ec558e1137d4a3d2b40702a6b10078ad05b182b5b5d
-DIST github.com%2Finfluxdata%2Fusage-client%2F@v%2Fv0.0.0-20160829180054-6d3895376368.mod 42 BLAKE2B a4aee4aad699064a4fe353531afb259439d8b83aea1ef68037faeabffaa4eb5e74b8d8dc85a34e67c068e166510695da32711906ff7a4a99cd3bfe572d4d83ad SHA512 58805194d2ba4f084b920a808d036aeaf794ef9df76e5a251bdd0ec073b02dedcf1a9c78bb9022fc4b1cd3c1b89215464de81ae8ae6415baa0aedde273867d01
-DIST github.com%2Finfluxdata%2Fusage-client%2F@v%2Fv0.0.0-20160829180054-6d3895376368.zip 12856 BLAKE2B 97c0757823b24070a5d0252e884d89cb2be7f4d5f9e5bd58343c40e0663afdb5698f53aa4c86e1ef099be3c4c31f9d191c40dc2bd4c296b4817c0a8de6775240 SHA512 d5e985a444279c9f77bed9cbb1f72022f98847ff10a69c785a2ddd42d7eebe0d12b653645fd2273855a01168e32841f0fad154e624a3758c59748d1251855902
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.mod 35 BLAKE2B aa26eb3b67893fa913ea0f88bf22ac283c6cbac246683f41ede681940cb2e4437d033811fc12f2b47f9d94337dca9cdc926fbb5f044b2caed19c8e46a5879432 SHA512 e8bb59637bc1154ed648179314c4e20fa7f549353d094f4861e2fdfaeb70da1c1711c1159e78d82914a35b8ce184641937efd8808ffb1384136c7a6f3fbeb78c
-DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.0.0-20190106144839-af01ea7f8024.mod 43 BLAKE2B 02346f7c8a28f8d40ef233bc1fc6f3cee54a54bfd79b374ab7f3435039a5d9f7da5d7fb7824c618d25034cde1d355b503bddd76b804d610828a080ccb2707dc2 SHA512 801663d67d1aead6b01df89e329c8ca969a1f860b5ee2c2018094791060bf6e8cddac8e2d788ac823e32278d4e9ad1dbd72935e4da2cf6e65a34dc97f195ce7c
-DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.9.1.mod 51 BLAKE2B 4cf5f813ed021b04c810da33b332dbf44f45594e3657779687cd24391d2a93770f2a0e8999fa5a8b6564da5e08ed9fea1e52394907d518ea14a9568adf263e67 SHA512 c5761bc45d554ee6639c4ca23fefa5fc5c8a7c818f8f18d0b43aaab26c8114615543a1be207f5aedaef53c2dda623edeb7d3ae1c5ce6b72ea42605a1d5c31667
-DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.9.1.zip 42083 BLAKE2B 5f9cc715c99fa4058551abcdabb96e2294cd50c79f49e8acd42b0e37cc990599a1eab827121b259b47d7af6fc62f1b75791c4916feafe6be08e2df3932e49fba SHA512 9f5d126347316b497910b30fa2905e6b6c119fa975adc6bd4f17f5a346cbe110c10f33a7df6ecc63e086c082f61ce493e4ca5efefbf2eb8d024f2a07cd80e093
-DIST github.com%2Fjsternberg%2Fzap-logfmt%2F@v%2Fv1.0.0.mod 40 BLAKE2B b72c62e0cbfca034aaa00d7c23e4ae2e2d1cec4c259f9d1ab96c65b7e3336e050087815a7c8d47c87f5c04983d77f7e10d8dcfa22c74aacde1bbaa8830880f90 SHA512 bab26ae4f895940fbb77346904916a7b8098f580ada97021dae11d9d6a4ab14168f57c3ebb25364bd35baf64955f115b9e431c4f68ddfaa96bb478fe9b59a5d8
-DIST github.com%2Fjsternberg%2Fzap-logfmt%2F@v%2Fv1.0.0.zip 6406 BLAKE2B e0b19304ceb0435a6470b25e1d9cf1f70ad7ea490fd2f458e6acb03cb63ff590e7485141bd215e0570a7e0437373e6a08ef81a816bb9c2950d133d4865616622 SHA512 b8b9be4793d6b97fb516ba8e7e620cb16a3cce46306604d776bf897c572d90399478d8b3d2ea8ab0f760a4aa6c0e426f38a88a4206d697f2709a5837a98f56c1
-DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.mod 29 BLAKE2B 8efd6f84dfcb696fa2ebf7b09c7405d57457dc67e03a2cc753cddd93698b1b03d84022f241c4b652dd80e0521b2b1ede8127fa15dd47d1f678a7fe1c31fafedc SHA512 3a397e0ee84d8d426eb5a1f39c07d608e0ed53b1d4b2fdbd137d23bf9f401840802d18d5203bc468fac76402c508bfebf49bb20869d8a715e44c49e21fd3da4f
-DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.zip 9901 BLAKE2B 0c8cf7ad0809f65d91b9ad5b27759cfedc5efc25194f19effd4b19c35c940461a48a57636ef3c707b27ac614b693ea05830bdef6943f11993bf561ef558cb99d SHA512 08b7201a9aa3294a3fc59bec78fee09f0d1bc7507b50b1d1cb1fa29a523c6870d00b633ea9679c9c86df9841739f46e9d5d9bbf0e3ec15b8ad08e57db67eedc0
-DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.2.0.mod 43 BLAKE2B 2b7883d00bddf90261a91670917e335bf5c59101032ed3ef5ab6752eb4da25e8417071b1d0021441fd887158b519f4fca4b028b6ea52fe3ae9a41b84441c8c06 SHA512 60340233f2a0205ee4b1a7b2d78ed52d88fe5d39887413d0e62d6ed006c51eda83ac117454b0c1a31ab29c5aceae13810ec719dadc554d10480219c1afc3e5bc
-DIST github.com%2Fjung-kurt%2Fgofpdf%2F@v%2Fv1.0.3-0.20190309125859-24315acbbda5.mod 35 BLAKE2B c1b6f3da9b37c5e0888f6ae304f7885901fb5f90bd94de7c980b7089d2477ea25f0fecf30b502f55fdb6a8dd7ba49683f33b89d761de0acd0e9ccbeff53a183b SHA512 824e0e8c8fe3985feb5f25c43725d4ff70f577373406b08767795e691f0bb10594dcbba4149e000bcebaf231bca5f72649c0d078b86cd4df38d0805e1939d63c
-DIST github.com%2Fjwilder%2Fencoding%2F@v%2Fv0.0.0-20170811194829-b4e1701a28ef.mod 35 BLAKE2B f0ddeabc9200613978b0b4b128326d7af4b21dc542e54e12aee41b36443d0a896dde046adb0c00c7e8adefa91cd296330bf24fc8d2cb322bf2225348ce60a36d SHA512 a06f88a90f2bd8618dd8a2236f1b54d85cbc8a3efbed21d4a3246398eb74f1baf3da40fde8d452441fc45a2fe78abe82d330f28d1a39a9224d0b5c606acfce8b
-DIST github.com%2Fjwilder%2Fencoding%2F@v%2Fv0.0.0-20170811194829-b4e1701a28ef.zip 12545 BLAKE2B ef89493f316637d3cff93ffbe4201510c50f4911b73e5a22e50360308dd8e8febfd177cadcc0069f5f3a71804b953d4490160f2922002af3924619d04bbfba0a SHA512 61fe66d38ab2144fb1c2a628499bc0047a0c1e3d103db399236551a2d1ca44bef4873d23cd6bd1c8a6ebdd0ef5b56e0bdb97e74227cc48158178b8339d55524a
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.2.0.mod 98 BLAKE2B b9d3c55999054ed927f666a43066ccc6758a6c5f550651f43ad5d85b5403c882ee76ac2b2553803d71789da33c60ea41857ed545003072ab6c666dbb77118e00 SHA512 3529b37d770af511a716a612b7fd7fb6a4805d13166e3a6f9378950443f6eceb2f3d95db5a46027437ce55b36e571c75bba72a03769d21ecdc97888019d80a68
-DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
-DIST github.com%2Fklauspost%2Fcompress%2F@v%2Fv1.4.0.mod 37 BLAKE2B aee0c04f2b8e92b2b4fb2aed9691b2e55f27eae078ca0d7161866b1f815b14e6b7de03c80c567e6f1407cf9e48606bb097eaa0a26c5b7d46db4a0d18852fd233 SHA512 18830e82c89186889b494ac46cc8c4fb398f3aff5416eb1cec3e3b09af281ebd50bb0e8ac7751f6cd89bb1bab3738a354183ba12eb3ea42aa7dab36177b613ec
-DIST github.com%2Fklauspost%2Fcompress%2F@v%2Fv1.4.0.zip 3668965 BLAKE2B b0f7d296a95a332f56ae9a35d5f2b7b1ac593bdf8a6bc18b05e74e0b6e91d03f4002b1d5554ccd5fd628e1310018a57c68c923d111847457dbc9adebd74a989d SHA512 cb90a61838b1ed9799b581d080bac14ff92422dfa5007e0b4230b7c91c5cc255d12a47fad7f08ec6477ecb16b6fc4afdb2074c9d702e924b54c494bb2dc43b3f
-DIST github.com%2Fklauspost%2Fcpuid%2F@v%2Fv0.0.0-20170728055534-ae7887de9fa5.mod 34 BLAKE2B 1fea82f0ae24add73e084ada4930a6192f6f1d7afac47e2fd4a018e0167779741e4c948ebe67965751a845fcee894fe88e57a1e42a00a8aba2a6589dc73b30e6 SHA512 c71392a06cc0dea75b46dcab30bc5b374eeb432aaffc678213d5896015cd31ef085387446a8086c3275b97bbfb02c93c0180f7b3bac5fc1cdf1fbe5bf7af9887
-DIST github.com%2Fklauspost%2Fcpuid%2F@v%2Fv0.0.0-20170728055534-ae7887de9fa5.zip 276304 BLAKE2B ac0f396202fbb5de8507826ae1794e169f664394f8806dacb071913da2ff2be9510ec125a12e25d8d0c67fb14aa8a8b90a5f5d4b7453f0373962b78ad717f140 SHA512 a4fb75de24c1083bc1f0a7b2d7c20954a36eedb2c6cc818e987afd0e446fa8273f3701360cbb0c795259e4b3950d21232af44d501f1b6b8e03a53c5564691f03
-DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20161016154125-cb6bfca970f6.mod 34 BLAKE2B de38b76cc80d4772016edec60ac6de4a290b1083a1979630a8aeeb2d6e7ad0c5e92ad3c25e1a47b6a540f106cd66a39a5057f3acc0f39ec16ca0c1a23691bb9c SHA512 97259895cac5090158a564861a3e58ff60728471fa5f0cc5225588cc5072dec813433942e39ef3fef99a00fe1b3147814e76789501c45d1f56f30403151399d0
-DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20161016154125-cb6bfca970f6.zip 22683 BLAKE2B 2d0a023f371ff37ead8e3df7e0865bc526df0f28d8b4f3fb0f16fc45ff9fc6a4f506660326e26dd8783d6a7b2407099457958927f30e9290c600a9caa7bcab2f SHA512 d5cfa20784fbd5e6ef9bc40607b5c486ed933994e08584aac3b7f9f051bc26e2a6acbfb3761b3741e808ff624b989ed4894cb8ed19e95a3cfba027e2c29492d4
-DIST github.com%2Fklauspost%2Fpgzip%2F@v%2Fv1.0.2-0.20170402124221-0bf5dcad4ada.mod 34 BLAKE2B 9a841f2f76972fa5d9b89395c421d1b4addf03a137703bc8f5296a2071a3db169c993468489e59ae3eb51c4668c1eac2a8dd27b742c5af923d379dfd0651e826 SHA512 cd08026364570f1acaca890fe4929ca5bafe90b4088f764a077952ce4b52e8d92a8a09e4bf264abd209a161ed47d9b6f572ebd904af2025da3696dbf79b63d5c
-DIST github.com%2Fklauspost%2Fpgzip%2F@v%2Fv1.0.2-0.20170402124221-0bf5dcad4ada.zip 124702 BLAKE2B 6982dfc89bef916225fbde909c88245c74c50b6456f4bfbef7aab94d7d5e9cb650c5324e0e55130b05c5e55e218aa57813a6e5cd2518f072ac809f8b0d178e9b SHA512 1312b0085afd4d4f57f9c689d65e25eac77588232d6067d45811aa8a829508de326579babcd495645152d6fbc5ff94a251f32bb0855e30242da5604c3db7aab4
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkr%2Flogfmt%2F@v%2Fv0.0.0-20140226030751-b84e30acd515.mod 28 BLAKE2B fddd4b3cdef60f53bc3f8da5a3154d10b49dd180c12837d3740c22b442947cba2025649f3ac7321bcf0c73a272527659b0ccd9be141ddca13caa7594bf6ad3fe SHA512 3c623d077e39697506174a50c0380cb7787a05a52819b1a73c2f64ba8dd819fd500777de83c83d8d9e80f19c828128a569b4cd783667b4d6b9a375b0e3d527a7
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.zip 11159 BLAKE2B c176e4bc9b5534b0df153e027f22be7d28eefbea1c0adab10979f19d601b95d300c54086b5ee388f453c73b9931339b9b04208fc5e6512385b348c49faff5488 SHA512 bad73f3c47f70de55a90a977a1e2b4a68de545a8425c71533de081c7a8f71d7ab1b489001c56ba2e88dcb78c08804275f7f8128c812f50d005a074ed6dd9286f
-DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.zip 12591 BLAKE2B 944b0b9a802757e78e3dfb11d6c4d79e0e0d90489d49262b7079e6ea4728328457f8773b392c8a618aacb5fdec78948a16cc852eff71ca6f4fb9eb422c03890b SHA512 3f0d00b0545769ad882e25a9a6f30b96ce4b72a8a46bb3c064907c94e2dda4e499eb32354c149f89752f9bc5d1ee5cb2ee5cafa46e2f65ea329fb432d0c0029f
-DIST github.com%2Flib%2Fpq%2F@v%2Fv1.0.0.mod 25 BLAKE2B f81559c285e1be835f5ba6f95730022986373524dc66f0ff825885bc3d959ebef5711ccaae86983c0710da8a501a3e97829a01cf67bbd560dc7fdae682b0b7f6 SHA512 493893b0368a6e9ba2c2aab1650135de1dcc087e6eb172226a623d62a48e4102857f68f9ab6cd4f7047e6a291c62824ba924076891d162bbae846d97166bd1e9
-DIST github.com%2Flib%2Fpq%2F@v%2Fv1.0.0.zip 109027 BLAKE2B cdf1ed976d193fcfe3a3e632354605c4ee3caf5313525ebb04f12199036f6a2ed748a3c90c1c1847884670f47d61d94b3704de6e4d591a29b6b28b99c0158e75 SHA512 a3e7d0eedd2b18ca5580819c4983b700f242accfb08293898ef74e8f3ebde28a35a90c9927f90d2103aafbfa7274da3a91d274da6ec0e8cfdb1f8b994a5fd79e
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.mod 37 BLAKE2B 6bd675a05c0bb6f9dc12d09203d13de115801888cf8c02cb5d609f72d214b7e7ebf13a72ddfa2eb9172e9c2ba1f3e5a040f089a86ce9fe873d49288d5f7dc5a7 SHA512 3cc3ae26618b96a0fc076b18bab6f8f0f6a1064d6a9913c1015a9867fd3571d17f5d2867d72cec008e9bc7005883a596edb21424084f82ad5b572443de90f976
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.zip 10606 BLAKE2B d9aed996970ecc4828716e86ddbc85a7949f60ceacc7326708ce499bfc09250bc8ee336806b229a44064839e7ce34f5cb2a7607da5e82c417a737ea869f97f03 SHA512 dd1763a8d04540b3e579d397fa4888c4bd8c00c3963cfcd1fe42af7c1990ef85f9a2e2fd5c5f2c7d3e6817448df5e2237241ff5a2cda651b061cc8932e0afdca
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.mod 34 BLAKE2B 55253c2475bc0169df729915bc92689eaad2908ff7b9dd81b8a553bd75d5f866c308a85fd69d664d31b0d2d373d8d52ee1701677cbebb07e361612ab8cf17f2a SHA512 00c272b4652db259c46875641b29489ecada2602e38beede8c8bd529d73b6e123bff58f8e0f8cadd2d680a6a5485aadffa448e9445548abbd2fb424b059a31e1
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.zip 7026 BLAKE2B 3cebbd0bdebcd1d32b7fc618b7190b7813876a1df010d1c3ca3800c41acd64b6537e4b3e4d4a574e3eb736822a27eda7bb2fffa197063baf9a347a820573883f SHA512 829b0596279218a2fad36695fa42036f265ce79903a0f5aad27495dfc7c6a33e8bad32010e59f4dc6853f1e38fd9e9f635ca2f56adaf5ea47e4914f2a892d251
-DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.3.mod 37 BLAKE2B f36ba4b667bc5bebbf49062ee5be234891ecc0a2be075c7bf57f5e39ee7fa2657d6bc086ba9a89728468ddd0623d27edb3c357ba4e91f79563bc9747d1d9ae63 SHA512 b891712f639a850e41582c15bcb384a985fad4f8aa86ce2d3f4d2554354aa1a9619667f60837a8280f869fc07dd58dc676c222bac23aaa5b2b00c06284b2f475
-DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.3.zip 24937 BLAKE2B 9e3ac56dd02012889248433db991df78a66ab5c358785c2506231d23f9fc9683573ebe4567a5c8717a470edfbd7d9febf562164cfbe835bc8a11faeb143e0ffd SHA512 802777a3780cd405d9e6e2bf15016fd9d4e25ea06b2412f158b6c7a79907cbaab745df4919b6db7b47f02d51ac14f470447616f22e388aa81c55b955cb29bab2
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.11.0.mod 35 BLAKE2B dfade1d4d17af2380cb103ad9a0c91ce0eb7e570f9ab98d32c8d74a9056b1ba89c44c6fbceb4a2d5e5d45bb552a18e5845b1c40d8d1efbe5a9aa87e4af0ae2cd SHA512 c929334b82e3174b98a22bcc58dffd1291e3bcea6c5f789ab36296353cafe0b09640ba7015ff559acdaef58a9212b0367bada54aa89f563c6dd4773f3220c04e
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.11.0.zip 2337512 BLAKE2B 7507201c73f35a287783a9815ef1997018e39bf8d237a77bd630d032d48e6f780473c29f0946e80eace5bce077a36500755e11cfc875c10dedc026e93f035510 SHA512 0bc4df375bc8ced78cfaea6e7ebb572cb2b02dc64810b54b26f29da271f864a2fc9515ced2032783537dc06fe38ef126d8fc1f0221f62c4b64a78c0b1e4be785
-DIST github.com%2Fmattn%2Fgo-tty%2F@v%2Fv0.0.0-20180907095812-13ff1204f104.mod 31 BLAKE2B 01ec123858a9bf8d2e9b6b2bb8415431e5d4145cf3ce82c16522eaad6f5bcb7667e391ddc4544a3ee04a8dc9dbf3fbdfb74173da09f3a330952bb5eedbbe203e SHA512 8c099ef777c49b02a62031dbe9d4fdb18839f4b2265802ac5fc3e6c6fd1d3278dbd3bc01e8674a0b52d2d6e6a394d1d4ef7bd64f4388c68e9b81749a4228773e
-DIST github.com%2Fmattn%2Fgo-tty%2F@v%2Fv0.0.0-20180907095812-13ff1204f104.zip 10201 BLAKE2B a73cef8585cc3f73870f71a427194f2e56df9b30eccfd272231d9d25dccbd8b7c18ec382fca6b07678b47a96578bfe8db4d1f7d4fdb2113894fe5ae569552324 SHA512 86a4340875253ac7df729e343bf34f2c44caeb45d492b3ab55855c89a208389c24044e1cd6fb4e1e7224c5c59098e5e7943513e43fd9c447044974df43d1711c
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.zip 44378 BLAKE2B 15ccda2b94bb024656859fb8a6968782b9a1bffb786b0b1ed69a3284b01f4a2100b3f3c46b6ebcb8f7febedb5bd4f6762fe333b7d4f1d14c700f8fce60843352 SHA512 e9349ee2a7d5e5b129ec6a1c0507854aebca82cf9ac2d0a681cac2f4630ea35551ede48e1931494362232a83dc9f26b6b4162c6114e0176084c50101b1da46b0
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
-DIST github.com%2Fmschoch%2Fsmat%2F@v%2Fv0.0.0-20160514031455-90eadee771ae.mod 31 BLAKE2B bed30df7f6ef3446cc884987b8529c2201f1d0fe4a855fd198c73ad47b293a7d66136abb092d2462a73ddca30baaab574376825019b47198d961a840d4d6b07a SHA512 6a9c039028a543ecef585f043beff78d099ab0890e0e3471cbda4cdc40db4f433f9b2aa6c5ea185f8a7dfe70546b69b415def4c0785691fac0bdd067ed65a186
-DIST github.com%2Fmschoch%2Fsmat%2F@v%2Fv0.0.0-20160514031455-90eadee771ae.zip 18580 BLAKE2B daafdcf2ad506d349ff1358d07e1515d6d76cc9f083d4f7971a3f065b436fea681067dcd251b27aec3daed9c7c8a6da42cb33e265a630e4366941b938ed1667f SHA512 ad479b53d527b6284f17bc0ee026ed04b9ad0059b1b3106b4bb24c234b57a179d3df5318f8065df8cc137344d38daa1e62183b1eb74fbdc0260c9667202dd92f
-DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20161129095857-cc309e4a2223.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b
-DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.2.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54
-DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.3-0.20180606204148-bd9c31933947.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54
-DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.3-0.20180606204148-bd9c31933947.zip 45343 BLAKE2B c5844a916b170629d6701d2f0e2b792673b6e3ef5c425b326288a36363cec532a9c3757d51f103e0f96d3832a00acce810c07895779f3a4ef1ad9ecfd7bdd0a5 SHA512 997018a993a666943994b8f083612a9bd4869ce064e2a5c185cc9d7a7c03b295d8f62f1cf7d8039a825bb8d770f1ec8d0e5d57da4cf1e9c828381069feeea9d4
-DIST github.com%2Fpaulbellamy%2Fratecounter%2F@v%2Fv0.2.0.mod 42 BLAKE2B f21a13c6a193574ad2c00817bd5ca777ed141f6128748e7536c9b209bfb88c3df66ad37948902bc905c1d75fecd43afd21877c379498dd52c95a83c63f7c17ee SHA512 33c99b140d2377785d09c2d510766936deb7d67fea5919d4d5d350d7021db27cb776b3587582e65d5c44d97b96280c4e24b13deb2210628953e6c08daaf07b2a
-DIST github.com%2Fpaulbellamy%2Fratecounter%2F@v%2Fv0.2.0.zip 7874 BLAKE2B 1cfa26df4f2cea2b7b2fcb82d4f055e707921ff5c30f4b0dab640c8183c6010fa83a1dfe15f3e3386ffa80bf8ec1ce1aa0b36e043f37c6a6ce3994297bb45380 SHA512 9a1437341c430b31ad7ac087e97c8635e4c055013ab667e454f579376daa6f7a19b31f60e634b2a74f509b760bb4eafb865e33fd97fc5006bc8274a8ebdd564a
-DIST github.com%2Fpeterh%2Fliner%2F@v%2Fv1.0.1-0.20180619022028-8c1271fcf47f.mod 31 BLAKE2B 7d0579fb1469d76d519c6c5257b978dc5d34f568b26a4a0e21112affe84cc42cc894a48123f4c6da1d2132d34e9088849e38403b260e772d4f690163e196d186 SHA512 157d394ce35054f717ec2f03c677592d0a56586171489111c3904c734ff0170d34559015a16f9172b84b389f1d2a7d40b2647a94657edd350dedbafae8bbac98
-DIST github.com%2Fpeterh%2Fliner%2F@v%2Fv1.0.1-0.20180619022028-8c1271fcf47f.zip 28692 BLAKE2B 2fc27e9f1e85c9bb373519707fbee70fd94c61e4e021da8f7d6db08de085affa8ef3809e519d56a8f801c06d90aafcde3228b8a8226195842dcfb3809a7cbd70 SHA512 94a2e2bd492ccfe1e36aad69cf53aa5d0ae0f7af1c5cc6e9c58411827854493ac499a9076d2311ed7ab4ea28e73762aa541224de8cc804b186271f640ab39e80
-DIST github.com%2Fphilhofer%2Ffwd%2F@v%2Fv1.0.0.mod 32 BLAKE2B 400d176245ffce370598e46c8fd88ac601298451d873a65c290009413570ed38f3c5be35fe800e95d1c23b894c9e8c1cc787ac54dc5c6b7e2d11c2f1ebd031dc SHA512 75eb2b85e2900d2e0a492e281f2b9f8b88a6b480478bc38e33b8d957ed2b65be5835f03dc8bf0903e80ddb5af268db410ce9db9a1569bc25e50523f74878fbeb
-DIST github.com%2Fphilhofer%2Ffwd%2F@v%2Fv1.0.0.zip 12676 BLAKE2B 239e79efae533fc670d44122d88a0598f2376776bd082ba6db21e48bae28e11100088c9aedfbf6a1f96c04f6b48ee6f5c0c1046e5b5a3e7104dcd66d08daed02 SHA512 38b5c94c2e75f73b9b239baf3ef371d6bc1a2ea8a9d9bd5070a68d331475b3ccce04ccf80950ac0b0546e51344566c93741a826125bccdf965ddb810686047c4
-DIST github.com%2Fpierrec%2Flz4%2F@v%2Fv2.0.5+incompatible.mod 30 BLAKE2B 007bbbe9dc603d92170e1aa89946c3df382b73e60a01f247ff3c28c56eec5c06b1f901cd3f52a81ed967949436fe0d2a7b4dc70088dbb38de97705967f127aa3 SHA512 e3f6142da79fb97efb98b7bac49f4fdcc16f2c59b40ac87ca98b633874bac81105a0bcff20045bed75d39ba3922093102f9e74462356d6dda6147f6be4d31703
-DIST github.com%2Fpierrec%2Flz4%2F@v%2Fv2.0.5+incompatible.zip 3703141 BLAKE2B 0c8b5a768e298b8bdf314459aeb938a4a05dfa22bdee1b0a2d65e7b02edbf2be6b73ee51a331f4b1d14caef6bd9a001b11a72b85f5de3efcc044501fc2e0d3ce SHA512 b5352137315ec28c2f40f201629a4e60ac26a218a3c75666cf56959cff953fbb6153123413fd1518a1a636d10edac9022ba9f38065274b9f88a89e937283eefd
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.zip 14339 BLAKE2B 9332d9cac7dd3aa2f4d756f0d92c911cd0fb8e00232db3bb013a0ef12addae0aea2388ce3adf79407a81e13cfe9cd4b45aeb2bc9f8b84b4e3c5dfa63b59d46a1 SHA512 f97471d54c5e73b3f59326847cdd4dbbb142a9ae790df83493f11a851d716fb407e01a857152812caf731b8f3e0f37ae151ee83300feaa73152173f6cb5b8515
-DIST github.com%2Fpkg%2Fterm%2F@v%2Fv0.0.0-20180730021639-bffc007b7fd5.mod 27 BLAKE2B c44820090e3e6b67eb062638dd9251af75ef1262a034430d43ee34024051c45bfd596f258ba3f9238f1a8f25374fb55ab3840503310e1f97e6e6e5c98ea0725c SHA512 5b8d46571cfdd120c406dd6d48a943d4484053ddf05edd078529c3f927b4acfa1bf15c775e1adf9eddef260673fd6c591541fa1d781310017e421a9f164dd9ca
-DIST github.com%2Fpkg%2Fterm%2F@v%2Fv0.0.0-20180730021639-bffc007b7fd5.zip 23133 BLAKE2B 4e3d9c18b2a95ed9f8e3ccea8ecde5df9129bd74e0ef74f26489c231c7faf726a2c7ee9fed59837d3b326f9b0808f4ef6cd33551bfec62719a7f6df716433db2 SHA512 b382a43aa9b61aae23821886fc90ecb85fea43726c8a34bdc94605c60f563fab195471ac68ca5a8d08bec6696562d8dad97a353d4c4a06eb621dd9e9d401dd1e
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.mod 535 BLAKE2B a8d3fb22b519e88dcb6b6f305a80c94e8b40fba8bdc96941230b354cc6bd8ec4bfd121b8e5ee57e9883e0b01b6224ff22a55fa8434bee1623133cf59489e64d0 SHA512 1d3646f93821b2ff1a4d80074f773eca22ff3675caca9d267762a31c1ec719ab464ba7ade7c8e2aa79b16a4f35f5a64f779fd909060a0c3056f09af77cebd655
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.zip 200972 BLAKE2B 6b6aa2cc4006f6671b0f54def912df6ff1aba7b69bd08c1950f7415032e2de383af556cd793f991989f1542cab5d7bc8a73894504c2f3b757a23007ba76b21b6 SHA512 c01081549c9e62a75d99ff37fb4bf3e620dd9e6a22a049c1b0b1b53604086ba68a5c366a7373423354b25cf7298c642956db7eca4b04be4b9431fe24ec8da125
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.zip 69217 BLAKE2B 738c4f5d28aff0b5e5eaa04f50e9a4e4671bb0a06dafb2174720cc0e6fa79ee87123f55776cdc051124434a3889232d512b32d08b1db1d2cb7f54e251b617e94 SHA512 6cf7daa3b86c574afbf5d91d3d4f372fb31c06ff93d59aa128d8ef025b5c22fcbca5a148b21637ed97127e5e2150305e48c241be1ee4c1b23ae32a09f19ffaa0
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.zip 69219 BLAKE2B 6ecc62f2f3ae4622ba6e19c51f7ff7ca3bafcadcb38cb7a9d79dfcc2ddd7183d79dca8e0d6b534f5a2dc508c21e0fb349310b4feaac35c1f7b1166c3febd1228 SHA512 934c3e50ebdc1ea65ccfd4de1e2e0f0ebdece54be1cccaffa5e325c667ab22bae84a7fc7ead1066e75094697a86452fdc36fab57b955f42337708de32e7eec32
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.1.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.6.0.mod 693 BLAKE2B 414677e90b5a1e5e2b5b498e46386fb2fa7c93314b390bc4337c74865b6a72f8a64804e4c30aefc54515e9261cda168358d70bc533e8686cbbe0f625b8957d08 SHA512 829b3d7349806cebfad94252c09095aba4c5cbe0cb77cc124e7fc514ded1d8faf0f158d21be97911b8937ab9d330b284139275837607950ca602b3faebef146c
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.6.0.zip 152577 BLAKE2B 93ebd63d011ee7f0a610b7a5ca9fb7c2640bb57a60ccf4e22f46f81286c9e834a547b42db2c23d61d503eec5f4dcd0592e76a1a3e789f32d20d9182c6be7106b SHA512 bab9891928e51fc4524cc9384cea51429004d821ffcb1243147337169308cd5bf5791308fadca56d0f310e73fb69f8d3093bc35c654ef9f1c8738a0f1c5ab8fc
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181005140218-185b4288413d.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.zip 132055 BLAKE2B ed3f24a397ca21aee9972a2fb1bcd12acdcd5b7aa5b21a36cd8e8c1b1e04bf3a1264cd7b21147e1f69e76792fb0d36f4cd44f51178376a9daeb092e69eb8a2f3 SHA512 e3f4d97e22ad8d27a3c8bcdb6516f4e1574348b864deb6f1569f3d94098987f35bc87c7a34f95e84834fcd8c750b3a177f847b586b72b91af0e0f9a735bc3f20
-DIST github.com%2Fretailnext%2Fhllpp%2F@v%2Fv1.0.1-0.20180308014038-101a6d2f8b52.mod 35 BLAKE2B 236e030308da9f6665046299fb6076bc3bce65b5ffbc2820c463ff3af2c95f78581b8b0260930e85eec3e1f9b40c65d206a2fd947b4a5aa8b032ae608a5e8daf SHA512 ef6bdf93c07e5d0d7fb93b733a0a902adde1e2aa719673b9d3bcc1142cc4dfe001ec4455964a13000709e0c727f5f1655e36cf1eb114591ca30a32f9af707652
-DIST github.com%2Fretailnext%2Fhllpp%2F@v%2Fv1.0.1-0.20180308014038-101a6d2f8b52.zip 46249 BLAKE2B f7c04a664cd60d0e5b48cdc46615d568dd82e636ab3bc4bb0cf6c465e322942925d60e0dad1abea7165bf8ff5aaa83b5ad0569d2150ab6c6c044a18df1717a24 SHA512 079e716e05d5562f8d55b564a2feec2d8bb641f412b829aa730c5a821567957646a1f6c56b33ef5d149d6fa400617d0f5bb6535e88e42a2f76771af7892fefe8
-DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.3.0.mod 73 BLAKE2B 21e3545a4518c64daac1cf36e47a2c8e1fc8ab7402372f2e871052d0dd9d83fc2aa44babb2f8751180cb66dcd2af82ed202afbf5ad3a219c4562da23ae8ce185 SHA512 4fd07ae7c00bcc135cc10a0b34ab102a893ed8ea4708f9d38da52f98b09fb66144f970ffd8795476fd6625b25c9e48390a5b1c5c99bd0c8d536a94201dc96613
-DIST github.com%2Fsatori%2Fgo.uuid%2F@v%2Fv1.2.1-0.20181028125025-b2ce2384e17b.mod 33 BLAKE2B d6c66082304928ba92ad6144b157ce4f59db0abc5af56538abd5a81fd927ea716df4b5dee47ff883dd99f377d2b3a772296e08244fb7a769a5843a54426be81d SHA512 081e7b82b53c1a86743e3cc4973c1bd15e1b5c48929513bfc41c0e182fd4a047519b8cac9f4e830d7a08eb3443b2feb62c727387a294a30b7c988b698d6e8d45
-DIST github.com%2Fsatori%2Fgo.uuid%2F@v%2Fv1.2.1-0.20181028125025-b2ce2384e17b.zip 17966 BLAKE2B 66c06ae649b6a7eb0d9caaa20077dcf3f6c31bb75160538dbeff87092939c5e6a45da077756fb20fce3b0a6f5867080ed33ef5f9ec227a99130326038245ecf2 SHA512 17865d0bde1001939ef4e8c433ccee65b7f0df028352ad2a32654c5a1e3466a7f4b82368f155e2d66c431e4daaa7cad36002df37decd19306582a7c12880dc40
-DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.1.0.mod 37 BLAKE2B faf1c2419c014da764d5ae4cc24e27c0c368f413f05ec8d6b7757412e811fcb18719d9a63d7505c6eae5588f5418be3bbb8e06302356996c12080b06ba68a849 SHA512 8c851766aefc9e5ca6d7330c26b5d87fa087fa057a1670dd51895ae116a91492be0ca41c0b15cb905cb044bdf5074a5648d0b8e4ebd236acdc11bf86baf57e26
-DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.2.0.mod 37 BLAKE2B faf1c2419c014da764d5ae4cc24e27c0c368f413f05ec8d6b7757412e811fcb18719d9a63d7505c6eae5588f5418be3bbb8e06302356996c12080b06ba68a849 SHA512 8c851766aefc9e5ca6d7330c26b5d87fa087fa057a1670dd51895ae116a91492be0ca41c0b15cb905cb044bdf5074a5648d0b8e4ebd236acdc11bf86baf57e26
-DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.2.0.zip 112690 BLAKE2B 429b926660712da6cf042ff5340dc9ebf6aa397fe92d44d36f8727d3d7a719415fbac8c458c2df9b7d325a3d4d162dbc47efda7321fa7684ec9ef3be2cf7d8d6 SHA512 c9887cde0dce64373fe79c37508e779afaa53d18a9f9e7853860db7a3b58bb8b97b3a17a527c25ac9b3b437c89f4930483c4cbfc22f68c2998a0a0f22bb9c0b4
-DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.0.0.mod 32 BLAKE2B 9c0be7f17fe7a9156f124f7f67c3e15e14719d0b271f36d5d41ccfa5ff6c1b7887e0051df6eb3b29f29b40357d8e438598088b3c4f4df28fb81f030c8efa7ff3 SHA512 8b8b8958405a188b93adcdda0634aaa2961b5b8e0d3b3e1f768fb9c49c02b73cf3bb39027431e0c1d209abea6cb72a651c5776bf26391e81f4dc18c7bafa692c
-DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.0.0.zip 52931 BLAKE2B e511ef9edf7d968d848e021658001daefe7c8cc7169b1c6984ca5388fc4d6a5f54def9060483e57392711617892d21322d9de099234901bd1c251e57e6489f6b SHA512 e3d8a20d1cc351b8944579988feff39cb0aa3e1f2aacf2e2307180c25c153a0473f2a5a3ebda9d96868cb1f477ccccffdce06b117be7fa5409b2d1926b4c270a
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035
-DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.mod 43 BLAKE2B ea265a40bcaaba6e4401504643cb9bc2f775a23792b1802d6c1b665121c49db7d4d850ba03c31087fbd6f344b08349ce00a106e430c8690b8016c95318cf3973 SHA512 222b0edcf745e14eb775eac28668dfa0c52051cbf302ec441b58d75846fc2570a0fc2e616cbec68f6312a1648fd7e6997b6597b160b1a7f84c1c500a42e93e6d
-DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.zip 81760 BLAKE2B a5767557b0e96fa3bbbace46e08d6a2167be2c203a44ffaadcf14079a23e906ee9197c8028fb29bdfc596d4f39e7bdd29993a1a520c36c8b08c5c5b6bd6bd2cc SHA512 e204307d5a06550292a4fb6e44912260aa5a7f9fcce0883d8abb324a53673512218982b1893e7d563eb7d6313ac98a8638072aaf7b5d66d359e82832f2a8bb2f
-DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.mod 302 BLAKE2B 69fd290c3e72f4ee0597f480bae8647d80ab5c4acab21ac3ea19e847e3af4ac91a767876fac04c94c2db8bc782a24577d3478d3d0653f673609f2d57d6cc3427 SHA512 24806ff2cbf2719f50bb37cc5ffadeca1b64c7b089a1647695b45d647ddac16332504c7026813b4ab9316e53e755ad0ebbf6db9ca88179d0526ca2634e27e25f
-DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.zip 1521758 BLAKE2B 653e697d76d392b18c09e5c1c96734a737071667345b9d6ff9c9589bbe74e1c50849dcd7fc00b660adc1aaa30366aa9ca93a94d5eb4e605f7897d9714119f926 SHA512 3bdd2bbeaf755618d9fa7f324814497308361cb0f3f93a7ac84b9fc01b79ab346353ff0a022d3d85e74aef57b3773e03ea9279d0a60de317a1c57d5eca2d1507
-DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.mod 36 BLAKE2B 1ba81fe6a6b84ed40868e0fff431dc8485b912700c192d90181c22588345e7250af63160673c297129add94a41281d7f0ddca5733c2b32e20f65ca7c27046306 SHA512 d14779867dcbbe24d451e82ac72c823f80551cec89758ecd39c9e72fd75560694a0b8261726020b738ad4f447ce1093f910c12797c58b8dede38f6bc737b9a25
-DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.zip 10334 BLAKE2B dc4e7a5b7ff1179feed6341345c4a811b5c4e14bde5af612b9db64902f810e788fbb6ca224b3678dfee03e894fb1cecb5c3269f13b36ea5d52fd4dd8b8a28fe0 SHA512 33a0601227477c0fb56907b633936ee96c46bf0f8c0a9140facfc61e839f62e167e90b76fad14d4b0124b6066376eed464d0f76e08f0d308634c33eb6fd171d4
-DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.mod 175 BLAKE2B 9077c3a2c65f4025500a3215c440b1b3856e09f1543cad7ca6a37fe5b42d51af01c2032b905c72cce445807bb311ed461c4a5fd4fe680a81ac7a1c0d94759c67 SHA512 7a0a21f6a7564b3261bccc8b1e1cd39d5d1a95bd0dd3debea914b1d37b687fbacdaee5f1dd5f1f74e4da11664c12f7ee63b484d690cd79389423cb79ff38dee9
-DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.zip 12738 BLAKE2B e7a649d1c85aa7b3aa0a80123c49d6e980d8db2bdbb7c49d5871cef8c35a4f632f4de0987ae1b41b3f9b472343e22228f7e75cc7c841d446ced4f33e859039f2 SHA512 4ee0de0cb44960bd75a18648a2c7e4428cd1df1b042e24588d3ed6adee05388e6211854db1878e6ad74dec95083e439d147975082422b8ae5f3c6c7896df4304
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.zip 139997 BLAKE2B c20d7292a69fd548bf0dbd62751dc08a41c66f120bd8b5142e96f498aafd208328ed4888d7ac59404b64dace96bcad210f64734e432f15ae63ce6d39dd308cf4 SHA512 1476716a98d5aa26c34af6d85eb93886cae211beac7cdc8f886d2030bf7f83802409aa56510ba09cbdb609dcd2faf87d3490c4e5392922e0e034edcd3d9fb1bf
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.zip 74638 BLAKE2B 0e9d2a40aa6e68cae69ae24f76385e840e0b53b2a4afcf89ac5ea61ee144462c113dde938c5de728c8e54e7e46dc099786ce85020bdd60859e1ac04393556246 SHA512 c33aa1ac5cf2a8441bc849a49b65a614de6c9e0c5d37a77f0b6972bdd8f25a651752743b1172e0a83fdbb384aa7e8b0685af5c5dad1bc128310c60e13cc9b56d
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.0.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.zip 90474 BLAKE2B 2f79f0cac2c15acaeae764aeb640534f58ec2ae86fe88a82533498e718cf37d67c563606090ad39b38e22ffca1e63a25cd881d6a472b862ddaf150c7d329b16a SHA512 a047ba8d5f529d459fb6ae8dd39367e6f6cd2e785e90f54a5f8759ff76e4cfff990f1b8c1e0cf49c67b97ca8de36ecf8fdeb3b8f16e579aeae2d563d38da69db
-DIST github.com%2Ftinylib%2Fmsgp%2F@v%2Fv1.0.2.mod 31 BLAKE2B 263bfb05ef35498c4876a40273bb21f3bb2c5145e95ee0365f912a6b46919b145d7497e97cfd88b68c47b581ea4d65c31cb3de65f15929137f89091faa5eda86 SHA512 c9dea92ef8c32130b2d28820cf3f4d49e43fea4b36e82343030c1acb63ca120927d94e0ec8d496ce2319a36a22654cf3463c0023d7ce6cc7d1d4b07832f31ced
-DIST github.com%2Ftinylib%2Fmsgp%2F@v%2Fv1.0.2.zip 91343 BLAKE2B c97c50d94e7f0a663d8d0e46c4daa3eb4df47299ff4426274f159cf9f9c68d87024333417abf34076d291468e062fa4b154bfb539c41ab348d23ff362916d2ed SHA512 1bede5a11874129aa9033570de1891b690b91641e352f37b5e38b64f370e3b48c0b35fe1f5b08116f76111db0e1aa1d0a0ae84cde18a27f7ac04b5103edd920d
-DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.3.mod 31 BLAKE2B eb05706f9dc60f41414a9d2b5c3acee3f615e0d1249c2e9b9776bc255fcfeb05593fb3bf06351d763d4ae4b465aee3f64d9630f4ae5fdd2d4e9ad847e5d4675d SHA512 f220b8b8bbc82fa03107ec51399e2e8c90a442b8b4ad57db441772c1ef66b16a77b71f0601f8aa22b60de4c1da4dffd1d746cd567158fbcd12b1677d88d4b17b
-DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.3.zip 20970 BLAKE2B 5d4aa73c5a6e022161cd2650dfc5f128959780d5af9c858728fa6a80c3f0cfb54699e54977b0c9a40bbe6348f4e6cb1a691e0d6f492223550645a917c6fa7846 SHA512 03c7b46fb00909a84ca9687f0d57d706b9af098f7cbb763f8a8f376438d349880ef3db1a484b546d32b2a744d271c2beeb5e868efe995718b74760ff23e85682
-DIST github.com%2Fxlab%2Ftreeprint%2F@v%2Fv0.0.0-20180616005107-d6fb6747feb6.mod 33 BLAKE2B 1fb8495d86422bc87ae3a29d7040d3deb46560e8986404fe66da26fa2f7eea5f38b1ab84a67b8e79c544841627025e882fee2aea3fadd75f69f1761238eac23b SHA512 3f30afa5211772645ee93a8b11eeec246fda17559bb23b1bbc93b614815998fcae1f45827f12922fd8d51bf84425e2154f690728a63b510d278d60a48549fb77
-DIST github.com%2Fxlab%2Ftreeprint%2F@v%2Fv0.0.0-20180616005107-d6fb6747feb6.zip 8631 BLAKE2B acd15cce04e54766feb18c92e9e890598616567c57f1d9fb7da57776d6ef1f6cface54c337eb04a6d2f4f21dc136cddd7ac25c5fc0aac6a38ef349730090acef SHA512 94c78d3c65d7e0399efcd152aed41ba07f041a73ae8bb054e365e60b54d0063f2e96a70fba15fb88d3f19599c7d37e1f37a7c77af8f74e16450a40c02f3dfcd7
-DIST go.opencensus.io%2F@v%2Fv0.21.0.mod 305 BLAKE2B 73735106ac582b2e9d5f0d739412c3396e0df8627a6adbe810ac560998e4cf2eda12e449b6e336dd6b433eaf57c885b4a927359d0bc1bd6eba9432bb0793c35d SHA512 448e90223b8d67e4d5e4b150055ac83eacf9ef48aa34036c2e59559f21443f796e721df3c0395a829bf5d10d229cdc7beb956c8f90273e50f0989e45a82aace8
-DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1
-DIST go.opencensus.io%2F@v%2Fv0.22.2.mod 478 BLAKE2B 534d5c63341897b7213d30ae225708b5465b0bc5efd7b42ecfdd7fd67fe6e8fb5ec7a20345b734d07fc2793b41a115dde74a1f80510f3970aaee8f6d4effd7b8 SHA512 62820051cdf582849bd310ca77bba4b2caef82c9e6bb27e7c2de6c3bb1be0af90443770971e893d0eb466832857190a9908633d069880cb1980120c14ef391c0
-DIST go.opencensus.io%2F@v%2Fv0.22.2.zip 296264 BLAKE2B 0b0e20eb2f10b81748d55b843f8489ffb8147a8b17c063cb21fe505fcdb46feb9cc0830f3b3a91ea7034b1e7ba78df27b0b235b8500b8c1ade19f6837366aaa1 SHA512 c98a43e1bfc9f4bd1e54847dfd6b07e9af14efdbcd8d61b70c9f9701541ee2405f800b1e33cf115615a43030accb735a1235e2b7d81f54efd127e2fe5c992326
-DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.mod 26 BLAKE2B 00521092f85fc8940d69a5885423e84d8e6987a29749d886be3f40c230e563b55d96779ccd2efb99e939167c93067e8d37117750cf2567fc49e70bce9e847d07 SHA512 4c66fd56c35d6d25a3091f83a2d3872ba395092c10519e052aaccf3edca281fb874a46e86e7a7294b4f42a5d5a51d3cc0f066081e5ab945288a48ac223bc19e6
-DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.zip 15027 BLAKE2B 06a2451071b8cb0de9b4e664d007584998c91acf4bcca04be7f6c4e97c2579a9cc174e4db220347a00b252392cd6f3aa3e08e27ef3a231d422512a419a199c2a SHA512 be6b2545811ac8a869fd0365c1126be58531a6c0b51690feb17d7e88a2b79dfec6a466ac317df15e4d038c02df0f72993ae3e50a218c9f7f6659787c7f8e9333
-DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.mod 28 BLAKE2B 4f0c4b42b00093024ef494b1b0a07896ec41eb140fb953affc085921181eab44bab0baa38ab559b9e36e022acf5cb9ebad5ddcc7303f33982d9012e9e150cb03 SHA512 7939dfe977dd42ac3ca8b91824a73046222ac9bed4f9cbcf0f2d332727b92a094540a56dfb19d095df6d5917b30cec86a6e9e1b082581049fb05bb7bb10106a4
-DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.zip 14488 BLAKE2B 3bb8df1a459b2cf1dd63ab200f06a9f41f968f828b815b70bff899972a4c913656dbd3856dc6f4626836175d32b63c439e32a5aeb6a034f4733e2d09ef53f7f9 SHA512 d5fff733045694509ef1100fb8701526002b0841a11b5e1acbdea7e186c80738f651bd973c5eba2db5d2b8fff1b3057ea5d7d0e46645268b2f3619656238fdf4
-DIST go.uber.org%2Fzap%2F@v%2Fv1.9.1.mod 23 BLAKE2B c60cbd3c1e15e71a99909c113b100de3909740d9e0f939da800209ed1ccde49f77be7a8c22e045b9edc663859995859bc7ccd60bb6953846829ca3164115f3fa SHA512 263e322e5615c91e810fb9ba30a601508e1e3e418f87c7c74de962c341f207e703930f2ad41ae1bf7b2ad106831dc37b0b96637b816d130bddc7225d41911946
-DIST go.uber.org%2Fzap%2F@v%2Fv1.9.1.zip 221108 BLAKE2B 9f03d8b356ccff8e8dda9a4885d7fa79eeccb614415b1bc50ec206458f650456a9e1ade1401908b53c37a3b293cd3b7503b84104555250bc801e5c74b8fb9122 SHA512 259b357d0f31ae6ad5dd1b841d69d934b1d9d441617944d4b46269f43fb4de1cbf15750dac9dc87cf4260902ad2f4e4560e6e023375212e554d150fd65af5f9d
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.zip 1820985 BLAKE2B 3bc7be3cbeb21910390b55595aff40b3b2c8c023e8f19a8edb6c05d20bbb161b00dfb2b71664663a366c7e7b4c39025c9da36e485ef38fc55d3d5a8328acf2d8 SHA512 8ac925ff35cb11b9ac1f41a45df0f81433d0f4a1deaa026aa6982292dd5ad9f17e4223a9034433f14edf4707b2f461c592941ccf83e427ef6ad485839d3892e3
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.zip 1844911 BLAKE2B 512a7175e03c2aac9c4f3a454a5f428e2567e2d862e362480835722c4f80b8aeeab1880510658da9b219741dc161492096ac2124ae763163103ac22255e52f78 SHA512 fc5402097646068a495867d50f55b00c2a774ddb99df373dc860c175383f8f1ab5c802bbefa55e013e45201a3077cb04f5dc8831f3ff320422623167d8c38568
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180321215751-8460e604b9de.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180807140117-3d87b88a115f.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190125153040-c74c464bbbf2.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190306152737-a1d7652674e8.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190510132918-efd6b22b2522.mod 327 BLAKE2B 209bd1491b6099491fca7ccfd2fabb500b56112557b4b359819b5f9d18e1587b8b1551acab53ac6c222b66b825c4058ecd6adb1d886f1868b7b96ebbd5865eea SHA512 e16919da8b2302c45f8fab5f0d200f41c2c978ad31eab2b4db18310bfbe09079d738f682920ef6530f1d5f53359ddc3d4bf33fe5cefbcefd440212b31e72ef28
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190829153037-c13cbed26979.mod 352 BLAKE2B 5e146ef1d6b71ec65511cb06d8392eddb9a126b6194213f3b2ac6b675977dcdc77cbb3e46fc936189269583df4d0d80d2e393523c3ba4c55f1e8f9294e0dcaa1 SHA512 8ea874c371c0a582410e682cf475628b4fe6a0c0f57b05566a03343999da063250dcb987d9a863b96a8e1ee913612f323de296b4ddbcfecb166884bee06a8af9
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191030013958-a1ab85dbe136.mod 475 BLAKE2B 3be94804cb1c692471ca7f2af890586ef57ed45a306a50fd6d6eaec9c7a161e2e4945ed11640ed30ab6f0e48ca644ec06b6b12e232b0990d4e9a08347c27491a SHA512 4b495d303e08e9bb4b43ff0c82665107a6e0a9cdd33a6d14aea491e634901fedb6341fe9e47c45fca1f89688ea3548f57ac8d62b79ef4ccb596ef4eb2e809241
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191129062945-2f5052295587.mod 485 BLAKE2B 84e7d8f764e53841999e798d24dcbffea37708b68eb430f91e3e09f77cca2a2d36d9bfd115f0fdc9eb87e967d6ffeb0ff6f6990afd722e86b40046995f22600e SHA512 2c7217344b34e4870f799968403146268e8e6f85680aac25702f22e69bc4954d35a70a0743646ee8aa36f268c252a9c647e88b1dce8c47db302a1d3eca638aec
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191227195350-da58074b4299.mod 485 BLAKE2B 84e7d8f764e53841999e798d24dcbffea37708b68eb430f91e3e09f77cca2a2d36d9bfd115f0fdc9eb87e967d6ffeb0ff6f6990afd722e86b40046995f22600e SHA512 2c7217344b34e4870f799968403146268e8e6f85680aac25702f22e69bc4954d35a70a0743646ee8aa36f268c252a9c647e88b1dce8c47db302a1d3eca638aec
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191227195350-da58074b4299.zip 1483007 BLAKE2B c440b93040f4a9e79169bae3e8959bca49724abf6e172a8d35519534ba14c9d60906f0783b6e4f39ab491808824bb2cb86a18a4dbdab37575e62ccd3be6ebc65 SHA512 7f4c7eb3298dbaf5a66324a9c4b0baa872eaaff5e607621199b84008412492cde08ad7c519401e26307b3657965f842a444d28d1ee7a6fcaf27ecd6dfd64e460
-DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20180708004352-c73c2afc3b81.mod 26 BLAKE2B 99ea5bcf900233680c1e0fd7526b1e12c79143afc9e545e59796fe734cb5b788536d332179d2432924b39670e4067fb3d13752735e59b8b19b3d27e9de9403ef SHA512 e78afa02a8d030fcd336ae1c1d5d4071d14f2873a1ad72af64a744c0e5e3ec795957fbc527557f4ba5b747cbcdf31c0109b43a6d75342d85a69fac6cf97f233a
-DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190227222117-0694c2d4d067.mod 60 BLAKE2B 1c8445e3c9313293a0551c8a2acc31a1738724b96886bdf165c74de6cf2d25b784baefa2c41997a64ff189333a8c59756fac7ac41b0ae1d4f167c38574905351 SHA512 c466f8b348acdc26208bcb782cf330a979d9af086a95f307a785884492430f11fe45d1ddc3abdc1b092654b3880a5e7a456740293935b1912a1d39b658de80e8
-DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190802002840-cff245a6509b.mod 69 BLAKE2B f2318e92793bd626374b94e2917ea05ec2b41285c169f1461365edfa00412a798775a8ce137221e1c280983a62d03bf1cc97eadaf8668661ed4387ef5823963b SHA512 d463167481b44386a011b867d6e26eaf2fe81c750325ea89f631af7b065c5152249084c45e7195a662d9b9ddde0e81a5273d8110f73a18c4d841c155c67ea0f6
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190301231843-5614ed5bae6f.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190409202823-959b441ac422.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190909230951-414d861bb4ac.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190930215403-16217165b5de.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20191125180803-fdd1cda4f05f.mod 97 BLAKE2B ec2dbdd2dad833a979dc53c8d170b4d0f5d336f4c52f36e3116cba2f3549e42fc3191fa56b81d3b9378a52322b86cf5eb0e947e6002dc1d1bee12f7a6bc2eb36 SHA512 23082eb3c6f3e4330e88178c7511b83a06288b678e517cf8ad5062943d0a0fdcea16973425a8dc01cfeacc32ec05b2dba8edb1adfba2e0bcb2d81cb5060c6085
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20191125180803-fdd1cda4f05f.zip 45839 BLAKE2B 7fa2da9301cd760ce923164ca73b1e5c528f41421aeab0c9b90915b72ebf70f350766db083800d7f552c9253452dbac8c5dd48f8701dafb206513d46389b5638 SHA512 979b197fbfc92f81d4d376c4fcb0845a9e86a7a9350841d88ae2f3059c5192e2309df2e19edb76ef96e1e33bd957a83f95fe5c439d72731bd05fa29dda589e23
-DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190312151609-d3739f865fa6.mod 27 BLAKE2B 9bc664bbb78cd778f132bf3504160bf8f6d9950342fa73c461db815f07c0ce2ae5bb2a0ac099457d022e1edf2d07e536566fea043a77aa8b21054254ae854c46 SHA512 a105eb088532321694d3adb5da0b3cdceb7781670a2d4a8a757799e3c8fde02784b981747714cfa8770ed29eb1a0228e0945ad3c363220c39108a7432fc29a32
-DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190719004257-d2bd2a29d028.mod 222 BLAKE2B 5f1962cf1df6a0e8d748eacc5616c3bf0b8de117d29e57da32017cfe26eafc879d33427deeb888b283eeab56d48b3c72ef1ad0aa3706a1dcaed208026eeb0054 SHA512 6689d7c55fea7d8cfb8d2b1a934ca45793dc8d4cf4fc5b001bafe676367a93b8a8c4964d8131ba145e5e41c4da50a238d6df01dd3fc336eeb18be61b49e62416
-DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.0.0-20190513183733-4bf6d317e70e.mod 97 BLAKE2B f6c97d5de5c229ab22e047250a7030c201829f8237b63c0b272c0453dd8ea91360f4a73f9d2b56212103c76c36c01699231d9dd31d48ba8624554b5b36499190 SHA512 15deca99c6d866dcffdd51b1334fbe7f33ce88e1fd82badec64f5155782681887e7fd959ec2686fb35adf70afbe08d743e36c6a891f43462074663357e5b309a
-DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.0.mod 97 BLAKE2B 54b5bbd5b0908619326ca8bcebebf13f45b2838737d22008f20d3f40ae52fb4f8fdb8c73cbd98b57873aefc8b37c7328aab2bf02ad82a7d5f83e0d75a9283e81 SHA512 4e955424df3c1cce0b716fc518eed10196feb34ec718c1fe537350ce99efd0676276c2000feca6faaa6f3db8ce626e2d330f700fa43a10c73120dd13f5f1a764
-DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.1-0.20191105210325-c90efee705ee.mod 159 BLAKE2B 7124b4e21f0b1ff142fe4cd5c57a22de7bc5b1c578e16e8661085d475d67573279c1ce3165e05a28c77a41eac43fe29b1d98854abdcc7b0b66167f82db652dd8 SHA512 5e225da646ef87b8bf435b745313187cecd1bd3e88660f8a90cd2a6fdcadbe8fc51f53edae4b3aa2357ad273a8e58034920bb61a1cd5898b95d3fe39f30ec648
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190108225652-1e06a53dbb7e.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190501004415-9ce7a6920f09.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190503192946-f4e77d36d62c.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.mod 172 BLAKE2B 6c58510adee25cabb2e31dcbd88939145c6c0856ba2fd1f0b78f82ec6f2589fe0dcce736a192d145dbab8f4ba892bebb80cb6cea4ea89fbef72f7822d157c1a1 SHA512 5b9748f38f64301e4895d9d2bc106fc9bd05a29feff5cfb53e248d168af998fd1a501c1a3c27e23af663b283093d2a48393bb0798bea449256d89ae119b225eb
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190613194153-d28f0bde5980.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.zip 1421786 BLAKE2B 15782d84b4fd3576df5ae0c6540880b3a87f5ed47d66527ad88bbdd5e96cd1b0fb321b896b686de67d4518d3c6eecd008f1e49f48fa29df962a4d01f6e08653f SHA512 e79353b8f6b6866a14236eed278aae32ccb02eed040a557dda219cd96eecdc0174a8ac29a5509a33f6f0f9e5aa16f7d1c6861167d9798a5cb1eb01aabcee56f2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190724013045-ca1201d0de80.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.zip 1499692 BLAKE2B 2ca64710a73a42e2c956ac30aff1ef35e9df2619ae3eaf7ebea4e6efe6cd322244daac868fce5842f08d14eb2ae3b20654d721bd8713fe2141b409aac593dbc7 SHA512 49ce7d40e2a126a4bece83b274e7c5ec18dfbc3fe2203290022a47d4eb651425dd3e90e23e747229e0b5c734fde374bfdbff629ff8466767cb17e8e94385719d
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190226205417-e64efc72b421.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.zip 81912 BLAKE2B 647b2edcfc6109ea26a1844c259174eb37e3a97cbf12242716d4cc308b3918b5a0b104c9a5c2f3b4974bd94c28afa7ecaf40e71aae5fdd821cb1a5a15ec978e4 SHA512 62b95055b08c73a87c7ef69b2984eefd061e3f7d71eab8e05ce82a4ab1be2ce200aae7929da77a9ec49051b7c73bcc948fa4ee782afdfb8d74dc2d206636313b
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20191202225959-858c2ad4c8b6.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.zip 84373 BLAKE2B 39bd0256afae566a53bb0b7b95adf0416653fd003bf5312c7a316a2d7c3e5d1fa25fd08bdbcdf75df45a56116fea54dcb1bf9b68b07d15d3a909e072f8f9fa06 SHA512 10a924e5fb556c2726795462c91fe7086472d6baab511ac21c1fb3c137e5a3e0db55f9ce8fe1952566d887225e3528ec8b747136f8984163acf71e869a0d8c58
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.zip 25620 BLAKE2B 770b7dc9bdd8999123fb58cfd951dcbd5592172fd394f1a70abc918e3d7adee5273da1c757f95be15a0ede27f4fd00804564828251ab308d6fc4b116415ac144 SHA512 5a9db9d294b5f2121f3de994da38161f013a0512ad64aaf51f1c7a94b7cdb1ec4102f7c457d29f9bde209e8c254f6ad034c294af3649dbd10d5349c05874f74c
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.zip 26635 BLAKE2B a464a4ad04b36e50cfe966e6e6dc299c0f8b45d0f4198ba64483bb70ab815d033cec5cde60753b76dd1fbb16fed087b41179100a2002b0a61cd4a08f9de779fc SHA512 ae6f29d5f7790b37d1722d65f31708670bf19f429c60b2f6633756ecd40e47c1fab40fc128e0d70b3b6ed0ba47ce5f970ce5f4e55b8f1fa407d2efee7444b646
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181116152217-5ac8a444bdc5.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190312061237-fead79001313.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190502145724-3ef323f4f1fd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190507160741-ecd444e8653b.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190606165138-5da285871e9c.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.zip 1809154 BLAKE2B 63d29c0a89fdb5d1cfb9fa9f81ca75b0be518f63bddbb218581375ef651a30075e1c1a3ce46ee80dd2c3e2c25403d262bc2781f9b847db1a983db882d2ecfecf SHA512 868fa14dc95dd7381eeedd05c0026148afa4f85cd02e5ffe6f4a1e3315216378d0caef76124feb5e3d3ad2173217048d3c0b0285a032536a0a99dea47f0bfdf2
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190726091711-fc99dfbffb4e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191204072324-ce4227a45e2e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191228213918-04cbcbbfeed8.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.zip 1913079 BLAKE2B 8beb8e74d186ac1a5424f65cef958515d39b3082fd35c348a86305743b26d6e378635f8b4df868ddc386a700fac7e92d24f5aac3da467a8ee08abfcab7060be6 SHA512 7ccc0910f3dd4ca652bb2f02bd0e423497b4ecb6f9e124c4c6016597893ca3c9bed3c293922e28e5e6c958cdfedc0b8ffef2fe44ca3b282ebde1ab310a975fd9
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.zip 7430601 BLAKE2B d2403817cb6b7e32462b90995412c4e63cfdeaf3710fc9386f4b708e0ae2be9593649e923f0d844dc4420b177e42e7abfa7657e03e27fa08be9e98d76da4cb9c SHA512 8d8dad296f1497f352e94c416711dbb1f468901a3fd2dfd0a9c67f2d59306ea611d77917289521d2845f6958f571f6c3fe2d3dab289524d8145489d5b386fbaa
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20181108054448-85acf8d2951c.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.zip 11671 BLAKE2B 0a73cd55380594ca4bac71bee0207b51979e62407ec3c828f975e8091a20e2b9a6cc331dea88cf0ff44ff3a6c7d1cfd2844651acd1d957c0d725de525a58985f SHA512 ccd129fd4ce8e4067d0ad4b164cd8c4fb7ba65d5022bb656dfdb50dd2d467152bb83760f3d94c465b6d4c29c29931c8be6c697e1634ccbab4eb3a53edca7dc4a
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180525024113-a5b4c53f6e8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20181030221726-6c7e314b6563.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190206041539-40960b6deb8e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312151545-0bb0c0a6e846.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312170243-e65039ee4138.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190328211700-ab21143f2384.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190425150028-36563e24a262.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190506145303-2d16b83fe98c.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190606124116-d0a3d012864b.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190621195816-6e04913cbbac.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190628153133-6cdbf07be9d0.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190816200558-6889da9d5479.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190911174233-4f2ddba30aff.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191012152004-8de300cfc20a.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191113191852-77e3bb0ad9e7.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191115202509-3a792d9c32b2.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191125144606-a911d9008d1f.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191216173652-a0e659d51361.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191227053925-7b8e75db28f4.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200108203644-89082a384178.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200108203644-89082a384178.zip 2932709 BLAKE2B f5f2bb585fe7b80571f622cffb23db123cddff1608ac49ec5b10e1080d0ee34dfdfb136b4ec32b2fb49235e43064da19bf6a1988bd08fcb82f9a467dd0d6eb17 SHA512 0cdd46ed9e9968b31447ebc0be1b70746a1bca1f44dfac7608e47fa82020dcfbefd3a29a487aaf4a337443889f69f2a953fb4a5eae0ea201954072d6a620151c
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20190717185122-a985d3407aa7.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191011141410-1b5146add898.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.zip 22282 BLAKE2B 68df6b35d9043f23df13432b80074544f46833467294955ae5706713055d0cc9ababda892853c14e99c80a3571fd4a807a019a098fdd2ca695ba90c577ead5c4 SHA512 c72b8b73f89624889a2874c1b2445cb82f0e545fccf6a7761a278f3f659eb19f5f1c8585641b8f89f2bcfc3817ad2c0e267751cfeeab949e287e43af5df57e28
-DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20180816165407-929014505bf4.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2
-DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20181121035319-3f7ecaa7e8ca.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2
-DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.6.0.mod 266 BLAKE2B a396e867f12af9acaa0ba4901fce9488d91292bbc1395946347017863a80e2ce4c6208e3a21294f970c8fa5e1ff81855a606e9ee44fe17228e79e4bb74569402 SHA512 7cbcd41fd71c39cae85710571902f9cf2a477d8ef8eedcd2b47cca7d8d36056b1c897f790714dd905e0872546eef853cb52b1aa6c39366149e69d912cf26d567
-DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.6.0.zip 5556184 BLAKE2B d58f92c3c5f34574c0ac4160077559d60d14fe85fe749ee8e89106859318bcd69f449476dc91c3a1af15a77ad3a99ee0f2e5aac419149f6d16c446f9707092af SHA512 ffa7f573b3bdbb11ff245859c079d63f94c339df8df3018bb1b8b7930fa06e16c42d6b23a9385d977e3e9f814b84bf071ca2ae7707c9b92c36a6b6791e4ffc0b
-DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20181029234149-ec6d1f5cefe6.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37
-DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37
-DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.zip 220616 BLAKE2B ee0e947ce59df10c713766f1c8fdf27d37f64da46ffb095e7ff30da8583309f8ee15c9fa38a1790b71da466fadf87b1918600b5610fc632cd051658da32bfa50 SHA512 4439ea5da9742ca27d2ccb0604edae491594299db5b2062a4a117e8f2c08a64c6e3a87c5a3d9a606d816e89aab5eb870c13a0849b79cbb47b2659840efebc355
-DIST gonum.org%2Fv1%2Fplot%2F@v%2Fv0.0.0-20190515093506-e2840ee46a6b.mod 471 BLAKE2B 92356c493b1e94781571e05eb5096e6b40beb88c57927a955f899e8610597192fe82622f8e8f84b4c96ec00b1965552e6d5fb9166a6e3fa4f603d4fba72a4913 SHA512 ee8422d1041c7ba9306c5a49eb3bebb8c8243563250b7b3f19326769a3fb08660414625130cc1941077e7778104f6243aa5a5eb45797b72b4daf4f6abddaa32b
-DIST google.golang.org%2Fapi%2F@v%2Fv0.13.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
-DIST google.golang.org%2Fapi%2F@v%2Fv0.14.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
-DIST google.golang.org%2Fapi%2F@v%2Fv0.15.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
-DIST google.golang.org%2Fapi%2F@v%2Fv0.15.0.zip 14163585 BLAKE2B 0940d785a478203f50eb465c7e4f8686bdd54b638e21c25b41f2496bbafff66c94ab41a39ef52bb78c2bd2a59df54ca2fc77e378907397d8111e7717c8db3f48 SHA512 b81ba78ba8a62036edba302bd544c285ca5e1200209be27d6aaf62b3b116470a5cb32a1a6957c04537b407f6453057e0bd8ea9acf8fdd588c01ec9e70f8694e7
-DIST google.golang.org%2Fapi%2F@v%2Fv0.4.0.mod 506 BLAKE2B 6933fe30be88a21cca041b800cb9d095b1daf787f3701c0311da2606287d03799df9b556451d9170d02be8028ce686aaf69eaf941d2a8bdb4769c319c50c9905 SHA512 9fa566a26f8345a101dc94986755468b4782d78689d5a163aa5b960b507d4a0e8e435a8ce84073e07187745a156e2c9f586136895db2f08cfc4cd3329fc1e23a
-DIST google.golang.org%2Fapi%2F@v%2Fv0.7.0.mod 802 BLAKE2B 59277c0ab43500926ae727289dfd892ce524164f7acea3d6ede2f4efceb5e89e71e88c2c9fa3e4785da4d2a69c59e5c81c4d735887a6ab52c0b07a8b6baca88d SHA512 617883d94a4de6e07dfd82d046148ccfc5ab4eaf73840a76a9823e5cf03a60b0e0b4f1b62712620de28895d013f01bcd39477cb87bfb94524a634be8818c268c
-DIST google.golang.org%2Fapi%2F@v%2Fv0.8.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
-DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
-DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.zip 13193468 BLAKE2B 26449251871cda35dedc488c3c8c8fc4dc14b1bf79dfa5160b44e6890d5b350111277b1791b18d91a42bd91b6f382baf3caf62584e41c4a928afe17d564e2e6a SHA512 85d4096a7d867d8f4bcc1b3cc582512d94c626023d8abd20ca343009e62b600150076f161f3582ec88c6263695fec0c11de69290a6c6cd04a177272740132be8
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.5.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.1.mod 362 BLAKE2B 2d6d24186c2748c4d8f559feb269b351d4260c9c0e0b9342377f23af9e5ecc02fc7f84f7be299aedb0da1b1a6d6d67c3271a826b776bb7cc034256550479a0f5 SHA512 e3c391dfcc5f14fdc5430d7a1d239d4ebec89399b17851e4d7643b8c0c70077aaec3a1bc1a8dd5e3320d8bc6e1562a26e3fe1121d75ce578f37f5d2e84a4ddf6
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.mod 171 BLAKE2B 09b1ead1721eaa1dab7106f0206fd6f1c1509ddd07f70d7a23f73a1c047b9b33b41bae2519d2ba7e5c6ca632a9082483080dbffe0af3c371934f2ceab9ad334c SHA512 f99bba4e696291aae951ea3865a1cbaf0ba2df7cde4f86e942b2e5f5a4dfc6dfde95c74e52ff31ba69f2aa2a838d21843343b2203c732279eede5936b92d7c8c
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.zip 417678 BLAKE2B cdb4e693ed5fb2bb77ed1ce0e0b1b25dbc3648c00554ade874ce28fffd5824f487fac744f9f2cb0920aad2c94a82024e1d233d1663887f0681790488a3af6f3c SHA512 1ffe3894d8fd004f6c28916e06d8e64708c20321ff914e82d05c50ce4c62b76bcd93e74e45871f7adc779791240ef8e25df08fdaaf2abdce20a3640d8964bb28
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190307195333-5fe7a883aa19.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190418145605-e7d98fc518a7.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190502173448-54afdca5d873.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190716160619-c506a9f90610.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190801165951-fa694d86fc64.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190911173649-1774047e7e51.mod 339 BLAKE2B 06dd6c875e6235007ea4f4a8350a7f80b3285e21f8ef599ea1e955a6185c5e11658040d073937a4110910c3d21d923487427c0dc626e342e10fef8efbfa95b2b SHA512 8d2fe5cf81319645c17ff8be71f966294976889b7aff74a5b234913dc34a1c7ac03548bcc9ed29120ef651705e7dc6da0c2aff892c9262d67d0044fec5685ac3
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191108220845-16a3f7862a1a.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191115194625-c23dd37a84c9.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191216164720-4f79533eabd1.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191230161307-f3c370f40bfb.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200108215221-bd8f9a0ef82f.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200108215221-bd8f9a0ef82f.zip 8059637 BLAKE2B 3c189a7c546d4c847fd4d804661ad397e2324004d1824e705ce6510f39222889c3cea1c598b62dc732e7f6d8416c097a73da3d8f239d9c4f8d5c6ea76da5c429 SHA512 ac6ffd1e9718fbd7709d6809e69f2e5bb16f8106d23dae8502d9e1eb467eaff5ca7f63ce96a8542bae97d3c7d0a105e2269753bda01e738fb1dbd288c28c4beb
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.zip 1027160 BLAKE2B 9cc654c2155c5306cbea34e57f9c6e527cd8504278921bb46186c9997a3dd15278a6cda877df9cdac8368a03dd793a071fdc55ab7591cb9d6bd26dcfbed469bd SHA512 8cd3c2d502dbf4955b29e3b0bc5439b7c9ea82c0bdbc2749bd378d5dd30eea81631dffb4aa3306ee4633b0c988f45e73103aeb5ef38d6cc63e6622886456fd06
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.zip 1101208 BLAKE2B bee7938f7e39bd6acfe03bf03e1d4787f30384f34fbf292ddabf7e172dcf8736ebc0d32f7d26bdf0021252dcb984766bc3b778312434a4ffc5f515f009fd26ed SHA512 8b90599cca0b31538086a5d65dc124c2e7641ec42b4774b15b3f5cb063b39f3d8f83a7114e89e6aac1dc4cebbac526105378a3cd9504bc723cb26781b5d214fd
-DIST gopkg.in%2Falecthomas%2Fkingpin.v2%2F@v%2Fv2.2.6.mod 38 BLAKE2B e7781691d8c15b764ef6c89fcdf20e69fc28d46e8df2703b6fdc342247595c10ed25e3cc5b30cd29b81c57837f5685e4122e1b2c218a51fffbb1567c85b0835a SHA512 585188d3a75067e6b7d8a8321959fe7df80c6a19f8668a87f0d1b8687c4d2cefc039167446f6d02f7eeeb147371bc7a673348213bcb07f4d90bebc0ccf9f2015
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.zip 41465 BLAKE2B 9a7183d3ac6591399b5208026208047a670c85e8b6014ad29955b168c63bb4953fa972d31025613c2ab12d7207adeebe9578b3c15b65ebb792f1e41df2668297 SHA512 fa7c68a2b5a6bb14f99cda92a3e77aad0e4160f659c54ea73e9813af9ff9449df6b0cab42ee283971e778b6b9da4a6098df805dd284c3b1aedfcd3a0b8504bde
-DIST gopkg.in%2Ferrgo.v2%2F@v%2Fv2.1.0.mod 133 BLAKE2B c4ac637e2bf2d6635065be5213d73f23a1870054c58e9f1cce93af4627ed6fdefa96798b0fbbd27666573757f8b4a48c694ddf3f86c98e898124294459500771 SHA512 cac59fd7470fc9d3203dab6b9e881d4182cfca5acf0a19207a9aff2964d42f20422f9a164bb52b2fa73c523e3caafd63028189bd4190a1670870154dbf3e8178
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.zip 78275 BLAKE2B 139c8eb7c405dddbb67321eacd25c0af1e5b3f031831266abf6a8e5a5ed12f6381778868383c03433f8ef760d6b42ffbff40150f2fee91dedd0b312f9fe81c7f SHA512 3214b38f348921f6a6d9ef93d4337bb90abd0d101d69d16ad8e38415c22d3b9a85bda873df2eb7a271f9b973ef38b74731405e522e1bb8083c78932762cb5535
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190106161140-3f1c8253044a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190418001031-e561f6794a2a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.mod 300 BLAKE2B 3e3f5a2be0918cbaacd5e43e59fcc6c7c6999645f0c9214cd5a522c31d34b6d3dad61e3ddae8ccdb2f3f0d90b406c047802ee3d9d54dc40fe6eff9cd35620792 SHA512 0c8aa788d0c03d6d049f0dd7468d0f81ce2131ccedd5a5a3a18362b7d30eef7ef325277844eefe4b707b1ad71c6f83a44e110b7af7b98e05406d347237a7bafb
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.zip 506912 BLAKE2B a38cb31fd8df49dae4ff187e67704b5586ba78a0dcfe5afa3b820f0ac80f7e12ba4bdb705caa97c6be85407fe97599d1244d2f56f0e9e36554ba43289d9f21d8 SHA512 3285ab90762ee6b771c95e1c842ab308f04ac366ddfa693040c49d8951bb01db33994eb69c2c9dfd6ab2b379b29cbfe31558ca6b6aafe3feea1e693b2a36d0cb
-DIST influxdb-1.8.0.tar.gz 12064140 BLAKE2B cd3731cbfe5d7b0162dbcd36862bc6efb806e1f345993f5f249992203e6e21ca388e1b86a829333d9da807ee13c577829f27d23071645ad8e98f8da92f388c40 SHA512 d62aa9dc7777d8a1c5d3a9b36937255f783002c762ee3c60bbcb190edb4d4b0f67d99d500f67d726ec4f407b7ca350cb409b58dc6a999648884a286f8160f426
-DIST influxdb-1.8.1.tar.gz 12068325 BLAKE2B dcc5a8291188aa8f0c040dbda89fa0bbd1868f54fb92c0d90f053138839ff045c00d9e948aa1087c3b1dfb1532ba8bfda17082c6c82c92412653fe470b7a78a2 SHA512 46a3629b4cff2bee15659f8cbee125900a03f00bbde8ae1e8c7b86692a28028ff6bfdd009fa92887f08df8ef5bb4e51cef88fadfd4c8b3c87c2955bf63a9a866
-DIST influxdb-1.8.2.tar.gz 12068366 BLAKE2B 621e0af2d9521f573a730925ff1d8a749b72e1ca2774080b11c4391c4c11a3685e1ca64ed7ea4f508d954d01f0444c787a3884ebdc7a98928d50fe51bbec187e SHA512 d45d96a1efa39f4896724c21be7992a4cd47b5e5eac97fe8b8fde87f4d9c6ed4d89e4a92e5c6957728f73fb58fbf01dbaf28a33b1f179535976aad83239c1f1c
-DIST influxdb-1.8.3.tar.gz 12071669 BLAKE2B fd399378a68e5cf0310c8e5dabf5bd23e7a806da544ccf866dcc8adc6831745ae22a8a21f0165d16b6e37680aa812ba7698805015e4ff58e1e8d3db704a03b3e SHA512 e914d9484c3dbe512659e6097dde5334a9ea03d23434beb07711899cfbf5b15253362d75157310accb555a0059b8522757a60241dbd5513dfe11a6886f760c83
-DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.mod 36 BLAKE2B 61110bed2b9e99e0250cf6e8b842257202c89b3462edf9368b73cab29f9dbd4dcc66c3e290a1d6329b7d62321eecc52082a8c4c0797eac743a29a8a00910a93f SHA512 db50ff677b0bdccbc1a1ad3df7c5cc76f2fcccf3ab99d08d1c2868440eb9b893fe89452f4286f7d42f2f16abf0f4acda67fe86e174dcfa730a743aafcc166774
-DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.zip 450232 BLAKE2B 2d10520e06557fa00e94a1ccd80b9b937bcaf404f81f853a020eed606c7a297db037baf784518e060604319ba5454423e4995ab005be18ae1398c5ef16f24719 SHA512 0a15b90c2a4577cbc298a34f714660e9fdc488b1fb72b33d0ae296cb6f15a691091d5e6d3c801998b9c2b7236b163118577b2816316078d613f74cd803947534
-DIST rsc.io%2Fpdf%2F@v%2Fv0.1.1.mod 18 BLAKE2B 02f32b5a77e5009f179cf1fdc9acbb977fe219698f19ef41acee8129e0de7ad93b0b39ce82ac1538c82a7cdd33776e270f0acec114716c791727b021a4d3e147 SHA512 f911a889614d9177295952c82f8b4a0942fcbb7b4fca7378c0b98a63ed0e37e1319d51905f906ad08144eb0f3f829a2ccc2af04c2147e60cc2ac1ea8d7dab16f
+DIST adler32-1.2.0.crate 6411 BLAKE2B 51d44ccfd774158687b8244e83377e40ff896364e3d41e9015665131cc2a176d4ca0ab5a84df027dec0869ee735ee36f5687a06c1d2341de666070cdbab89483 SHA512 8ed72612fb78e213fc92963fdae0508ef26988656c939e6c9cddccbe2658d4a956a8ae934d9658262a8b2687dc446b3f1ee7614128b440487c81e606526dfda3
+DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
+DIST aho-corasick-0.7.20.crate 111440 BLAKE2B 3f5d54fea2793ce1c2c4d5b3049b910f45a5721e7538cb2557df63dc3069ab3f6b66aceb5e9a48f21c43ae29778fd045428ea103b2a6de81659e605e30e64ca6 SHA512 ad31f3d1b3fe41e593d4ca7e721bbad62936f2e6a17fd1e0997353edb6fc906d1bef2b79f0ac7c7676abe637bbabb23ff22059947be379a2441011f8178983c5
+DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
+DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671
+DIST anyhow-1.0.70.crate 43803 BLAKE2B 574da0e447592c12051deef171850b00ac2347dd336f71915dd21f45cc03439fbcdbaffe261097d53cc11fa0db75b1e3b21ba667f26c08db7125b1c6264973de SHA512 6fd1338e4cbe915cb01fcc5e05e7e0c051868701eeb27f03577a7cfdd59057493922b36e2308f7050608a851112d4d24cff2826456160ac8930fe961640e809b
+DIST arrayvec-0.5.2.crate 27838 BLAKE2B 51e2eacae0ef148f3f52d21ae00794e540e7ce4c013fb496dd1347ad91ffbbca199381fffbb064225f829216f6c5e915edfa64833f91fabdd13c3f011d86491f SHA512 1896b5f64b4dbdcff8ad234bda4ea8129bcacf87839347304717e94ee9f369cf5f4371755e453ff7d72817edb8f7fdbc726d77cc4f28ed05148dc89c7714b004
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.0.2.crate 32293 BLAKE2B 4ff74b5abae1159bab45fa46c6782c241335186c9df07a0a419800c8d9aced0454e27d62027c61d1b4fbef3f29090508cb4955e085cf4a25bd9b21ce0a8a2e51 SHA512 4581eb84133135267f8b5f1ccedd8a921d1d6ac3189e079f3d77bf78f3074008a0330e17a9fc6249b3e1db787e5a73526ad59b8bb2e1fb3a31c4bbd861460353
+DIST bumpalo-3.12.0.crate 81604 BLAKE2B 2370094f0c23a3e9b75c8e523e54637189543d9df90ae7ddc349d316054d3d1abd1319e51cf1578f1630be0673fd7f65d130469b2729aa32617372e8bc5dd5f7 SHA512 37f2228f251340e82c27f2b34da2af6eb520077b3809331547cbe4887c0b4791b1a7d75a017decccef162cd02a088d504214b7a44b484a7d93eb6a278b329ee4
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chrono-0.4.24.crate 191330 BLAKE2B 492a5f1a458db9d6eaf244ac6ee750fee5b4e2586b7c675f87f2515143080774f13f9c163bcfc84b08ec70b90c7fab2ffa438f9b2b8b4ec1e691fbf9a104ad50 SHA512 1a9121870aa4d76448a1b118a2e135a145a55c7784c4f5a4f25732f8597b8655f32cbce174bdd65c2dc7b17dcc3a608454d0e3dc29b86338e42a839f8be1e4fd
+DIST clap-2.34.0.crate 202210 BLAKE2B f383adf1d757ac4b68995132b33837686ce451f85a02a8d05d2c746da398510d05d46330f3efade063c3952aacb1754cdac73dd0afcae0df5340a89f9353aa1c SHA512 c648a761b9996a7e7464a538bb53621bae22090b846a42c3b729beca3363958ae67e3da9f93f58b10a10e043cadf7ff930388680d168646178c2824177832db8
+DIST codespan-reporting-0.11.1.crate 48963 BLAKE2B 39deb717a853ffbe3585e20a67fd7a75b62e2d796a66b5004876501fd7476acde9f126804f2ef6220ebab66821a3ccf058d544d689a2705eae44285f34b510cb SHA512 0869789f5c50d3523d3ee16a8fe64756498a13704efbe82bb0845eaa87c7b6b1d075b3b6b80567cd9fce6cb09c5179e9c07e485fd17ce56c8139ade0f8bc6844
+DIST colored-2.0.0.crate 21619 BLAKE2B 5abcc05a95cd74a106c4e4f3c9b1722a7a9493c7d16c2d73f2a116d1d0d20f93d00c414a19871930e6286aa60cdcb0f4f4411ae059e7e76b7632cfca3a55ebe9 SHA512 c9ee830c1e8a32372ab8c7ce569701deaa6533fa369fc1b4c04bed57b1e686ed775fc76c3d9815ad21ee69cfc7c30d645abcbacad39081c7e37ff83ebb6d9e8a
+DIST core-foundation-sys-0.8.4.crate 17725 BLAKE2B 8afe47838dc91c8848c0d6a96a604149e5f0762228dbc10c17b85e4e9cd2c3928712bd0b28e1071f5fd6fd76d4ef972cb86c6c929246fb6e84577776933a8ac7 SHA512 15da472316d6decc213e4e5f08ecd22a108ebefe427b890741de4f9199614f19123e64329da76de5e8b4c9ff74ffc31738fd929acc1460fc757b4aa1fd3fdbb6
+DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST criterion-0.3.6.crate 110967 BLAKE2B 7e6d86da0c218145505c467680968758641dfffe55ed6570d5ad0ee23115d484db45aebd5a0efa248f22e60cb8923b0671f51860f867fce74132fca90a3a843b SHA512 282d8d110b8ae2c4f96503ee9d5080cd40acb4bd5ceb317f9a0acf098f2a67c61a99fe3c9796424a74181910840411362b8cf5c53e5665b078483c50935dbdcc
+DIST criterion-plot-0.4.5.crate 22721 BLAKE2B 81118b04d9715fdef79a120d98ea85cc2c2b6b49ef44b28cd5c9984762dc400da37c7681b52a8a185e6208574c4a5b74b7de9e3db0223757258a8dd4b2214a3c SHA512 0e06a230d00471b7274375d37c8454d0e000ba513348463407083423151df930831c8c99a943a3d1e42155f98e09687e26d53bea7ca3f640171e055cce32ec83
+DIST crossbeam-channel-0.5.7.crate 90257 BLAKE2B ac8d47df391d64e05f2eac2df7113d9038d53639d963cd45109c2de71a1b32c9f687052d5fa88533271ea3569519627729fae1e092d2491d2b66bc38e21e176f SHA512 70d605a224db1a4e2217280cd2269a954781bb21a0dc5b0b08a5a83794daf1c941181f271c6a8347f72321ca2119dc562ee016fdc18104d5d3327a82b412e9fc
+DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
+DIST crossbeam-epoch-0.9.14.crate 48524 BLAKE2B 439eec7e5e0364af0fe0a34ffc9354ae289798ffa7480bc656d4a610101e1ef2d5f484d84f82c87f961bd622434c36adfb7a87f7fbd2c71077b732cc7cc765ad SHA512 543cb60cff7c0823733f6ace191b137a04025a2b40fe4fea5eb273772009627fb705aecf742bc59e01367d4c15a14aca73aa2caf7f4b509f4b25947e14fd1e19
+DIST crossbeam-utils-0.8.15.crate 42326 BLAKE2B 23e6bd2a6535c6fccf7b7d17487fdd4095c92a3f3ae383a72dd6d90c1c49c2ec8d96dc01a94c7127b2681bfaef843585b3ae8665ecbc43b2e7db8434e31c6c8b SHA512 adb9ce1886396bc637299cb8122d102bcc9e561f25d67ef73e98c9ed8a8b13b78bc0f5bbacab19d015e1a7690bc0201f08b3d8e82393ec347e7f2933eb622533
+DIST csv-1.2.1.crate 887936 BLAKE2B bd58776a653f51c0c0ae57a1f7082c58b0447d5874bf91e40bc9d66558200c1447dee368f710ab99a9434df319ec53cf15dc90a470ccbd439a823dd9ef83b4ee SHA512 015d6990fc68a992a980695bc21dbd4ac00b6fbe277568981dcaa3e7edcae4429979c870fcd79b883114d1a5a55f66584f3cd5c27d3886453b4a70577cbf37c8
+DIST csv-core-0.1.10.crate 25668 BLAKE2B 8e9a56c26e75f4c4c9e90a21cc30c60cc3fff17515ac93bc858e8ec45e130df2ecabafa7c513b2d2815269fbbd98c418269dfb1bf1425d2fd32fe46823cee6c8 SHA512 2a269d050fbe5d9e0f5dcda2de1e84bfeb69538dde86040ad1ec7307a214eed813a1482acb5029a51f18126d384d5238355e021964e47811db971a0821bcc328
+DIST ctor-0.1.26.crate 10803 BLAKE2B 93627949b92651243b7a763d3d45a22fafcf2147a30661c4cc017e222bfc2bc12b4071054e3079adc431fc8a5dd8b86a8d11c53c401be6db846a3d0d2076b9b5 SHA512 3a3d60c976ec02a9edfe04470af4b04b02601c48e2a007393cedfef5c13e22bca58630e9e885e635a71aabc3e0ad8fb70995876551cdbc6a31029d8d2bc2e86d
+DIST cxx-1.0.94.crate 196058 BLAKE2B f504685292650a076c3689540cbb5906721fcba1cda0391e855d75b9b1270249805986b501291d91c947c124ba8affa1659e43e040bb264d3ab3aa23b98d9718 SHA512 fb66c3d53dfa1fdfe8fa31ffb6ffe0f53fc87d5f56038b5d2f588fc56668f96954e75db1fc7304d183ebae2735f0c7297b396936d588242556f40557854f22be
+DIST cxx-build-1.0.94.crate 84842 BLAKE2B 39b8a11b925244410ac2dca3be5a27576ea67f5386588e768d9ac1041336170834c7c2d0cd0a61b3e6eadea4d6364e98bf4dca64204126ef815235a17f1edef3 SHA512 4e2b7ccb8ca2ba35d14fda222595528d3e7abf6b4bf5b8e23f19f9668377103808151ddf63bc1c5f725fa362dc3f33a827b026edab176cc99a36e0f890c13adf
+DIST cxxbridge-flags-1.0.94.crate 5253 BLAKE2B f7746ca703e95f8b6197655aae08b88509132b89d035c62420e3d0cc4857687171063e2da69a787938188dc5e40fccd2b50713ed929f3f097efbc5b5956b5263 SHA512 9d577cf6bd2afa2301e8c227f201c138a379457624833c3cad4e75c7ed046544b363ac4bd0f7a1a2142ab1c9d879b56ccfd681a3962be917099db5ee4c63fb02
+DIST cxxbridge-macro-1.0.94.crate 59873 BLAKE2B 9a29a2818cdd6047b49002c10542e2d04702ceb41823a12e27b151bcc524a05377390c65164e53062630d7ad9f849ec71070118de5eb348c98072e301dbd1416 SHA512 59120f8d0f498539a16921d18e0e53a745f4ee58f4ed40465b13722188d28975820adc3c632a4592c6813771056fe084674daee6c56940e50f6e9c492c4fd90d
+DIST derivative-2.2.0.crate 48076 BLAKE2B 56d27e27493c3b818ad45703efda607a0a0d9a48b0d43785b6a013443b8b964b67bb5b5284d242358415c5fb81b86b02079ee7c0595ec07bc658240eb114b887 SHA512 3c65ecdabd2dc202be3d83b06f96b6f68504fe542ede7e2285093c6d360a33ec76a3787c436c6e5ff8f59d430436a4b8ce2f908cf7b2b08cd8b0045de4e5d1da
+DIST derive_more-0.99.17.crate 55771 BLAKE2B b290bfbf06119018206be0f8ad4c92508be4cbc443f1a937c38961e207fc3f433d8a87b2b5a17e72aa1735520799540557d9dd9e49e26b8eb7cc80289afd44bd SHA512 0bb5a94e56d35a17ff4deed61c437ba75c9063694032ba98b58be1b072d33f2fb170d51bd262a17ff1beed2110b334528de75d5315ac627202ccb13d8c490baf
+DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb
+DIST dissimilar-1.0.6.crate 27459 BLAKE2B b62d27ebac85617e0111f3424522acc43a38295c024ff2e6b9f1e152bbd369fad266d1581171a63817efc319ec1ceb6d5b5c9ebb3b8724a549ffba32ed860622 SHA512 586246b66ffd16fcf29bac81bf683ba964b801e4ce7e9fe78499a0e8575378f9ddafd75982101323ef937378a8433707b7986aec8cc9acb1bc256fc4ac7827a9
+DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
+DIST ena-0.14.2.crate 22991 BLAKE2B b609831e2f5dfb6602293cc3260098bf0dac09afd516a8e6062453724d7d3f516bf14811e81ac3e11efd917087dbbf4f9a3524fd30ba79cca85cee2c0c63d77a SHA512 e66eea99484c2b7fa2df7c8b3df3a10dd185163b781fa03b1695900a148a7c1a1676f7e6dfe2c5d18b61a90a6756de0bc42e9c873fc7a53de3dac799b7c23c01
+DIST env_logger-0.9.3.crate 33291 BLAKE2B ab0f0f85771bbdc6c7709f7cd4c86d9eaf436b073ce614f9297f60e95b6c9e6141d8810d1dccc575893c796358ab65ba56a281630ab75350e8f421167e5d9c52 SHA512 a3ee86e77d980c2eefe4be32d75422aa0f9a60a43fd11bafaa3c9e556584cf65c36976a6aa650f87426edfd82de0cbb919e0906cdba6db8b486b4dd4b2583bbe
+DIST errno-0.3.0.crate 10268 BLAKE2B b5afcebe6fa435eb67407c063c7d37f0303e7a6770edeafb1b87f36b7d5773c28c8b4b3c970e12f42788a3409f7442b23f015b2e6a5465ea4c6b0e9b9fe048b6 SHA512 8b0626190d965306ddd84383b6b5ab529502eddf3859f7b480f6864e83310248b6044485e000bece8b95ef24d2f1bfffad6c2eeebd177f3a10e819b29e5e6f5b
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST expect-test-1.4.1.crate 13530 BLAKE2B bc83162a09c2493dffd45d8d8bc11d3ca86ad1d76583073792b411a5af39684d0e80e5183eeb3b87f7001cde46901b280b67ee186283d23425bcfceb6eb5730e SHA512 5665e7bc640fe56f1134fcffb9ac80e5d6df820c679b768a0d68d58198167d3ff0893592adf88299564037ce72a198c6c8cdb33f83683ca5225e329494a2ee52
+DIST fallible-iterator-0.2.0.crate 18509 BLAKE2B 9630fcadb2f30fbd8a2a057eb992bf33c0aa2d163e6fbd43de9c8c350e3e932ebca79a6576b215e17a0566898f6e37aef806a643d20c16a6aa73ca515fcf30c0 SHA512 c558fea3fcf3a7756acc0b63d38f76dfe7eeed4dd9c12c46b7a7e8b8bea64d00e0cc115492e8b3a1a19e86e6083477dcf7d2d72ef960b44f24d61819a3077e79
+DIST fallible-streaming-iterator-0.1.9.crate 9249 BLAKE2B cc4459b34a9ad00552a5248d090d1f25804b92838f41131e475abb83ae0b89401248feeb52a49dbffd499ccc0ba0f2f1d044f2f3e9b06662be01fe2257a4e885 SHA512 34824e2007cb944eaf54b10d6d3885bb17ef2a2976c6dd7695ff82a937cc95eb65d343dd7a5cd2fab5aa5859faae3352a9e1c78f239ff736900c1dbc3f5ef7dc
+DIST fastrand-1.9.0.crate 11910 BLAKE2B 570c66ec1d4ace08b9790299759e3b6f0394aca52c4ec2e02258229c198846cba7c0627807548bac3ef1f86c7e512c4bd105f1e18e35ac0ea6934f76a6838e1f SHA512 321567b5fad8552c0efc4393b1e77d1bce288b0a88c475d432f79e91b3457ee6eb5db9e4d65ac6381b9990c9916f4651b6a76250df44d51ea3e25bd8184bdc52
+DIST flatbuffers-22.12.6.crate 23942 BLAKE2B f601cb587268da91e27c35b40c98ab84d0564f97985521bd1f245b18b44a9e79a3d0a643a10435bcefa8a5d887de5e6021d760e0fd62147ce7bc7c9dc730437f SHA512 ef975f87d2bcb45c2e09b73413bc17ea1cbef35e415d373e57b41e689b275e1de5607cd74cceaecaceaa2bd45bc643b95643807447c47a837d6dd8c720942048
+DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+DIST form_urlencoded-1.1.0.crate 8734 BLAKE2B eaca73d73d16242f3fa3e38e23531c67c01404697bc7b7eb7c64fa04167dcb403a41818487fc46c5d9118842818472d549a2f5fcef5e4d962461e1c103d895d1 SHA512 9e245495dbf235b147e4216b313f2e6a96357d2782a66d71c08c2902c6a065701ca8ecdbb6b2035983a83c44cf36c921b5c71d63af0e02dd39bf5f8347117e11
+DIST getrandom-0.2.8.crate 30553 BLAKE2B 30211bc6a8ceb5ba765cbf068405cfc08842b2521c5850647971f4cb4bc9a5b0a9195ccfbc1461de019eeb7744ee69f934922ff21677259d7b815800516df4dc SHA512 cd7aea29f79a33a0de2a52a0a82f2b57ea8f27908ccfe00a5f42248766df88b225023603ec56d6fc634ef9c1eb67ad0135c90d4c695f6f659db0767e7fda44c5
+DIST half-1.8.2.crate 41874 BLAKE2B c3c5c01771f05b7af652abb8e5490dde7afd04de130537e67845fe7ed58904e7ad66c7286a4e7deca3641876a6d12c5b6e95883fee2809c8e685d2f79cf96610 SHA512 5eb128e41b8b7f9769a669834b2f8380b115395bf2a2a181732bf6c71234d978dbc4c527fddadaa7bd7fae9add77958b27616bfa1767fd123d3cfb887663292e
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST hashlink-0.8.1.crate 26404 BLAKE2B 6dff33a44c6cfb19d0258cff5ecedd6677da0987f13b2071d816b22e0c707fa0b4c3efd26e9dc62516c29f8da29c321561a4b785a916c3f5349a061b26e7f17f SHA512 e6b0e843c3dab51225c90b7428fec00c5047d6ea15cb7987d7884271c0da6b5ef66e4d7aff3de764c41ad916724518e9a556b582f6ddc745151d983de0a95155
+DIST heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
+DIST hermit-abi-0.3.1.crate 13793 BLAKE2B ece7865a09f566a95bfba5f1fba380bf12836c3761fc6d5a3d5543d3e50ca0eac81bb567d50b5643849cf1a752aa651a0db4c053c60faa8f1c74fe2f12819d71 SHA512 a55fe9230e4e8fef63284befff74108f206e76067257439d334d33068875368902dc690926a1feea15611f14123073867d7e9cd21397bc484cef849d6e1dfbf9
+DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
+DIST iana-time-zone-0.1.56.crate 19517 BLAKE2B 88a83a65b2e17afff6491953c1ec508168e3cb0d720992c7958aa98ffec263d3b32f4ad07664703b1e429d96faa211a50c557d5a1398a849c45ab9df796f8e4c SHA512 d1bc3ccc17c6d3abc44f8662a15b5c84f5381f90dceb5e14a826595706178ba0f8cbf7cfa86d3b7e967a51ef75a27cb868fda7a3531be9bd6e77e813580131e8
+DIST iana-time-zone-haiku-0.1.1.crate 7200 BLAKE2B 9e748694423cadd6edebc1daef2aa4126904f5597202874d68066a15580cade77f48f1e6f2a77e17c7de0fae5204ef1262ad5b6f30bd95f4faec77748aa2ae0a SHA512 daa7570aaf5a07c990b07fdc2153b63d947598ed35aa9c35c4773772a6c67997143b120a18ff4c7c13474d296e81a92975ebf5b9aa9d204c1820e9629cb2e369
+DIST idna-0.3.0.crate 271128 BLAKE2B cf8a2c43760f03e94953c6692423a12f28fe763aabea8785b93cd247b3aedd2aeef2cd99978a027186290016ed924db39d19fe7d397da1ab570be9646bbb630a SHA512 9b7cee27811ee52ed9bb39fe82f724742eef2e5370642b6c756bd134c8cbc20bb6faa9f296053672dba8a66f7356a08b2ca99f176407b173e2d566d85d066441
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
+DIST influxdb-1.8.10-deps.tar.xz 151055544 BLAKE2B b660cdf996ea918db2d569472f42bb48cfdd694398d2577e4e97d549a549e90851b417463bc5228735b3b23d108fad83868971770953bea38ff27bde4fb9493f SHA512 bfd89dc2817c59de1286b2dbf4e9895d8a104aa1e2cd3db54069e40328d51baee152c761ba92818f67b2a6ab20591b543dd84259e4e2a545a79cd59ca197dd95
+DIST influxdb-1.8.10.tar.gz 12082933 BLAKE2B 511202025bd0c2305b8fa3b8be439f6e2941313b42587e6e6eedfcb6ae44c8fd821e5ffcbde288eb4d2d426d3fcbde940cdcb2a993918263ec31c57ecfce0e85 SHA512 4f5d20c190288d6397f0e87abd9b9136340b17f091c361cbc111ba661a3e63626edf5c74ddeeda164d82102dd06026e0037f50da546cda25e6c8647f4c739fae
+DIST influxdb-2.7.3-assets.tar.gz 19829786 BLAKE2B 1ca0fe1a6265329b226eb4de0d1310e71b766bcd8d05f636e3ee0c75c2b9f50c90b8c7f38225c0380b3074f84eb07805a7d42cf06cfbdac3b8b1ffad3befb8e5 SHA512 85f49e3e5a262fcecb801b3ba91157557fa30933a9cc210f2ad7395d3165225fba2f50190e452f76b2567adb765aba297dbcb425d388851f742edd55375da135
+DIST influxdb-2.7.3-deps.tar.xz 421383868 BLAKE2B 0590a5023de66cb01772ed2d18f993f8e706e1dfd8fb1a7f191bfe0244baa16610537f87b20fd16b840b04afc7b5f97cc751a8ba1bc9f179f31bada73b51052e SHA512 f0130c57db60fa3ff622cf646d234f1bc47eccded070ad959df541f8c0ce3a9feefeb86f9bf1b7fbdf562347d40e8eabd42ad65b5a415dec9e74b9542ca31a6e
+DIST influxdb-2.7.3.tar.gz 14249851 BLAKE2B d859330ece0aa0dc0eb2ce7246d0ee7a1f25796dd436d102b402255a4c463a93e0369287228b4f840ee333aa3509882aaadddfae901e9e2842cfed6d582032c4 SHA512 4d9f2faa742fda0366d3386487461d6dd06f6ad27589db3b87ce37242ee9b335e96028d6685683d2691cd2424a1a8d2fff535056eb290af0a1152883767f02b5
+DIST influxdb-2.7.5-assets.tar.gz 19829786 BLAKE2B 1ca0fe1a6265329b226eb4de0d1310e71b766bcd8d05f636e3ee0c75c2b9f50c90b8c7f38225c0380b3074f84eb07805a7d42cf06cfbdac3b8b1ffad3befb8e5 SHA512 85f49e3e5a262fcecb801b3ba91157557fa30933a9cc210f2ad7395d3165225fba2f50190e452f76b2567adb765aba297dbcb425d388851f742edd55375da135
+DIST influxdb-2.7.5-deps.tar.xz 459263596 BLAKE2B 13c6a2e3539960ec01b2d9132c54e47e4f178e66fa5eba07b63969c657fb4a69fa700a59d90201b768d52b57b449fbf330ae91463e22b818a5f7bf3918937d91 SHA512 cfc4bef0e33e29c54c529a20711753ac5da3c8a89af3a81bcb9612e745254fca9850751f69eec05f7c22959f8a7b240fc52d96b1dba7ed36c907d6c9206618b9
+DIST influxdb-2.7.5.tar.gz 14259860 BLAKE2B edcb6228bcc1267bdeb93bb0e34e65d4e97873f10a6e45a919e21e3aa82b2f8ddc02d77c05ea37ec5b5e04222b34e5e74af99dbe85af63fa78dff841316024fc SHA512 895dfc031a18551822dd6ba17a4bdf5e6cef2bd67aa373188b8263a6ab389bd7b6c001ebe47bb945307cf71de2b03a9fa48d2bcc60cda8cbf1b569a09572395e
+DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
+DIST io-lifetimes-1.0.10.crate 37294 BLAKE2B 9b8836c4bf30e6d102fd9973ac66f067c3ff8bc2806e55f26368ebdc9854f2e9cc6eecc8014f9a0b22a968a6eea8be243fcb7a641d2d0dfc747ee08a6a1450bb SHA512 4b2cde9522780a408c5d4e6406286bc5dd3a0de1a99675129e9856e5d889498a127fd5dd7c937a7542135abc2213b60bfb6258b7871b8709dcdd79d60455bea9
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itoa-1.0.6.crate 10410 BLAKE2B 8b1dc9ae9d55a006bb2abe3b0282e5e77397814b692a87b9becdc2bb74deabf5db09e3d5a2f604964cbff046148025988a5d916480e0402b2b80646fbed32875 SHA512 e1fb82fe16e1248141d48de9e05e7abed0c6fef58f2ff8b77b52aca5f16f3600c46707ff4c7a0f0307047610f29775bda74948d6d1efceb74b37cdd22e1fcf31
+DIST js-sys-0.3.61.crate 80158 BLAKE2B 07980db627a1f4f385586ad0609b5daf30d590931d2ca0c123f2d84f6c97be0ea935aaae3ccd082440c7e7da1adb4eccfd054a3598d99351fafdfa748f567b5b SHA512 f97bb546af2111fe072a23cbdc71e4fbfd39fbfc6be37132b306853d5737175d4c9c0c4661096012f7fce3612f81509e62a97df8bcb21d7cc796a8084e5b2e16
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.141.crate 671145 BLAKE2B c0e37825ac3fba376e942a0e2c2aeefcab384b24c50a453d1948376cecb3f953d59735e37aef8a9ca7ae707fc6b4818823fae7330f213bf084e5460a82dd3ed5 SHA512 29d81f440d62fa1c9f7983c38138994e61f4897761a50a4f14abce1ced85a8994c6f0cc0ce86f77113b74495e36ddbebae6627f0b94c44621620a395a6723cdd
+DIST libflate-1.3.0.crate 42136 BLAKE2B 05d70256f3e12067985ef2247e08b4c16a4248a5c31b50105833e9677745d6b1c8ad79de49f32966b9bf5c472ba7b5233fc12e26016dc163aa951c1365827049 SHA512 3b60fa5e51df20ed2e5821cbbefb73da652534933947fd53bcbe17a0ebafa19e9ef9666328bafd4a02f551a96d6b006ed340d68035b491be1ae88de62961be8b
+DIST libflate_lz77-1.2.0.crate 5964 BLAKE2B 9dc410c3e8d3b7d16a9cb7e16ac925b2d7a3ba97a4214380de5f9e99e35a5415b82ad961d41221abdaa8a0a6102ce0ed9def57ff89822ca714cccac0ec4b4308 SHA512 5aeb0d1ab0bef43a87552f93dca760450e6fcb0213c9dfdc0ed2f72fcb6ee1b26add02705f7c5a8552c975c9673b1a147fa036b6f4c42c07675a11b3cb1929d0
+DIST libsqlite3-sys-0.26.0.crate 4840390 BLAKE2B 2b6ec9f110afaa17cfeb787f1d99a5bf5e6f062502ce80d31d212dffebde3be5cc9f4bdaeebb9e0ce0f363b0df5e86e5115a2c6e528710b1babb628cc1bc39fa SHA512 8c1cbadad1b14979555121423cc8245ebb6cb4bd72ef93202c5188c4d799cfb35f7ed8e9d7ac420a86cd1a3da7f15426aaa928b6c16510592d8739b54ab324dc
+DIST link-cplusplus-1.0.8.crate 7674 BLAKE2B cbb93184d9deadd4912f6e03dfb7bb9d37f01b6d8d47dc9744724c848f297adb9cafb1599c2bbaffbff336f883e9a24c3cb4f11745ec4716a9a2c8cfa05f6305 SHA512 690afe063eb9726faa03443bfd01789a559aa10ded4bb3714ef7b13095005c817ad019fcc62b5f7b286c974a81e387ca3342d238e60ed7ab237c3628383a661e
+DIST linux-raw-sys-0.3.1.crate 932203 BLAKE2B 090e9c11a36ed26b244d9f130c87d1c6adcd81424e83eded72ffc421192d0800af27c683afa262efa8b3063f0ea510ec113664e0c2b0eb273325d2c30443f313 SHA512 bd82bb055a8f40ccd4a1cbfbf8c628c63ed609489f7ebf61b9ccb268474c16e206867c3695e1da2840c72cb26b3f646fe9585148037604adfcdaf7bfb494a452
+DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST lsp-types-0.91.1.crate 54922 BLAKE2B dacc338ebbe9496bc0bd42b27cc74858f7a0f0674cc2425b8919ad8b3894b19a91bcf406703f88765d202373a25635fccf0d90cf0e27ea5bb9494b16ce90af4d SHA512 a7b51c83b32464e97bcf5791ac208e2be123e2516973a35b39403b0ed026039585a04bb030cf60d318775cfb740d774f7d13f55505ad5345973e6a39f57a8a87
+DIST maplit-1.0.2.crate 8871 BLAKE2B 3cf975d35de2d2fbd50227a6d2c5e72227e99197b620c8f29be97bd3666ec162deeef0d9e6bd327a063f175201beeb73c4ed27272449b1df0b78238b2d36ca22 SHA512 917b5cf665e12b687035c895b60b2ae05622963f495f5693515fd24d56f49e95a06ffced68606d061bd20822c655100035930673fd4b0d4790168763b6961a9f
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
+DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
+DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
+DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
+DIST ordered-float-3.6.0.crate 17666 BLAKE2B 4173e6e58d97e06630a1c732c47539478b83efe39708cfac77354726163ed811d6df130e51fc9b4baa9b7c02fe4a4f7d3677dee887a6d54c72431f5cb0b5db8d SHA512 83386ea83101a1fb1327314f02b12ab540add86bd45bc8d2354bddc0d680560ceebb55cbe74bcbd46f2f2e2c7cd3e36e14e8b83c5045c79199c2ce29dc2629a6
+DIST output_vt100-0.1.3.crate 4473 BLAKE2B 8c75dbcd413e1273ddf077f3b57996953d70376be6e438ee1a4de83a8c3c535d4cc866849aed91df74aa9b22d41d428b1142cefe035dab7404ec89af9efaa832 SHA512 ccca3b4c582e860b0643dea78302fbcb96f8f86b356041ae9c685e7c48f1721fd3366dd1bea39afc1bcef03b298d0f6c87918a1ba92a56e6b06bc8b4123c0d89
+DIST pad-0.1.6.crate 4963 BLAKE2B 38e02652f89b3020e1b5161c73053c060eb83142869f297bc8d21f3a193106f1c3565116c7c3ffaa6a30da5ccc2db3c702c14a20b13eed13cf33a358aebece6f SHA512 712b402d76512dd074862c719ff3b066b4ec4e7c56f37cf3b9359ddf45cb21eba3bad55d4e26b6c61c5b982c5adecfdc6fccee7939004329b7b12c8ecb997132
+DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
+DIST parking_lot_core-0.8.6.crate 32567 BLAKE2B 9943244f813879ab85eae0b9a6bd8f8f0070fe190bc43148a832b217ad546bc97e58707a3987072965a79ae8bc2fa839aebac272f2de00993b8ac1ca0c5fc5ef SHA512 906241f8e2d71784d572fb78978c9550b19af9c4e32fe3b2da751287806d0faeba61f5bd36f7aab026970b2bffaaa1f62ddc10c64dc348eae61bf7b51297ef80
+DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec SHA512 890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68
+DIST pkg-config-0.3.26.crate 18662 BLAKE2B 2ad92dfdc8ac0414b12a61dd30ea4ac5f142bbb55d0555ecfa3a53e750367e1b11766a693ef11f8cbe5a2ddb978327632458b2bcf75be7aa8f973262033349ee SHA512 509c4d1494cccc20de6a62d9d037c63ff77ebee8d907747c57ba0926d177b08fcac0231ccdda14511b453deb0b76ddd10f8fbdf63ff94257d72a12a889546435
+DIST plotters-0.3.4.crate 143219 BLAKE2B 3121caf7d2a62d3dd337d887ea2343981d23b26ab742fa192456d58a73ebd07d384ad6e1de58671b5c06344c2efea8e32168d830051d425a63299d15746f3a73 SHA512 04d490ad1b822195259a661dbc605ec2f8e190a5bbbbf549741b286aa888b26a2c7468d226cee7718bd69b77e026283944367504db98c0293b3db4ce45103534
+DIST plotters-backend-0.3.4.crate 13416 BLAKE2B 2b7090fb98ab9c28fd8525e1b3b4ca3410dafdb80563f52b545af70db638899123455254861e95973fb9c9e178e83cccd941c7305977de033091ed957291c28d SHA512 4784da70eda90a48aab38192619cfa7df733519cadc3b9aecd339dc735a9237e03144eee4f22f5f03ca214a732e8807d179d455032dd255a8125092ea489228b
+DIST plotters-svg-0.3.3.crate 6916 BLAKE2B 74c2c71afefe1148c82f8695ca3ae5283bad5b084e542325f3b6d587eac23f9fc087b64033043ff52ebcd661d40bb91c33ccd0de3c424ac0916baaa3a69c63b6 SHA512 1233eece4ab91ec690f93c7134ae8e6405183aaf500b2dce6973b6e212058334b7335aa80915e40363b9d2057398028c57d0b3aa974b88bb42c4e0e4726e7a92
+DIST pretty-0.11.3.crate 27335 BLAKE2B 284bab5c5bb2a4b81aca8be629a573246fd4d105c95a117587df54529a8edc083e072cd490d2c3ead5519062386218397588e436f9c2d84642e11f21cff21f8f SHA512 d01e496fdc57aedda856ee77165f74fb47dbae68d93ae193ad5f1de76bef273707dcb06e45cd387443b2042af6e389a35cc0199a37c10e2e45803bf4277ca37f
+DIST pretty_assertions-1.3.0.crate 79441 BLAKE2B e9d29267ee77532de9432f075daab704e8d80a3d5fd5515a7d3c1c9a58dd98ef0190a592e7fe4d8c22a149beec15fc346a68620a3835c1269f72e563d2a5fb89 SHA512 40a56ae7287552cb66e1066cfb89b26af621f894036b9a0cd49889ec5b25831d52cc07f9e117d905766701fa71786a45955186849d36e00cbdb5f884763efcd3
+DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
+DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
+DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
+DIST pulldown-cmark-0.9.2.crate 115824 BLAKE2B cc8b8cac890b333a864ecb1444128b1aa187392b296c54ccb0c3048d79d17aa7f53bd0ac31f0c6492544ea78636deefaf3ad44804a1c79008e17b27fe1e61fad SHA512 2268a3284da5def75b906373a3c70927bc68ecde7b641231d96ff9437785732134568abaf0b6f81c582dc56498da4e677a7b2e2f1914cd42b345db0a06d75c60
+DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
+DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
+DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
+DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
+DIST regex-1.7.3.crate 239886 BLAKE2B 8d9413178b626b09243e18a1c5e0336cd41e05659128d4026bd551df0c34b9e141e36c3134f3b22200b18828ef89082a08515047159afb4f4960e5fa840fd54b SHA512 f7e8dbcfaa10c2443b9a6dfa514edf0e149d33f1a135e4a828adf97dbb0f1af5a4b58a2bad75ea8cbecb9641f499b30ed06b8ba60c7eaba79409ca18ede85e4f
+DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e
+DIST rle-decode-fast-1.0.3.crate 62086 BLAKE2B 402d56595936734f36597c18e816a798ade6a8636b27e79acdedd4069da38e22e6ded5f2358ef0f0d509ea752e828fa294a4a9ac6d99cf26472fe21a505302c9 SHA512 f647cfd9ae0bbaca4a189cd1f8d1f8531f6dc0ffa1fd296c75cfe405fc9060e25be74581558a9195364ea90e32c7ccd60e066d21704cae836d41606b5799301a
+DIST rusqlite-0.29.0.crate 137156 BLAKE2B 83ab57daff2f03dce2720cfc5eb253231f721bf3af609ff15c66ee9be9578533765fc368af94040fc1f7a635578c14b310d93e568f894495a1aa46a73bf9c22a SHA512 63e5722f7391a335773d2fe554ebf285f388ecdce7279f767f9c3293bc776abedd15badfaa29c4abaa356707667ffda11dd14bf50fb4bae670df0e102283e055
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
+DIST rustix-0.37.7.crate 307751 BLAKE2B 0fa2b1fc50a845df3b67cb9d316dc9dc40f290c0e5f4e60b4025e9f649a743a05e78770c4b4362121ef7d75fcf11d8794251a0875a9a5d177afc826e9c943c94 SHA512 e72fcf16722b62dc9821a498b21254b6f794580aef64e2ae9db15eaf5f5c63bd55a22e0014a00e2a2fcdb4f6ad703c2fa8b75b2db387d1a658a34da7a4ca424e
+DIST ryu-1.0.13.crate 46823 BLAKE2B c6d661cbff5e7b273da5a6bb704bb1910b897c55d854b05bd417f53853a832791afc351e5a5aeaa94ba99a8fe64c8a930221c52a8784519728da748371a4ae04 SHA512 25f60216d91e68cb47695ce4e966fae674d5b3e4b0cf33e740248c1605fdcf0c963acd278a485c5b4bb0a1c1144002e73173592222af4989df7a4ba402508c13
+DIST salsa-0.17.0-pre.2.crate 441448 BLAKE2B a5487a1a30eaa3f6fd1cc393c4b8157a5f66389e4795351412587acd0aea62cf4b0ed32da38ef2cabc9773ceccccc6e6616cd443b2e5bd6ec6ca66378817bf6e SHA512 fb6c072538e40ecd9a2c1707832fb08f668fa694157962437b67e30b41ab9789d1446ffda89521aa53a5e29950f252f43a6780d99bb218630d5041dd11207abf
+DIST salsa-macros-0.17.0-pre.2.crate 15358 BLAKE2B edcd8a0adf04114de829aab88d6e2001fbb04a8a52f1809bcff98fdee129889c37f929370e28c0abb431f8a8db98ec00aaafa075cc5ff805e7663f1d81197c0a SHA512 7aa768980b241d160cee00ad1ab73021465c9afa232def3beabfd27d15d8dc9e4b3c885b8606ada6fc805d9453f19db333d01ed186f088cc2a88967cbd91133e
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST scratch-1.0.5.crate 8013 BLAKE2B 64bad5081da3765fab34b582c679fdb345d592adbdba09071357dd3306eaa55d885a4f282732972b6f856ef9cfbcf73a18e9f5b2591ab05ef9104119299d4159 SHA512 522e24868568e9e3c4c6a9b0af4e1890d5ca6753ea68660e13bdc95b98c30576058dc949d20a5df95a6313378083ca138c7bfbde5c60916a011cf9697180692d
+DIST semver-1.0.17.crate 29685 BLAKE2B b9beb685eb9f6cffe557d1185997e1a93d0e50ecd8e9719d9855347f12dd430ed1020df81839b7924a984596437ae7fb2951e7ae44c5540692a7f37b591bee2e SHA512 5199923757e675506d68c252182b10f55955e47054880492e5471a0a0f9ad13ef25d552d2ab9bd68fba37121b8026d9989bf15db67e95265b3aa53d06377fda7
+DIST serde-1.0.159.crate 77014 BLAKE2B a377be7b7a0624ca9449d962693100d4ee892a252b4fe1326dee2057a214029ecacde05aedb7f0adcebc9815e6b4ea7ec2096ef4db4c55526defdef88a20cc25 SHA512 4e5373b940b5328fabca35759e8a02816c89692b83996c6224be39365b6409688ef2db0eef24219381003133a31da93a41b500a76aeb1b84c05df9a91ff4844d
+DIST serde_cbor-0.11.2.crate 44570 BLAKE2B facc8d16886dde89125b7d69e9e77ff586c61993c3493fe4089ff03c53e6c0808c6da45a83337d3be7414dd82f3d6a7f3d43167473e49e586a7e817d47ef3014 SHA512 12ddcbd5de0d85f2da6e078e3ccfdf2115125084d57eb93d7e9b45bca6a86daf79dcc79c8e54260c56240c3b5e814b1481ac28c3aa1d1b4b982ef5956b5cc3cd
+DIST serde_derive-1.0.159.crate 55039 BLAKE2B 6a239fe8b045c5d61e3503186325e2e4fd3cdbd13e6727e79b673f894f5fdd0872419b0b0f6dae97b9c3dbf737b41bb4816e92fc6a0efa0487350bdb0a8dbb7a SHA512 ee05d53cc4e7a36ba6073cf0be235ff4606e26430ab2a25379a6b915378c8c76584ba77b2fef8125edacf4effffa37adce8e51109e3f5bc6f418987de90fa574
+DIST serde_json-1.0.95.crate 144618 BLAKE2B beb05d7c37fcbacf4cc7dc04380e818a144a81e20e09ac9aecf6488bc18b142713bd1e9c7bc2ff4d10dd2385ccd280207cd992380bde4616db54f0852141eb0f SHA512 ff9f3f9e9a0e07956923bbac02288915c31f5ee24fc618808bfd4aa4b36ec40ec8d0e4426d926bdbcd019c9a4a6608dff5a651bf92dc5663eaf69c7c060223ba
+DIST serde_repr-0.1.12.crate 9549 BLAKE2B 03f1fecd3edd4c2e14f936db0c1a4452784da327eae63af4086d38323a56ef06b34bf49bd10ca4afe35afa67db4cfd119cdcf98532a57d6badd055bc931f4dff SHA512 c0897efb6ee046b29c810bfa28c6aa5d8cf10ab33e220ee7e1747e9abd2ea0721585f267060cf0a1b03c8f3e5588a48d344079bee2fc9d7472ba2ed61461c714
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
+DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
+DIST structopt-0.3.26.crate 53798 BLAKE2B 04be64637d18bcc87d261320668023459a42c167bb5a4c52216df556a7dd19be28032e7bf759cbcf710a3729a9dfaeb20c29f37f35fcf33533db583ac4fa049a SHA512 dec27090b57107473c9d398db68bde3b1b5191e7c7980d7d2c20fc723f92c64a6cf1d391d5122a103222c4262253d8073fd0fdfb11c74f235af79b2ae0caf069
+DIST structopt-derive-0.4.18.crate 20996 BLAKE2B 2ae17e0d365a7ce7a4d0e007513623ee0d5acf45afdc3844114e02975b855fd1a9f7df404a24044cf33a3a4cc4142eccc34d1e97925646d54d460a89baa28275 SHA512 68a7f9c2ed987993fdd8bb7e81c31969a1fdf5351c58cba9de61a2f5957aba1626be4b0742f31d4de502301675ba24b0d91dd3acb24f5607bdeec83070626a57
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.13.crate 240619 BLAKE2B 80536a808aa671424fd940d28013b96988b0f51c29400c5fe1ca7e6789587c670cef7e746a527701641bcb9df73925ab2fa581ad5f877b2d5cdec31590ccf223 SHA512 940ed62d2d5676034292e675ffac2fbc495976ebced6a295cc4da8914e9e9f059275e892e0033bebfd26e3692236c504dd36973e7f62b8e1943f19ec6491d9e1
+DIST tempfile-3.5.0.crate 31129 BLAKE2B 6d32584819794dbbb1f30970577ca2c82cf79979f94b070327285ae8bca6f8e3ea2402d2034290472f284ce039a3a578bfdfa81a53b5c49b587dbdb40960f6fe SHA512 8e8775a9727e32f6931b3289d2b8aefa5ede7b224ae2e1937da3aff371ef5f6078587f060eb36793e9779249992a97acc39c02c6095c41467929e39ada12c7db
+DIST termcolor-1.2.0.crate 17917 BLAKE2B 5ca7802b0bd29495bcd2deaddcdb4c3ff964073a373eaf39964a24ed91a48c5c33e192d676099e2837064df3149fdd73aba7d241e9aeaad9887bf1bcae9d38f0 SHA512 cf1896523353390b2f90b2a8bf30f47da5fc7c2daa635bd0cd8059bdc73feb243e46e4279562fe45d5726f2840833b1e967c7de19ffc0c853592d9f86c0c1be7
+DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
+DIST thiserror-1.0.40.crate 18709 BLAKE2B 8057ebcd11546f8b3ae5d760c1dd1764386f3c29dc43bc7a4aef20604970c65356daef137734e80260051d41e39979943bfda496459696b924a95f455159704c SHA512 db1b1fab3aa61dc6bbc672670eb70cee2f838fa713d3a927022900eddde253108d123bded1aa6df8d314e1aa2f8ff37bc72fc9b0803fe3a56447a64290ab2a91
+DIST thiserror-impl-1.0.40.crate 15138 BLAKE2B 7590428b5a97efde6a823440a9c91e1d1835b20df4ad8a700c1eeddd98516f1203605853fc6dc65528c5fd92480d04f9a8412aa7c20a524cb94435b0a0032f1d SHA512 9027f2d4127864c34d2d92ad3b2753a95893d26f5b2dcdec869884a98232c5304db1700a38112ced258e5f3832218cdea3a4bb21223098e1b20d06af1fd7edd2
+DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST typed-arena-2.0.2.crate 11848 BLAKE2B 1d2821519c959b8e5f32942fb106f836a9aa753a43058cad6898588f8e0d9abcbe7a94a91ec8d30c62e59833563df48229c6aeec8bf7a396de20895e39571d11 SHA512 33f43488ff63ab763e4330d124e3290ece41e50ab78b6f12dae3a2be4d7f5bdf6ec876ab3b1f8cd81874e335fc41f3a2254994f250d3d6aba682fce557a6a399
+DIST unicase-2.6.0.crate 23478 BLAKE2B 6e580108ac81b1cbee70e5bd331f43b12f266dae4f4f758bb8f5f073bd1af61943ee0de34cc27769525b19da8c24f8dea4941d0f5454594ab0cc8b78071ff053 SHA512 7e76a5f344e32c56cf87223585d87a56c79627b52bba0b29eb6de82de874b2964accededa8e9b5741f57944b6750fba5c61e679a50d4fd5a5646f431e2f4f188
+DIST unicode-bidi-0.3.13.crate 44477 BLAKE2B 90d80e7c57e93aa9aaa83e7c3c1a93bb6e4d51047803e61ed3f7c80361987947b2029a2b679bd301e8a0766ee8ea7f080e9b9b6ebcbb4354e19813a0f7da2abc SHA512 fb094fcfd907d90fa7232432aca0143209446e4c5c73d8a0fe6d2dc44b9dbb5b8b926c59b5e3f9a5a0a36f91c04613509b6e430c9c4adf526e7445e6e8d7a3d9
+DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
+DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c
+DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b
+DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
+DIST url-2.3.1.crate 72777 BLAKE2B 6ca0e537baf373b92269b2531945c1cdf360f1566cae4734dfb96f05a605e5c6c82e3192a1b9dde0ff22b92b87aba2d56e32a1bf17882b4de15efd7cdf52bc76 SHA512 8224010bef067574481e5d84100d944782d52b49db7c396ae2b4dfc145ed58769c15440d97a0fed4d2f9857592a8601417cc5b1bdea959c47a3e7a1f7182ed0d
+DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
+DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST walkdir-2.3.3.crate 23125 BLAKE2B 3bd354b9796a31bd4c8f4ca695514101a7837ae2134fa1ffec20df1cc946a67b38c6b50affbc2cb79ffee0934474d8269378dab5ac49a4943ccf8c7aaa51db11 SHA512 2b6e1e27c16e310f636eb1c9ee58435509fb8f7a6c5beba4dd13d87aa1d91599a593bfe720a675d536ce63e217c31e240a57122455d8e18de1282a9e7fc3defe
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST wasm-bindgen-0.2.84.crate 172947 BLAKE2B 90c9b846bcea9d099a394b42f126990db82d1dcbe247f8b63f8c91cdfbb5e2d184d36daedaf8fcee58c34afe89bf9a30454063693d64806ead3427680a87e7af SHA512 20f8c9e4f8d81c66e34d9ca2b266fabaae30da9015d139cd4eba3f314c67c17cb562c6eec5127c41302c11c2f314237add2524a8b9a4d5346b8822a37e467b2d
+DIST wasm-bindgen-backend-0.2.84.crate 26344 BLAKE2B 5686a252082afe128ded295584d972fe4af11a30fe37a80e142d213eb2e4bca567182bfc5addf1571696bd12e68e029148cffaa9af088d1269a1201af72e64d1 SHA512 afb06e21d916cf1af137159ac86924fbee3a958ef73725bdf6bf205e15465857791070c721e0fc0164eb6e37d195bbb6a3f03661c81e1e5a9ab8502bc3704058
+DIST wasm-bindgen-macro-0.2.84.crate 12857 BLAKE2B 23ae9963cc2cf9bc589f5d77c8d3819aeb9d671f0bddd17093b2df096cc800d2130bd2a994b786a5f446e9194947199b3f0cdf1c16f15e7283a4ae319ca849a1 SHA512 23b69ff601c149909d81200bc2902018ec71efad8aec9cd84a0653025aaf852cc86d93e28c5f60144ba6ce5aeff04b90d23761e263e3783d45097316525d6f43
+DIST wasm-bindgen-macro-support-0.2.84.crate 19076 BLAKE2B 4f779d7d0a406f376092ea8193851dbc86e9dbb822464db66a2022274665b03b9bf6552f79263014510cfaf4284847e98e8173263a6565f1af0c29054bd33fff SHA512 f2a8b6e0170dcea0d2f4a50361f036ad6604c499a89f0cf602578d0958d47c193aecebbd98e63310f592b08f8fe53da6c3d7a124b433ee384aa22371d9c963e5
+DIST wasm-bindgen-shared-0.2.84.crate 7219 BLAKE2B 4910158ed884dd9dbb32b1539b0c89a583f98df05cb29654487a26db063c973d44cb086dad4b466f9bc63104e3d4da72fe9feed32618f8243151dfb9ccfaff29 SHA512 fc4bf134a33c71852b91d09fbf1e1801e2b97b5c2756e2680d0c1f8701da30b22b56777d8e806e13602beb040775824966e378f7b9805e131a385e7816ddd010
+DIST web-sys-0.3.61.crate 706333 BLAKE2B f57cb14032e2ea01b5e0ffcef0988ee3e8227c1da7d27ef8799583f64cddb4bcfbbb145f5ea1889006fc9ff61d42b1c02d4b278d67371c9d914827113f5e4128 SHA512 dd8c93a92295a9cd94a4a4cac4a81d9fa41c2c0bc885c1861eae5cc317a0d55e1a9d34b97b91999bf617a071f7f8acc39bb0d4a684b40543519f0cad6b82a25c
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-0.48.0.crate 11864177 BLAKE2B 39c0e4f058f68a829ee08721818a0b04287af20dfe6e03a125b75566b4c8a58b56557d685600f1f9c215811154f9782f12368d42848445d54dcf9bfd6471349d SHA512 7c906f885fa0a730f1cb1ef4e62f5b602a49d44343febe1d38fcd4cbc28e0342766983796042585fe457aa229333558715b6270e378946faa8f398a7ecc2af8c
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows-targets-0.48.0.crate 7466 BLAKE2B 4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116 SHA512 1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2
diff --git a/dev-db/influxdb/files/influxd.conf b/dev-db/influxdb/files/influxd.conf
deleted file mode 100644
index f98f63ae2a91..000000000000
--- a/dev-db/influxdb/files/influxd.conf
+++ /dev/null
@@ -1,140 +0,0 @@
-reporting-disabled = true
-bind-address = "127.0.0.1:8088"
-
-[meta]
- dir = "/var/lib/influxdb/meta"
- retention-autocreate = true
- logging-enabled = true
-
-[data]
- dir = "/var/lib/influxdb/data"
- index-version = "inmem"
- wal-dir = "/var/lib/influxdb/wal"
- wal-fsync-delay = "0s"
- query-log-enabled = true
- cache-max-memory-size = 1073741824
- cache-snapshot-memory-size = 26214400
- cache-snapshot-write-cold-duration = "10m0s"
- compact-full-write-cold-duration = "4h0m0s"
- max-series-per-database = 1000000
- max-values-per-tag = 100000
- max-concurrent-compactions = 0
- trace-logging-enabled = false
-
-[coordinator]
- write-timeout = "10s"
- max-concurrent-queries = 0
- query-timeout = "0s"
- log-queries-after = "0s"
- max-select-point = 0
- max-select-series = 0
- max-select-buckets = 0
-
-[retention]
- enabled = true
- check-interval = "30m0s"
-
-[shard-precreation]
- enabled = true
- check-interval = "10m0s"
- advance-period = "30m0s"
-
-[monitor]
- store-enabled = true
- store-database = "_internal"
- store-interval = "10s"
-
-[subscriber]
- enabled = true
- http-timeout = "30s"
- insecure-skip-verify = false
- ca-certs = ""
- write-concurrency = 40
- write-buffer-size = 1000
-
-[http]
- enabled = true
- bind-address = ":8086"
- auth-enabled = false
- log-enabled = true
- write-tracing = false
- pprof-enabled = true
- https-enabled = false
- https-certificate = "/etc/ssl/influxdb.pem"
- https-private-key = ""
- max-row-limit = 0
- max-connection-limit = 0
- shared-secret = ""
- realm = "InfluxDB"
- unix-socket-enabled = false
- bind-socket = "/var/run/influxdb.sock"
- max-body-size = 25000000
- access-log-path = ""
-
-[logging]
- format = "auto"
- level = "info"
- suppress-logo = false
-
-[ifql]
- enabled = false
- log-enabled = true
- bind-address = ":8082"
-
-[[graphite]]
- enabled = false
- bind-address = ":2003"
- database = "graphite"
- retention-policy = ""
- protocol = "tcp"
- batch-size = 5000
- batch-pending = 10
- batch-timeout = "1s"
- consistency-level = "one"
- separator = "."
- udp-read-buffer = 0
-
-[[collectd]]
- enabled = false
- bind-address = ":25826"
- database = "collectd"
- retention-policy = ""
- batch-size = 5000
- batch-pending = 10
- batch-timeout = "10s"
- read-buffer = 0
- typesdb = "/usr/share/collectd/types.db"
- security-level = "none"
- auth-file = "/etc/collectd/auth_file"
- parse-multivalue-plugin = "split"
-
-[[opentsdb]]
- enabled = false
- bind-address = ":4242"
- database = "opentsdb"
- retention-policy = ""
- consistency-level = "one"
- tls-enabled = false
- certificate = "/etc/ssl/influxdb.pem"
- batch-size = 1000
- batch-pending = 5
- batch-timeout = "1s"
- log-point-errors = true
-
-[[udp]]
- enabled = false
- bind-address = ":8089"
- database = "udp"
- retention-policy = ""
- batch-size = 5000
- batch-pending = 10
- read-buffer = 0
- batch-timeout = "1s"
- precision = ""
-
-[continuous_queries]
- log-enabled = true
- enabled = true
- query-stats-enabled = false
- run-interval = "1s"
-
diff --git a/dev-db/influxdb/files/influxdb.confd-r1 b/dev-db/influxdb/files/influxdb.confd-r1
new file mode 100644
index 000000000000..7c225cfea51f
--- /dev/null
+++ b/dev-db/influxdb/files/influxdb.confd-r1
@@ -0,0 +1,18 @@
+#The convention in this file is to show the default setting commented
+#out.
+#To change the setting, uncomment it then change the value.
+
+#This is the influxd error log:
+#error_log="/var/log/influxdb/influxd.log"
+
+#This is the influxd output log:
+#output_log="/dev/null"
+
+#The influxd Config path location:
+#config_path="/etc/influxdb/."
+
+# Extra options to pass to influxd:
+#influxd_opts=""
+
+# Uncomment / edit to enable healthchecks
+#INFLUXDB_HEALTHCHECK_URI="127.0.0.1:8086/ping"
diff --git a/dev-db/influxdb/files/influxdb.rc-r1 b/dev-db/influxdb/files/influxdb.initd-r1
index 7556a506784d..ef7da61d271d 100644
--- a/dev-db/influxdb/files/influxdb.rc-r1
+++ b/dev-db/influxdb/files/influxdb.initd-r1
@@ -1,29 +1,27 @@
#!/sbin/openrc-run
-config="${config:-/etc/influxdb/influxdb.conf}"
-pidfile=${pidfile:-/var/run/influxd.pid}
+# Logging
+error_log="${error_log:-/var/log/influxdb/influxd.log}"
+output_log="${output_log:-/dev/null}"
+
+config_path="${config_path:-/etc/influxdb/.}"
influxd_opts=${influxd_opts:-}
-supervisor="supervise-daemon"
command=/usr/bin/influxd
-command_args="-config ${config} -pidfile ${pidfile} ${influxd_opts}"
+command_args="${influxd_opts}"
command_user="influxdb:influxdb"
+extra_commands="version"
retry=SIGTERM/30/SIGKILL/10
-wait=1000
-
-# Logging
-error_log="${error_log:-/var/log/influxdb/influxd.log}"
-output_log="${output_log:-/dev/null}"
+supervisor="supervise-daemon"
# Max open files
rc_ulimit="-n 65536"
start_pre() {
# Check if config file exist
- if [ ! -r "${config}" ]; then
- eerror "config file ${config} doesn't exist"
- return 1
+ if [ -n "${config_path}" ] && [ ! -e "${config_path}" ]; then
+ checkpath -d -o "${command_user}" "$(dirname "${config_path}")"
fi
if [ -n "${error_log}" ] && [ ! -e "${error_log}" ]; then
checkpath -d -o "${command_user}" "$(dirname "${error_log}")"
@@ -34,12 +32,16 @@ start_pre() {
return 0
}
+version() {
+ $command version
+}
+
if [ -n "${INFLUXDB_HEALTHCHECK_URI}" ]; then
- healthcheck_delay=300
- healthcheck_timer=60
+ healthcheck_delay=300
+ healthcheck_timer=60
- healthcheck() {
- command -v wget || return 0
- wget -Oq- "${INFLUXDB_HEALTHCHECK_URI}"
- }
+ healthcheck() {
+ command -v wget || return 0
+ wget -Oq- "${INFLUXDB_HEALTHCHECK_URI}"
+ }
fi
diff --git a/dev-db/influxdb/files/influxdb.rc b/dev-db/influxdb/files/influxdb.rc
deleted file mode 100644
index 4d18def5e508..000000000000
--- a/dev-db/influxdb/files/influxdb.rc
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/sbin/openrc-run
-
-config=/etc/influxdb/influxd.conf
-pidfile=/var/run/influxd.pid
-command=/usr/bin/influxd
-command_args="-config ${config} -pidfile ${pidfile} ${influxd_opts}"
-command_args="-config ${config} ${influxd_opts}"
-command_background=yes
-make_pidfile=yes
-command_user="influxdb:influxdb"
-retry=SIGTERM/30/SIGKILL/10
-wait=1000
-
-# Logging
-error_log="${error_log:-/var/log/influxdb/influxd.log}"
-output_log="${output_log:-/dev/null}"
-
-# Max open files
-rc_ulimit="-n 65536"
-
-start_pre() {
- # Check if config file exist
- if [ ! -r ${config} ]; then
- eerror "config file ${config} doesn't exist"
- return 1
- fi
- if [ ! -f "$error_log" ]; then
- mkdir -p "$(dirname $error_log)"
- fi
- if [ ! -f "$output_log" ]; then
- mkdir -p "$(dirname $output_log)"
- fi
- return 0
-}
diff --git a/dev-db/influxdb/influxdb-1.8.0-r1.ebuild b/dev-db/influxdb/influxdb-1.8.0-r1.ebuild
deleted file mode 100644
index 658437482efb..000000000000
--- a/dev-db/influxdb/influxdb-1.8.0-r1.ebuild
+++ /dev/null
@@ -1,504 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
-HOMEPAGE="https://www.influxdata.com"
-
-inherit go-module systemd
-
-EGO_PN="github.com/influxdata/${PN}"
-EGO_SUM=(
- "github.com/influxdata/flux v0.65.0" # MIT
- "github.com/influxdata/influxql v1.1.0" # MIT
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e" # MIT
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9" # Apache-2.0
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6" # Apache-2.0
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368" # MIT
- "github.com/gogo/protobuf v1.1.1" # BSD
- "cloud.google.com/go v0.51.0" # Apache-2.0
- "cloud.google.com/go/bigtable v1.2.0" # Apache-2.0
- "google.golang.org/appengine v1.6.5" # Apache-2.0
- "github.com/google/flatbuffers v1.11.0" # Apache-2.0
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db" # Apache-2.0
- "github.com/c-bata/go-prompt v0.2.2" # MIT
- "github.com/cespare/xxhash v1.1.0" # MIT
- "github.com/eclipse/paho.mqtt.golang v1.2.0" # EPL-1.0
- "github.com/go-sql-driver/mysql v1.4.1" # MPL-2.0
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec" # Apache-2.0
- "github.com/golang/protobuf v1.3.2" # BSD
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db" # BSD
- "github.com/google/go-cmp v0.4.0" # BSD
- "github.com/googleapis/gax-go/v2 v2.0.5" # BSD
- "github.com/jsternberg/zap-logfmt v1.0.0" # MIT
- "github.com/lib/pq v1.0.0" # MIT
- "github.com/mattn/go-isatty v0.0.4" # MIT
- "github.com/mattn/go-runewidth v0.0.3" # MIT
- "github.com/matttproud/golang_protobuf_extensions v1.0.1" # Apache-2.0
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947" # Apache-2.0
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f" # MIT
- "github.com/pkg/errors v0.8.1" # BSD-2
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5" # BSD-2
- "github.com/prometheus/common v0.6.0" # Apache-2.0
- "github.com/prometheus/client_golang v1.0.0" # Apache-2.0
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4" # Apache-2.0
- "github.com/prometheus/procfs v0.0.2" # Apache-2.0
- "github.com/beorn7/perks v1.0.0" # MIT
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b" # MIT
- "github.com/segmentio/kafka-go v0.2.0" # MIT
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6" # MIT
- "go.opencensus.io v0.22.2" # Apache-2.0
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7" # Apache-2.0
- "go.uber.org/zap v1.9.1" # MIT
- "go.uber.org/atomic v1.3.2" # MIT
- "go.uber.org/multierr v1.1.0" # MIT
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550" # BSD
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553" # BSD
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d" # BSD
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e" # BSD
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50" # BSD
- "golang.org/x/text v0.3.2" # BSD
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4" # BSD
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178" # BSD
- "google.golang.org/api v0.15.0" # BSD MIT
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f" # Apache-2.0
- "google.golang.org/grpc v1.26.0" # Apache-2.0
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8" # MIT
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd" # MIT
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef" # MIT
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52" # BSD
- "github.com/tinylib/msgp v1.0.2" # MIT
- "github.com/philhofer/fwd v1.0.0" # MIT
- "github.com/BurntSushi/toml v0.3.1" # MIT
- "collectd.org v0.3.0" # ISC
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40" # MIT
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible" # MIT
- "github.com/spf13/cast v1.3.0" # MIT
- "github.com/boltdb/bolt v1.3.1" # MIT
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada" # MIT
- "github.com/klauspost/compress v1.4.0" # BSD
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5" # MIT
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6" # BSD
- "github.com/paulbellamy/ratecounter v0.2.0" # MIT
- "github.com/willf/bitset v1.1.3" # BSD
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae" # Apache-2.0
-
- # Tests
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
- "gopkg.in/yaml.v2 v2.2.2"
- "gonum.org/v1/gonum v0.6.0"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
- "cloud.google.com/go/pubsub v1.1.0"
- "cloud.google.com/go/datastore v1.0.0"
- "cloud.google.com/go/bigquery v1.3.0"
- "cloud.google.com/go/storage v1.5.0"
- "github.com/google/martian v2.1.0+incompatible"
- "github.com/google/btree v1.0.0"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
- "github.com/stretchr/testify v1.4.0"
- "github.com/OneOfOne/xxhash v1.2.2"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
- "github.com/smartystreets/goconvey v1.6.4"
- "github.com/DATA-DOG/go-sqlmock v1.3.3"
- "github.com/mattn/go-sqlite3 v1.11.0"
- "github.com/pierrec/lz4 v2.0.5+incompatible"
- "github.com/kr/pretty v0.1.0"
- "github.com/kr/text v0.1.0"
- "github.com/jstemmer/go-junit-report v0.9.1"
- "github.com/jtolds/gls v4.20.0+incompatible"
- "github.com/sergi/go-diff v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/mattn/go-colorable v0.0.9"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
- "honnef.co/go/tools v0.0.1-2019.2.3" # MIT
- "rsc.io/binaryregexp v0.2.0"
-
- "cloud.google.com/go v0.26.0/go.mod"
- "cloud.google.com/go v0.34.0/go.mod"
- "cloud.google.com/go v0.38.0/go.mod"
- "cloud.google.com/go v0.43.0/go.mod"
- "cloud.google.com/go v0.44.1/go.mod"
- "cloud.google.com/go v0.44.2/go.mod"
- "cloud.google.com/go v0.45.1/go.mod"
- "cloud.google.com/go v0.46.3/go.mod"
- "cloud.google.com/go v0.50.0/go.mod"
- "cloud.google.com/go v0.51.0/go.mod"
- "cloud.google.com/go/bigquery v1.0.1/go.mod"
- "cloud.google.com/go/bigquery v1.3.0/go.mod"
- "cloud.google.com/go/bigtable v1.2.0/go.mod"
- "cloud.google.com/go/datastore v1.0.0/go.mod"
- "cloud.google.com/go/pubsub v1.0.1/go.mod"
- "cloud.google.com/go/pubsub v1.1.0/go.mod"
- "cloud.google.com/go/storage v1.0.0/go.mod"
- "cloud.google.com/go/storage v1.5.0/go.mod"
- "collectd.org v0.3.0/go.mod"
- "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
- "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
- "github.com/OneOfOne/xxhash v1.2.2/go.mod"
- "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/beorn7/perks v1.0.0/go.mod"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
- "github.com/boltdb/bolt v1.3.1/go.mod"
- "github.com/c-bata/go-prompt v0.2.2/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/cespare/xxhash v1.1.0/go.mod"
- "github.com/chzyer/logex v1.1.10/go.mod"
- "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
- "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/dave/jennifer v1.2.0/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
- "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
- "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
- "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
- "github.com/go-kit/kit v0.8.0/go.mod"
- "github.com/go-logfmt/logfmt v0.3.0/go.mod"
- "github.com/go-logfmt/logfmt v0.4.0/go.mod"
- "github.com/go-sql-driver/mysql v1.4.1/go.mod"
- "github.com/go-stack/stack v1.8.0/go.mod"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/mock v1.2.0/go.mod"
- "github.com/golang/mock v1.3.1/go.mod"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
- "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
- "github.com/google/btree v1.0.0/go.mod"
- "github.com/google/flatbuffers v1.11.0/go.mod"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/go-cmp v0.4.0/go.mod"
- "github.com/google/martian v2.1.0+incompatible/go.mod"
- "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
- "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
- "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
- "github.com/google/renameio v0.1.0/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/hashicorp/golang-lru v0.5.0/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/influxdata/flux v0.65.0/go.mod"
- "github.com/influxdata/influxql v1.1.0/go.mod"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
- "github.com/influxdata/promql/v2 v2.12.0/go.mod"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
- "github.com/json-iterator/go v1.1.6/go.mod"
- "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
- "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
- "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/julienschmidt/httprouter v1.2.0/go.mod"
- "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/klauspost/compress v1.4.0/go.mod"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/lib/pq v1.0.0/go.mod"
- "github.com/mattn/go-colorable v0.0.9/go.mod"
- "github.com/mattn/go-isatty v0.0.4/go.mod"
- "github.com/mattn/go-runewidth v0.0.3/go.mod"
- "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
- "github.com/modern-go/reflect2 v1.0.1/go.mod"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
- "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
- "github.com/opentracing/opentracing-go v1.0.2/go.mod"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
- "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
- "github.com/philhofer/fwd v1.0.0/go.mod"
- "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_golang v1.0.0/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.4.1/go.mod"
- "github.com/prometheus/common v0.6.0/go.mod"
- "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
- "github.com/prometheus/procfs v0.0.2/go.mod"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
- "github.com/rogpeppe/go-internal v1.3.0/go.mod"
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod"
- "github.com/segmentio/kafka-go v0.1.0/go.mod"
- "github.com/segmentio/kafka-go v0.2.0/go.mod"
- "github.com/sergi/go-diff v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.2.0/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v1.6.4/go.mod"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
- "github.com/spf13/cast v1.3.0/go.mod"
- "github.com/spf13/cobra v0.0.3/go.mod"
- "github.com/spf13/pflag v1.0.3/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v1.2.0/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/tinylib/msgp v1.0.2/go.mod"
- "github.com/willf/bitset v1.1.3/go.mod"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
- "go.opencensus.io v0.21.0/go.mod"
- "go.opencensus.io v0.22.0/go.mod"
- "go.opencensus.io v0.22.2/go.mod"
- "go.uber.org/atomic v1.3.2/go.mod"
- "go.uber.org/multierr v1.1.0/go.mod"
- "go.uber.org/zap v1.9.1/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
- "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
- "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
- "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
- "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
- "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
- "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
- "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
- "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
- "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
- "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
- "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
- "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
- "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
- "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
- "golang.org/x/mod v0.1.0/go.mod"
- "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
- "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
- "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
- "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
- "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
- "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
- "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
- "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
- "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
- "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
- "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
- "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
- "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
- "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
- "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
- "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
- "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
- "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
- "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
- "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
- "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
- "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
- "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
- "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
- "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
- "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
- "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
- "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
- "gonum.org/v1/gonum v0.6.0/go.mod"
- "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
- "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
- "google.golang.org/api v0.4.0/go.mod"
- "google.golang.org/api v0.7.0/go.mod"
- "google.golang.org/api v0.8.0/go.mod"
- "google.golang.org/api v0.9.0/go.mod"
- "google.golang.org/api v0.13.0/go.mod"
- "google.golang.org/api v0.14.0/go.mod"
- "google.golang.org/api v0.15.0/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/appengine v1.5.0/go.mod"
- "google.golang.org/appengine v1.6.1/go.mod"
- "google.golang.org/appengine v1.6.5/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
- "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
- "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
- "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
- "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
- "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
- "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
- "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.1/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.26.0/go.mod"
- "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/errgo.v2 v2.1.0/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
- "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
- "rsc.io/binaryregexp v0.2.0/go.mod"
- "rsc.io/pdf v0.1.1/go.mod"
-)
-EGIT_COMMIT="781490de48220d7695a05c29e5a36f550a4568f5"
-EGIT_BRANCH="1.8"
-
-go-module_set_globals
-
-SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc"
-
-BDEPEND="doc? (
- >=app-text/asciidoc-8.6.10
- app-text/xmlto
-)"
-COMMON_DEPEND="
- acct-group/influxdb
- acct-user/influxdb"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_compile() {
- set -- env GOBIN="${S}/bin/" go install -a -installsuffix cgo \
- -ldflags="-s -X main.version=${PV} -X main.branch=${EGIT_BRANCH} -X main.commit=${EGIT_COMMIT}" \
- -v -work -x ./...
- echo "$@"
- "$@" || die "compile failed"
- use doc && emake -C man build
-}
-
-src_install() {
- dobin "${S}"/bin/influx*
-
- use doc && dodoc *.md
- use doc && doman man/*.1
-
- insinto /etc/logrotate.d
- newins scripts/logrotate influxdb
-
- systemd_dounit scripts/influxdb.service
-
- newconfd "${FILESDIR}"/influxdb.confd influxdb
- newinitd "${FILESDIR}"/influxdb.rc-r1 influxdb
- insinto /etc/influxdb
- newins etc/config.sample.toml influxdb.conf
- keepdir /var/log/influxdb
- fowners influxdb:influxdb /var/log/influxdb
-}
-
-src_test() {
- go test ./tests || die
-}
diff --git a/dev-db/influxdb/influxdb-1.8.0.ebuild b/dev-db/influxdb/influxdb-1.8.0.ebuild
deleted file mode 100644
index 9937c0300089..000000000000
--- a/dev-db/influxdb/influxdb-1.8.0.ebuild
+++ /dev/null
@@ -1,505 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module systemd
-
-DESCRIPTION=" Scalable datastore for metrics, events, and real-time analytics"
-HOMEPAGE="https://www.influxdata.com"
-
-EGO_SUM=(
- "cloud.google.com/go v0.26.0/go.mod"
- "cloud.google.com/go v0.34.0/go.mod"
- "cloud.google.com/go v0.38.0/go.mod"
- "cloud.google.com/go v0.43.0/go.mod"
- "cloud.google.com/go v0.44.1/go.mod"
- "cloud.google.com/go v0.44.2/go.mod"
- "cloud.google.com/go v0.45.1/go.mod"
- "cloud.google.com/go v0.46.3/go.mod"
- "cloud.google.com/go v0.50.0/go.mod"
- "cloud.google.com/go v0.51.0"
- "cloud.google.com/go v0.51.0/go.mod"
- "cloud.google.com/go/bigquery v1.0.1/go.mod"
- "cloud.google.com/go/bigquery v1.3.0"
- "cloud.google.com/go/bigquery v1.3.0/go.mod"
- "cloud.google.com/go/bigtable v1.2.0"
- "cloud.google.com/go/bigtable v1.2.0/go.mod"
- "cloud.google.com/go/datastore v1.0.0"
- "cloud.google.com/go/datastore v1.0.0/go.mod"
- "cloud.google.com/go/pubsub v1.0.1/go.mod"
- "cloud.google.com/go/pubsub v1.1.0"
- "cloud.google.com/go/pubsub v1.1.0/go.mod"
- "cloud.google.com/go/storage v1.0.0/go.mod"
- "cloud.google.com/go/storage v1.5.0"
- "cloud.google.com/go/storage v1.5.0/go.mod"
- "collectd.org v0.3.0"
- "collectd.org v0.3.0/go.mod"
- "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
- "github.com/BurntSushi/toml v0.3.1"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
- "github.com/DATA-DOG/go-sqlmock v1.3.3"
- "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
- "github.com/OneOfOne/xxhash v1.2.2"
- "github.com/OneOfOne/xxhash v1.2.2/go.mod"
- "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/beorn7/perks v1.0.0"
- "github.com/beorn7/perks v1.0.0/go.mod"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
- "github.com/boltdb/bolt v1.3.1"
- "github.com/boltdb/bolt v1.3.1/go.mod"
- "github.com/c-bata/go-prompt v0.2.2"
- "github.com/c-bata/go-prompt v0.2.2/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/cespare/xxhash v1.1.0"
- "github.com/cespare/xxhash v1.1.0/go.mod"
- "github.com/chzyer/logex v1.1.10/go.mod"
- "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
- "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/dave/jennifer v1.2.0/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
- "github.com/eclipse/paho.mqtt.golang v1.2.0"
- "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
- "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
- "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
- "github.com/go-kit/kit v0.8.0/go.mod"
- "github.com/go-logfmt/logfmt v0.3.0/go.mod"
- "github.com/go-logfmt/logfmt v0.4.0/go.mod"
- "github.com/go-sql-driver/mysql v1.4.1"
- "github.com/go-sql-driver/mysql v1.4.1/go.mod"
- "github.com/go-stack/stack v1.8.0/go.mod"
- "github.com/gogo/protobuf v1.1.1"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/mock v1.2.0/go.mod"
- "github.com/golang/mock v1.3.1/go.mod"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
- "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
- "github.com/google/btree v1.0.0"
- "github.com/google/btree v1.0.0/go.mod"
- "github.com/google/flatbuffers v1.11.0"
- "github.com/google/flatbuffers v1.11.0/go.mod"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/go-cmp v0.4.0"
- "github.com/google/go-cmp v0.4.0/go.mod"
- "github.com/google/martian v2.1.0+incompatible"
- "github.com/google/martian v2.1.0+incompatible/go.mod"
- "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
- "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
- "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
- "github.com/google/renameio v0.1.0/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.5"
- "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/hashicorp/golang-lru v0.5.0/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/influxdata/flux v0.65.0"
- "github.com/influxdata/flux v0.65.0/go.mod"
- "github.com/influxdata/influxql v1.1.0"
- "github.com/influxdata/influxql v1.1.0/go.mod"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
- "github.com/influxdata/promql/v2 v2.12.0/go.mod"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
- "github.com/json-iterator/go v1.1.6/go.mod"
- "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
- "github.com/jstemmer/go-junit-report v0.9.1"
- "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
- "github.com/jsternberg/zap-logfmt v1.0.0"
- "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/julienschmidt/httprouter v1.2.0/go.mod"
- "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/klauspost/compress v1.4.0"
- "github.com/klauspost/compress v1.4.0/go.mod"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
- "github.com/kr/pretty v0.1.0"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/lib/pq v1.0.0"
- "github.com/lib/pq v1.0.0/go.mod"
- "github.com/mattn/go-colorable v0.0.9"
- "github.com/mattn/go-colorable v0.0.9/go.mod"
- "github.com/mattn/go-isatty v0.0.4"
- "github.com/mattn/go-isatty v0.0.4/go.mod"
- "github.com/mattn/go-runewidth v0.0.3"
- "github.com/mattn/go-runewidth v0.0.3/go.mod"
- "github.com/mattn/go-sqlite3 v1.11.0"
- "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
- "github.com/modern-go/reflect2 v1.0.1/go.mod"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
- "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
- "github.com/opentracing/opentracing-go v1.0.2/go.mod"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
- "github.com/paulbellamy/ratecounter v0.2.0"
- "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
- "github.com/philhofer/fwd v1.0.0"
- "github.com/philhofer/fwd v1.0.0/go.mod"
- "github.com/pierrec/lz4 v2.0.5+incompatible"
- "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1"
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_golang v1.0.0"
- "github.com/prometheus/client_golang v1.0.0/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.4.1/go.mod"
- "github.com/prometheus/common v0.6.0"
- "github.com/prometheus/common v0.6.0/go.mod"
- "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
- "github.com/prometheus/procfs v0.0.2"
- "github.com/prometheus/procfs v0.0.2/go.mod"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
- "github.com/rogpeppe/go-internal v1.3.0/go.mod"
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b"
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod"
- "github.com/segmentio/kafka-go v0.1.0/go.mod"
- "github.com/segmentio/kafka-go v0.2.0"
- "github.com/segmentio/kafka-go v0.2.0/go.mod"
- "github.com/sergi/go-diff v1.0.0"
- "github.com/sergi/go-diff v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.2.0/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v1.6.4"
- "github.com/smartystreets/goconvey v1.6.4/go.mod"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
- "github.com/spf13/cast v1.3.0"
- "github.com/spf13/cast v1.3.0/go.mod"
- "github.com/spf13/cobra v0.0.3"
- "github.com/spf13/cobra v0.0.3/go.mod"
- "github.com/spf13/pflag v1.0.3"
- "github.com/spf13/pflag v1.0.3/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v1.2.0/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0"
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/tinylib/msgp v1.0.2"
- "github.com/tinylib/msgp v1.0.2/go.mod"
- "github.com/willf/bitset v1.1.3"
- "github.com/willf/bitset v1.1.3/go.mod"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
- "go.opencensus.io v0.21.0/go.mod"
- "go.opencensus.io v0.22.0/go.mod"
- "go.opencensus.io v0.22.2"
- "go.opencensus.io v0.22.2/go.mod"
- "go.uber.org/atomic v1.3.2"
- "go.uber.org/atomic v1.3.2/go.mod"
- "go.uber.org/multierr v1.1.0"
- "go.uber.org/multierr v1.1.0/go.mod"
- "go.uber.org/zap v1.9.1"
- "go.uber.org/zap v1.9.1/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
- "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
- "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
- "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
- "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
- "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
- "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
- "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
- "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
- "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
- "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
- "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
- "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
- "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
- "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
- "golang.org/x/mod v0.1.0/go.mod"
- "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
- "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
- "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
- "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
- "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
- "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
- "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
- "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
- "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
- "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
- "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
- "golang.org/x/text v0.3.2"
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
- "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
- "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
- "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
- "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
- "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
- "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
- "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
- "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
- "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
- "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
- "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
- "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
- "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
- "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
- "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
- "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
- "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
- "gonum.org/v1/gonum v0.6.0"
- "gonum.org/v1/gonum v0.6.0/go.mod"
- "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
- "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
- "google.golang.org/api v0.4.0/go.mod"
- "google.golang.org/api v0.7.0/go.mod"
- "google.golang.org/api v0.8.0/go.mod"
- "google.golang.org/api v0.9.0"
- "google.golang.org/api v0.9.0/go.mod"
- "google.golang.org/api v0.13.0/go.mod"
- "google.golang.org/api v0.14.0/go.mod"
- "google.golang.org/api v0.15.0"
- "google.golang.org/api v0.15.0/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/appengine v1.5.0/go.mod"
- "google.golang.org/appengine v1.6.1/go.mod"
- "google.golang.org/appengine v1.6.5"
- "google.golang.org/appengine v1.6.5/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
- "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
- "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
- "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
- "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
- "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
- "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
- "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.1"
- "google.golang.org/grpc v1.21.1/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.26.0"
- "google.golang.org/grpc v1.26.0/go.mod"
- "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/errgo.v2 v2.1.0/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
- "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "honnef.co/go/tools v0.0.1-2019.2.3"
- "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
- "rsc.io/binaryregexp v0.2.0"
- "rsc.io/binaryregexp v0.2.0/go.mod"
- "rsc.io/pdf v0.1.1/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 MIT-with-advertising BSD-2 ISC"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-BDEPEND=">=app-text/asciidoc-8.6.10
- app-text/xmlto"
- COMMON_DEPEND="acct-group/influxdb
- acct-user/influxdb"
- DEPEND="${COMMON_DEPEND}"
- RDEPEND="${COMMON_DEPEND}"
-
-src_compile() {
- binaries=(
- ./cmd/influxd
- ./cmd/influx_stress
- ./cmd/influx
- ./cmd/influx_inspect
- ./cmd/influx_tsm
- )
- mkdir bin
- for x in ${binaries[@]}; do
- go build -o bin ${x} || die "compile failed"
- done
- cd man
- emake build
-}
-
-src_install() {
- dobin bin/*
- dodoc CHANGELOG.md etc/config.sample.toml
- doman man/*.1
- insinto /etc/logrotate.d
- newins scripts/logrotate influxdb
- systemd_dounit scripts/influxdb.service
- newconfd "${FILESDIR}"/influxdb.confd influxdb
- newinitd "${FILESDIR}"/influxdb.rc influxdb
- insinto /etc/influxdb
- doins "${FILESDIR}"/influxd.conf
- keepdir /var/log/influxdb
- fowners influxdb:influxdb /var/log/influxdb
-}
diff --git a/dev-db/influxdb/influxdb-1.8.1.ebuild b/dev-db/influxdb/influxdb-1.8.1.ebuild
deleted file mode 100644
index 1d9aee6f3de1..000000000000
--- a/dev-db/influxdb/influxdb-1.8.1.ebuild
+++ /dev/null
@@ -1,508 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module systemd
-GIT_COMMIT=af0237819ab9c5997c1c0144862dc762b9d8fc25
-GIT_BRANCH=1.8
-
-DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
-HOMEPAGE="https://www.influxdata.com"
-
-EGO_SUM=(
- "cloud.google.com/go v0.26.0/go.mod"
- "cloud.google.com/go v0.34.0/go.mod"
- "cloud.google.com/go v0.38.0/go.mod"
- "cloud.google.com/go v0.43.0/go.mod"
- "cloud.google.com/go v0.44.1/go.mod"
- "cloud.google.com/go v0.44.2/go.mod"
- "cloud.google.com/go v0.45.1/go.mod"
- "cloud.google.com/go v0.46.3/go.mod"
- "cloud.google.com/go v0.50.0/go.mod"
- "cloud.google.com/go v0.51.0"
- "cloud.google.com/go v0.51.0/go.mod"
- "cloud.google.com/go/bigquery v1.0.1/go.mod"
- "cloud.google.com/go/bigquery v1.3.0"
- "cloud.google.com/go/bigquery v1.3.0/go.mod"
- "cloud.google.com/go/bigtable v1.2.0"
- "cloud.google.com/go/bigtable v1.2.0/go.mod"
- "cloud.google.com/go/datastore v1.0.0"
- "cloud.google.com/go/datastore v1.0.0/go.mod"
- "cloud.google.com/go/pubsub v1.0.1/go.mod"
- "cloud.google.com/go/pubsub v1.1.0"
- "cloud.google.com/go/pubsub v1.1.0/go.mod"
- "cloud.google.com/go/storage v1.0.0/go.mod"
- "cloud.google.com/go/storage v1.5.0"
- "cloud.google.com/go/storage v1.5.0/go.mod"
- "collectd.org v0.3.0"
- "collectd.org v0.3.0/go.mod"
- "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
- "github.com/BurntSushi/toml v0.3.1"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
- "github.com/DATA-DOG/go-sqlmock v1.3.3"
- "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
- "github.com/OneOfOne/xxhash v1.2.2"
- "github.com/OneOfOne/xxhash v1.2.2/go.mod"
- "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/beorn7/perks v1.0.0"
- "github.com/beorn7/perks v1.0.0/go.mod"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
- "github.com/boltdb/bolt v1.3.1"
- "github.com/boltdb/bolt v1.3.1/go.mod"
- "github.com/c-bata/go-prompt v0.2.2"
- "github.com/c-bata/go-prompt v0.2.2/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/cespare/xxhash v1.1.0"
- "github.com/cespare/xxhash v1.1.0/go.mod"
- "github.com/chzyer/logex v1.1.10/go.mod"
- "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
- "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/dave/jennifer v1.2.0/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
- "github.com/eclipse/paho.mqtt.golang v1.2.0"
- "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
- "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
- "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
- "github.com/go-kit/kit v0.8.0/go.mod"
- "github.com/go-logfmt/logfmt v0.3.0/go.mod"
- "github.com/go-logfmt/logfmt v0.4.0/go.mod"
- "github.com/go-sql-driver/mysql v1.4.1"
- "github.com/go-sql-driver/mysql v1.4.1/go.mod"
- "github.com/go-stack/stack v1.8.0/go.mod"
- "github.com/gogo/protobuf v1.1.1"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/mock v1.2.0/go.mod"
- "github.com/golang/mock v1.3.1/go.mod"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
- "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
- "github.com/google/btree v1.0.0"
- "github.com/google/btree v1.0.0/go.mod"
- "github.com/google/flatbuffers v1.11.0"
- "github.com/google/flatbuffers v1.11.0/go.mod"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/go-cmp v0.4.0"
- "github.com/google/go-cmp v0.4.0/go.mod"
- "github.com/google/martian v2.1.0+incompatible"
- "github.com/google/martian v2.1.0+incompatible/go.mod"
- "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
- "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
- "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
- "github.com/google/renameio v0.1.0/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.5"
- "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/hashicorp/golang-lru v0.5.0/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/influxdata/flux v0.65.0"
- "github.com/influxdata/flux v0.65.0/go.mod"
- "github.com/influxdata/influxql v1.1.0"
- "github.com/influxdata/influxql v1.1.0/go.mod"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
- "github.com/influxdata/promql/v2 v2.12.0/go.mod"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
- "github.com/json-iterator/go v1.1.6/go.mod"
- "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
- "github.com/jstemmer/go-junit-report v0.9.1"
- "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
- "github.com/jsternberg/zap-logfmt v1.0.0"
- "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/julienschmidt/httprouter v1.2.0/go.mod"
- "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/klauspost/compress v1.4.0"
- "github.com/klauspost/compress v1.4.0/go.mod"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
- "github.com/kr/pretty v0.1.0"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/lib/pq v1.0.0"
- "github.com/lib/pq v1.0.0/go.mod"
- "github.com/mattn/go-colorable v0.0.9"
- "github.com/mattn/go-colorable v0.0.9/go.mod"
- "github.com/mattn/go-isatty v0.0.4"
- "github.com/mattn/go-isatty v0.0.4/go.mod"
- "github.com/mattn/go-runewidth v0.0.3"
- "github.com/mattn/go-runewidth v0.0.3/go.mod"
- "github.com/mattn/go-sqlite3 v1.11.0"
- "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
- "github.com/modern-go/reflect2 v1.0.1/go.mod"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
- "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
- "github.com/opentracing/opentracing-go v1.0.2/go.mod"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
- "github.com/paulbellamy/ratecounter v0.2.0"
- "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
- "github.com/philhofer/fwd v1.0.0"
- "github.com/philhofer/fwd v1.0.0/go.mod"
- "github.com/pierrec/lz4 v2.0.5+incompatible"
- "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1"
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_golang v1.0.0"
- "github.com/prometheus/client_golang v1.0.0/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.4.1/go.mod"
- "github.com/prometheus/common v0.6.0"
- "github.com/prometheus/common v0.6.0/go.mod"
- "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
- "github.com/prometheus/procfs v0.0.2"
- "github.com/prometheus/procfs v0.0.2/go.mod"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
- "github.com/rogpeppe/go-internal v1.3.0/go.mod"
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b"
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod"
- "github.com/segmentio/kafka-go v0.1.0/go.mod"
- "github.com/segmentio/kafka-go v0.2.0"
- "github.com/segmentio/kafka-go v0.2.0/go.mod"
- "github.com/sergi/go-diff v1.0.0"
- "github.com/sergi/go-diff v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.2.0/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v1.6.4"
- "github.com/smartystreets/goconvey v1.6.4/go.mod"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
- "github.com/spf13/cast v1.3.0"
- "github.com/spf13/cast v1.3.0/go.mod"
- "github.com/spf13/cobra v0.0.3"
- "github.com/spf13/cobra v0.0.3/go.mod"
- "github.com/spf13/pflag v1.0.3"
- "github.com/spf13/pflag v1.0.3/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v1.2.0/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0"
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/tinylib/msgp v1.0.2"
- "github.com/tinylib/msgp v1.0.2/go.mod"
- "github.com/willf/bitset v1.1.3"
- "github.com/willf/bitset v1.1.3/go.mod"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
- "go.opencensus.io v0.21.0/go.mod"
- "go.opencensus.io v0.22.0/go.mod"
- "go.opencensus.io v0.22.2"
- "go.opencensus.io v0.22.2/go.mod"
- "go.uber.org/atomic v1.3.2"
- "go.uber.org/atomic v1.3.2/go.mod"
- "go.uber.org/multierr v1.1.0"
- "go.uber.org/multierr v1.1.0/go.mod"
- "go.uber.org/zap v1.9.1"
- "go.uber.org/zap v1.9.1/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
- "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
- "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
- "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
- "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
- "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
- "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
- "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
- "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
- "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
- "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
- "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
- "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
- "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
- "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
- "golang.org/x/mod v0.1.0/go.mod"
- "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
- "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
- "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
- "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
- "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
- "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
- "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
- "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
- "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
- "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
- "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
- "golang.org/x/text v0.3.2"
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
- "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
- "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
- "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
- "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
- "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
- "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
- "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
- "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
- "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
- "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
- "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
- "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
- "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
- "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
- "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
- "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
- "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
- "gonum.org/v1/gonum v0.6.0"
- "gonum.org/v1/gonum v0.6.0/go.mod"
- "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
- "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
- "google.golang.org/api v0.4.0/go.mod"
- "google.golang.org/api v0.7.0/go.mod"
- "google.golang.org/api v0.8.0/go.mod"
- "google.golang.org/api v0.9.0"
- "google.golang.org/api v0.9.0/go.mod"
- "google.golang.org/api v0.13.0/go.mod"
- "google.golang.org/api v0.14.0/go.mod"
- "google.golang.org/api v0.15.0"
- "google.golang.org/api v0.15.0/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/appengine v1.5.0/go.mod"
- "google.golang.org/appengine v1.6.1/go.mod"
- "google.golang.org/appengine v1.6.5"
- "google.golang.org/appengine v1.6.5/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
- "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
- "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
- "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
- "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
- "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
- "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
- "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.1"
- "google.golang.org/grpc v1.21.1/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.26.0"
- "google.golang.org/grpc v1.26.0/go.mod"
- "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/errgo.v2 v2.1.0/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
- "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "honnef.co/go/tools v0.0.1-2019.2.3"
- "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
- "rsc.io/binaryregexp v0.2.0"
- "rsc.io/binaryregexp v0.2.0/go.mod"
- "rsc.io/pdf v0.1.1/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="man"
-
-BDEPEND="man? (
- app-text/asciidoc
- app-text/xmlto
-)"
-COMMON_DEPEND="
- acct-group/influxdb
- acct-user/influxdb"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_compile() {
- set -- env GOBIN="${S}/bin/" go install \
- -ldflags="-X main.version=${PV} -X main.branch=${GIT_BRANCH} -X main.commit=${GIT_COMMIT}" \
- ./...
- echo "$@"
- "$@" || die "compile failed"
- use man && emake -C man build
-}
-
-src_install() {
- dobin bin/influx*
- dodoc *.md
- use man && doman man/*.1
- insinto /etc/influxdb
- newins etc/config.sample.toml influxdb.conf
- insinto /etc/logrotate.d
- newins scripts/logrotate influxdb
- systemd_dounit scripts/influxdb.service
-
- newconfd "${FILESDIR}"/influxdb.confd influxdb
- newinitd "${FILESDIR}"/influxdb.rc-r1 influxdb
- keepdir /var/log/influxdb
- fowners influxdb:influxdb /var/log/influxdb
-}
-
-src_test() {
- go test ./tests || die
-}
diff --git a/dev-db/influxdb/influxdb-1.8.10.ebuild b/dev-db/influxdb/influxdb-1.8.10.ebuild
new file mode 100644
index 000000000000..07a098575233
--- /dev/null
+++ b/dev-db/influxdb/influxdb-1.8.10.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module systemd
+GIT_COMMIT=688e697c51fd5353725da078555adbeff0363d01
+GIT_BRANCH=1.8
+
+DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
+HOMEPAGE="https://www.influxdata.com"
+
+SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://github.com/Dwosky/packages/raw/main/${P}-deps.tar.xz"
+
+LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="man"
+
+BDEPEND="man? (
+ app-text/asciidoc
+ app-text/xmlto
+)"
+COMMON_DEPEND="
+ acct-group/influxdb
+ acct-user/influxdb"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=${PV}
+ -X main.branch=${GIT_BRANCH}
+ -X main.commit=${GIT_COMMIT}" \
+ ./... || die "compile failed"
+ use man && emake -C man build
+}
+
+src_install() {
+ dobin bin/influx*
+ dodoc *.md
+ use man && doman man/*.1
+ insinto /etc/influxdb
+ newins etc/config.sample.toml influxdb.conf
+ insinto /etc/logrotate.d
+ newins scripts/logrotate influxdb
+ systemd_dounit scripts/influxdb.service
+
+ newconfd "${FILESDIR}"/influxdb.confd influxdb
+ newinitd "${FILESDIR}"/influxdb.initd influxdb
+ keepdir /var/log/influxdb
+ fowners influxdb:influxdb /var/log/influxdb
+}
+
+src_test() {
+ go test ./tests || die
+}
diff --git a/dev-db/influxdb/influxdb-1.8.2.ebuild b/dev-db/influxdb/influxdb-1.8.2.ebuild
deleted file mode 100644
index 5e77212cc575..000000000000
--- a/dev-db/influxdb/influxdb-1.8.2.ebuild
+++ /dev/null
@@ -1,509 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module systemd
-GIT_COMMIT=6a1299e8c6c81ef8fd573ed2b700217121baf04e
-GIT_BRANCH=1.8
-
-DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
-HOMEPAGE="https://www.influxdata.com"
-
-EGO_SUM=(
- "cloud.google.com/go v0.26.0/go.mod"
- "cloud.google.com/go v0.34.0/go.mod"
- "cloud.google.com/go v0.38.0/go.mod"
- "cloud.google.com/go v0.43.0/go.mod"
- "cloud.google.com/go v0.44.1/go.mod"
- "cloud.google.com/go v0.44.2/go.mod"
- "cloud.google.com/go v0.45.1/go.mod"
- "cloud.google.com/go v0.46.3/go.mod"
- "cloud.google.com/go v0.50.0/go.mod"
- "cloud.google.com/go v0.51.0"
- "cloud.google.com/go v0.51.0/go.mod"
- "cloud.google.com/go/bigquery v1.0.1/go.mod"
- "cloud.google.com/go/bigquery v1.3.0"
- "cloud.google.com/go/bigquery v1.3.0/go.mod"
- "cloud.google.com/go/bigtable v1.2.0"
- "cloud.google.com/go/bigtable v1.2.0/go.mod"
- "cloud.google.com/go/datastore v1.0.0"
- "cloud.google.com/go/datastore v1.0.0/go.mod"
- "cloud.google.com/go/pubsub v1.0.1/go.mod"
- "cloud.google.com/go/pubsub v1.1.0"
- "cloud.google.com/go/pubsub v1.1.0/go.mod"
- "cloud.google.com/go/storage v1.0.0/go.mod"
- "cloud.google.com/go/storage v1.5.0"
- "cloud.google.com/go/storage v1.5.0/go.mod"
- "collectd.org v0.3.0"
- "collectd.org v0.3.0/go.mod"
- "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
- "github.com/BurntSushi/toml v0.3.1"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
- "github.com/DATA-DOG/go-sqlmock v1.3.3"
- "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
- "github.com/OneOfOne/xxhash v1.2.2"
- "github.com/OneOfOne/xxhash v1.2.2/go.mod"
- "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/beorn7/perks v1.0.0"
- "github.com/beorn7/perks v1.0.0/go.mod"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
- "github.com/boltdb/bolt v1.3.1"
- "github.com/boltdb/bolt v1.3.1/go.mod"
- "github.com/c-bata/go-prompt v0.2.2"
- "github.com/c-bata/go-prompt v0.2.2/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/cespare/xxhash v1.1.0"
- "github.com/cespare/xxhash v1.1.0/go.mod"
- "github.com/chzyer/logex v1.1.10/go.mod"
- "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
- "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/dave/jennifer v1.2.0/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
- "github.com/eclipse/paho.mqtt.golang v1.2.0"
- "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
- "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
- "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
- "github.com/go-kit/kit v0.8.0/go.mod"
- "github.com/go-logfmt/logfmt v0.3.0/go.mod"
- "github.com/go-logfmt/logfmt v0.4.0/go.mod"
- "github.com/go-sql-driver/mysql v1.4.1"
- "github.com/go-sql-driver/mysql v1.4.1/go.mod"
- "github.com/go-stack/stack v1.8.0/go.mod"
- "github.com/gogo/protobuf v1.1.1"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/mock v1.2.0/go.mod"
- "github.com/golang/mock v1.3.1/go.mod"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
- "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
- "github.com/google/btree v1.0.0"
- "github.com/google/btree v1.0.0/go.mod"
- "github.com/google/flatbuffers v1.11.0"
- "github.com/google/flatbuffers v1.11.0/go.mod"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/go-cmp v0.4.0"
- "github.com/google/go-cmp v0.4.0/go.mod"
- "github.com/google/martian v2.1.0+incompatible"
- "github.com/google/martian v2.1.0+incompatible/go.mod"
- "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
- "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
- "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
- "github.com/google/renameio v0.1.0/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.5"
- "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/hashicorp/golang-lru v0.5.0/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/influxdata/flux v0.65.0"
- "github.com/influxdata/flux v0.65.0/go.mod"
- "github.com/influxdata/influxql v1.1.0"
- "github.com/influxdata/influxql v1.1.0/go.mod"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
- "github.com/influxdata/promql/v2 v2.12.0/go.mod"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
- "github.com/json-iterator/go v1.1.6/go.mod"
- "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
- "github.com/jstemmer/go-junit-report v0.9.1"
- "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
- "github.com/jsternberg/zap-logfmt v1.0.0"
- "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/julienschmidt/httprouter v1.2.0/go.mod"
- "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/klauspost/compress v1.4.0"
- "github.com/klauspost/compress v1.4.0/go.mod"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
- "github.com/kr/pretty v0.1.0"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/lib/pq v1.0.0"
- "github.com/lib/pq v1.0.0/go.mod"
- "github.com/mattn/go-colorable v0.0.9"
- "github.com/mattn/go-colorable v0.0.9/go.mod"
- "github.com/mattn/go-isatty v0.0.4"
- "github.com/mattn/go-isatty v0.0.4/go.mod"
- "github.com/mattn/go-runewidth v0.0.3"
- "github.com/mattn/go-runewidth v0.0.3/go.mod"
- "github.com/mattn/go-sqlite3 v1.11.0"
- "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
- "github.com/modern-go/reflect2 v1.0.1/go.mod"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
- "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
- "github.com/opentracing/opentracing-go v1.0.2/go.mod"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
- "github.com/paulbellamy/ratecounter v0.2.0"
- "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
- "github.com/philhofer/fwd v1.0.0"
- "github.com/philhofer/fwd v1.0.0/go.mod"
- "github.com/pierrec/lz4 v2.0.5+incompatible"
- "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1"
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_golang v1.0.0"
- "github.com/prometheus/client_golang v1.0.0/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.4.1/go.mod"
- "github.com/prometheus/common v0.6.0"
- "github.com/prometheus/common v0.6.0/go.mod"
- "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
- "github.com/prometheus/procfs v0.0.2"
- "github.com/prometheus/procfs v0.0.2/go.mod"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
- "github.com/rogpeppe/go-internal v1.3.0/go.mod"
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b"
- "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod"
- "github.com/segmentio/kafka-go v0.1.0/go.mod"
- "github.com/segmentio/kafka-go v0.2.0"
- "github.com/segmentio/kafka-go v0.2.0/go.mod"
- "github.com/sergi/go-diff v1.0.0"
- "github.com/sergi/go-diff v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.2.0/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v1.6.4"
- "github.com/smartystreets/goconvey v1.6.4/go.mod"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
- "github.com/spf13/cast v1.3.0"
- "github.com/spf13/cast v1.3.0/go.mod"
- "github.com/spf13/cobra v0.0.3"
- "github.com/spf13/cobra v0.0.3/go.mod"
- "github.com/spf13/pflag v1.0.3"
- "github.com/spf13/pflag v1.0.3/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v1.2.0/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0"
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/tinylib/msgp v1.0.2"
- "github.com/tinylib/msgp v1.0.2/go.mod"
- "github.com/willf/bitset v1.1.3"
- "github.com/willf/bitset v1.1.3/go.mod"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
- "go.opencensus.io v0.21.0/go.mod"
- "go.opencensus.io v0.22.0/go.mod"
- "go.opencensus.io v0.22.2"
- "go.opencensus.io v0.22.2/go.mod"
- "go.uber.org/atomic v1.3.2"
- "go.uber.org/atomic v1.3.2/go.mod"
- "go.uber.org/multierr v1.1.0"
- "go.uber.org/multierr v1.1.0/go.mod"
- "go.uber.org/zap v1.9.1"
- "go.uber.org/zap v1.9.1/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
- "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
- "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
- "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
- "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
- "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
- "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
- "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
- "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
- "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
- "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
- "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
- "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
- "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
- "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
- "golang.org/x/mod v0.1.0/go.mod"
- "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
- "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
- "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
- "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
- "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
- "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
- "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
- "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
- "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
- "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
- "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
- "golang.org/x/text v0.3.2"
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
- "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
- "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
- "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
- "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
- "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
- "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
- "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
- "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
- "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
- "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
- "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
- "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
- "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
- "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
- "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
- "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
- "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
- "gonum.org/v1/gonum v0.6.0"
- "gonum.org/v1/gonum v0.6.0/go.mod"
- "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
- "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
- "google.golang.org/api v0.4.0/go.mod"
- "google.golang.org/api v0.7.0/go.mod"
- "google.golang.org/api v0.8.0/go.mod"
- "google.golang.org/api v0.9.0"
- "google.golang.org/api v0.9.0/go.mod"
- "google.golang.org/api v0.13.0/go.mod"
- "google.golang.org/api v0.14.0/go.mod"
- "google.golang.org/api v0.15.0"
- "google.golang.org/api v0.15.0/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/appengine v1.5.0/go.mod"
- "google.golang.org/appengine v1.6.1/go.mod"
- "google.golang.org/appengine v1.6.5"
- "google.golang.org/appengine v1.6.5/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
- "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
- "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
- "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
- "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
- "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
- "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
- "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.1"
- "google.golang.org/grpc v1.21.1/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.26.0"
- "google.golang.org/grpc v1.26.0/go.mod"
- "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/errgo.v2 v2.1.0/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
- "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "honnef.co/go/tools v0.0.1-2019.2.3"
- "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
- "rsc.io/binaryregexp v0.2.0"
- "rsc.io/binaryregexp v0.2.0/go.mod"
- "rsc.io/pdf v0.1.1/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="man"
-
-BDEPEND="man? (
- app-text/asciidoc
- app-text/xmlto
-)"
-COMMON_DEPEND="
- acct-group/influxdb
- acct-user/influxdb"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install \
- -ldflags="-X main.version=${PV}
- -X main.branch=${GIT_BRANCH}
- -X main.commit=${GIT_COMMIT}" \
- ./... || die "compile failed"
- use man && emake -C man build
-}
-
-src_install() {
- dobin bin/influx*
- dodoc *.md
- use man && doman man/*.1
- insinto /etc/influxdb
- newins etc/config.sample.toml influxdb.conf
- insinto /etc/logrotate.d
- newins scripts/logrotate influxdb
- systemd_dounit scripts/influxdb.service
-
- newconfd "${FILESDIR}"/influxdb.confd influxdb
- newinitd "${FILESDIR}"/influxdb.initd influxdb
- keepdir /var/log/influxdb
- fowners influxdb:influxdb /var/log/influxdb
-}
-
-src_test() {
- go test ./tests || die
-}
diff --git a/dev-db/influxdb/influxdb-1.8.3.ebuild b/dev-db/influxdb/influxdb-1.8.3.ebuild
deleted file mode 100644
index 8ed8222006ac..000000000000
--- a/dev-db/influxdb/influxdb-1.8.3.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module systemd
-GIT_COMMIT=563e6c3d1a7a2790763c6289501095dbec19244e
-GIT_BRANCH=1.8
-
-DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
-HOMEPAGE="https://www.influxdata.com"
-
-EGO_SUM=(
- "cloud.google.com/go v0.26.0/go.mod"
- "cloud.google.com/go v0.34.0/go.mod"
- "cloud.google.com/go v0.38.0/go.mod"
- "cloud.google.com/go v0.43.0/go.mod"
- "cloud.google.com/go v0.44.1/go.mod"
- "cloud.google.com/go v0.44.2/go.mod"
- "cloud.google.com/go v0.45.1/go.mod"
- "cloud.google.com/go v0.46.3/go.mod"
- "cloud.google.com/go v0.50.0/go.mod"
- "cloud.google.com/go v0.51.0"
- "cloud.google.com/go v0.51.0/go.mod"
- "cloud.google.com/go/bigquery v1.0.1/go.mod"
- "cloud.google.com/go/bigquery v1.3.0"
- "cloud.google.com/go/bigquery v1.3.0/go.mod"
- "cloud.google.com/go/bigtable v1.2.0"
- "cloud.google.com/go/bigtable v1.2.0/go.mod"
- "cloud.google.com/go/datastore v1.0.0"
- "cloud.google.com/go/datastore v1.0.0/go.mod"
- "cloud.google.com/go/pubsub v1.0.1/go.mod"
- "cloud.google.com/go/pubsub v1.1.0"
- "cloud.google.com/go/pubsub v1.1.0/go.mod"
- "cloud.google.com/go/storage v1.0.0/go.mod"
- "cloud.google.com/go/storage v1.5.0"
- "cloud.google.com/go/storage v1.5.0/go.mod"
- "collectd.org v0.3.0"
- "collectd.org v0.3.0/go.mod"
- "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
- "github.com/BurntSushi/toml v0.3.1"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
- "github.com/DATA-DOG/go-sqlmock v1.3.3"
- "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
- "github.com/OneOfOne/xxhash v1.2.2"
- "github.com/OneOfOne/xxhash v1.2.2/go.mod"
- "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
- "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db"
- "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/beorn7/perks v1.0.0"
- "github.com/beorn7/perks v1.0.0/go.mod"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40"
- "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
- "github.com/boltdb/bolt v1.3.1"
- "github.com/boltdb/bolt v1.3.1/go.mod"
- "github.com/c-bata/go-prompt v0.2.2"
- "github.com/c-bata/go-prompt v0.2.2/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/cespare/xxhash v1.1.0"
- "github.com/cespare/xxhash v1.1.0/go.mod"
- "github.com/chzyer/logex v1.1.10/go.mod"
- "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
- "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/dave/jennifer v1.2.0/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8"
- "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
- "github.com/eclipse/paho.mqtt.golang v1.2.0"
- "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd"
- "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
- "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
- "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
- "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
- "github.com/go-kit/kit v0.8.0/go.mod"
- "github.com/go-logfmt/logfmt v0.3.0/go.mod"
- "github.com/go-logfmt/logfmt v0.4.0/go.mod"
- "github.com/go-sql-driver/mysql v1.4.1"
- "github.com/go-sql-driver/mysql v1.4.1/go.mod"
- "github.com/go-stack/stack v1.8.0/go.mod"
- "github.com/gofrs/uuid v3.3.0+incompatible"
- "github.com/gofrs/uuid v3.3.0+incompatible/go.mod"
- "github.com/gogo/protobuf v1.1.1"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/gogo/protobuf v1.3.1"
- "github.com/gogo/protobuf v1.3.1/go.mod"
- "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec"
- "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/mock v1.2.0/go.mod"
- "github.com/golang/mock v1.3.1/go.mod"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db"
- "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
- "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
- "github.com/google/btree v1.0.0"
- "github.com/google/btree v1.0.0/go.mod"
- "github.com/google/flatbuffers v1.11.0"
- "github.com/google/flatbuffers v1.11.0/go.mod"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/go-cmp v0.4.0"
- "github.com/google/go-cmp v0.4.0/go.mod"
- "github.com/google/martian v2.1.0+incompatible"
- "github.com/google/martian v2.1.0+incompatible/go.mod"
- "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
- "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
- "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
- "github.com/google/renameio v0.1.0/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.5"
- "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/hashicorp/golang-lru v0.5.0/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/influxdata/flux v0.65.1"
- "github.com/influxdata/flux v0.65.1/go.mod"
- "github.com/influxdata/influxql v1.1.0"
- "github.com/influxdata/influxql v1.1.0/go.mod"
- "github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385"
- "github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e"
- "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
- "github.com/influxdata/promql/v2 v2.12.0/go.mod"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6"
- "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9"
- "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368"
- "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
- "github.com/json-iterator/go v1.1.6/go.mod"
- "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
- "github.com/jstemmer/go-junit-report v0.9.1"
- "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
- "github.com/jsternberg/zap-logfmt v1.0.0"
- "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/julienschmidt/httprouter v1.2.0/go.mod"
- "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef"
- "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
- "github.com/kisielk/errcheck v1.2.0/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/klauspost/compress v1.4.0"
- "github.com/klauspost/compress v1.4.0/go.mod"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5"
- "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6"
- "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada"
- "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
- "github.com/kr/pretty v0.1.0"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/lib/pq v1.0.0"
- "github.com/lib/pq v1.0.0/go.mod"
- "github.com/mattn/go-colorable v0.0.9"
- "github.com/mattn/go-colorable v0.0.9/go.mod"
- "github.com/mattn/go-isatty v0.0.4"
- "github.com/mattn/go-isatty v0.0.4/go.mod"
- "github.com/mattn/go-runewidth v0.0.3"
- "github.com/mattn/go-runewidth v0.0.3/go.mod"
- "github.com/mattn/go-sqlite3 v1.11.0"
- "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
- "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
- "github.com/modern-go/reflect2 v1.0.1/go.mod"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae"
- "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
- "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
- "github.com/opentracing/opentracing-go v1.0.2/go.mod"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947"
- "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
- "github.com/paulbellamy/ratecounter v0.2.0"
- "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f"
- "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
- "github.com/philhofer/fwd v1.0.0"
- "github.com/philhofer/fwd v1.0.0/go.mod"
- "github.com/pierrec/lz4 v2.0.5+incompatible"
- "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1"
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5"
- "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_golang v1.0.0"
- "github.com/prometheus/client_golang v1.0.0/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.4.1/go.mod"
- "github.com/prometheus/common v0.6.0"
- "github.com/prometheus/common v0.6.0/go.mod"
- "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
- "github.com/prometheus/procfs v0.0.2"
- "github.com/prometheus/procfs v0.0.2/go.mod"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52"
- "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
- "github.com/rogpeppe/go-internal v1.3.0/go.mod"
- "github.com/segmentio/kafka-go v0.1.0/go.mod"
- "github.com/segmentio/kafka-go v0.2.0"
- "github.com/segmentio/kafka-go v0.2.0/go.mod"
- "github.com/sergi/go-diff v1.0.0"
- "github.com/sergi/go-diff v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.2.0/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v1.6.4"
- "github.com/smartystreets/goconvey v1.6.4/go.mod"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
- "github.com/spf13/cast v1.3.0"
- "github.com/spf13/cast v1.3.0/go.mod"
- "github.com/spf13/cobra v0.0.3"
- "github.com/spf13/cobra v0.0.3/go.mod"
- "github.com/spf13/pflag v1.0.3"
- "github.com/spf13/pflag v1.0.3/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v1.2.0/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0"
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/tinylib/msgp v1.0.2"
- "github.com/tinylib/msgp v1.0.2/go.mod"
- "github.com/willf/bitset v1.1.3"
- "github.com/willf/bitset v1.1.3/go.mod"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6"
- "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
- "go.opencensus.io v0.21.0/go.mod"
- "go.opencensus.io v0.22.0/go.mod"
- "go.opencensus.io v0.22.2"
- "go.opencensus.io v0.22.2/go.mod"
- "go.uber.org/atomic v1.3.2"
- "go.uber.org/atomic v1.3.2/go.mod"
- "go.uber.org/multierr v1.1.0"
- "go.uber.org/multierr v1.1.0/go.mod"
- "go.uber.org/zap v1.9.1"
- "go.uber.org/zap v1.9.1/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550"
- "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
- "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
- "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
- "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
- "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
- "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
- "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
- "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
- "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
- "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
- "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
- "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
- "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
- "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
- "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
- "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
- "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
- "golang.org/x/mod v0.1.0/go.mod"
- "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
- "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
- "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
- "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d"
- "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
- "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
- "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
- "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
- "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0"
- "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
- "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
- "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
- "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
- "golang.org/x/text v0.3.2"
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
- "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
- "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
- "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
- "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
- "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
- "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
- "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
- "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
- "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
- "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
- "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
- "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
- "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178"
- "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
- "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
- "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
- "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
- "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
- "gonum.org/v1/gonum v0.6.0"
- "gonum.org/v1/gonum v0.6.0/go.mod"
- "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
- "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
- "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
- "google.golang.org/api v0.4.0/go.mod"
- "google.golang.org/api v0.7.0/go.mod"
- "google.golang.org/api v0.8.0/go.mod"
- "google.golang.org/api v0.9.0"
- "google.golang.org/api v0.9.0/go.mod"
- "google.golang.org/api v0.13.0/go.mod"
- "google.golang.org/api v0.14.0/go.mod"
- "google.golang.org/api v0.15.0"
- "google.golang.org/api v0.15.0/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/appengine v1.5.0/go.mod"
- "google.golang.org/appengine v1.6.1/go.mod"
- "google.golang.org/appengine v1.6.5"
- "google.golang.org/appengine v1.6.5/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
- "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
- "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
- "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
- "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
- "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
- "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
- "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f"
- "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.1"
- "google.golang.org/grpc v1.21.1/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.26.0"
- "google.golang.org/grpc v1.26.0/go.mod"
- "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/errgo.v2 v2.1.0/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
- "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "honnef.co/go/tools v0.0.1-2019.2.3"
- "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
- "rsc.io/binaryregexp v0.2.0"
- "rsc.io/binaryregexp v0.2.0/go.mod"
- "rsc.io/pdf v0.1.1/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="man"
-
-BDEPEND="man? (
- app-text/asciidoc
- app-text/xmlto
-)"
-COMMON_DEPEND="
- acct-group/influxdb
- acct-user/influxdb"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install \
- -ldflags="-X main.version=${PV}
- -X main.branch=${GIT_BRANCH}
- -X main.commit=${GIT_COMMIT}" \
- ./... || die "compile failed"
- use man && emake -C man build
-}
-
-src_install() {
- dobin bin/influx*
- dodoc *.md
- use man && doman man/*.1
- insinto /etc/influxdb
- newins etc/config.sample.toml influxdb.conf
- insinto /etc/logrotate.d
- newins scripts/logrotate influxdb
- systemd_dounit scripts/influxdb.service
-
- newconfd "${FILESDIR}"/influxdb.confd influxdb
- newinitd "${FILESDIR}"/influxdb.initd influxdb
- keepdir /var/log/influxdb
- fowners influxdb:influxdb /var/log/influxdb
-}
-
-src_test() {
- go test ./tests || die
-}
diff --git a/dev-db/influxdb/influxdb-2.7.3-r2.ebuild b/dev-db/influxdb/influxdb-2.7.3-r2.ebuild
new file mode 100644
index 000000000000..3bd8b07c924a
--- /dev/null
+++ b/dev-db/influxdb/influxdb-2.7.3-r2.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ adler32@1.2.0
+ ahash@0.7.6
+ aho-corasick@0.7.20
+ android_system_properties@0.1.5
+ ansi_term@0.12.1
+ anyhow@1.0.70
+ arrayvec@0.5.2
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.0.2
+ bumpalo@3.12.0
+ cast@0.3.0
+ cc@1.0.79
+ cfg-if@1.0.0
+ chrono@0.4.24
+ clap@2.34.0
+ codespan-reporting@0.11.1
+ colored@2.0.0
+ core-foundation-sys@0.8.4
+ crc32fast@1.3.2
+ criterion-plot@0.4.5
+ criterion@0.3.6
+ crossbeam-channel@0.5.7
+ crossbeam-deque@0.8.3
+ crossbeam-epoch@0.9.14
+ crossbeam-utils@0.8.15
+ csv-core@0.1.10
+ csv@1.2.1
+ ctor@0.1.26
+ cxx-build@1.0.94
+ cxx@1.0.94
+ cxxbridge-flags@1.0.94
+ cxxbridge-macro@1.0.94
+ derivative@2.2.0
+ derive_more@0.99.17
+ diff@0.1.13
+ dissimilar@1.0.6
+ either@1.8.1
+ ena@0.14.2
+ env_logger@0.9.3
+ errno-dragonfly@0.1.2
+ errno@0.3.0
+ expect-test@1.4.1
+ fallible-iterator@0.2.0
+ fallible-streaming-iterator@0.1.9
+ fastrand@1.9.0
+ flatbuffers@22.12.6
+ fnv@1.0.7
+ form_urlencoded@1.1.0
+ getrandom@0.2.8
+ half@1.8.2
+ hashbrown@0.12.3
+ hashlink@0.8.1
+ heck@0.3.3
+ hermit-abi@0.1.19
+ hermit-abi@0.2.6
+ hermit-abi@0.3.1
+ humantime@2.1.0
+ iana-time-zone-haiku@0.1.1
+ iana-time-zone@0.1.56
+ idna@0.3.0
+ indexmap@1.9.3
+ instant@0.1.12
+ io-lifetimes@1.0.10
+ itertools@0.10.5
+ itoa@1.0.6
+ js-sys@0.3.61
+ lazy_static@1.4.0
+ libc@0.2.141
+ libflate@1.3.0
+ libflate_lz77@1.2.0
+ libsqlite3-sys@0.26.0
+ link-cplusplus@1.0.8
+ linux-raw-sys@0.3.1
+ lock_api@0.4.9
+ log@0.4.17
+ lsp-types@0.91.1
+ maplit@1.0.2
+ memchr@2.5.0
+ memoffset@0.8.0
+ num-integer@0.1.45
+ num-traits@0.2.15
+ num_cpus@1.15.0
+ once_cell@1.17.1
+ oorandom@11.1.3
+ ordered-float@3.6.0
+ output_vt100@0.1.3
+ pad@0.1.6
+ parking_lot@0.11.2
+ parking_lot_core@0.8.6
+ percent-encoding@2.2.0
+ pkg-config@0.3.26
+ plotters-backend@0.3.4
+ plotters-svg@0.3.3
+ plotters@0.3.4
+ pretty@0.11.3
+ pretty_assertions@1.3.0
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.56
+ pulldown-cmark@0.9.2
+ quote@1.0.26
+ rayon-core@1.11.0
+ rayon@1.7.0
+ redox_syscall@0.2.16
+ redox_syscall@0.3.5
+ regex-syntax@0.6.29
+ regex@1.7.3
+ rle-decode-fast@1.0.3
+ rusqlite@0.29.0
+ rustc-hash@1.1.0
+ rustc_version@0.4.0
+ rustix@0.37.7
+ ryu@1.0.13
+ salsa-macros@0.17.0-pre.2
+ salsa@0.17.0-pre.2
+ same-file@1.0.6
+ scopeguard@1.1.0
+ scratch@1.0.5
+ semver@1.0.17
+ serde@1.0.159
+ serde_cbor@0.11.2
+ serde_derive@1.0.159
+ serde_json@1.0.95
+ serde_repr@0.1.12
+ smallvec@1.10.0
+ strsim@0.8.0
+ structopt-derive@0.4.18
+ structopt@0.3.26
+ syn@1.0.109
+ syn@2.0.13
+ tempfile@3.5.0
+ termcolor@1.2.0
+ textwrap@0.11.0
+ thiserror-impl@1.0.40
+ thiserror@1.0.40
+ tinytemplate@1.2.1
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ typed-arena@2.0.2
+ unicase@2.6.0
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.8
+ unicode-normalization@0.1.22
+ unicode-segmentation@1.10.1
+ unicode-width@0.1.10
+ url@2.3.1
+ vcpkg@0.2.15
+ vec_map@0.8.2
+ version_check@0.9.4
+ walkdir@2.3.3
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.84
+ wasm-bindgen-macro-support@0.2.84
+ wasm-bindgen-macro@0.2.84
+ wasm-bindgen-shared@0.2.84
+ wasm-bindgen@0.2.84
+ web-sys@0.3.61
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.45.0
+ windows-sys@0.48.0
+ windows-targets@0.42.2
+ windows-targets@0.48.0
+ windows@0.48.0
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.48.0
+ yansi@0.5.1
+"
+
+inherit cargo go-module systemd
+
+DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
+HOMEPAGE="https://www.influxdata.com"
+
+FLUX_PV="0.194.3"
+
+SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-v2.7.1/build.tar.gz -> ${P}-assets.tar.gz"
+SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz"
+SRC_URI+=" ${CARGO_CRATE_URIS}"
+
+LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+DEPEND="
+ acct-group/influxdb
+ acct-user/influxdb
+"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ default
+
+ local data_dir
+ data_dir="${S}/static/data"
+ mkdir "${data_dir}" || die
+ mv "${WORKDIR}/build" "${data_dir}" || die
+}
+
+src_compile() {
+ mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die
+ mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die
+ cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die
+ ego build .
+ mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die
+ mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die
+
+ cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die
+ cargo_src_compile
+
+ cd "${S}" || die
+
+ export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config"
+ ego generate ./static
+ GOBIN="${S}/bin" \
+ ego install \
+ -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \
+ -ldflags="-X main.version=${PV}" \
+ ./...
+}
+
+src_test() {
+ ego test ./tests
+}
+
+src_install() {
+ dobin bin/influx*
+ dodoc *.md
+ cd .circleci/scripts/package/influxdb2/fs || die
+ systemd_dounit usr/lib/influxdb/scripts/influxdb.service
+ exeinto /usr/lib/influxdb/scripts
+ doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh
+ exeinto /usr/share/influxdb
+ doexe usr/share/influxdb/influxdb2-upgrade.sh
+ newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb
+ newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb
+ keepdir /var/log/influxdb
+ fowners influxdb:influxdb /var/log/influxdb
+
+ newenvd - "99${PN}" <<-_EOF_
+ INFLUXD_CONFIG_PATH="/etc/influxdb"
+ _EOF_
+}
+
+pkg_postinst() {
+ elog "Upgrading from InfluxDB1.x requires migration of time series data."
+ elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/"
+ elog "Keep in mind that some applications not compatible with InfluxDB 2.x"
+ elog "may stop working."
+
+ ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli"
+ ewarn "You will need to install it separately"
+}
diff --git a/dev-db/influxdb/influxdb-2.7.5.ebuild b/dev-db/influxdb/influxdb-2.7.5.ebuild
new file mode 100644
index 000000000000..32422fb6df90
--- /dev/null
+++ b/dev-db/influxdb/influxdb-2.7.5.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ adler32@1.2.0
+ ahash@0.7.6
+ aho-corasick@0.7.20
+ android_system_properties@0.1.5
+ ansi_term@0.12.1
+ anyhow@1.0.70
+ arrayvec@0.5.2
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.0.2
+ bumpalo@3.12.0
+ cast@0.3.0
+ cc@1.0.79
+ cfg-if@1.0.0
+ chrono@0.4.24
+ clap@2.34.0
+ codespan-reporting@0.11.1
+ colored@2.0.0
+ core-foundation-sys@0.8.4
+ crc32fast@1.3.2
+ criterion-plot@0.4.5
+ criterion@0.3.6
+ crossbeam-channel@0.5.7
+ crossbeam-deque@0.8.3
+ crossbeam-epoch@0.9.14
+ crossbeam-utils@0.8.15
+ csv-core@0.1.10
+ csv@1.2.1
+ ctor@0.1.26
+ cxx-build@1.0.94
+ cxx@1.0.94
+ cxxbridge-flags@1.0.94
+ cxxbridge-macro@1.0.94
+ derivative@2.2.0
+ derive_more@0.99.17
+ diff@0.1.13
+ dissimilar@1.0.6
+ either@1.8.1
+ ena@0.14.2
+ env_logger@0.9.3
+ errno-dragonfly@0.1.2
+ errno@0.3.0
+ expect-test@1.4.1
+ fallible-iterator@0.2.0
+ fallible-streaming-iterator@0.1.9
+ fastrand@1.9.0
+ flatbuffers@22.12.6
+ fnv@1.0.7
+ form_urlencoded@1.1.0
+ getrandom@0.2.8
+ half@1.8.2
+ hashbrown@0.12.3
+ hashlink@0.8.1
+ heck@0.3.3
+ hermit-abi@0.1.19
+ hermit-abi@0.2.6
+ hermit-abi@0.3.1
+ humantime@2.1.0
+ iana-time-zone-haiku@0.1.1
+ iana-time-zone@0.1.56
+ idna@0.3.0
+ indexmap@1.9.3
+ instant@0.1.12
+ io-lifetimes@1.0.10
+ itertools@0.10.5
+ itoa@1.0.6
+ js-sys@0.3.61
+ lazy_static@1.4.0
+ libc@0.2.141
+ libflate@1.3.0
+ libflate_lz77@1.2.0
+ libsqlite3-sys@0.26.0
+ link-cplusplus@1.0.8
+ linux-raw-sys@0.3.1
+ lock_api@0.4.9
+ log@0.4.17
+ lsp-types@0.91.1
+ maplit@1.0.2
+ memchr@2.5.0
+ memoffset@0.8.0
+ num-integer@0.1.45
+ num-traits@0.2.15
+ num_cpus@1.15.0
+ once_cell@1.17.1
+ oorandom@11.1.3
+ ordered-float@3.6.0
+ output_vt100@0.1.3
+ pad@0.1.6
+ parking_lot@0.11.2
+ parking_lot_core@0.8.6
+ percent-encoding@2.2.0
+ pkg-config@0.3.26
+ plotters-backend@0.3.4
+ plotters-svg@0.3.3
+ plotters@0.3.4
+ pretty@0.11.3
+ pretty_assertions@1.3.0
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.56
+ pulldown-cmark@0.9.2
+ quote@1.0.26
+ rayon-core@1.11.0
+ rayon@1.7.0
+ redox_syscall@0.2.16
+ redox_syscall@0.3.5
+ regex-syntax@0.6.29
+ regex@1.7.3
+ rle-decode-fast@1.0.3
+ rusqlite@0.29.0
+ rustc-hash@1.1.0
+ rustc_version@0.4.0
+ rustix@0.37.7
+ ryu@1.0.13
+ salsa-macros@0.17.0-pre.2
+ salsa@0.17.0-pre.2
+ same-file@1.0.6
+ scopeguard@1.1.0
+ scratch@1.0.5
+ semver@1.0.17
+ serde@1.0.159
+ serde_cbor@0.11.2
+ serde_derive@1.0.159
+ serde_json@1.0.95
+ serde_repr@0.1.12
+ smallvec@1.10.0
+ strsim@0.8.0
+ structopt-derive@0.4.18
+ structopt@0.3.26
+ syn@1.0.109
+ syn@2.0.13
+ tempfile@3.5.0
+ termcolor@1.2.0
+ textwrap@0.11.0
+ thiserror-impl@1.0.40
+ thiserror@1.0.40
+ tinytemplate@1.2.1
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ typed-arena@2.0.2
+ unicase@2.6.0
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.8
+ unicode-normalization@0.1.22
+ unicode-segmentation@1.10.1
+ unicode-width@0.1.10
+ url@2.3.1
+ vcpkg@0.2.15
+ vec_map@0.8.2
+ version_check@0.9.4
+ walkdir@2.3.3
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.84
+ wasm-bindgen-macro-support@0.2.84
+ wasm-bindgen-macro@0.2.84
+ wasm-bindgen-shared@0.2.84
+ wasm-bindgen@0.2.84
+ web-sys@0.3.61
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.45.0
+ windows-sys@0.48.0
+ windows-targets@0.42.2
+ windows-targets@0.48.0
+ windows@0.48.0
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.48.0
+ yansi@0.5.1
+"
+
+inherit cargo go-module systemd
+
+DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
+HOMEPAGE="https://www.influxdata.com"
+
+FLUX_PV="0.194.5"
+
+SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-v2.7.1/build.tar.gz -> ${P}-assets.tar.gz"
+SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz"
+SRC_URI+=" ${CARGO_CRATE_URIS}"
+
+LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+DEPEND="
+ acct-group/influxdb
+ acct-user/influxdb
+"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ default
+
+ local data_dir
+ data_dir="${S}/static/data"
+ mkdir "${data_dir}" || die
+ mv "${WORKDIR}/build" "${data_dir}" || die
+}
+
+src_compile() {
+ mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die
+ mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die
+ cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die
+ ego build .
+ mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die
+ mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die
+
+ cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die
+ cargo_src_compile
+
+ cd "${S}" || die
+
+ export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config"
+ ego generate ./static
+ GOBIN="${S}/bin" \
+ ego install \
+ -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \
+ -ldflags="-X main.version=${PV}" \
+ ./...
+}
+
+src_test() {
+ ego test ./tests
+}
+
+src_install() {
+ dobin bin/influx*
+ dodoc *.md
+ cd .circleci/scripts/package/influxdb2/fs || die
+ systemd_dounit usr/lib/influxdb/scripts/influxdb.service
+ exeinto /usr/lib/influxdb/scripts
+ doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh
+ exeinto /usr/share/influxdb
+ doexe usr/share/influxdb/influxdb2-upgrade.sh
+ newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb
+ newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb
+ keepdir /var/log/influxdb
+ fowners influxdb:influxdb /var/log/influxdb
+
+ newenvd - "99${PN}" <<-_EOF_
+ INFLUXD_CONFIG_PATH="/etc/influxdb"
+ _EOF_
+}
+
+pkg_postinst() {
+ elog "Upgrading from InfluxDB1.x requires migration of time series data."
+ elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/"
+ elog "Keep in mind that some applications not compatible with InfluxDB 2.x"
+ elog "may stop working."
+
+ ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli"
+ ewarn "You will need to install it separately"
+}
diff --git a/dev-db/influxdb/metadata.xml b/dev-db/influxdb/metadata.xml
index 56d66d4ecd43..3b67bae3f820 100644
--- a/dev-db/influxdb/metadata.xml
+++ b/dev-db/influxdb/metadata.xml
@@ -5,9 +5,20 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>davidroman96@gmail.com</email>
+ <name>David Roman</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<longdescription lang="en">
InfluxDB is an open source time series database with no external
dependencies. It is useful for recording metrics, events, and
performing analytics.
</longdescription>
+ <upstream>
+ <remote-id type="github">influxdata/influxdb</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/innotop/Manifest b/dev-db/innotop/Manifest
index 2f84721246aa..b4906df387d8 100644
--- a/dev-db/innotop/Manifest
+++ b/dev-db/innotop/Manifest
@@ -1,2 +1 @@
-DIST innotop-1.12.0.tar.gz 182854 BLAKE2B 1470f21fe7882e920966a856365586c37461c955f0d07ea72a9bffa16b1a112fe5daa2dec585f888c90570d28f9af4e88885a36910bf892cc4f69abd044a4494 SHA512 bc650cd8fb5e5b83f12ccccc852802d676500d7241fe0beaa2a67c3dcca90ab06f329f0a6750789b6097ab201630b9ecf494159086d904ce7c1cfe7aefb5a635
DIST innotop-1.13.0.tar.gz 189278 BLAKE2B 0e7334c983aa441c130ded820e76afb72a324b52dc6b444fb5e5813dc09c19a656d42b449b43af682d61620305062929d87a78db4298e17bed36eca62ff6f53a SHA512 827a6ec36355af023d24b85afdaabac44ef0c33c853c133d39f0725b2da3585cf1bc7b21e501d436a28ac6b798d9d502b4a81c2c9c28373abf91543519b4f45a
diff --git a/dev-db/innotop/innotop-1.12.0.ebuild b/dev-db/innotop/innotop-1.12.0.ebuild
deleted file mode 100644
index d1f0d89c491b..000000000000
--- a/dev-db/innotop/innotop-1.12.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit perl-module
-
-DESCRIPTION="A text-mode MySQL and InnoDB monitor like mytop, but with many more features"
-HOMEPAGE="https://github.com/innotop/innotop"
-SRC_URI="https://github.com/innotop/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( Artistic GPL-2 )"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
-SLOT="0"
-IUSE=""
-
-DEPEND="dev-perl/DBI
- dev-perl/DBD-mysql
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes"
-
-DIST_TEST="do parallel"
-
-src_install() {
- perl-module_src_install
-}
diff --git a/dev-db/kdb/Manifest b/dev-db/kdb/Manifest
index eb0224c3d904..6290c27eb8c5 100644
--- a/dev-db/kdb/Manifest
+++ b/dev-db/kdb/Manifest
@@ -1 +1,2 @@
+DIST kdb-3.2.0-patches.tar.xz 7448 BLAKE2B 924a3ac0db2fedfa6d757dcb96fefc48540d5bee7dd2e1239e0e7eca9765393e3b72b13365a66a8e336a655aa4c8978e800f3baa86b704e85134d0c7281b90d7 SHA512 4fe59f33059dcfe19a26bed93615ce152f321f040daa57a2e6747a397aebbc896cd6c964cd2cb1350762552173ff146e4e51b864aa098ec5ae77e0dd6c6d9a2f
DIST kdb-3.2.0.tar.xz 650180 BLAKE2B 306152b37c2ecc670d26a2df2ae8acb950505ecb37c4994f4debd1b80c8b2ee94252658fe28b59255d9ad0d350375171f3b43dc9e94949417c3aa9ed167134fe SHA512 7df22f2c5b6e20ae3de71cb6c76b234d2f1f33b2abcdffa85be313c63d067a40a85ed102b6256207315db08ced5d69f8bc40afdf84a188463713a6b2ffdb2df7
diff --git a/dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch b/dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch
deleted file mode 100644
index c0b8cb8c2009..000000000000
--- a/dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 259684d4768f64fe4f0773442cce83dec089720a Mon Sep 17 00:00:00 2001
-From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
-Date: Mon, 18 Jan 2021 16:37:20 +0100
-Subject: [PATCH] Use non-deprecated KDEInstaUse non-deprecated KDEInstallDirs
- variables
-
-GIT_SILENT
----
- src/CMakeLists.txt | 2 +-
- src/drivers/CMakeLists.txt | 2 +-
- src/drivers/sqlite/dump/CMakeLists.txt | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 78c91e8c..4a392b63 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -250,7 +250,7 @@ if(BUILD_TEST_COVERAGE)
- endif()
-
- # Create a Config.cmake and a ConfigVersion.cmake file and install them
--set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/${KDB_BASE_NAME}")
-+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/${KDB_BASE_NAME}")
-
- ecm_setup_version(${PROJECT_VERSION}
- VARIABLE_PREFIX KDB
-diff --git a/src/drivers/CMakeLists.txt b/src/drivers/CMakeLists.txt
-index 6fd7f14d..fb2005cc 100644
---- a/src/drivers/CMakeLists.txt
-+++ b/src/drivers/CMakeLists.txt
-@@ -5,7 +5,7 @@ endif()
-
- #TODO add_definitions(-DKDE_DEFAULT_DEBUG_AREA=44001)
-
--set(KDB_PLUGIN_INSTALL_DIR ${PLUGIN_INSTALL_DIR}/${KDB_BASE_NAME_LOWER})
-+set(KDB_PLUGIN_INSTALL_DIR ${KDE_INSTALL_PLUGINDIR}/${KDB_BASE_NAME_LOWER})
-
- # -----------------------
- macro(build_and_install_kdb_driver _name _srcs _extra_libs)
-diff --git a/src/drivers/sqlite/dump/CMakeLists.txt b/src/drivers/sqlite/dump/CMakeLists.txt
-index cfffb5c6..27093ccb 100644
---- a/src/drivers/sqlite/dump/CMakeLists.txt
-+++ b/src/drivers/sqlite/dump/CMakeLists.txt
-@@ -15,4 +15,4 @@ if(WIN32)
- PROPERTIES LINK_FLAGS "/SUBSYSTEM:CONSOLE")
- endif()
-
--install(TARGETS ${KDB_SQLITE_DUMP_TOOL} ${INSTALL_TARGETS_DEFAULT_ARGS})
-+install(TARGETS ${KDB_SQLITE_DUMP_TOOL} ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
---
-2.31.1
-
diff --git a/dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch b/dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch
deleted file mode 100644
index 5329fae80d83..000000000000
--- a/dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 40cdaea4d7824cc1b0d26e6ad2dcb61fa2077911 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Tue, 29 Oct 2019 07:52:32 +0100
-Subject: PgSQL driver: fix build with PostgreSQL 12+
-
-ABSTIMEOID and RELTIMEOID were removed, as their data types were dropped.
----
- src/drivers/postgresql/PostgresqlTypes.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/drivers/postgresql/PostgresqlTypes.cpp b/src/drivers/postgresql/PostgresqlTypes.cpp
-index ea576d6..0697129 100644
---- a/src/drivers/postgresql/PostgresqlTypes.cpp
-+++ b/src/drivers/postgresql/PostgresqlTypes.cpp
-@@ -36,6 +36,7 @@
- #endif
- #include <libpq-fe.h>
- #include <catalog/pg_type.h> // needed for BOOLOID, etc.
-+#include <pg_config.h> // needed for PG_VERSION_NUM
-
- #ifdef _MSC_VER
- #pragma warning( pop )
-@@ -70,8 +71,10 @@ void PostgresqlDriver::initPgsqlToKDbMap()
- //! @todo POLYGONOID geometric polygon '(pt1,...)'
- m_pgsqlToKDbTypes.insert(FLOAT4OID, KDbField::Double);
- m_pgsqlToKDbTypes.insert(FLOAT8OID, KDbField::Double);
-+#if PG_VERSION_NUM < 120000
- m_pgsqlToKDbTypes.insert(ABSTIMEOID, KDbField::Date);
- m_pgsqlToKDbTypes.insert(RELTIMEOID, KDbField::Date);
-+#endif
- //! @todo TINTERVALOID (abstime,abstime), time interval
- //! @todo CIRCLEOID geometric circle '(center,radius)'
- //! @todo CASHOID monetary amounts, $d,ddd.cc
---
-cgit v1.1
diff --git a/dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch b/dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch
deleted file mode 100644
index 4258fdc47453..000000000000
--- a/dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 6bba3130f8968abb2e904bda1e8b59f83dd43bdc Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Sat, 25 May 2019 06:59:44 +0200
-Subject: cmake: find PostgreSQL 12
-
----
- cmake/modules/FindPostgreSQL.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
-index 8ec30db..74e6f6b 100644
---- a/cmake/modules/FindPostgreSQL.cmake
-+++ b/cmake/modules/FindPostgreSQL.cmake
-@@ -86,7 +86,7 @@ set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache e
- set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
-
- set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
-- "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-+ "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-
- # Define additional search paths for root directories.
- foreach (suffix ${PostgreSQL_KNOWN_VERSIONS} )
---
-cgit v1.1
diff --git a/dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch b/dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch
deleted file mode 100644
index 83785533fa87..000000000000
--- a/dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fb5dafb01ffba27b5868eaeb99816f3e8c1cf91c Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Fri, 22 May 2020 18:59:11 +0200
-Subject: [PATCH] cmake: find PostgreSQL 13
-
----
- cmake/modules/FindPostgreSQL.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
-index 74e6f6b4..90db33ba 100644
---- a/cmake/modules/FindPostgreSQL.cmake
-+++ b/cmake/modules/FindPostgreSQL.cmake
-@@ -86,7 +86,7 @@ set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache e
- set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
-
- set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
-- "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-+ "13" "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-
- # Define additional search paths for root directories.
- foreach (suffix ${PostgreSQL_KNOWN_VERSIONS} )
---
-2.31.1
-
diff --git a/dev-db/kdb/files/kdb-3.2.0-postgresql-gcc12.patch b/dev-db/kdb/files/kdb-3.2.0-postgresql-gcc12.patch
new file mode 100644
index 000000000000..d62539179b13
--- /dev/null
+++ b/dev-db/kdb/files/kdb-3.2.0-postgresql-gcc12.patch
@@ -0,0 +1,34 @@
+From 48f9167e37c9a2d024c525cab0ba65a2e02e248f Mon Sep 17 00:00:00 2001
+From: Yaakov Selkowitz <yselkowi@redhat.com>
+Date: Mon, 20 Jun 2022 14:49:26 -0400
+Subject: [PATCH] postgresql: Fix build with GCC 12 (standard attributes in
+ middle of decl-specifiers)
+
+---
+ src/drivers/postgresql/PostgresqlConnection_p.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/drivers/postgresql/PostgresqlConnection_p.h b/src/drivers/postgresql/PostgresqlConnection_p.h
+index c0485786..99040c6a 100644
+--- a/src/drivers/postgresql/PostgresqlConnection_p.h
++++ b/src/drivers/postgresql/PostgresqlConnection_p.h
+@@ -155,14 +155,14 @@ public:
+ return PQnfields(result);
+ }
+
+- inline Q_REQUIRED_RESULT KDbSqlField *field(int index) override
++ Q_REQUIRED_RESULT inline KDbSqlField *field(int index) override
+ {
+ return new PostgresqlSqlField(result, index);
+ }
+
+ Q_REQUIRED_RESULT KDbField *createField(const QString &tableName, int index) override;
+
+- inline Q_REQUIRED_RESULT QSharedPointer<KDbSqlRecord> fetchRecord() override
++ Q_REQUIRED_RESULT inline QSharedPointer<KDbSqlRecord> fetchRecord() override
+ {
+ return QSharedPointer<KDbSqlRecord>(recordToFetch < recordsCount
+ ? new PostgresqlSqlRecord(result, recordToFetch++)
+--
+GitLab
+
diff --git a/dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch b/dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch
deleted file mode 100644
index e4a2a2d11463..000000000000
--- a/dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 3a31ad05fcc7682bf3b65143af99fdb9b2e1e248 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Mon, 16 Nov 2020 16:41:27 +0100
-Subject: [PATCH] Fix build with newer Qt
-
-(cherry picked from commit b36d74f13a1421437a725fb74502c993c359392a)
----
- src/KDb.cpp | 34 +++++++++++++++++-----------------
- 1 file changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/src/KDb.cpp b/src/KDb.cpp
-index 5c3b601f..ee92c2ee 100644
---- a/src/KDb.cpp
-+++ b/src/KDb.cpp
-@@ -1635,33 +1635,33 @@ QString KDb::escapeBLOB(const QByteArray& array, BLOBEscapingType type)
- for (int i = 0; i < size; i++) {
- const unsigned char val = array[i];
- if (val < 32 || val >= 127 || val == 39 || val == 92) {
-- str[new_length++] = '\\';
-- str[new_length++] = '\\';
-- str[new_length++] = '0' + val / 64;
-- str[new_length++] = '0' + (val % 64) / 8;
-- str[new_length++] = '0' + val % 8;
-+ str[new_length++] = QLatin1Char('\\');
-+ str[new_length++] = QLatin1Char('\\');
-+ str[new_length++] = QChar::fromLatin1('0' + val / 64);
-+ str[new_length++] = QChar::fromLatin1('0' + (val % 64) / 8);
-+ str[new_length++] = QChar::fromLatin1('0' + val % 8);
- } else {
-- str[new_length++] = val;
-+ str[new_length++] = QChar::fromLatin1(val);
- }
- }
- } else {
- for (int i = 0; i < size; i++) {
- const unsigned char val = array[i];
-- str[new_length++] = intToHexDigit(val / 16);
-- str[new_length++] = intToHexDigit(val % 16);
-+ str[new_length++] = QChar::fromLatin1(intToHexDigit(val / 16));
-+ str[new_length++] = QChar::fromLatin1(intToHexDigit(val % 16));
- }
- }
- if (type == BLOBEscapingType::XHex || type == BLOBEscapingType::Octal) {
-- str[new_length++] = '\'';
-+ str[new_length++] = QLatin1Char('\'');
- } else if (type == BLOBEscapingType::ByteaHex) {
-- str[new_length++] = '\'';
-- str[new_length++] = ':';
-- str[new_length++] = ':';
-- str[new_length++] = 'b';
-- str[new_length++] = 'y';
-- str[new_length++] = 't';
-- str[new_length++] = 'e';
-- str[new_length++] = 'a';
-+ str[new_length++] = QLatin1Char('\'');
-+ str[new_length++] = QLatin1Char(':');
-+ str[new_length++] = QLatin1Char(':');
-+ str[new_length++] = QLatin1Char('b');
-+ str[new_length++] = QLatin1Char('y');
-+ str[new_length++] = QLatin1Char('t');
-+ str[new_length++] = QLatin1Char('e');
-+ str[new_length++] = QLatin1Char('a');
- }
- return str;
- }
---
-2.31.1
-
diff --git a/dev-db/kdb/kdb-3.2.0-r1.ebuild b/dev-db/kdb/kdb-3.2.0-r2.ebuild
index 672f29b8c9e0..10bcdad1f64e 100644
--- a/dev-db/kdb/kdb-3.2.0-r1.ebuild
+++ b/dev-db/kdb/kdb-3.2.0-r2.ebuild
@@ -1,20 +1,21 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
ECM_QTHELP="true"
ECM_TEST="true"
-PYTHON_COMPAT=( python3_{7,8,9} )
-KFMIN=5.60.0
-QTMIN=5.12.3
+PYTHON_COMPAT=( python3_{9..12} )
+KFMIN=5.82.0
+QTMIN=5.15.2
inherit ecm kde.org python-any-r1
DESCRIPTION="Database connectivity and creation framework for various vendors"
HOMEPAGE="https://community.kde.org/KDb"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
+ SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz
+ https://dev.gentoo.org/~asturm/distfiles/${P}-patches.tar.xz"
KEYWORDS="amd64 x86"
fi
@@ -22,9 +23,6 @@ LICENSE="LGPL-2+"
SLOT="5/4"
IUSE="debug mysql postgres sqlite"
-BDEPEND="${PYTHON_DEPS}
- dev-qt/linguist-tools:5
-"
DEPEND="
dev-libs/icu:=
>=dev-qt/qtgui-${QTMIN}:5
@@ -34,21 +32,26 @@ DEPEND="
>=kde-frameworks/kcoreaddons-${KFMIN}:5
mysql? ( dev-db/mysql-connector-c:= )
postgres? (
- >=dev-qt/qtnetwork-${QTMIN}:5
dev-db/postgresql:*
+ >=dev-qt/qtnetwork-${QTMIN}:5
)
sqlite? ( dev-db/sqlite:3 )
"
RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-qt/linguist-tools:5
+"
PATCHES=(
# 3.2 branch
- "${FILESDIR}"/${P}-cmake-pg12.patch
- "${FILESDIR}"/${P}-build-w-pg12.patch
- "${FILESDIR}"/${P}-cmake-pg13.patch
- "${FILESDIR}"/${P}-qt-5.15.patch
+ "${WORKDIR}"/${P}-patches/${P}-build-w-pg12.patch
+ "${WORKDIR}"/${P}-patches/${P}-qt-5.15.patch
+ "${WORKDIR}"/${P}-patches/${P}-cmake-pg15.patch
+ "${WORKDIR}"/${P}-patches/${P}-Q_REQUIRED_RESULT-placing.patch
+ "${WORKDIR}"/${P}-patches/${P}-gcc12.patch
# master
- "${FILESDIR}"/${P}-KDEInstallDirs.patch
+ "${WORKDIR}"/${P}-patches/${P}-KDEInstallDirs.patch
+ "${FILESDIR}"/${P}-postgresql-gcc12.patch # bug 869368
)
pkg_setup() {
diff --git a/dev-db/kyotocabinet/Manifest b/dev-db/kyotocabinet/Manifest
index 153fe26ce686..cc68343464c7 100644
--- a/dev-db/kyotocabinet/Manifest
+++ b/dev-db/kyotocabinet/Manifest
@@ -1 +1,2 @@
DIST kyotocabinet-1.2.77.tar.gz 949326 BLAKE2B faacde57e8c7fed3fb232ea6fd12b668f2d2ee352cd357d5e16e0d1740cd8f73e223964249efeae50f3ea5d0672117b2410b91ba557ebe1ac7ba4075ac28deab SHA512 f38794c11faa3f4b64097a2e314307e1a6b75ddc495103647ebe52786a689336754496e7083697417ea90436e7fad681f16440975abec9ae917874aa25153e0f
+DIST kyotocabinet-1.2.79.tar.gz 943804 BLAKE2B 8a12e6dd953a1ba995d5a60126fb2682a07be390698bf98535633af894573aafc63b55497dc869cad14eceb14824ceb4f8c471b9aa1dad51944c35eac0cf4912 SHA512 9243192c81d3aa37cc8c80eb3bdf235192a0919b134cededa2b4178be515d148916e7405e094cbcdd7dbf13bf38a569bf21863afac7cc05d6418cca5853a2ff4
diff --git a/dev-db/kyotocabinet/files/kyotocabinet-1.2.79-configure-clang16.patch b/dev-db/kyotocabinet/files/kyotocabinet-1.2.79-configure-clang16.patch
new file mode 100644
index 000000000000..f066cd59bb3e
--- /dev/null
+++ b/dev-db/kyotocabinet/files/kyotocabinet-1.2.79-configure-clang16.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/879653
+--- a/configure.in
++++ b/configure.in
+@@ -194,7 +194,7 @@ test -n "$LDFLAGS" && MYLDFLAGS="$LDFLAGS $MYLDFLAGS"
+ AC_C_BIGENDIAN(MYCPPFLAGS="$MYCPPFLAGS -D_MYBIGEND")
+
+ printf 'checking for useless warnings... '
+-if printf 'main() {}' | $CC -xc \
++if printf 'int main(void) {}' | $CC -xc \
+ -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -o config.tmp - >config.tmp 2>&1
+ then
+ MYCFLAGS="$MYCFLAGS -Wno-unused-but-set-variable -Wno-unused-but-set-parameter"
diff --git a/dev-db/kyotocabinet/files/kyotocabinet-1.2.79-initialize-parameter-error-clang16.patch b/dev-db/kyotocabinet/files/kyotocabinet-1.2.79-initialize-parameter-error-clang16.patch
new file mode 100644
index 000000000000..4739a433ab40
--- /dev/null
+++ b/dev-db/kyotocabinet/files/kyotocabinet-1.2.79-initialize-parameter-error-clang16.patch
@@ -0,0 +1,62 @@
+Without the patch I'm getting the following error/s:
+kcthread.cc:671:50: error: cannot initialize a parameter of type 'void *' with an rvalue of type 'int'
+ while (!__sync_bool_compare_and_swap(&opq_, 0, 1)) {
+ ^
+kcthread.cc:696:49: error: cannot initialize a parameter of type 'void *' with an rvalue of type 'int'
+ return __sync_bool_compare_and_swap(&opq_, 0, 1);
+--- a/kcthread.cc
++++ b/kcthread.cc
+@@ -668,7 +668,7 @@ void SpinLock::lock() {
+ #elif _KC_GCCATOMIC
+ _assert_(true);
+ uint32_t wcnt = 0;
+- while (!__sync_bool_compare_and_swap(&opq_, 0, 1)) {
++ while (!__sync_bool_compare_and_swap(&opq_, 0, (void *)1)) {
+ if (wcnt >= LOCKBUSYLOOP) {
+ Thread::chill();
+ } else {
+@@ -693,7 +693,7 @@ bool SpinLock::lock_try() {
+ return ::InterlockedCompareExchange((LONG*)&opq_, 1, 0) == 0;
+ #elif _KC_GCCATOMIC
+ _assert_(true);
+- return __sync_bool_compare_and_swap(&opq_, 0, 1);
++ return __sync_bool_compare_and_swap(&opq_, 0, (void *)1);
+ #else
+ _assert_(true);
+ ::pthread_spinlock_t* spin = (::pthread_spinlock_t*)opq_;
+@@ -811,7 +811,7 @@ void SlottedSpinLock::lock(size_t idx) {
+ SlottedSpinLockCore* core = (SlottedSpinLockCore*)opq_;
+ uint32_t* lock = core->locks + idx;
+ uint32_t wcnt = 0;
+- while (!__sync_bool_compare_and_swap(lock, 0, 1)) {
++ while (!__sync_bool_compare_and_swap(lock, 0, (unsigned int)1)) {
+ if (wcnt >= LOCKBUSYLOOP) {
+ Thread::chill();
+ } else {
+@@ -880,7 +880,7 @@ void SlottedSpinLock::lock_all() {
+ for (size_t i = 0; i < slotnum; i++) {
+ uint32_t* lock = locks + i;
+ uint32_t wcnt = 0;
+- while (!__sync_bool_compare_and_swap(lock, 0, 1)) {
++ while (!__sync_bool_compare_and_swap(lock, 0, (unsigned int)1)) {
+ if (wcnt >= LOCKBUSYLOOP) {
+ Thread::chill();
+ } else {
+@@ -1449,7 +1449,7 @@ static void spinrwlocklock(SpinRWLockCore* core) {
+ }
+ #elif _KC_GCCATOMIC
+ _assert_(core);
+- while (!__sync_bool_compare_and_swap(&core->sem, 0, 1)) {
++ while (!__sync_bool_compare_and_swap(&core->sem, 0, (unsigned int)1)) {
+ ::sched_yield();
+ }
+ #else
+@@ -1732,7 +1732,7 @@ static void slottedspinrwlocklock(SlottedSpinRWLockCore* core, size_t idx) {
+ }
+ #elif _KC_GCCATOMIC
+ _assert_(core);
+- while (!__sync_bool_compare_and_swap(core->sems + idx, 0, 1)) {
++ while (!__sync_bool_compare_and_swap(core->sems + idx, 0, (unsigned int)1)) {
+ ::sched_yield();
+ }
+ #else
diff --git a/dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild b/dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild
index 7221529d0b8c..c2108518f5f2 100644
--- a/dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild
+++ b/dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,8 +6,8 @@ EAPI=7
inherit autotools toolchain-funcs
DESCRIPTION="A straightforward implementation of DBM"
-HOMEPAGE="https://fallabs.com/kyotocabinet/"
-SRC_URI="https://fallabs.com/kyotocabinet/pkg/${P}.tar.gz"
+HOMEPAGE="https://dbmx.net/kyotocabinet/"
+SRC_URI="https://dbmx.net/kyotocabinet/pkg/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/dev-db/kyotocabinet/kyotocabinet-1.2.79-r1.ebuild b/dev-db/kyotocabinet/kyotocabinet-1.2.79-r1.ebuild
new file mode 100644
index 000000000000..b8df7c141a80
--- /dev/null
+++ b/dev-db/kyotocabinet/kyotocabinet-1.2.79-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A straightforward implementation of DBM"
+HOMEPAGE="https://dbmx.net/kyotocabinet/"
+SRC_URI="https://dbmx.net/kyotocabinet/pkg/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug doc examples +lzma +lzo static-libs"
+
+DEPEND="sys-libs/zlib[static-libs?]
+ lzma? ( app-arch/xz-utils:=[static-libs?] )
+ lzo? ( dev-libs/lzo:=[static-libs?] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/fix_configure-1.2.62.patch
+ "${FILESDIR}"/${PN}-1.2.76-configure-8-byte-atomics.patch
+ "${FILESDIR}"/${PN}-1.2.76-flags.patch
+ "${FILESDIR}"/${PN}-1.2.79-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "/DOCDIR/d" Makefile.in || die
+ tc-export AR
+
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # We need to set LD_LIBRARY_PATH which will be assigned to RUNENV later
+ # used by test suite
+ LD_LIBRARY_PATH=. \
+ econf $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable !static-libs shared) \
+ $(use_enable lzma) \
+ $(use_enable lzo)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ if use doc; then
+ dodoc -r doc/*
+ fi
+
+ if use examples; then
+ docinto example
+ dodoc example/*
+ fi
+}
diff --git a/dev-db/kyotocabinet/kyotocabinet-1.2.79-r2.ebuild b/dev-db/kyotocabinet/kyotocabinet-1.2.79-r2.ebuild
new file mode 100644
index 000000000000..a416da22084e
--- /dev/null
+++ b/dev-db/kyotocabinet/kyotocabinet-1.2.79-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A straightforward implementation of DBM"
+HOMEPAGE="https://dbmx.net/kyotocabinet/"
+SRC_URI="https://dbmx.net/kyotocabinet/pkg/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug doc examples +lzma +lzo static-libs"
+
+DEPEND="sys-libs/zlib[static-libs?]
+ lzma? ( app-arch/xz-utils:=[static-libs?] )
+ lzo? ( dev-libs/lzo:=[static-libs?] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/fix_configure-1.2.62.patch
+ "${FILESDIR}"/${PN}-1.2.76-configure-8-byte-atomics.patch
+ "${FILESDIR}"/${PN}-1.2.76-flags.patch
+ "${FILESDIR}"/${PN}-1.2.79-configure-clang16.patch
+ "${FILESDIR}"/${PN}-1.2.79-initialize-parameter-error-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "/DOCDIR/d" Makefile.in || die
+ tc-export AR
+
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # We need to set LD_LIBRARY_PATH which will be assigned to RUNENV later
+ # used by test suite
+ LD_LIBRARY_PATH=. \
+ econf $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable !static-libs shared) \
+ $(use_enable lzma) \
+ $(use_enable lzo)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ if use doc; then
+ dodoc -r doc/*
+ fi
+
+ if use examples; then
+ docinto example
+ dodoc example/*
+ fi
+}
diff --git a/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch
new file mode 100644
index 000000000000..42fb7cb6eabc
--- /dev/null
+++ b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch
@@ -0,0 +1,53 @@
+Bug: https://bugs.gentoo.org/894750
+https://sourceforge.net/p/libdbi-drivers/bugs/28/
+
+Fix type errors in the cgreen with constraints facility.
+
+diff --git a/tests/cgreen/src/constraint.c b/tests/cgreen/src/constraint.c
+index c19c0ddd41a7bfa7..95673dd3e222a3cf 100644
+--- a/tests/cgreen/src/constraint.c
++++ b/tests/cgreen/src/constraint.c
+@@ -22,8 +22,7 @@ static double unbox_double(intptr_t box);
+ static double as_double(intptr_t box);
+
+ static int compare_using_matcher(Constraint *constraint, intptr_t actual);
+-static void test_with_matcher(Constraint *constraint, const char *function, const char* matcher_name, intptr_t actual, const char *test_file, int test_line, TestReporter *reporter);
+-
++static void test_with_matcher(Constraint *constraint, const char *function, intptr_t matcher_function, const char *test_file, int test_line, TestReporter *reporter);
+
+ void destroy_constraint(void *abstract) {
+ Constraint *constraint = (Constraint *)abstract;
+@@ -164,11 +163,11 @@ static void test_want_double(Constraint *constraint, const char *function, intpt
+ }
+
+ static int compare_using_matcher(Constraint *constraint, intptr_t actual) {
+- int (*matches)(const void*) = constraint->expected;
+- return matches(actual);
++ int (*matches)(const void*) = (int (*)(const void*)) constraint->expected;
++ return matches((const void *)actual);
+ }
+
+-static void test_with_matcher(Constraint *constraint, const char *function, const char* matcher_name, intptr_t matcher_function, const char *test_file, int test_line, TestReporter *reporter) {
++static void test_with_matcher(Constraint *constraint, const char *function, intptr_t matcher_function, const char *test_file, int test_line, TestReporter *reporter) {
+ (*reporter->assert_true)(
+ reporter,
+ test_file,
+@@ -176,7 +175,7 @@ static void test_with_matcher(Constraint *constraint, const char *function, cons
+ (*constraint->compare)(constraint, matcher_function),
+ "Wanted parameter [%s] to match [%s] in function [%s]",
+ constraint->parameter,
+- matcher_name,
++ constraint->name,
+ function);
+ }
+
+--- a/tests/cgreen/src/unit.c
++++ b/tests/cgreen/src/unit.c
+@@ -9,6 +9,7 @@
+ #include <stdarg.h>
+ #include <unistd.h>
+ #include <signal.h>
++#include <sys/wait.h>
+
+ enum {test_function, test_suite};
+
diff --git a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild
index fb6baf38e15a..94df2fd46940 100644
--- a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild
+++ b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc firebird mysql oci8 postgres +sqlite static-libs"
REQUIRED_USE="|| ( mysql postgres sqlite firebird oci8 )"
diff --git a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild
new file mode 100644
index 000000000000..243151ab44aa
--- /dev/null
+++ b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="The libdbi-drivers project maintains drivers for libdbi"
+HOMEPAGE="https://libdbi-drivers.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc firebird mysql oci8 postgres +sqlite static-libs"
+
+REQUIRED_USE="|| ( mysql postgres sqlite firebird oci8 )"
+RESTRICT="firebird? ( bindist )"
+
+RDEPEND="
+ >=dev-db/libdbi-0.9.0
+ firebird? ( dev-db/firebird )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:* )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/openjade )"
+
+DOCS=( AUTHORS ChangeLog NEWS README README.osx TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.0-doc-build-fix.patch
+ "${FILESDIR}"/${PN}-0.9.0-slibtool-libdir.patch
+ "${FILESDIR}"/${PN}-0.9.0-clang16-build-fix.patch
+)
+
+pkg_setup() {
+ use oci8 && [[ -z "${ORACLE_HOME}" ]] && die "\$ORACLE_HOME is not set!"
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ # WARNING: the configure script does NOT work correctly
+ # --without-$driver does NOT work
+ # so do NOT use `use_with...`
+ # Future additions:
+ # msql
+ # freetds
+ # ingres
+ # db2
+ use mysql && myconf+=" --with-mysql"
+ use postgres && myconf+=" --with-pgsql"
+ use sqlite && myconf+=" --with-sqlite3"
+ use firebird && myconf+=" --with-firebird"
+ if use oci8; then
+ [[ -z "${ORACLE_HOME}" ]] && die "\$ORACLE_HOME is not set!"
+ myconf+=" --with-oracle-dir=${ORACLE_HOME} --with-oracle"
+ fi
+
+ econf \
+ $(use_enable doc docs) \
+ $(use_enable static-libs static) \
+ --with-dbi-libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_test() {
+ if [[ -z "${WANT_INTERACTIVE_TESTS}" ]]; then
+ ewarn "Tests disabled due to interactivity."
+ ewarn "Run with WANT_INTERACTIVE_TESTS=1 if you want them."
+ return 0
+ fi
+ einfo "Running interactive tests"
+ emake check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-db/libdbi/libdbi-0.9.0.ebuild b/dev-db/libdbi/libdbi-0.9.0.ebuild
index 3d246b2c03aa..522fc495b9bd 100644
--- a/dev-db/libdbi/libdbi-0.9.0.ebuild
+++ b/dev-db/libdbi/libdbi-0.9.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc static-libs"
DOCS=( AUTHORS ChangeLog README README.osx TODO )
diff --git a/dev-db/libiodbc/Manifest b/dev-db/libiodbc/Manifest
index bb2ec3deca81..2635ca1c8fad 100644
--- a/dev-db/libiodbc/Manifest
+++ b/dev-db/libiodbc/Manifest
@@ -1,3 +1 @@
-DIST libiodbc-3.52.12.tar.gz 760155 BLAKE2B ab1a66b34c55f5ebd72c76c09bf356c9e009666634f7f7516c39653840051bd7ae399b54232284e9cfeae37b752eae761d8f749e48e3184857ba59177016e03a SHA512 992a4d0a36651fe55178a4834160901381ea230a0e1671f61e1c5dd17708d2b649823313b97d5954e1656dc2213382361cb5f1eaf2f28f3b1ac55fd9f7aac535
-DIST libiodbc-3.52.14.tar.gz 800285 BLAKE2B 6d6c52ae6eb133c5d844a9106079878290a317c72e1d1fb31f4a91c703ff26b8b97fbeccfcf0041442dc7775042f64711cf7a47db7a2eba745e6a502b3f2adeb SHA512 76f60b1bf818937f1aa6fa4ac8a98573860e37d437ece94de9500b815be9e931fbd81a5ca700aa645329727773cc1710b4a7de69fbf2ef43cf610b6fbca05bac
DIST libiodbc-3.52.15.tar.gz 658200 BLAKE2B 856855f424e31629e3c3fb11f31e189d22daee877e989622a4f5c2a9c7145697a639fd79bd7bdc17be03176b0ee34a3bc02afe958c278531de0f9b9685947988 SHA512 843a938c961c77e12b6c5571fa7c5528e547c028e213195e72224166cebb49acb746e2e1e636c37991686d9e476dfd64ee42bb113013f01b4201d6d9cf99c3bd
diff --git a/dev-db/libiodbc/files/libiodbc-3.52.7-debian_bug508480.patch b/dev-db/libiodbc/files/libiodbc-3.52.7-debian_bug508480.patch
deleted file mode 100644
index d501d1b9dc49..000000000000
--- a/dev-db/libiodbc/files/libiodbc-3.52.7-debian_bug508480.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/iodbcinst/inifile.c
-+++ b/iodbcinst/inifile.c
-@@ -1023,7 +1023,8 @@
-
- if (!_iodbcdm_cfg_find (pCfg, lpszSection, NULL))
- {
-- while (curr < cbRetBuffer && 0 == _iodbcdm_cfg_nextentry (pCfg))
-+ while (curr < cbRetBuffer && 0 == _iodbcdm_cfg_nextentry (pCfg)
-+ && pCfg->section)
- {
- if (_iodbcdm_cfg_section (pCfg))
- break;
diff --git a/dev-db/libiodbc/libiodbc-3.52.12-r1.ebuild b/dev-db/libiodbc/libiodbc-3.52.12-r1.ebuild
deleted file mode 100644
index b06337d9e90f..000000000000
--- a/dev-db/libiodbc/libiodbc-3.52.12-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-MY_PN="iODBC"
-
-DESCRIPTION="ODBC Interface for Linux"
-HOMEPAGE="http://www.iodbc.org/"
-SRC_URI="https://github.com/openlink/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-LICENSE="|| ( LGPL-2 BSD )"
-SLOT="0"
-IUSE="gtk"
-
-RDEPEND="gtk? ( x11-libs/gtk+:2[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS NEWS README )
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/iodbc-config )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.52.12-multilib.patch
- "${FILESDIR}"/${PN}-3.52.7-debian_bug501100.patch
- "${FILESDIR}"/${PN}-3.52.7-debian_bug508480.patch
- "${FILESDIR}"/${PN}-3.52.7-unicode_includes.patch
- "${FILESDIR}"/fix-runpaths-r1.patch
-)
-
-src_prepare() {
- default
- sed -i.orig \
- -e '/^cd "$PREFIX"/,/^esac/d' \
- iodbc/install_libodbc.sh || die "sed failed"
-
- # Without this, automake dies. It's what upstream's autogen.sh does.
- touch ChangeLog || die "failed to create empty ChangeLog"
-
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf \
- --disable-static \
- --enable-odbc3 \
- --enable-pthreads \
- --with-layout=gentoo \
- --with-iodbc-inidir=yes \
- $(use_enable gtk gui)
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -name '*.la' -delete || die
-
- # Install lintian overrides
- insinto /usr/share/lintian/overrides
- newins debian/iodbc.lintian-overrides iodbc
- newins debian/libiodbc2.lintian-overrides libiodbc2
-}
diff --git a/dev-db/libiodbc/libiodbc-3.52.14.ebuild b/dev-db/libiodbc/libiodbc-3.52.14.ebuild
deleted file mode 100644
index 7510d0d83058..000000000000
--- a/dev-db/libiodbc/libiodbc-3.52.14.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-MY_PN="iODBC"
-
-DESCRIPTION="ODBC Interface for Linux"
-HOMEPAGE="http://www.iodbc.org/"
-SRC_URI="https://github.com/openlink/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="|| ( LGPL-2 BSD )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="gtk"
-
-RDEPEND="gtk? ( x11-libs/gtk+:2[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS NEWS README )
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/iodbc-config )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.52.12-multilib.patch
- "${FILESDIR}"/${PN}-3.52.7-debian_bug501100.patch
- "${FILESDIR}"/${PN}-3.52.7-unicode_includes.patch
- "${FILESDIR}"/fix-runpaths-r1.patch
-)
-
-src_prepare() {
- default
-
- sed -i.orig \
- -e '/^cd "$PREFIX"/,/^esac/d' \
- iodbc/install_libodbc.sh || die "sed failed"
-
- # Without this, automake dies. It's what upstream's autogen.sh does.
- touch ChangeLog || die "failed to create empty ChangeLog"
-
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static \
- --enable-odbc3 \
- --enable-pthreads \
- --with-layout=gentoo \
- --with-iodbc-inidir=yes \
- $(use_enable gtk gui)
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -name '*.la' -delete || die
-
- # Install lintian overrides
- insinto /usr/share/lintian/overrides
- newins debian/iodbc.lintian-overrides iodbc
- newins debian/libiodbc2.lintian-overrides libiodbc2
-}
diff --git a/dev-db/libiodbc/libiodbc-3.52.15.ebuild b/dev-db/libiodbc/libiodbc-3.52.15-r1.ebuild
index 7510d0d83058..6c034f3eb3ba 100644
--- a/dev-db/libiodbc/libiodbc-3.52.15.ebuild
+++ b/dev-db/libiodbc/libiodbc-3.52.15-r1.ebuild
@@ -1,29 +1,25 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools multilib-minimal
+inherit autotools flag-o-matic
MY_PN="iODBC"
DESCRIPTION="ODBC Interface for Linux"
-HOMEPAGE="http://www.iodbc.org/"
+HOMEPAGE="https://www.iodbc.org/"
SRC_URI="https://github.com/openlink/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="|| ( LGPL-2 BSD )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="gtk"
-RDEPEND="gtk? ( x11-libs/gtk+:2[${MULTILIB_USEDEP}] )"
+RDEPEND="gtk? ( x11-libs/gtk+:2 )"
DEPEND="${RDEPEND}"
-DOCS=( AUTHORS NEWS README )
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/iodbc-config )
-
PATCHES=(
"${FILESDIR}"/${PN}-3.52.12-multilib.patch
"${FILESDIR}"/${PN}-3.52.7-debian_bug501100.patch
@@ -44,8 +40,13 @@ src_prepare() {
eautoreconf
}
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/924665
+ # https://github.com/openlink/iODBC/issues/100
+ filter-lto
+
+ econf \
--disable-static \
--enable-odbc3 \
--enable-pthreads \
@@ -54,8 +55,8 @@ multilib_src_configure() {
$(use_enable gtk gui)
}
-multilib_src_install_all() {
- einstalldocs
+src_install() {
+ default
find "${ED}" -name '*.la' -delete || die
diff --git a/dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch b/dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch
new file mode 100644
index 000000000000..f7d5a2e3436f
--- /dev/null
+++ b/dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch
@@ -0,0 +1,16 @@
+https://cgit.freebsd.org/ports/tree/databases/libodbc++/files/patch-src-datetime.cpp
+https://bugs.gentoo.org/855887
+
+(Given the source, possibly fixes libcxx too?)
+--- a/src/datetime.cpp
++++ b/src/datetime.cpp
+@@ -272,7 +272,7 @@
+ # endif
+ #endif
+ ,ODBCXX_STRING_CONST("%09d"),nanos_);
+- buf[9] = NULL;// Terminate string
++ buf[9] = '\0';// Terminate string
+ ret+=ODBCXX_STRING(buf);
+ }
+ return ret;
+
diff --git a/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild b/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
index 3241509b98af..7fb107403c2a 100644
--- a/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
+++ b/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ HOMEPAGE="http://libodbcxx.sourceforge.net/"
LICENSE="LGPL-2.1"
SLOT=0
-KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~x86"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~riscv ~x86"
DEPEND="dev-db/unixODBC
sys-libs/ncurses"
@@ -27,6 +27,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.2.3-doxygen.patch
"${FILESDIR}"/${PN}-0.2.3-gcc41.patch
"${FILESDIR}"/${PN}-0.2.3-gcc44.patch
+ "${FILESDIR}"/${PN}-0.2.3-musl-1.2.3-null.patch
)
src_prepare() {
diff --git a/dev-db/libzdb/Manifest b/dev-db/libzdb/Manifest
index dc4276ee3cc7..dccae33c1c34 100644
--- a/dev-db/libzdb/Manifest
+++ b/dev-db/libzdb/Manifest
@@ -1,2 +1 @@
-DIST libzdb-3.1.tar.gz 720162 BLAKE2B 2ad8ede7e2a1c0ee831ba546b7756d2688bcde83b537e812c12ab3d42d6bdc13526778ae68b61584a52569f0b42fbeb8462efe379821295d855f585ae3420df4 SHA512 7cf24ccf0f0a938955d8b54af2c6eca8a8f700737beafde9e824129f324511e06adbc11a3fdbd6ad6d9b902fdae6f7caab4e5c1c594d2211be314e3a24c697f3
-DIST libzdb-3.2.2.tar.gz 752292 BLAKE2B 449fe1cf9ac7196473ab45593d197ea9d02a91bb3b0efaaea91b3c95bb22de1ced68704835e542e092a9f507e8f2484a141e021721df84e818a18a36214f7c40 SHA512 1e732f8785322e0369de16a8100c9467e96ad1ca4eee31e8bfc349f4f17d4cc237a691addc060a66e1b46bcfeb99c3aed07b1d5dbe20e70fde4ffbf35dbea2eb
+DIST libzdb-3.2.3.tar.gz 771263 BLAKE2B a734dbee38ad175cd4d60afc7fe38c72318d5c74daf1556587997e592b2136d96fc747210aac4151764d8644a8b657a9364ffc1c7fcb133d8487f2585c12c22c SHA512 3cf0641a7aabf91fa9bc7ed93bce6fa3e692cad309086e3f899ede443ffdd84ed20dda38fbc48764733537cdc105ae7e555a23cf7bc9b8f99e233787e0271e29
diff --git a/dev-db/libzdb/libzdb-3.1-r1.ebuild b/dev-db/libzdb/libzdb-3.1-r1.ebuild
deleted file mode 100644
index 2e86113710c8..000000000000
--- a/dev-db/libzdb/libzdb-3.1-r1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="A thread safe high level multi-database connection pool library"
-HOMEPAGE="https://www.tildeslash.com/libzdb/"
-SRC_URI="https://www.tildeslash.com/${PN}/dist/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug doc mysql postgres +sqlite ssl static-libs"
-REQUIRED_USE=" || ( postgres mysql sqlite )"
-
-RESTRICT=test
-
-RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.7:3[unlock-notify(+)] )
- ssl? ( dev-libs/openssl:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-src_prepare() {
- default
- sed -i -e "s|&& ./pool||g" test/Makefile.in || die
- # Fix detection of openssl 1.1
- sed -i -e "s|SSL_library_init|SSL_CTX_new|" configure || die
-}
-
-src_configure() {
- ## TODO: check what --enable-optimized actually does
- ## TODO: find someone with oracle db to add oci8 support
- myconf=""
- # enable default hidden visibility
- myconf="${myconf} --enable-protected"
-
- if use sqlite; then
- myconf="${myconf} --with-sqlite=${EPREFIX}/usr/ --enable-sqliteunlock"
- else
- myconf="${myconf} --without-sqlite"
- fi
-
- if use mysql; then
- myconf="${myconf} --with-mysql=${EPREFIX}/usr/bin/mysql_config"
- else
- myconf="${myconf} --without-mysql"
- fi
-
- if use postgres; then
- myconf="${myconf} --with-postgresql=${EPREFIX}/usr/bin/pg_config"
- else
- myconf="${myconf} --without-postgresql"
- fi
-
- econf \
- $(use_enable debug profiling) \
- $(use_enable static-libs static) \
- $(use_enable ssl openssl) \
- --without-oci \
- ${myconf}
-}
-
-src_compile() {
- default
- if use doc; then
- emake doc
- fi
-}
-
-src_install() {
- default
-
- # the --disable-static flag only skips .a
- use static-libs || rm -f "${D}"/usr/lib*/libzdb.la
-
- dodoc AUTHORS CHANGES README
- if use doc;then
- docinto html
- dodoc -r "${S}/doc/api-docs"/*
- fi
-}
-
-src_test() {
- emake verify
-}
diff --git a/dev-db/libzdb/libzdb-3.2.2.ebuild b/dev-db/libzdb/libzdb-3.2.3.ebuild
index 208df8a2959f..1aee3c3eb4fd 100644
--- a/dev-db/libzdb/libzdb-3.2.2.ebuild
+++ b/dev-db/libzdb/libzdb-3.2.3.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-
-inherit toolchain-funcs
+EAPI=7
DESCRIPTION="A thread safe high level multi-database connection pool library"
HOMEPAGE="https://www.tildeslash.com/libzdb/"
@@ -23,7 +21,7 @@ RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
ssl? ( dev-libs/openssl:0= )"
DEPEND="${RDEPEND}
virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-db/litecli/Manifest b/dev-db/litecli/Manifest
new file mode 100644
index 000000000000..c5b049c04ec9
--- /dev/null
+++ b/dev-db/litecli/Manifest
@@ -0,0 +1 @@
+DIST litecli-1.10.0.tar.gz 887727 BLAKE2B 141a13760ce24530a72d2a1fb1c896378f1f35a9354b8a6b553792607337b2ea861481f995f1ff016ac4fca1c7bde1aada4c193acd388fdf03095900b137c303 SHA512 aa497fe050f4e1135f2c63f4c0cbab736400158c546a0391f3eca956b38132349ad2eb46505beb52651f74bc5ff1a2ba9b0254e7a6a86d79e461fdd0508fb412
diff --git a/dev-db/litecli/litecli-1.10.0.ebuild b/dev-db/litecli/litecli-1.10.0.ebuild
new file mode 100644
index 000000000000..4efad25ead82
--- /dev/null
+++ b/dev-db/litecli/litecli-1.10.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+inherit distutils-r1
+
+DESCRIPTION="CLI for SQLite with auto-completion and syntax highlighting"
+HOMEPAGE="https://litecli.com/ https://github.com/dbcli/litecli"
+SRC_URI="https://github.com/dbcli/litecli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ >=dev-python/click-4.1[${PYTHON_USEDEP}]
+ >=dev-python/cli-helpers-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.3[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.5[${PYTHON_USEDEP}]
+ dev-python/sqlparse[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-db/cpp-driver/metadata.xml b/dev-db/litecli/metadata.xml
index 27af27740ba4..27c879594147 100644
--- a/dev-db/cpp-driver/metadata.xml
+++ b/dev-db/litecli/metadata.xml
@@ -1,20 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <longdescription lang="en">
- DataStax Cassandra C/C++ driver for Apache Cassandra or Scilla.
- This driver works exclusively with the Cassandra Query Language v3
- (CQL3) and Cassandra's native protocol.
- </longdescription>
<maintainer type="person" proxied="yes">
- <email>geaaru@gmail.com</email>
- <name>Daniele Rondina</name>
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
- <remote-id type="github">datastax/cpp-driver</remote-id>
+ <remote-id type="github">dbcli/litecli</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/litedb/Manifest b/dev-db/litedb/Manifest
new file mode 100644
index 000000000000..2d07a2466957
--- /dev/null
+++ b/dev-db/litedb/Manifest
@@ -0,0 +1,220 @@
+DIST benchmarkdotnet.0.12.0.nupkg 900540 BLAKE2B 8d80e345c1d4d9008346908fdb183de7373d33608458d51f1b3bb7a379499fc2f81e0c633d254937fd0ae80c54536e8d2bc6a02aa874b99446263b797636f99f SHA512 98876c1737be5c358d51e71c003023b2d24f5e87d4b92886b2e1d3a18ffc4f7bcfe94d2fc8ace05e797edab3deb397471ea0f1fc6e3c244795e986850257b164
+DIST benchmarkdotnet.annotations.0.12.0.nupkg 42894 BLAKE2B d34a599c416d4dadfad918ceb9e63f95d446f30a5fca8f27226934d892e1a13151adac40920269c2433dba52a096779c536fc618157a5c9f60540543d60e22d6 SHA512 5a7c39fa4f41b23ad4d75de1fce7175f31606d6118257c1b0d7da7dec8572da40bfea9d84e7292d237115f5e6866e6203e36b3b88c29b2480413567e92698efd
+DIST commandlineparser.2.4.3.nupkg 110637 BLAKE2B 0493839d7a58ed915281dbf922c2223a8b7acf7b85433673c448e88246537ee95f352144b554af9e117b24f99518483c8d08d2c71a3843d52f222a6067e98dc5 SHA512 dff5a9482b07368e1a4d268d5bd4a7992a91343811e2678a5499f96a72999ff851fe51a70e9f076c332ed7fc361973978b6ac0851114d5c37040cb44b654759a
+DIST fluentassertions.5.10.2.nupkg 2115608 BLAKE2B 71bea824217ffa8ca6c943411a8f183dbda4c63f2aebce6bbdfb767624ee810c09f9bd751cce6b9b4c9c6e4d3f4657fb555cc9ca0189fe0db97755954a1635eb SHA512 cf98da3ad0799933dac7498db0bca6d8d23bb9e78fdf669d6f6dff1aeb0f2eafe16fc3fc14c961156288afe08a7d2bef7b9030efd06b77d0c569140c1379dfe2
+DIST litedb-5.0.17.tar.gz 1010808 BLAKE2B 0428ab9bd8eda37dfe4519f18bbdf92c52f7a13fc53478ee92ee59e7ebae1d72efc97b7d1df31d42c4b55e5abd2417e5c048345d3bb027feae559226aeefa745 SHA512 dfba79ae3d960028540631a980c67bcfce4c32de3415546cbf86d7cfee79c7c84321e6855e2a34e1024b1708f7efe17277da3c88c2868e34bed3f153289b1d3b
+DIST microsoft.codeanalysis.analyzers.2.6.1.nupkg 192329 BLAKE2B e8bf6faf16fff0083a85fa240cf63fa23bce0be3bedaba58ca1006c9f70b7f13edfa9ae310b35b62b4503f0d38bf24179d60917372d3bcc0d0a4745386dc3fdd SHA512 7a208ff196e406e8ac1d48cb6c11db94575751de64e73d96bdbebe1f62f073fc29a9c1fd205d03db54bcecaa3e74e1b53703861b5fb3ab004717fbf1d67f8f19
+DIST microsoft.codeanalysis.common.2.10.0.nupkg 1822495 BLAKE2B 27f6b52d84b62a62e8cab3f9ef38a39ebfbc48249fdf3189bc7275995efc8ff5974db360a015b561d0e5db846367668fc450cb810436bca306e170e6266a6da7 SHA512 33e030a4247560fcd36aa490ba09ffbfb3dfb514cca75c7ace1a43a5fa08a1c360aeec1e253401969c1c3724151af4591e09eb7793ffc5c50c840f4ca184b63e
+DIST microsoft.codeanalysis.csharp.2.10.0.nupkg 3991648 BLAKE2B 5702b70f6450a017ec21c3da6c3590f9008a1f2fc78054a3ab7562cf25745549ea0ad36c81521ea7cef2cefb0051c68e827c0f7493ed9f37178f98a79ce93f7b SHA512 6339b58a24d3f53d259c50d1ef5618aa986ae75f4036a50e7f478ab49e04f851dd2c28d8bdd1624237db180defe09076cdadff18e19d0876c89b5f6396a82c07
+DIST microsoft.codecoverage.17.4.1.nupkg 8958688 BLAKE2B 77c5ddc9af36a53e8f71a50cf9191cb697cd3821ba0e9869befe79ad3820e7f609419570f3713c55ea4febdda3fa0272f29901804ebd48a1fcc4e6bc8145e026 SHA512 60dd9648ef5e642a5dd0d8f5701f9103525ea5a9aa4abd6d0fbbe570d29237d3c946b6783050dbc4fbf5eaa5e239fdf7833c786b4ffb8f2837bc1a0dd6f047b8
+DIST microsoft.dotnet.platformabstractions.2.1.0.nupkg 57680 BLAKE2B f379768b1fbb0af857c022d78c3af7d910bbbb6eaa62d4400355d1b94eae6a7b1036fe553f2cc3c0d60c3855b9c026d83255a51a8e5bbb8bc1a0974046b7448e SHA512 69efdcde95fabe10acd7b71a52b559adbf27f600d3cebeaeb2764a6441e56bbbb2ed972340b7e6d3d812ee6f889de56d986c179b985c4836b9ab0ab02da1f652
+DIST microsoft.net.test.sdk.17.4.1.nupkg 39464 BLAKE2B bb74f964aa2d3cfc8b7fc9021492ec3604183286ad60fafed1d3a0f59b75e325066811914e566197cb0d03969e6caffd3ee4f648b95a67578c2aafee882cf4b2 SHA512 5901d8c30db965f97cfe6b363690811a3559e17687e928df8087e15ab96d6ac4499f961af31029db7ef73d4c0672ae80c468b875f8b5e40fff038e78b429316c
+DIST microsoft.netcore.platforms.1.0.1.nupkg 17876 BLAKE2B 13250226ef4869ad62b8acbe8b8f791f9bca1932562cb7a7e8162c3fa502c02200673cc9839f79953cb2d3a75f64f92d43ed1dcd9081732e4917197483188163 SHA512 5f3622dafd8fe8f3406c7a7ee506a7363c9955b28819ae1f2b067c38eae7ab6e620eb63442929b967c94fc511e47a2b7547ab62b6f1aafe37daa222499c9bb19
+DIST microsoft.netcore.platforms.1.1.0.nupkg 17960 BLAKE2B 6a9fa22d75f5a1c65746dd71a63c3d4e37c393e99c23007c10f5ecce248a04863bf26e7562c7751177a6985eaac266c29cc6a5443a4a853e773f88994ad2a3fd SHA512 6bf892c274596fe2c7164e3d8503b24e187f64d0b7bec6d9b05eb95f04086fceb7a85ea6b2685d42dc465c52f6f0e6f636c0b3fddac48f6f0125dfd83e92d106
+DIST microsoft.netcore.platforms.2.0.0.nupkg 19181 BLAKE2B c784d2315e721a847facc7ce095baf628fe0e0afc626ada488a246a6b49f0f990f9ed3c4a9ff05654d8d8fe05bf80860970a5d3c999a03a63773e48f065bdb89 SHA512 0827f83639833a88ac7bb1408a3d953ee1c880a2acbbaf7abe44f084e90f5507cbb13981d962c57d0e3278ee5476d93c143eb7e9404cc7a63d7a8bf324a4fbe8
+DIST microsoft.netcore.targets.1.0.1.nupkg 18189 BLAKE2B d43a064d4c6f836be5164708ff0401913b32fc3340cad7c8fd08f421ea553805ac150a134a0d60a55d41eec124514a5e5197eebcc85aa6595cc6b91e33025d61 SHA512 6ed8e75f945a18651066fe9ee31cf6c8257a5974340fe4d262438903c4959a479f4a515a4d1389e6d3d3ab34f09a3c7bc2009aada2e8a7f697b6655a82d3bfc9
+DIST microsoft.netcore.targets.1.1.0.nupkg 18162 BLAKE2B 419d19e0da934ab4b9db75dd66cc22b83a003f34e93cf7a92feccf4f32d3d695e18b826b1aba13073dd4ec53aa7905a67346921d1055516647ddcde0d79009f1 SHA512 1ef033a68688aab9997ec1c0378acb1638b4afb618e533fcaf749d93389737ba94f4a0a94481becdf701c7e988ae2fe390136a8eae225887ee60db45063490fe
+DIST microsoft.netframework.referenceassemblies.1.0.3.nupkg 20961 BLAKE2B 8632244fc71708fbb2a56331c8642a12782baeebda676b1b8d3ada50788e0725a7572cf0ed1c296c4cad3fb8bdd669871c90f963b9c8da6eff796fd30ba768e2 SHA512 e3b8317b290696a380a32abdd9e75e71ddae68049769beb895024c34089f41262aeddf53e30984330b1293f013e34d854a83223ae1e2afe417186795da8dc148
+DIST microsoft.netframework.referenceassemblies.net45.1.0.3.nupkg 19820444 BLAKE2B b2cca90eb3e69b4eb37b3e9e2cb8cef7cf0c2c5b0beb0573451f943d165c781565ae466cb2d9a8c97a7654e4f21d8287bdf0356e1ea91e1947f4aa4ca789fd92 SHA512 ccf2793ea73af9c060e22af7dc05abc80f025312498faf02b3509fa3ca6566dd471f743407f12a5689fa2d15f0f5bf1d7d0c8b60ca9324993699a5e02e118923
+DIST microsoft.netframework.referenceassemblies.net472.1.0.3.nupkg 20790130 BLAKE2B 999c125813f55751abb2b05862b783c4c4aa634ecdd29b640649dfd51892649b8f3dc2fa702e8b97026d7bdff2bf052ccc794dbfb2881bde994d14f5beaf27b0 SHA512 3ef64aa456edb31b49062ea1272cedfe268aef5a8676ef66355a494f8dfe8b55a9db7ca6e7b615b9023e0449ceffdf4ada9c4f304818b73eb69fbc99144822d8
+DIST microsoft.testplatform.objectmodel.17.4.1.nupkg 1304442 BLAKE2B b926ab886db082be2cd59e47c0019adcba81f8049b9413d563ac99afc96f3f7b51058315487862e60facc36522991f33fbd1fdbc9ab79e2b8bbf0c725bcf7485 SHA512 feaf5d1d9a1b111e377d43f916c46e8338b4918f4d513feb05bb1807c44fde12265b4ebfaec57666c7e5fe0f15a35758212d126a9dd0ec7503b54eded375aa4a
+DIST microsoft.testplatform.testhost.17.4.1.nupkg 2580527 BLAKE2B 8675a320eccbe5a2244404343e9cd5507dfc347f96d0eeec6c69eff8671eac86dbd1e4b08c3081d35ddffd7f252ea984981c0ade31e21310b058ac5c6962c799 SHA512 889ed3a857baed9b4e8d3bf29656a55638f7b8291f80e6a0d7a76f75b9331551328e55a6258236fe18102ed5e3ee56f7f5a2f8ec4b2914c07e56c5d5dc86a122
+DIST microsoft.win32.primitives.4.0.1.nupkg 63261 BLAKE2B cdb464bbbe34381e16193cb797776858b582db1530a88556f932e8bac1c065611eaf37405c7eb5369de2dbc31bc50579fd7d3564674b2e3c6d921b565ed3f449 SHA512 382bd3a66349e077fdf622a69a2d9e2a07d15143cf238f4fa21c74f2c1e5592f8ba97e6fb956c1c69ca0cf4eba91ca4a7d3c8ef195289c5a0e95bcac52e794be
+DIST microsoft.win32.primitives.4.3.0.nupkg 63333 BLAKE2B 132ec29940d4b716110980c4f9a06ba15183d29de638379d09998124605165e51652b2727e3892b57dbc7cacfdc71f9e1b59c9dd5463a524657351f5385d896d SHA512 366f07a79d72f6d61c2b7c43eaa938dd68dfb6b83599d1f6e02089b136fa82bec74b6d54d6e03e08a3c612d51c5596e3535cbc2b29f39b97a827b3e7c79826f0
+DIST microsoft.win32.registry.4.5.0.nupkg 350921 BLAKE2B 05e3d715a76486275ba1a00beff693894fd8d2bf6ff67f2f3b42332d299eecf0ea73bad2a17b97061cf89bb2e5dbe503288f649e4fb317539a1f7d84199044f8 SHA512 2ca99fd058a083064184da33d12f72a5c43412151d426c309e2284a5df4b722b2f26dc72616ab6452a24ed81693839b756861d47eea27d60d7db7ff6749ab664
+DIST netstandard.library.1.6.0.nupkg 17404 BLAKE2B fba4c1e7a034a8fc5d7eaf051eda3c11aa4165c32cf39cfb1d5f61760fa646c92d9495f99e00d6f8482ffbf702449a3a9f6baf2f555167a6c359c8e418ecd5c7 SHA512 9838af4e2a3621de24d117c7fa58e5e8f170e50ea4e0ae3fe3d3401dfadbefd6eb5ecc3b64532c8340f6340727822eed305ef3bc21629f2bb6d76c639d054925
+DIST netstandard.library.1.6.1.nupkg 17360 BLAKE2B 02badd3473451f83997f0b66d05f1541c741e65b9127b8b27ab391260df7939f235eb6648b11c7c11cc5400489ddf1cd26820b7bdf6fd9f1d8f0dfdfeef96acc SHA512 0972dc2dbb4925e896f62bce2e59d4e48639320ee38ad3016dcd485fbd6936a0ed08073ad5eef2a612dff05dfc390f3930fff9e79d87a06070eeb8128277cbd0
+DIST netstandard.library.2.0.3.nupkg 3146139 BLAKE2B 311e5367398f76c74e78930bc2cd39e450a86bd8626311ded8d58bd84c94a8a84db3c11b2bc10f3eeba20a9d081fe7827981f702ad746b49ae3108c949ba1022 SHA512 e78f0cea69c14895b1b089644077dbce8631a626055d96522f4d29e061d8bfc3e48aa1419e74faf265b998612c03f721f5f0cef4690f824150a5689764dee601
+DIST newtonsoft.json.13.0.1.nupkg 2065787 BLAKE2B 000c38ce26a2a00bb25a9c1d6fb069ada521ff089bb624a5c1255b25767c10616cc51821524e7bc3d8b45eb8f8ee54c97454db1db9ae5e5c78eb6300a99f979d SHA512 83731b662eaf05379a23f8446ef47bbc111349dd4358b7bd8b51383fe9cf637e2fe62f78cea52a0d7bdd582dc6fbbb5837d4a7b1d53dcf37a0ae7473e21ee7b1
+DIST nuget.frameworks.5.11.0.nupkg 217001 BLAKE2B da1d47fc7a368b03995b311848aac87b5f0336182bf8479615e56042c363e150f3ecbc0a618ecaaa158c682041fc22e3b9efba9ff72849051ae996be6787b2e0 SHA512 1b3b1ad7813654c84d6c0b48d81a60c2eb060307693d993323cd563fac5462b1deba931a1a59e07b67e8208ca42d62a1ffd66349d5d34fabb2790484ed854944
+DIST runtime.any.system.collections.4.3.0.nupkg 107990 BLAKE2B 802e2ae919a4834150d825ac086d8f47e2185e31b60b45f3dbe5f63b1d714953d9faaa7d8fe4cc25a1ea8495c4f8fd925bb198eea0b67e594a8558238b18196c SHA512 9f8833176c139b71a58694ae401c5aec209a63227be07c7ab559bef772082bd1f6cc38ba2949cb1c8e5c5514ad9f4ff51859838dc2f28191f8bb7ae611a50239
+DIST runtime.any.system.diagnostics.tools.4.3.0.nupkg 43707 BLAKE2B 33d1c57eb4e50c06488da02ab2bb1b8dba9948026053e662986af05b74045c014e76815edbb588f10d6a904de22e4c50177f31f3fac36d159b9af361a4cb2b62 SHA512 bd257401e179d4b836a4a2f7236a0e303ae997d2453c946bf272036620a0b14e85e5f42c229332930a954655ab4cae359d191a3e3d9746df09535a651367764c
+DIST runtime.any.system.diagnostics.tracing.4.3.0.nupkg 49844 BLAKE2B e35998e1369bacc9fa90f74825e021c62b9c671ac9b7cfad4e9b455656bd40e968f348ba8943ed670c74c22bddb1c94ccf5058885233607e3c73a5c7d2a56688 SHA512 0b480d21e23c38965222be7fa1e1a0c7e444cebdf400d1db8d3ac609f893b82d78c5d8b271da61808b7b179dd6466a0090bd807fc2d35020f93a00f0213bb436
+DIST runtime.any.system.globalization.4.3.0.nupkg 43718 BLAKE2B d6f90f72f080afc0dbaaf487e2966d2569ec8dd51d573ba2afd1d705cc8c1f5d47ea77beb63ffe4fbc75dd6aae869a9b52e9e293b737ab32321420f635113d80 SHA512 3aac1a076212fae7d0ac81d2b5fdf216b064a1d890577307f89c9a4984c239838c3bdfac4dea052027de090704839319231eef49ce542f3e8bb2f85ba23d28dc
+DIST runtime.any.system.globalization.calendars.4.3.0.nupkg 43456 BLAKE2B 6453e347e796d426fe00afa28c182e53d764e58e52a21eea8d71661029608de957bcc9a6d9f073f2897d4b5d601f1e056a8d2334fd7cd708461148549454fbc9 SHA512 19053b502b7160af6f6b0bc5b334a8d124f77f6b4418993294fb485d0bb318cd6e97cdbda9bf8c9927366288413cad7209c9d8156a5425a6320c453a8804fb3d
+DIST runtime.any.system.io.4.3.0.nupkg 54553 BLAKE2B 0066bcf13ad4f769cced6704e3d5bce057138e35650699df8c84fb67aad1dd0f2b9ac62eec023fd1b2845e3e2038d1a56602e0cbe59795219b34b9b47d0aa880 SHA512 7e0d4a238322d434a19afc79ea988d3727c1687fdd5bcd1c4c39cb6201073caabb924cc201c70545d60acf8b94cde8b783d0c268743e040c357d100677e4c5ed
+DIST runtime.any.system.reflection.4.3.0.nupkg 43499 BLAKE2B dbfed54ebbe3c7814773dc60e586bc6442024c4565dc7579c2a3dea9ecb7fa6eb554bb7d8da7d2603fb455d38caffab9ce553e6cb82f8c6202700e2a3c80d6db SHA512 293d3dd8be87e1c5cd76ece4ed64ebb5ae6b50be95a39bee401eeed64355e34641905f8c14392fbc3acf8609f5d6fca731f39ce7607962eb5951f09516480015
+DIST runtime.any.system.reflection.extensions.4.3.0.nupkg 44123 BLAKE2B 77dd6ebec2090e9902b5fb9a0505d07f953baedf9ae30bb823f18867b0e4096af08175203efc2205a5439d53eb264b085615978c782969ac8e051b5c7ac8b516 SHA512 8de7a4c53fc0324e766bfec360342ee4a4b99a5975a9d61faab0a715ef71ff97aa83383a5a8affb354c02a4e2fbbb91e1b4ae6b282d2880108cb489f06aba500
+DIST runtime.any.system.reflection.primitives.4.3.0.nupkg 43106 BLAKE2B 9be774d083220f790c2710bf0add5f186c30da37cdab7abe6fd084e8b3e43926350cbde084ddbab58295b9bdfff34f63de6f24d72c9333c8f0dc0fd6b04b9ddb SHA512 a2f374276290ad9b799d3e49cd8fe7839c07b52f22894bcd77b9470841564319fb2ebbd7503e76feef42db4e8a362af8648cf0842a1cb0b5d9a60a58ef8b205e
+DIST runtime.any.system.resources.resourcemanager.4.3.0.nupkg 42939 BLAKE2B f0a3df9518b008cdfa62fa7b7aae3d419bdd8f77e7b400cd06f03bfd20d2ac7abf570b26c63ab32329cb47f7b9763db786e4e397ad958dd81e55d9ee8926bcd0 SHA512 39fab03cbade2b3848d62e137313530c06b37216e24cd58c70ed6ae54bdaf9d9613a3b410375ee167c87ff935a558b1f8766ee016b8b244fde99c38fcf42a49b
+DIST runtime.any.system.runtime.4.3.0.nupkg 55302 BLAKE2B 2de44260ec821b818b3c0cb3517be7ade5c16f29e0ced086460dfabc29479743947134214c037df83b9646724cad004f55c2f518cd4bc2079853f2f6e1cd70fe SHA512 bfee3c68312296860e5459af5e770c2e9fcd4ac134361fd569a9ce1e6574b9ae3978aad403f89639a4b5bac8ee5bb0ee1b8edb819e9a60f13ca5bd1812889bbd
+DIST runtime.any.system.runtime.handles.4.3.0.nupkg 30945 BLAKE2B 27f615ec387f75416d05d0d545f1f90bda9cd7ace1e7370cf935735ae7e6ecec9c8d54b0b267aa42c041981b7d4ff22603f8a12e18290e0f354e7656f4271d81 SHA512 95cdae2867a2182535bd0f4d01dc3eff70319dff044b070ab7791fa2bf8688a69b00a279ed569b7f0c5f3e26bf705303dc344ecf7d1ea014c579436d8e7b7389
+DIST runtime.any.system.runtime.interopservices.4.3.0.nupkg 71496 BLAKE2B 56aea647e26b0b6fe2e8786732100a20b66dcda904df76d0463c5cd048d842e9899be7482f819bd8d4a62dd6b8d9f2f8289efa99ef6c76d2cbfd0fabe6c5b36b SHA512 70eeb2469726d092bb95568e51ba5cfdd1cc07a9e65077e2b6dd5b7c8b164d4b45c749ef4a52f45928f63a27e8accdb83b861ea73c9ad3d42dc38e6afdbd0e8c
+DIST runtime.any.system.text.encoding.4.3.0.nupkg 43396 BLAKE2B 99ea1ca2da0e85683e240129d4adba28eee337d0a3ca937b61123d775255f738b27f00db4b08e1fa9242bf29ad916828552639ab3b55eea05e0f307bdb1bb58b SHA512 cbe6df98acd50e2251d3343620c408af56cfe7c1979277a8ec65b5eef093e93ed93c05980902a7152ed83302d5a625d7058921baa7f446c5e67194fa4c06f20a
+DIST runtime.any.system.text.encoding.extensions.4.3.0.nupkg 43296 BLAKE2B eb16dfc6e2fafe299fe49dcc5cd1d2d18180d18caee2b0e65fe5c75b6b4206260e18f4e2bf509fe1d2dc3366541bb38de219929db6e7e12f08b64b3a5d3abac3 SHA512 656aa8bd9d7e19534964ac7b8405615f00359779e322d4cfe1f18c132fec4a4f52c5588bfe61cec9966a9142a73315f5d2b9e5a7c524b418364f0322b20961c3
+DIST runtime.any.system.threading.tasks.4.3.0.nupkg 47940 BLAKE2B 950e0a58dcda7dcb15167d028380ae4ba1ac576b141d95ba8eda08e0d346a9e0452e64ceff1169959eb9f4435231466be209fd6e9d17f8dae05254443f0ffe1e SHA512 5f37a56f5d6c7fc198c7ef76b822b85284f9d7d1c06583c26a698793ade65da1b273d5fb03c20be1eb91a9c835f7122ad2775f4e51dffb2758fabac2a30f8c23
+DIST runtime.any.system.threading.timer.4.3.0.nupkg 43098 BLAKE2B ed9d0f7aa58934bb099bc750d7d433cf82a3b54369143ae4e3b27178213ae3d3c79c17463b2a4a2f1dc2e55a9130b7a8349c0832549a404b82c2b08b9016e9ce SHA512 c0a1fc3661b4e21f329f88a8d2cbf7152698427778add9f850476fc9abe7cdf9b86df79362d6df025f7e15d53f5eb7937d8ac49bdef13fd9eca973a284929fcf
+DIST runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44390 BLAKE2B 60483871cb9b81514f5b63f1f9ab9cf1c7a6ddb1d33a2a65608b47a2cf8cc3b7eee8e087250a1c49eb2893f36f29410e897387346fa4c3fc5c71e41046f13673 SHA512 b2cf809fe50c4b46bd6f2372265cd3059622550123afceb5dbb2410906c07a7f47bae4273584d29253d5e7a63a17c68c7ba0434608bbc8fd4d00e479b2f128ff
+DIST runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42827 BLAKE2B d2b79a9b83e0bdf569a5c333ba4f86ccb1d5b532d2e1cff3ba7bb597688ac78268a515be4c35a025c66727070100634a4bc946e02ae7b93061be968fab241bed SHA512 fd8e32d7d3e9a465202e391b0ab8b95e212900879bc4d8ac22954fd2d0f98fa579e9d25f88885ac2a4bf1eba755db940f8d131250a3ffec34dbe77431a379cab
+DIST runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42833 BLAKE2B be9197f3008b3dda19a45e5b5df2ce3604f58a98045a122aa77f082708de67ad953fba761c39ec419e945155ad74d5800638feb581e5d84424ba104f32541640 SHA512 4afac5cc1734330a6103880e790d639e825bfb1b34dbd42083762c47db5e5dab6c03efd16049ac03861d7d87746caed09c7534241d51b7341d47ba6af7e8dd31
+DIST runtime.native.system.4.0.0.nupkg 16852 BLAKE2B 6914c7090188cc27789c962931875892dde24e1fc43080935d337840164d361e4410d8228c576a3eb1c0eacb82603f2015c05b39516893cabc718d8ce67467f7 SHA512 55ff3eafa406ec3d8e33d8be44d0d06352ce746abffdec1378716b275d634e133fc1bc56fc312bf0d921efc59e8de4ac811022cc34a77fc1f1abc982c931932b
+DIST runtime.native.system.4.3.0.nupkg 16854 BLAKE2B be46e3bd8781915572308ed7d4d8a0338a5c79b901a27c7e7c7fb7fb25788cf00968a40f96cc43b1202e56e5bbb2f87602d247295d8c98f2c143a0ad3a8d7664 SHA512 299c5a96fffdcaf1972e3e3d1c727837d18ac9e88cb79c09914f12ff1de7280dff10c9232a49a1c1d3ba7785a5cf76f28c9dce414f0a2a567688de7fd5331dc8
+DIST runtime.native.system.io.compression.4.1.0.nupkg 16918 BLAKE2B fa843b70a55667cdacbf59b08a634aeaad6394f53504c4751fc58a758f550c35cde734d6a7134d35c0db78d09d8b423b53aaf5fb9f8c2a8acbab0b62116aa3d8 SHA512 453e16348b435b0d8bc5c4db85d77c99f6e4a79f62e8168eb91c972d6e788c8f1f965ba6e46c1b42f71dee4618373ac70499024f6a4d1462c040fe4989f68283
+DIST runtime.native.system.io.compression.4.3.0.nupkg 16918 BLAKE2B a158ea64e917d9117684a9974482172fa2450cbc3e41a2918cae1ccbe004988fa31d975c8f06fd9a3bd320bf9b5a0e329eed36491b928df6db242507162dc3b3 SHA512 bff1f0cac94327014bb07c1ebee06c216e6e4951b1ddaa0c8a753a4a0338be621fd15ec621503490dbca54a75809abc4f420669b33052b28d24d726ac79c9891
+DIST runtime.native.system.net.http.4.0.1.nupkg 16894 BLAKE2B 22f9eecae135562c88061969182e0299f535e34f085c33c1cc8e04956435b7dade756bf6af75d12ec25dc2ac30d5cb9caf1948e250562f3e7b2678f1cd5424c7 SHA512 ad933eb14740a111a81b5de6837dd0fc9390dde308fedf4338a498f97cd40ecfc65c745802e92c8ec8543d75dd262ebfef476df2e646b63cd99c609258d1bbd9
+DIST runtime.native.system.net.http.4.3.0.nupkg 16894 BLAKE2B c803da4a0e31f509b83e061c0dde9b990188418ee29efe9bb0b7f5873fb2b14990560b4191d78ad16e9ecd53ec701a4fdbec3ff66b88c3e49b5f41b57ae11df1 SHA512 ddd1e5b67545477f7c72b5883666de40e89efb0836d91e7a349e2f3d4ac05ce1125e6add3cb09c39cbdfe7ab7c5dc8fdaeaf6ac25acd92f6de3d8ce2d6db7918
+DIST runtime.native.system.security.cryptography.4.0.0.nupkg 16946 BLAKE2B fdc0eb894da0f1421926e99cc6ef89c2b19ccda00b7b4669c684870aeb8bb535057c3bee0a88e89df7b6df805d859b6e9c81492b5690ee1714cf92564def6c19 SHA512 83b8befe1f76e75346ea2e49cf27aa86489813034dd6e2845ac700ddb155602968a7c1d9806770418c0426e304aef1efc24b3abd4c57f792cb32449c2adf1310
+DIST runtime.native.system.security.cryptography.apple.4.3.0.nupkg 16967 BLAKE2B 4ce2983bbf2c2c6a30c2433151458e4790f43b289e9faecf38e07505e5519bc042f85a46a331ead5f31419971a5af3ad4ca5f18b477c4dfd7e4e7f33cb8a3eb4 SHA512 23c6a99b323cd71cdcb28c6faa71f099f69ff0972d5125607ae8bbc99ba7c08513571d14526e8c2805ab3a8b70d3d3a6dd76dfa193320393ecb05906ee91f37d
+DIST runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 17048 BLAKE2B f3d49c45e52d4e317fd5750de6dbd6628b414d127ef38f9fb4e2ebe447b13a0f93f38c91850c9df4c0a6a3fa738f58daf2c440827bcf7c7d3436a8174b5d212d SHA512 ee5d047908b99b776ff9bb54856454b24b09a0f9271b127239543b1f5faa3381a032d9eeb4d813d01b5a4b7d183b6a16250f159fdc450d5314a7eace1550bea3
+DIST runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44200 BLAKE2B 30ee247fc53f9de0147a5c5666bcfbfb674ebf03ceaa4ea3c73671154caa6ccee2c9254c0fca588e9a21f98e27ad86f387255b554ce37d7e36f8a69502049e71 SHA512 81bdb93c1c86c560343df6cc367499fb2a01a9b3016617be416874a23c4355a8d95c7be34f175510f3fdea4872302a87c8efab98a328dfa39422db520c3f291c
+DIST runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44118 BLAKE2B f89226f71e042a6bf70a45db59dddf06fb5083da2ccc1cbc17e8b3381a1462c36e0ddee7cb38a2003ccd07ec4f2a987a9e69ab143054a3a106ec314e3ac4947e SHA512 6de9544b4da49f127680cf5b3b4afea96bfcac3293038a1b0a12eea0ad60be368af31ee1dfd66d48d458b40200738c04aa0c71adcc54ae2dddbea2cd50d6f28d
+DIST runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg 19581 BLAKE2B b8bbe11bed19360bb221715acff84d41f7f6cf871e66b09517a3932ce6a4ff454d548dd58c75561a18dcd6395f4ad11eb1e5106330fb702330b8ccee6618d8d1 SHA512 9929942914071e0ea0944a952ff9ad3c296be39e719a2f4bb3eac298d41829b4468b332fba880ebe242871a02145e1c26dc7660021375d12c7efcae4d200278a
+DIST runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 37682 BLAKE2B 0fd5229c9394741456079a6eed8efb2c99e4211cb7be1873882ae6708c5e87a4f5116a9cdd6fda005896d2af4237779f1bd3c2332a1fcc993690e2ef6f5d889c SHA512 61da1667a5dd1e53a5d19fbe90abbfe332d84fe755fb811a080668a47d41a97db44539e3174fd1d2a0770ff1bd83afa68c82ce06df5775da65a6054ccc12c4be
+DIST runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42668 BLAKE2B be90c86ebb383a1d7e037d0a0b24aeb8a7e9974388ded41964a82a2d2a4dce0e62feae830fe7dcd29c0fa19584c0b15281f1959d326fd6b7e17c6e70bf125c1b SHA512 e65a6a1f1928cfb760c395a399542dc7f9087399c53874376604504ae60abd2da24ed735ebd148d335000a5e35c8108ea55404685e902df392eac2e8d38fb665
+DIST runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 43118 BLAKE2B 242cc78b2b335d3c15e798c81cb19654b44ecb79e29e6babdc404bcbffd1691b07e0640143cde2d03a0640d6e1851228188eb91cc6b8b9f8759d13e8aa258e52 SHA512 c9f219515e268cf40e16b135bd64cba95c35e866dd9bc34954159562314d01d2f9ea7eb8b0db94acf6bdac83d651d90bad7890cb657ffe40fa3440ec662c9944
+DIST runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42901 BLAKE2B c62ae072f63c79e2fbd080688852a545df160e6be41c68365508d6bc96c85927feb6859b32c2d8450b07058c2955aa94d4763600f12efdc76fb4d161081cdc81 SHA512 4981b2d7a106703b185e176ad35bfda149156f3b752778fa71c56b3686407765fd2b6625de352bd563aac1e1e8769d7886cc59a0d5d0bfb41ed60277360beb81
+DIST runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42939 BLAKE2B f166d9c0b266e7c7fa6d6ac61201a755ddca3ca6d3f13e52e4a04575c7143af5bfda9929d3701ac7cacb0e61d8debedae4419fc202d8cef73c8c1496776ffe28 SHA512 5dbe6bc007a9b46491e5299602291f5dbf8cc8d51e6c1b08db2fa0efd365990b41b6e181ed6bf82e873a659396427bc0e33e85b47d645d273fef8bf8ec643631
+DIST runtime.unix.microsoft.win32.primitives.4.3.0.nupkg 31929 BLAKE2B 18ff9482cae737a7098f352f59948119b4f9982eefc1d835245c5336ee6fecdb7fdb92445d0c1fefd4e4c7cc4e64fec3d317e8b5dc160320781a3f820cf34da7 SHA512 93e6d3db61f9c2ca2048f25990dda92acd5ec74561e0c776d2c6dd8d1d55128f2c953f33d6832fb6a72bd9edca304a2551085bdeafe6e18af87619c9ba943c32
+DIST runtime.unix.system.console.4.3.0.nupkg 62174 BLAKE2B 5e0394b879ea85a36c22948a006d41d6d77e2283139265ce5fa6089faf209e447a90a02965dd576c20c28ead4faa232eaf4073343be69c70f4913a3b52f340ab SHA512 7c5cbda7d12315fff6b1e036d55ea27140de8b849f1a9705fd2710a00a2b70f06f534eb0d3e3c8ffb019e1a47d96c559ac61d5fc9d840e48f6e56542fdaccb83
+DIST runtime.unix.system.diagnostics.debug.4.3.0.nupkg 38808 BLAKE2B c7bc02cd3fcc7f547c9d1786fd12da492bea65cf9e01a385e40366614c6e90bbb2a46103096ab491ef6765af5f5ffbad9506f0bae8e68b6d33c40f7672bba0e9 SHA512 a8ce331953b1f4424aa7f4b6dfedfce9ad138940bc92f332de2bc6d05185830ec6eb832e752f62eaf425f749caadd4ea1789121cb7ed79740fa5868eba55c838
+DIST runtime.unix.system.io.filesystem.4.3.0.nupkg 62460 BLAKE2B 6431b1bbf73d43f5d49afcfdac3f4e6a21b4d6c86db7a99f339d97c86fd9f98fe64d2a4873350076a42d1f7faf479fe744220d14d1badaa56370e1c615afb4de SHA512 6d4c80aceffac60e1560fda34c5984bbfa2e1bd106bde2c6d3540905cc30c58e6f5f2eaf5703cef5e68e3d25a4b97982193b2db8130a50c622a498e43eb9bdca
+DIST runtime.unix.system.net.primitives.4.3.0.nupkg 125060 BLAKE2B 76f760a4fe1f14bf65ecad43c73f51b819cae80b259d32cc9d5af74cd559dfc86267ba58cf15c577de697c9e1add532da380b267bff5487a2974904fba1e2813 SHA512 c2a0ecf5c72b226b4776eb6281f00267827d6086a0ad758ebf6e6c64a1c148d2056fe99c87ab4207add5fa67f1db73dd1ed3dca81141fc896be6b6e98795c97e
+DIST runtime.unix.system.net.sockets.4.3.0.nupkg 105673 BLAKE2B 06119cfdac3ce590b2f12f5587c75b6799fa876d7def559a78a1ccf53e34e6e1bf79410bfd676b04f1ab3f34a887eb919078a55cf79dc75faa75fc62094c2cbe SHA512 31b62be088315ead04d89f452a6c49a656b88f0668f7dadb2790511675d48705e01c9df24dbed3a0095157875c208ab6e6b5b6afc82bac13e4d6cdd3026f8424
+DIST runtime.unix.system.private.uri.4.3.0.nupkg 75969 BLAKE2B 82611545be3eba44ccfbef1f104e9b5afade845fd3b30c6cb40171368330f9d4bb2ad8752e415aa3b1678ec140c40f8e72cd4cc3731f42ca64016c1a1dce70cf SHA512 203ebe272791d79ab0c40afe9d0543852ee91b9fb4ae5bc15524d97728bc8bc9d7e0cbcf65d1fab8cfb0aa7a4ae37e7938933eef127aa5ea46f60e57b6ad2d91
+DIST runtime.unix.system.runtime.extensions.4.3.0.nupkg 54075 BLAKE2B f81d86cc15c63aa0b4a3d03546a07649587af7a0285af0de4123734e719fc023fa4227b7abb18307d4fc060e2952c157ec72b3bb85d49ab8508d8167b1aeedd7 SHA512 54b81784c08e934389c59e6e155af6b1855e4bbc41678b01a702c94e6daba87c6ddfd16fe9e2cb61f3097bfa4950dbc37781454d027ce5ba6c50a393cc91b888
+DIST system.appcontext.4.1.0.nupkg 146990 BLAKE2B 7881a5a903a358e19b0de72fe800c70ac9233e7c5e1e4115d69be6f8dbc4fbe86debb79bcd453295730e803ff1da974075c999f52e4c721e085676746c2f9b58 SHA512 f724af13eb14aa57255f82841683a93b427de172b8d31b9fe2c6bc8c21a795e60ecf211b4e49e1c2e285fe1ad498e6bd9c843e109a60a3dc27b49df560106e96
+DIST system.appcontext.4.3.0.nupkg 147030 BLAKE2B fafd6d050e77a265cf41c6d00a3ab3d8db47f2258e10a6cb556031ab183a01a508a986bb495b68c5e8610c05b92b2f3c7b0718f68f508111fd262291684f84c3 SHA512 0d6ea63006304708feae2cc0590d2cdd99327b682210822bb2803ac842fdf4d8d57170d7947c006eec4b5687c942768478a7ec109745472f3946d230732483e8
+DIST system.buffers.4.0.0.nupkg 35190 BLAKE2B fee35456dd7fde57a978d20526e4136f50764307ab2db6edf2c9d990992f4d2520531687885764ba2fb54f2a26640da699abb8ee538cda2015d65382d01128d5 SHA512 0663f4639c4e37c9dff12717cdeaebf30e38d91e986d6a99f9f16ba88189873e0399e418659e732a18c674d8875f8f41a1cf60319604173ca8430960759fddf2
+DIST system.buffers.4.3.0.nupkg 35171 BLAKE2B 3b274a048ce14845ca957019b3670db00338972f6e11279e47f59ca6b4326aaecab1d11317694ed98e8a27f3de7ef6f90de94d4711ab224f805388d468728392 SHA512 3dcbf66f6edf7e9bb4f698cddcf81b9d059811d84e05c7ac618b2640efed642f089b0ef84c927c5f58feffe43bb96a6bcf4fec422529b82998b18d70e4648cbe
+DIST system.codedom.4.5.0.nupkg 224812 BLAKE2B 1e32eec0360fad41aaa8d3ec057c5260df8d6f0dcf09fd78f3f49ccfcecb893e895287106bf424c522d0d4b543381ee291c5151f5f730d7e5aabf4a0197120e7 SHA512 aa89f3f52a656dbb80a529c15a25a82bb45fabdab59e84d19b72e258fc722cc58bb5c4de9765522ba796b2535d8893836fc27882196a15fb879702ed5c2cbb21
+DIST system.collections.4.0.11.nupkg 810001 BLAKE2B 7f20413de51be3416862a8e3624fe575740aa35fd0983a694b128587fe05d7a3f869afb893106b02866bd6811dd045e35d0c3f43b55e06ba9f92758f21aa507e SHA512 f61b75329ba5d7c0e688aa9d110b2200c8934c3a1888f6b1b5f198baa7ab93f23835e8380853e8c046f257172b5060578ed86df26e5fe0ef34d8c4408a02c33f
+DIST system.collections.4.3.0.nupkg 810001 BLAKE2B 0079d5834bb3857c002cc686313646895b47be1079e10cf365ce9e67c05f14c2e70e782b122b07a7cd9d5090b57334d0cb2336503cf5059cdbafeb3ef3cc8220 SHA512 ca7b952d30da1487ca4e43aa522817b5ee26e7e10537062810112fc67a7512766c39d402f394bb0426d1108bbcf9bbb64e9ce1f5af736ef215a51a35e55f051b
+DIST system.collections.concurrent.4.0.12.nupkg 502657 BLAKE2B 39d39b111bb1dbf282a42d0b7cf0cfc64509d1805beec3a10c216946b21f090e2d1f94227035de2c17442b463a1985a65ce4de203356381e88eec036b26e893a SHA512 a46bd40b8cc7afeaea14c80ee6ab99a5ef6d27e9e897cfe842e9ab5ca04b9de8d7192a310225b1040d57d4870921487acf5df993ab81301d49994048e1341e85
+DIST system.collections.concurrent.4.3.0.nupkg 502676 BLAKE2B 0d98ffad345254596133bad8a487bb91bd235f2a757573c3ab7999184fac6685b4ec33316bee9b4a4e588ba96aa745a681077cb2e2d2b0a7f5cc113aa75efc2c SHA512 35c1aa3e636216fe5dc2ebeb504293e69ad6355d26e22453af060af94d8279faa93bdcfe127aecb0b316c7e7d9185bcac72e994984efdb7f2d8515f1f55cf682
+DIST system.collections.immutable.1.5.0.nupkg 804405 BLAKE2B f11cab8fc6e1543d09bb65aec905d8a7b56318fc1f6e4ba723fc5ef393340fe3e29cb8f5d3e788d31b61a80661367371af90065432a63b3a954c39b68b8ecf16 SHA512 4f95c64257078443bbe50c77f061825033dd9389ffef2ad1993832e32733cc957c6a53c76b13d4e794c10b6505ae4438d9bbb7e2c64f7cad1d53e9d665438424
+DIST system.configuration.configurationmanager.4.4.0.nupkg 341985 BLAKE2B 94c73192226761051208f23f1d40c7a3afdc97026e565c7ef0889883196667c3337fffb8a41367d806eeb368c59ead06460447a0982f8b1a36a366a360554e1a SHA512 44b601dd83a6773f5d137ccc841146bf7185ef8ba91a31f49c5d06f6514544b34bb0210c2298ae42c306bf6a84d2a769d4976179534ef11211a5429da2488afa
+DIST system.console.4.0.0.nupkg 102388 BLAKE2B 9cadd0e2a0256da6c777eed3550c399df1bb936daab99dce3025d5781334b4583acddde3a0f8edf617ccb3e2b9f72158c791d63ccce7cbb2645882fb7d8efbe9 SHA512 44937dfe632127d3a7c89ca77502eeb6f66201ef135384e04b570a90a3eee3d72497869344c759c35295d6a4b46afd561ba19562dfff9896ecf2d4b07e96fb9b
+DIST system.console.4.3.0.nupkg 102397 BLAKE2B c21bc97bbcda781257473768239f775a16fcc399e933df35a5f5c00f75c5088462ea01ecec2d711a803581d5499c8cb15518e790d6c9e74b15a36c3a1f237d19 SHA512 a08a684a583c9b3278ce32be1007dae495f9d87254666392f794ef1203079f333cd7d388c28944ffa36fb49f0c8bb21f42c70f6e1d7c1c03920df6d0d1130c82
+DIST system.diagnostics.debug.4.0.11.nupkg 149779 BLAKE2B 337beed5f06441a09fb704ffdcc3c277e2f99d7b4931e86419e4d4d0925ad44c86276aae0ee1e29f94ecd37257953731e9607bd00de716d3195dc994dbe189c2 SHA512 02f4d0bf969eb1a876def21c1ffd75f8ed5f979aed9a1169f409e60a6e07016854e2154da5c0164fabaeaf6527a18d8e67282db1b69327a1b3581e9c0c742f58
+DIST system.diagnostics.debug.4.3.0.nupkg 149774 BLAKE2B bdb6d5ee3b8ca4f28b241b098281b7d2957d0996f9345aa086a54b1a981822962e5cc319687849ee52445db47b439b6cd4e99a4c71595f6227f78160aa31724b SHA512 6c58fe1e3618e7f87684c1cea7efc7d3b19bd7df8d2535f9e27b62c52f441f11b67b21225d6bcd62f409e02c2a16231c4db19be33b8fab5b9b0a5c8660ddab24
+DIST system.diagnostics.diagnosticsource.4.0.0.nupkg 118325 BLAKE2B 4a066e6d77ee8ccb165a3771a927e78f279ec52890eb13875b3a1ef94a41860231b5769d2b1de9b5b33f89c1303f0c17f9f427dcada4e1282b93346326617eb8 SHA512 199e2a85b5cb0ea6c2ce13e12444af61e80da7625c4f7d0dcc97dcc363b21f2bee48c7bcfd85d99d0a23aeb1ea35f94dd7ff8fd22ab50f2481e472a749765471
+DIST system.diagnostics.diagnosticsource.4.3.0.nupkg 120125 BLAKE2B 33f203d8ffc39e0c38599eee625053beae160a0aebe6fbfaaafdc85b570c7b82e3aae281092014e90d10fad7083f37afbb546ad5a0c74a94843ae9b1e9fe85f1 SHA512 8f54df5ff382b6650e2e10d1043863a24bf49ff0714e779e837cd7073e46fb2635bcfcdcf99d7c4a9d95f35ebffd86ab0ca068305f4b245072e08303b917b34d
+DIST system.diagnostics.fileversioninfo.4.3.0.nupkg 138783 BLAKE2B e03f0c54cd242dac69e4c557efc2df0779c67d2bf3114bbee671a27cea37a6952cf84c64d2111e5661a3fc1f45bd7590525cf2abbd270b1b9e62f053f74c14b4 SHA512 0aac60b56b118c1bfa5aa6492a0d32dce19a5350e61d8759367cee704e05d35913a113772b98277a76ed806d5f575803376f5c0c6810a801e2566213c44dba01
+DIST system.diagnostics.stacktrace.4.3.0.nupkg 101411 BLAKE2B e80a43762a9102adb03ebbc22e46590c2d123f6a762789136d680f868fb73a365ba252502a7a92aa2f78c6c51bb8ad57acac87636e28790d0475c01d53053940 SHA512 3a7d95fd5d64d8b490c12d7e90c22b2d476c25acb7a211b9205626d6a9002c5107aac1a8efd08217181473e092e6abde15cfb2b35ccee86e18bd1bb7fed2cbe8
+DIST system.diagnostics.tools.4.0.1.nupkg 67228 BLAKE2B b2b74a8c3164181513c960e79bb2cfd9673af3d864c681d379051361743459ee0604806c09e9154913d016963f20a59aa8b45b4b3c30275709878405085ca690 SHA512 a812ccbbdd0a66eb57075121ea6332a526803ef883ca9f8b06431d6668ad50efd13624fa87dfaf6aed03c652f795c2ffb9fa9d9895a2fafa96eca614cbf86cdb
+DIST system.diagnostics.tools.4.3.0.nupkg 67227 BLAKE2B f03928755ec84fd360b2a8a0de3f39e57322cafc4be9e7fa6b7a67d606de9c0869688f62f6b7c9a2ee2915c424ab20779ac87ff510637a9bba740ba0361e6041 SHA512 164d6977e721cbceb44ede7bfd75b03b8d9771e0426aefa5d40c71867e964092fdc6a6808bcbc5559ed73ec2c532ca657d6476af79a49ca3ad879b8366f13d90
+DIST system.diagnostics.tracing.4.1.0.nupkg 581838 BLAKE2B f7b28bb2adec08583617e0c6133cdfadda6e1ae4cb1b3bb83175199f1dcca28c9c1540af5a560e076d7a3120c509576f9c550a0d80481a740e2e09f78c9e57ee SHA512 0c64f255836cb629587b117bd8de5e70bfe7e4c6d7d138bff10b9e85f4883fba250ae07118c21d5e9130ba3cf120a9a2bf581a17577d3a7ec09260933c7b4d47
+DIST system.diagnostics.tracing.4.3.0.nupkg 581864 BLAKE2B e09e616dff7879932b358746a62b530499aa61726c4490c56d2d7a0bf888db5b42d75d89cc5befc9fdb6af231beff998b6b243c2b2a08084da089709e0c82a75 SHA512 d0a5d30e261cd45b7dfab02b7ffbd76b64e0c9b892ed826ea61481c983c0208b05b69981cd79e91cd4e5811e1cd4c3cea06a1afce05811ece58be5e4c20169ea
+DIST system.dynamic.runtime.4.3.0.nupkg 548103 BLAKE2B 42ac34ffe9b9b6fe69c984aa2b22f0715f7979685730de048490ca05feefd800349df39aeb2bc6b4c3608cd042abc018714fbdc49475a11b46077a2638824c8b SHA512 54446fee94f432cb8fd38ec10c929a87b307a76f152a2e9da11ba99c41ceb0f65913cf218944990f0e122d4f858945091e9806c84c0285ada1fcc939337d30ea
+DIST system.globalization.4.0.11.nupkg 589139 BLAKE2B a4ee2d6848c249b34a67192dfd32f78d842f4b12f8be137804966d00b2e15dd8b2f9ecc6427f9074c35802d9bc13674c912c80ba405e610324772f9b640dea46 SHA512 66bc21667f5f839bc711eda3b0463863d70e0ad86770fd5410e0123006d6f031755cf7220187fb7cefed69b3f4a9eab8f0868cae765cb1425c8bf60427f395e6
+DIST system.globalization.4.3.0.nupkg 589136 BLAKE2B 7b07f9b68f0744ddcfa3f0db6190c1a0696c2f89f8c5e92922ac20fc4155e22d97e7191bf7866c9b58acec056bff08531b0adacccaec7d4301e1d4b149fa511f SHA512 823d2ba308cb073b40a3146ecccd0d9fd7b1615ac3fbefb16f73d873e411fd81c3bdc87df206d3dc7e2f14c9cd53aafca684a3570c25471280aada8de805ece2
+DIST system.globalization.calendars.4.0.1.nupkg 177634 BLAKE2B 9ecc74331495d4e10bf0b7bec8fd577c207771387465939db39cc3711e14bacf7ca9876710715cae4378a6b957e335ed68bd38b73b43297171bf699a3997c766 SHA512 e6f3f0fc443c52cbe754ccfe6c7752206557db7603187b0f1ab7e21fcb466248ee20844d9ce9f5f114e6daa5944a3293cca47f3c02a2e735a7b494f29f2278c0
+DIST system.globalization.calendars.4.3.0.nupkg 177689 BLAKE2B b70b5d9e545835e5a3fe4c703b2bd7c857968ba1fcae5299c9c41d550338914f2ad9d168948018fa7da7271d62a3b9d2ad1e696d334ee7d3fdaefd25395aa64c SHA512 e97190231402b393774b925efc02a2bfa41d1d117a17fb87da6e399f5234546962767e9cd8f39970efa408e4f453cd1e6751a2a61e366bc97406e1b0b8a4be86
+DIST system.globalization.extensions.4.0.1.nupkg 142766 BLAKE2B 28344f900c32045cf4f6d168e02dd1df501fee3a5d0ede8ee35034e96cea6655ecb0f0d722eaeed78c500535b0795e7cd0f067e286cf65ca083fc4c37477efd5 SHA512 415ab44aa3e46b59ad1d314ceda11f9dc78f85adede3daece96c83c98448e2a0cad7e79045edeeeaca8618115c38517364b00cdd9a0a7228e7da1ebc342b0116
+DIST system.globalization.extensions.4.3.0.nupkg 142949 BLAKE2B 4eb77d4ce5af01136145ea867e9d6cc81181b36a178ff487905dd7d7c6a4986c518675af68eac0e854347503e11513056173a93e6803683f3fddee7677b88e05 SHA512 a4d360003f95e0c31edf39c0b91e1c73850a60ac5d0032b17db888a3c7d7134cef9acd97219d14174ad213b7c044f49b364cc5720073ebfcb6e1bf6e4ec24ce5
+DIST system.io.4.1.0.nupkg 703645 BLAKE2B b0df16bf1368571d6755f88cc8fcce330d1dd5b478a009363e87f463e12eed7722d4bcd66a1e70de63d1b31ae2793b80c735e19a63e80ad4bc4c45f107e94ce6 SHA512 e01b432f3d715f3c88d5d7f3e7cc1ceee78caf99407a11c3306f9103aee78963f818417f14eec52f0096fa247900a31e53bd3226e06f0c0f93870db0b2b78331
+DIST system.io.4.3.0.nupkg 703652 BLAKE2B b5b2627ace4cc49f35a0caf5c064c4c8262ff0fe3df79bb1bd3529b3e306c8b1e77ea9e5948de343ee786a50e12be822ca89b5ea3f16347b9c0bce6bd8071127 SHA512 bfca5a21e3e1986b9765b13dc6fbcd6f8b89e4c1383855d1d7ef256bf1bf2f51889769db5365859dd7606fbf6454add4daeb3bab56994ffb98fd1d03fe8bc1e6
+DIST system.io.compression.4.1.0.nupkg 413984 BLAKE2B f0b7116d6502f9179935d4c00ee9542d302c17472ffefe4b44e97c3d8bd2fdaf9483e06f7809b5621a7d7d20d6b5336726e0b2f75aa2a8a5f924332f5052d1c2 SHA512 2402b7ba4f0b43bb916cbfd608f9efdb9f60406d2a19cd9e7a677867806962c30b5666b6270b873ff9748b4fc3f7fd6e0451f2a5214d5478593f57d4d8430979
+DIST system.io.compression.4.3.0.nupkg 485197 BLAKE2B d813f11d1eafa9c5bae049c2e6d7081edbb264520e253bc03441fbc1ea62b75760dd31c038a5a376d41df59c8be55fe1085d7dc012f611731b72040c8c41430b SHA512 f540ee51a3bb6941cdfbaace9a9738d7f7986a2f94770db61f45a88ecb7ef36b571d4c07417dc89cdbe9655a262b7cc599b0a4b78effea91819e186121b44807
+DIST system.io.compression.zipfile.4.0.1.nupkg 113696 BLAKE2B 9b325bd23a5b4584742783b63f821365c74273b35737710c10580fda6beaac1ecfecd59b4c69a3885f28f653cc7c30e31d77a0453f63e49f4c0161438b6828e5 SHA512 49322ce411efafb4b55d43b0d7a52bc334990e1e45b321d01f0f394cf1aaba15845603d6f08a12c8f09454a03518e6c0ab7996ba73b1116c5c7f685d768bc62c
+DIST system.io.compression.zipfile.4.3.0.nupkg 113746 BLAKE2B 0622b6c3b6ce841b3c3c1df620ffb68f995ac02d7540d7128ef2831cf08deaa60aaf46059cee0c98624ed5402c8d746128ecfd674acb90ed665d834eb879960b SHA512 1860634672767f818f0192ec2b2750693f0d39390f3b7d400cc6fd4f6e74a5cbed27bf49e5980ec85ff3e161c30f6190f700e339a1040c1699b87eb4aa7b6792
+DIST system.io.filesystem.4.0.1.nupkg 274255 BLAKE2B e5beb1350bea00cf6d533de221129bc3bb799f4e041b23e45304ea39000d9b70cc63fafcbd302046793bac360d431e3dde5c432fb19b0e1af7a1e1bf8e9fb0d1 SHA512 a6478b17f5d52fc5b9517458e93e1a69b92575c170f44046b3f4e25c7e67c9d4126ab486f5a3c51abcb279d05a057bd53aa8f49a1e51eae69563ae39214b72d3
+DIST system.io.filesystem.4.3.0.nupkg 274316 BLAKE2B 4ba513b503cfcad068c23a82423f9900c648fa2bc4fc16555bec717b6c5cfeac6c7708b28009c7a089f80c77ff744f573d72e4dcbeaa14acafb9fd3e8b5100d5 SHA512 4fb581d6f85b9529a091a0e974633752aa39e50b2be6c8a9e5eca8c2bc225cea07064ccec7778f77df9987deebf4dccec050b1a97edac0ee9107142e6a8ee7ee
+DIST system.io.filesystem.primitives.4.0.1.nupkg 94921 BLAKE2B 32311ebb93e758016ba0971c99f5010080597b630bd6b1aacef03e39d7693c66b7d2531a6af05c7b14cd2dad34b1cd485aa19d77ccbe53e512c4e021e3291f9a SHA512 dce1c4074938391ea4ea01226812982a893bfc910e66ac99ecfe31c9b6fe635f3fbff11dcab222ed5036eb21c4f49cd3f121c310adbf87d22cf3d512bf6a9d73
+DIST system.io.filesystem.primitives.4.3.0.nupkg 94996 BLAKE2B 95fa6178164a7cc6a29c5a3fc55e415419c433b3b74abbcfa4fa5ae1bef40141b9515076b6869e8ed771b0ba6800bdb2fe6fa5d1f773ce52c40753efc0a82be9 SHA512 5885953d09582cffd973d23a21a929064d72f2bc9518af3732d671fffcc628a8b686f1d058a001ee6a114023b3e48b3fc0d0e4b22629a1c7f715e03795ee9ee5
+DIST system.linq.4.1.0.nupkg 511874 BLAKE2B 3f5941e6fdc731ab7acb58aaad0340695ba2c1ad285ee5eefd9c4ad3972e278d74cabb0d5480f29697b8c9ebf839c3c8064436be4c508ad406f0b3ab2b6366fc SHA512 53e53220e5fdd6ad44f498e4657503780bca1f73be646009134150f06a76b0873753db3aae97398054bd1e8cc0c1c4cdd2db773f65a26874ab94110edb0cddb1
+DIST system.linq.4.3.0.nupkg 512550 BLAKE2B cc6cbb532575bfcfde7ac897970dcd49067186547108f46449f9f819e7910ad32496df3663d4db8eff48224b8ee95b27f7bb442bb477ad47f44da2f6fa893078 SHA512 eacc7fe1ec526f405f5ba0e671f616d0e5be9c1828d543a9e2f8c65df4099d6b2ea4a9fa2cdae4f34b170dc37142f60e267e137ca39f350281ed70d2dc620458
+DIST system.linq.expressions.4.1.0.nupkg 1929236 BLAKE2B a804c6741afed5fdc918c046092f8a526668fdeca8712f750efade8f1f272fcd2c58b1d1493f20528ff7006e189fddd21f8a2220c15d689c8de2ad2bea21b1d6 SHA512 04605a091d3aea404bc97cb7ffc154708b3bec886562d9e36aecd4d2ed130afbb45f54cd16a3f714f0ccb3f27c5bc7707e55fbc3e81681a783e9396930058acc
+DIST system.linq.expressions.4.3.0.nupkg 1928029 BLAKE2B 1add363cc651e551fd7abcb797252785e2617159b197ec081de605d7c7dd829e7653e7693495a87909f46575b6619e95fef6e3132532110b3c1e74157ff096a6 SHA512 61b90ef9ae6f779fbc8a7b6483ee8f5449cdd05c81b05235f70447e656a73b2aab7c341784b999f7532374744a72e2c3a5cd13800ea23417fac32ccfae5cde6d
+DIST system.management.4.5.0.nupkg 191264 BLAKE2B 352a84fc0b53b98a67ee2b1c407e0c9fc26c46f216998d8863b130ee312118d4c102d1c4feeeac3067b10f987b200737f9e226e7ce25386ce7f84507433340bc SHA512 8cebee5c8b6fc3d8eaf2ce069b893619b8cababf20db1a69bee23cc0ae365547d110f12d5f6c7bb7c58932ff9a662a3ad8ce3996f7c70195e1db61d932664313
+DIST system.net.http.4.1.0.nupkg 1372881 BLAKE2B 95aaf095ec258e9a8737c3bf608a887c11a3b28850ccf2d19a4ffb3615db638d56aa57143a4f4de5e7968492f506a5c5dd5baced6ce395b24b208050ff80defa SHA512 55ef2f727784e744ba069bc0cdd1586ed714cb9239ab724c650629055f4f2e9f88493afd176e833d46d1493974a8e95c805c4ed4d989f095d6def8d39322fd7c
+DIST system.net.http.4.3.0.nupkg 1371903 BLAKE2B c0b56398662d8f149eba439ce16ec254bd5a64cee0faf251af07d89ec130953d8865d537b52b432ee19df9ed7405318119d301743bf84f98179c1cd7e6615731 SHA512 e8105ce8151aee95852fb29423f73cc1bd7c2286d36474ed7102a4b31248e45f434434a176d3af0442738398c96c5753965ee0444fb9c97525abbd9c88b13e41
+DIST system.net.nameresolution.4.3.0.nupkg 177639 BLAKE2B c3d666f33577682ba43292ccca908cbd81971ab53eaeb904438a378997903e80d5d3789b3c76db6c50f0411fb17b227db973bc09eadfc0f98ebed88ac0209057 SHA512 40d39e131fe7a392e58e9f58b516b5db88383de91c05b771f5e509acf46cc874271e90623d327ab039003ab8f2714144694390261278de324e1aee228a828ab4
+DIST system.net.primitives.4.0.11.nupkg 769354 BLAKE2B 5c2a6b46cd7eac3bd02e8791264f6bc04abc7a93352db986f363e6800cae19b52ead304ab74d49d9fbd249ac44b92331cccf156d86d91da798ac5d274ad51c93 SHA512 50d5a977a4926fbfaf47bc4656111ed6edb8bb6acfff0cc5c2ee9c104628a255c8298a649f33ca2abdf9c7dacf4bfbf15e48ab7f92bd797b7d50ca328fac48b9
+DIST system.net.primitives.4.3.0.nupkg 769347 BLAKE2B 070d9aaecf9c4ec485850954c425d6d6af23fdb8a50fe40c305657654fcaf58d366f29f62bca6ae32c8604dfd7f5217f822ebe03c68446d4fbc4ee7e44b07852 SHA512 9f7fdece330a81f3312ea7c804927852413bee2c929f3066b736993803df47cc0692fbca236c222bf19dc8f59b42f54f2a4c00da9a4d624e458da5874d127ce6
+DIST system.net.sockets.4.1.0.nupkg 135660 BLAKE2B f36e7d4191bdca249dad820e1d0a142fee23b77e27394ee7b980c085db23a3db8b09bd3d06c9168c221f264cd0e119c7d18bf9e7fb100bd66c9d96d6ff127ad5 SHA512 b231a1ca9d281923ffa1b8dbafa2cc074ce679fc2d473ad7c7192cdc3b51c8ab125c606cbbe0248e02b415e384bfba1bdbc59b28a139589c78aa3687e0236019
+DIST system.net.sockets.4.3.0.nupkg 135695 BLAKE2B 17f58a8445cae9ef2ad17bbd7dda092e66bc8be07d767e971fabf14da98f549924cd6a7abf54e8a5a7557710612a151f2f27dd35e559b81f2f06dd71fd43c9f7 SHA512 e32ed9518e9630e99edcf1963c3d0e7047ea8252853c9260eb5403a4206170ae28fd27eb239f39da4d2db766f830b3ebdc9e4da2e697be20241d928082200955
+DIST system.objectmodel.4.0.12.nupkg 321648 BLAKE2B 7a008caf5f7f38f34d62037e5e3505dc237356246103d00be5b07423829fc4f2a763fa841673ebdeb0d6caa79dea8d7fb9f56cf078addddb3cc853e63101f03a SHA512 f5191cdb360bd2624abd7454c66862540f97aa19df92ea0854786b9d3cb9549e95c6194cfe8adc01589203c4feb1673a129c4929486bcb5f8db83ea535477c53
+DIST system.objectmodel.4.3.0.nupkg 321655 BLAKE2B bd1110665321034ec27635077ba7f9f1a18cf2f813d7a99f511a91fb6c95827b3b10108bf8a5b4a9e32685a8754e1eeca7d1afb2dcd02ad5ce3ef9db61fcc114 SHA512 409bca3d2139bd1d003c711400ba2db5e576bb54d593aa541ec3576e7b2029b60159ab1c5b2c4e7389267b1b95ebcd8c2f064dc6e1f53e693aacb1737f066123
+DIST system.private.uri.4.3.0.nupkg 16869 BLAKE2B 7a407e16b35e4a5f405029e80749f7ae1c907707d9f72657016667ccf1255463011497b09b7d9e23fb3ccfd4de508dea48b33b13267775619f63134897e54c61 SHA512 5989a57ef273b689a663e961a0fe09d9b1d88438e5478358efc4b165de3b2674fa9579c301ce12d2d2fa5f33295f2acb42eceea2ebebf70c733da6364ceaf94d
+DIST system.reflection.4.1.0.nupkg 700819 BLAKE2B 7d98a07245ceb46e777b904b66ebd5d85067ed9a5e7ca10bc0838f115cfd5f7da1b6420b2126e56310b47b533fcd22ce020e046d03423ccdeb9392609783ce56 SHA512 67143ef8f6fb1044830c70c66e9a2b4f1850f50df5dadfaa5177338362ea7b9e9fe4b0ba59cd4eac6e1c8db4e0c285c239e4c2b3ce61391618b411aaff45f7c2
+DIST system.reflection.4.3.0.nupkg 700821 BLAKE2B a6aaf054f27be81f1a8251241deaddd6d35aa9ff1cd1b35a65c75201c3305ca0481d8f7a6de52a85736b0477332c404573db300f324e6301365f14fd59784225 SHA512 2325b67ed60dce0302807064f25422cbe1b7fb275b539b44fba3c4a8ce4926f21d78529a5c34b31c03d80d110f7bace9af9589d457266beac014220057af8333
+DIST system.reflection.emit.4.0.1.nupkg 219037 BLAKE2B 032654f464c65df895878e3e726c7f14c8c380fdb29a092b3ab99b57cd5b4c2a094df9a579b6a0b8ab416244a98b7bb2efe4a3e56792bd62f35d7077eeae33dc SHA512 ff7766886b945148ea65a49e4ddc648336340def2c2e94b8277b584444ec9126d96918f0bcbeb62016a530623a89ccd9eae749d62065b01058387b5d09fc7dd1
+DIST system.reflection.emit.4.3.0.nupkg 219534 BLAKE2B dddeaced247da3ced46ad776c3560d886db0581d10d2a32df3827c275a895f474933c528b637439831e7f69cabf70bcec544ed1d16069ef11cb047126f2c3b57 SHA512 be45051467a36ab965410f112a475fb81510a5595347d1cc0c46b028e0436a339218dd3c073f048c2d338b67dc13b45742290b6c46f55982503f74a8f2698818
+DIST system.reflection.emit.ilgeneration.4.0.1.nupkg 123128 BLAKE2B 784130af9ff312b8757308a16ef704a66b70f60461eaac1c39f54db4b3d4ca0ff066e495374c6899b4f65f4bd3454d2f252b4b404cc9c04e9ea44e896167849f SHA512 c3819cd3a58f609ff579652536f9f414481caa4d9e7dc277e0d3c8c8fe8e0ff90806fa94f7c6436d4af853c6fccd26d5af57f0a49c5baceef4e0daaa39e26773
+DIST system.reflection.emit.ilgeneration.4.3.0.nupkg 124567 BLAKE2B 4495327d565f0ef5935bb2ff6f71e25132abda4c8ffeb51195bd4b96d1d5c885e344519287dbb22d28957f0fbad2af0cc977c2fe4650206f7b72ee5dec45a08c SHA512 e9be5f62bf64b1947a49857337306a5d0980686b58d665989e94006ab04aa7e0bbf4d8543d1b57d5bb38079052f275f339b73054a7357e4fa357208a0ac85d69
+DIST system.reflection.emit.lightweight.4.0.1.nupkg 82989 BLAKE2B 80372b79e7e12b1945f6f178a9d427e32dda82998609dad684e9ebd806039869cbec3561a836b20b3988a4579049e1f39a04c9e4fbef4085a2e54f02dbb9c120 SHA512 542863fa085a31705b0b294b64744c11617a098beae4d5664beb53189148d19246c9a112de30f2d597e0888069a414f2aed8e94a2b369294a81b24b991bc2149
+DIST system.reflection.emit.lightweight.4.3.0.nupkg 84426 BLAKE2B 370e3b74a769e2a8043287ae93804d726ae0704440e3fea9cf5fd1ee46222cdd293d35896349719e87123ac24b05042665148023185ffb89ab8e00820820590c SHA512 ad58af07296bd084907a089f92026fa3898b764eb9d6a07c9414b550a83ac60456f32a34127c29bb93a9633fb07ba9fd828f7b41a31dce5ff019a7cf1ab29435
+DIST system.reflection.extensions.4.0.1.nupkg 99743 BLAKE2B bb72501a2dd11ecdb1f0ee41f022d7a20635cfb8858f8570ee52d15f7c0a7bd167ebc420ff164acf9a5e763e2dabdb7c7571e9155289fa8d9569ba1e42071dd5 SHA512 3e2f07c29836735be6247e75f760de90783d5ece64e8cce4e23eceb777da8975a35130804d87ddd26449c13d2ca34180e3f6b844b0fdd2dc594bbec6e7272098
+DIST system.reflection.extensions.4.3.0.nupkg 99740 BLAKE2B 15554874193bbddbb2a7a769a239923ea039b117d9f8ba5ae634b82fdc8f04fcdc871bdf328b0b4e418c9f0c987dfd71546c778a99453ba6b5e754e6939b3c28 SHA512 06cfd992c8d7fd9ab6432ab02be981a01b6558285a6e26a7825a064d4efcce08d9e7344f03fa19b033a2459d42b0b80e8c1400ce39b47a1752869ab8825b0475
+DIST system.reflection.metadata.1.6.0.nupkg 852113 BLAKE2B 4d15704a1fe00501c1bd8c945d02cd2e2d77c12ce86aa628edd18383838c9dbbfc449b8026707bb1ac570e55369e988aa6068f57acdea28f519bd3bdfd5b9304 SHA512 f5227666edc6bb1da78b8a8e86a68e9bd647caa2ec6a1580c14a4a5e1fe5cfde3bdaf0d8c23dc210c405a55f83ceb6add1a9adab149dc065b38cfddc9b01ba20
+DIST system.reflection.primitives.4.0.1.nupkg 281678 BLAKE2B 3aba0904b106e846cc9ff3fec98a6cc4acba2d2dd3296248303bb02b2e32bdafa7fa095f1c29636fd1c85ca5ef4d972a7b6218834e458ec9f41f275eb195cb4d SHA512 08ad6f78c5f68af95a47b0854b4ee4360c4bad6e83946c2e45eaa88b48d27d06618c6b7479bd813eb5f30a2db486590d17645e9c0e06a72dbe12ffd37730707e
+DIST system.reflection.primitives.4.3.0.nupkg 281679 BLAKE2B 36dc0fb5e7a6927ab2f54bc9ccb2e032cce0284c3aa9b83cf2ded8bab5fc7918553b06b16bef69161a7d9a0548b3e9159ab582533578cd28a661225559bd2b1d SHA512 d4b9cc905f5a5cab900206338e889068bf66c18ee863a29d68eff3cde2ccca734112a2a851f2e2e5388a21ec28005fa19317c64d9b23923b05d6344be2e49eaa
+DIST system.reflection.typeextensions.4.1.0.nupkg 187836 BLAKE2B d9cf37002f9c37bd11c43df97fd2e8234993f34c97e9a0606ef28164f1c587cc55ad2f2d66dc62de304ccae90f4d5636d163bbbc86fc00b4bb258a5dc91f4068 SHA512 5b1875ae86f76f60307fbe261c7471e996d4d4eade0c4783cb35a5aad7fec4f01be01cb1f1f78af22d483ecce12096f6ed431d69c4a66c7bf235008bcac30cb7
+DIST system.reflection.typeextensions.4.3.0.nupkg 187842 BLAKE2B 2cec73bd787cc6b4bee793782ff0db98aaced7e7a0645cefb60e6e47d353e1959eed7a48db24e9c7ea6ad7b87648c11c3588d43028c4e0d14c695c38356943a2 SHA512 68ae81a635b9af2aee9fc8fc8fe7da0356ef4da4eb32f81a89fb75613b96714e8f1a1f4c12bd0d335efbb03408cc7a744314837f13564d5fb262ca272055677f
+DIST system.reflection.typeextensions.4.5.1.nupkg 268021 BLAKE2B 0ee3359f23d0544ff5742fc09eff3c7db36471c78c26c69958db7a870955fa754cfc366aa8ac5ebedc7c9039d7d4cbdfbfe74ea0da3fc87537b1d6c35d96f0cb SHA512 a110b82018f8cbb81c63d517c53708bc12e1449ba7b4be827cf59acd39ad638757a17a514baa48d98fadbb4efea766d49f969bc9de707f92efa67cab0d9753b1
+DIST system.resources.resourcemanager.4.0.1.nupkg 85915 BLAKE2B 11b7c350695fee892052fadccc4f24f6cdc9bbdae8e51122115dbdb357f584a6392ad4fc10a4be59c123a018e0ec559f5ba035fe5e5d7fd868f5878c7b00e306 SHA512 5165916e258dd38fa83278fb98dce271a95e0091c1274b8cf5f17d88b9e6284f7a7bf145194afe4f20250cc31ad714141f9e0687cf235ff05460fb47cea0c525
+DIST system.resources.resourcemanager.4.3.0.nupkg 85908 BLAKE2B 002ba25bb953e5a9162214338b50abcecfd8183c68c7b5de8bbc1780e57322b6aa225e13436ffda54b4013fb77540df7428d8c3c89c1a21622ab124d8ca174cd SHA512 9067db28f1c48d08fc52ad40a608f88c14ad9112646741ddaf426fdfe68bed61ab01954b179461e61d187371600c1e6e5c36c788993f5a105a64f5702a6b81d4
+DIST system.runtime.4.1.0.nupkg 7263653 BLAKE2B 0a6699d985304a5072c7c283a42c100cb8f13ae61e95f93463ed57438ef3d7c655c3c4aed43b1d8fed4057933e924ca1e6b9a5987f1328fe4e2e172861572593 SHA512 4b05eb68bb485846707c4fe3393f9616d3ffb6c5f62a121d81142ddf7d0241c931fe96d193b7bf02281a9368458e0764466766557cfa9709035dc76d8fdd7706
+DIST system.runtime.4.3.0.nupkg 7263712 BLAKE2B 6cf2c6704f2a5639bffe2db645fd6ac935e341a5d50f1be97969bfba15e7fd93c94a2ddbb75a3538cefc05142fd72331185ca7ed175141102e8f977649f3bf1f SHA512 92ab2249f08073cfafdc4cfbd7db36d651ad871b8d8ba961006982187de374bf4a30af93f15f73b05af343f7a70cbd484b04d646570587636ae72171eb0714fb
+DIST system.runtime.compilerservices.unsafe.4.5.2.nupkg 104723 BLAKE2B 30ab5b99a60b0a207bb4306ebcd483882af1721025f61a63dc3d654f060a42ec23e3dcac10623665a14e69ade86189ba0138deb199f63fb8f5124c3581e63c90 SHA512 84c91d5b192cca942515707b25a9907a00ec73110040ee051ddfe5c3fce549953d7598008a3eb9c630ab5deaf5f37c2fa0d033262739cf38e3da873dfdd9685a
+DIST system.runtime.extensions.4.1.0.nupkg 1060307 BLAKE2B 5426e4a8e6d9ebaa6c88ca7dc495c120b848602f15f102d3c65105c8a03ee35136d5eb2e04a3eb2452dea96a36af70e42cb7a317e269bf4ef8a1d3a5f33f9784 SHA512 42d009be57d6497aa0724924891289f3decd916d0432c1c865cc0494092f5e59287f632a70c5060b3c78e361ab04510d75dfb3c2d2853f54201f735eb6e2dea6
+DIST system.runtime.extensions.4.3.0.nupkg 1060357 BLAKE2B e58c5c36d42228a507fba876d43f064b872c93dc4a48e9a7475a77c27e00f2added1dbb8dd5d6516a4c5652ef2b01f5fa31aa611360b38a0b66a0b1a2e479699 SHA512 680a32b19c2bd5026f8687aa5382aea4f432b4f032f8bde299facb618c56d57369adef7f7cc8e60ad82ae3c12e5dd50772491363bf8044c778778628a6605bbc
+DIST system.runtime.handles.4.0.1.nupkg 54854 BLAKE2B 396943fd119a2ca9b91d1e8059ec1854ec4eedda6b73699042f8ae761bde1b6dde5f7a92a2066220d4c8f7d872741939ba198cde2154d62ff0350ed867ad0d09 SHA512 966a943195b66118277a340075609676e951216d404478ac55196760f0b7b2bd9314bfbb38051204a1517c53097bd656e588e8ab1ec336ce264957956695848a
+DIST system.runtime.handles.4.3.0.nupkg 54854 BLAKE2B e68360382f2c625e3b1526dddb1d49c6bddc9b78d38041801f0df876f1b06d429c608ff3b28a0c1415495eb38fcd70aafa9fe8dc0bb323790e8a85718a9f93f9 SHA512 0a5baf1dd554bf9e01bcb4ce082cb26ee82b783364feb47cba730faeecd70edc528efad0394dcce11f37d7f9507f8608f15629ebaf051906bfd3513e46af0f11
+DIST system.runtime.interopservices.4.1.0.nupkg 2542509 BLAKE2B 3ecf490aacb98e44dd952301828ab27f5cbe6b2053dfdd745737cfe1d7a847691e13b3a7df558daa2a1747e50e7045145a90f51e26f108fe9826814a0c60b7c0 SHA512 e8511e6a4cd40f3c603df4ffbbf6a4aac4d10be79bcfd0249a9af90d55cf2a02543ad9b82e607a4665d58f28c7ce9bdb0f7f3ff9bc8ded8a252213916a771bd2
+DIST system.runtime.interopservices.4.3.0.nupkg 2597020 BLAKE2B 4753b772f9d3596eae34b10497af40bc6e7cd63e9319e5789378cd148b009ae9fd5bde5e5757954ef06826bd4f4b79a3f8d8ea07766238407f26f3e222cdb2cf SHA512 650799c3e654efbb9ad67157c9c60ce46f288a81597be37ce2a0bf5d4835044065ef3f65b997328cbbbbfb81f4c89b8d7e7d61380880019deee6eb3f963f70d9
+DIST system.runtime.interopservices.runtimeinformation.4.0.0.nupkg 165972 BLAKE2B 0a4e21adbb275fded46ae04ccda695b9fcb29d4f199979b914a55d0cdc4457a6a7dfa8bbd82a5a46048d052a7e852cb935a1d4a7c6bf7e462f7b14327a52dc9d SHA512 462d35e66cbdd21dc007f06c6ef129ab57e810fa0f0416bd2fc6fb7eed55138780d4d31e31ee6267a82e2e3a1607e5c642bd6efeb130b57a1baa87e3141b0080
+DIST system.runtime.interopservices.runtimeinformation.4.3.0.nupkg 179546 BLAKE2B 780a92196ee216c1175768b32c04e88cfbc453bd9fdd6e5645c4ccc98f2c5ad62fd5cb158117df9391b1cdc3130a2cddca49304d2579434597350097960ce013 SHA512 6f4905329a3cc9e62d274c885f275ee31c5af57a6c9fd1a5080d039cb748e0277bef3dc8ce42863cac78365084e00a032279bf3d2b7254a49f3fb1566a29ad1b
+DIST system.runtime.loader.4.0.0.nupkg 47372 BLAKE2B b6f7f4f74a8f36791eea44a32bc40df679a83ff586c92316af37e64a2c212bfec2557b403e3c40f1fce9d0273aaf074cfdf27ad1b9f3adced2fc11e7456a09f4 SHA512 0065abcb02c8d81d79fdd9cbb859e51d61635e6ab54e5d248d668a4c76da27c4fd908c6243c6064ed88c41cf2b52be3d9762637d96bb418d0a2aa972cc0ecd36
+DIST system.runtime.numerics.4.0.1.nupkg 283710 BLAKE2B f5ed3b1296fabe1bae02feed0585c171fa6c040f7ddd234034a36e87053a2a0016784adbf6b8b1d86da4bce7291107830ff8ac55fe3859d47f845c8b6ac93676 SHA512 333a3ba974e80ee66d33a9d8412e0bd585350bd30ecc65ed35e9d7c69284dbb90bc8b8d019c40476f3277049e0c7ae9b05a7d1e27614f057f39a141132304cd4
+DIST system.runtime.numerics.4.3.0.nupkg 283763 BLAKE2B b9e2ffc7e974fb4824ed174be43e664d0fcbe1e996640b8f66a17503c8af24d106e883092fd61b2990c32472423bcad943e07b7e25d126563a219e1b617446ee SHA512 3e347faa8e7ec484d481e53b1c219fe1ce346ae8278a214b4508cf0e233c1627bd9c6c6c7c654e8c1f4143271838ddd9593f63a1043577ad87c40e392af7fd34
+DIST system.security.accesscontrol.4.5.0.nupkg 551848 BLAKE2B ff1d5476ce5f07624d708f53c4e73568ac2dcf9c2a968836e1bee358cf8dbc64b853dc8358c860f792962f5dba6f5422425e1ce4605cb7eb60feb54872c92583 SHA512 e9142d713f93c8380b505b009e699d7d144674b60ac526469123ce774e76b6f605c4e4cc6906fa00d970846a99b4d3b9d8fa2c682a17bbbb9ab459deba303198
+DIST system.security.claims.4.3.0.nupkg 147933 BLAKE2B bd00c65069b23415c146861ba7ba768a0da69f9f0a4496fb1f43780222f899ae62ed35cd0bc5a0953d8b13920800b59414cccad7e6bf6614ee675680c06e27cb SHA512 ab72b90801f6c051a2b31645448eebfca74642b3cfa1d51f80e21a0d0d7ad44d3366dea139347e2852781b7f3bae820df16c3eb188a2c96244df05394ed72c86
+DIST system.security.cryptography.algorithms.4.2.0.nupkg 357563 BLAKE2B ac5ed2bb8ca463a248b7ff84492fb8c2f0eca535d299369948b731f574eab7a62fa0789f4475651c5f9f673316dd098440800d0ee0faf0097cda4df76b96fe77 SHA512 93d1e6394afc506b58bd26a9b3ccd64901bc2d48dbb8825ba1f927c17311cad607e6f8a9794cc41aee83b98eed08a23a7c58390b9b852f894735392342f37a3d
+DIST system.security.cryptography.algorithms.4.3.0.nupkg 402204 BLAKE2B 3bed21fdd12f005b6a7eb225623e71880a37c79cfdaa770971b6563d8e7f613a64617c73deedc2c6c31fd8e908f9ac95903a1004f1376bd914431f89c9dcc8f0 SHA512 7641d70c2ba6f37bf429d5d949bda427f078098c2dcb8924fd79b23bb22c4b956ef14235422d8b1cc5720cbbcc6cfee8943d5ff87ce7abf0d54c5e8bce2aa5e2
+DIST system.security.cryptography.algorithms.4.3.1.nupkg 403068 BLAKE2B 7a432ab9765c767dc3ccd6d4c84f30efa5d76420f3244e1c6915183d2ef0f4629a55f1f0d9f007bae454bac637b6a705caadde1725db1c567ae532c5629daa5c SHA512 34b02b60b69a54e1310b511512e3210a49bfb0584c50f80b59c586d7180ad973e3b5419f7a55783837884395460db3e0db13c8fb27de6d170b8d2dab1c90adcf
+DIST system.security.cryptography.cng.4.2.0.nupkg 289992 BLAKE2B 61250b78551d119e7299ba5b64c2bba94d455fbe26c25919a5da12f66ea1a5976bd3fd7749f91af5f48578a7d2fddaa0d972a6bf375bca1b2adc98a791109f4e SHA512 4ed77501662e6d18733f507077de9d277b61b3d2dacee791e0b3a56c9a604bd2acfb81334c51660ba33bb7a6e24ed46c2da02716f6613a937152ea4806540bf1
+DIST system.security.cryptography.cng.4.3.0.nupkg 290620 BLAKE2B aaa7b495dd7a8884b125f05b62d3e641cfb04e82f8f376f1e1839cdf124de4643dcf1e6de02e0296768db5f430a33d75cd2003261a815059055ffd5f050c65c4 SHA512 6272273414eaa777e78dca1b5ecbbdf65e9659908082aea924df0975e71f4c1b47f85617edf90ead57078c29513a160ca62f123be9f9f339dfb9c9386844f5ea
+DIST system.security.cryptography.csp.4.0.0.nupkg 117365 BLAKE2B 9153851bb878bb339ea2ad715b24d4fc9f17d8b2448985466afefd528fdaca5a18e68da4a686e867cdb9d498df6141367bb2dec005e682f9447817e2ae1d6aa2 SHA512 6f3fb8256086a16ed7fe339e0f09d42a081c4f783b0f8626bb7eec08261532ecf517f6c7a41bfbb8e2b99b8f1c79ef99ef7c724d8719e287fe7981ebe8b6aa8e
+DIST system.security.cryptography.csp.4.3.0.nupkg 117553 BLAKE2B 93f32c719f999c566ac7ebc486854778051ca885632a3ecf5b50af05a700df092a0e13ce08f16c854aee3ef06bc27fc61e6b03f79f3170eeb2bcce7e22d9728f SHA512 43317591747a18f52f683187e09adfe0e03573e6dac430bf3ba13f440cdb1c7bb1f9205369d5f3b2a0f3fdf9604d5ba1e6d94a899a25d2c533e453338578f351
+DIST system.security.cryptography.encoding.4.0.0.nupkg 144164 BLAKE2B 7231fc3c8d9899063cd547273dd50d4b29526d7a6c0dfdb081e9c0ca3af621ad98f98a792fb4a350f0cc737e9fc315820a965bc09760bc8f4333f414e470d929 SHA512 f20d60a5f9affcb49995d1bf27a1c09173ad601147241c4ca504e13324d35f7d6618e8a92d04e174d5d3d9821a03e122fd3b0f8fc1d512d105b6afd73b496c5f
+DIST system.security.cryptography.encoding.4.3.0.nupkg 144382 BLAKE2B 9f8e6a4ce5fe2a4de2be0c827e914a02a257011b508e97e289b9de4657b598fdbba4e64dcf23a29af6e4910af41e62f3b3f0d6a2156ab691e2e00ad76c6499ef SHA512 5c26add23e63542f37506f5fa1f72e8980f03743d529cd8e583d1054b8d8a579fb773fa035a00d9073db84db6be4f47cac340d1ebc6d23dd761dbdbd600075e0
+DIST system.security.cryptography.openssl.4.0.0.nupkg 72038 BLAKE2B bb546c03ca8926bb113f590dbc08f99bad81b9dbdd3a58ad086c34e91f59748587af1323eb38073c0d77a8cd2ade1cbbc919983b93d35c3498438a7322b0127d SHA512 432629e457c7061a7d207fb60597a5a8a806fab8c62574833e509afa3c4ac8fed529dbc7f21d69e16dc9fdd091aaa575191e9fb552eedcf28aaa8b5954d32e9b
+DIST system.security.cryptography.openssl.4.3.0.nupkg 71949 BLAKE2B ec1654bbd09e1244d260d1ddbefcbdeed207816a2719f3bb0f055a7a140d466f186667b1f202e0d1a3eda97f247d2c1776ad6f38f50de58960da5f0dfd2a2d08 SHA512 64530a19489730f873f8c68e6b245135ea260c02d68591880261768358d0145795132ba5ee877741822ff05dcd0c61edca27696ef99e8f9302a21cadf3b1329f
+DIST system.security.cryptography.primitives.4.0.0.nupkg 81324 BLAKE2B fb247eb8938baee8c4a862994e7eb237a0dd5f54a5d3f288ce44a986bac042f4c2397a023f57cd9b05ade5013dbe3187365fc4264a8c4f38bfbcc5cbaa8794cc SHA512 a11562f4fd90ff39c12af2078aa3743e323d8a70fe98cfe3d7e0ec182a2166d353c1ed8d76dd2a9525a80287d7dea228f04982edef6584b89f32f72647b2822f
+DIST system.security.cryptography.primitives.4.3.0.nupkg 81382 BLAKE2B 55bcbe3143e85d24f47c72ec5e1f0ad38a1f931932b3a8a03dc00028668fc085d070dfcded55654e09328a745b208b9f15928aaff1087d8906bad41d7cfb23e0 SHA512 5ad8273f998ebb9cca2f7bd03143d3f6d57b5d560657b26d6f4e78d038010fb30c379a23a27c08730f15c9b66f4ba565a06984ec246dfc79acf1a741b0dd4347
+DIST system.security.cryptography.protecteddata.4.4.0.nupkg 185701 BLAKE2B 8133633dc020cba0b552b7e1e498cda3b4f8578132e83a9fe38bb6f79a5b5ceaa76089440de2f6c7a948e160e9aebed1fca467cd02a9ca09b5e5cdcbf5c8f1c7 SHA512 5b011ec6f05dfb5ef27d8edf712f9f04697e1c00c47c226e29e0c9a814fb0fa8fabcac18bdf2f21aeab6cbf326aca3910ba99b630b61ee48e29ced663e14cbde
+DIST system.security.cryptography.x509certificates.4.1.0.nupkg 702294 BLAKE2B e628b9c28a01eb4551ca5446c70f4621de0ab1f5224a2afe92c19935467ab1ad40eb4170eb044e021bcfc972e579961036b90a3d287667b571735f8a60d01254 SHA512 6171106ffefaea916a72abf17af038e0203b4e779b7bb75f6fe6cec04c6de3316a7ad4eda8fd3ce7dc0bd8375a0f5e45387456499b24ba22224538cf08a0cae6
+DIST system.security.cryptography.x509certificates.4.3.0.nupkg 706727 BLAKE2B 67c777394c982267c08dba232dd75aba6e924784d14388f7f8e347293c8f3a67ef9490a078b3f56f649a1ab352a4c924630f384850e3d5f1510dceae45fd0af1 SHA512 318d86ab5528e2b444ec3e4b9824c1be82bb93db513eab34b238e486f886c4d74310ed82c2110401fe5cd790e4d97f4a023a0b2d5c2e29952d3fd02e42734d00
+DIST system.security.principal.4.3.0.nupkg 94590 BLAKE2B c6fc5d6944a44b3ab125af5d59493aada6e8c73857311b8118adf197b9db3bf77fc8de9f320dcc0d55c6e529106b36307e14baab75766296bf804289de800a26 SHA512 db8a1ed0d189637d9ef83147550ce5da890cf6ec189a7d006ba9de86ab55679e7f025e18bdaed2dc137ddf82a7e6a0131fb4d54d4264831862b1d7c5ee62837e
+DIST system.security.principal.windows.4.3.0.nupkg 220931 BLAKE2B dcf84627ab57c5e72e0f1828b48c6e9bfa2ea2ead7b9c02bff03b9819f4057cb9d4a8821cfd0a98a381f2d7a2471df04041567de970f9d60557923e6e09317aa SHA512 66c1d5a9d649b964e1653fa2cd41d8f80515b7cd727fcd7f0890552070da1099ecd1032560f259a108e0d1d6a6da23fa07bc5c922f426a91f33b667f7c004019
+DIST system.security.principal.windows.4.5.0.nupkg 390138 BLAKE2B f788682d5f771fe9db0d41b11f61717c2f5fc69ee944ee18d1c63344dda45ae9fa4d014729fd0b0c2bbb4b9f5b7895fba391fb6ab7d5e65b6c512ca8fdf48789 SHA512 86cdb3178b4e437578890b6d5672eb9d1fe2f003abac082ed869a9e3f8cd684ffee618995838f6d052bf9bf396dc8b5d8bd5c3bea7f9e56cc7922598b4e49436
+DIST system.text.encoding.4.0.11.nupkg 327286 BLAKE2B ec08fe2bfd3eaedc7a50d823ae424268d1f51f8816d9b3645b4210e10b8cf89e801f5f7d831a565e31cbf795952ee5a6a60a45d6432e0593727f0e0e213818ed SHA512 f974335143f36b318abf040ed535887f28089d749b1fa55056345df5243dfbd56d27b74c6e4d87a737fdbb8e699c5291bd25f1e5db4700bb00bf53330c7e3e9a
+DIST system.text.encoding.4.3.0.nupkg 327281 BLAKE2B e153609b257919932499a013337b8b2a4087ebff7e8ffe6854ad1c70fbd058aaabc4e974313dfb3cf1a9355b0ced87bd97cd39f6a4962b8a4a87003d3a66c53c SHA512 6ff7feec7313a7121f795ec7d376e4b8728c17294219fafdfd4ea078f9df1455b4685f0b3962c3810098e95d68594a8392c0b799d36ec8284cd6fcbd4cfe2c67
+DIST system.text.encoding.codepages.4.3.0.nupkg 1615064 BLAKE2B 302b7bc27ca021fb44608baf1e0a7ff0e19b5b3758fb969b5c41406ed11c22b3f87ae78e970637d169fdbf3e72a94e0ef859ebb8a67593784c55a718c6895e95 SHA512 d6179be2beac0a19aa4bfd3c317ffaa5db0c3ea224a0ba1f0269c0267ad679f76d387d8455ec26c06f3a166ea84af2348597425412d95ccfe352a3ef11123a44
+DIST system.text.encoding.extensions.4.0.11.nupkg 244203 BLAKE2B 957201548c8629ab5111cbbcae3518b7c07bef93ac972b557e4f9f729dfd2519ef4523d5f6ea23b22eb19f93a3b17dbf7f1b6bed105f89b9219d53d8ed1534f7 SHA512 b2ba1f2a96bf14466fb31e4ac1fad25e7032688357340ad8976b8aafe7cbe39c061835a4e17d7cf6ae291d3155f07d3371f6b65ffc1c15474c3c86dbb7735e82
+DIST system.text.encoding.extensions.4.3.0.nupkg 244195 BLAKE2B 9dc2fbf672e07c5302bbb8435e8c09bc91febb96f22b85b57b09b2046fca224c786f8710b634559de2722f3dbece7b30e6a3c6a78e98e77f955d550e440beb60 SHA512 e648c5dc781e35cf00c5cc8e7e42e815b963cf8fb788e8a817f9b53e318b2b42e2f7a556e9c3c64bf2f6a2fd4615f26ab4f0d4eb713a0151e71e0af3fe9c3eed
+DIST system.text.regularexpressions.4.1.0.nupkg 514882 BLAKE2B 864d70cdb65bf87b684561f98d2d5193e2d66015e4cd770ab823a6ba966b3813d75f0ed6aaec82012a3d5f66ef9be182e7773b4c3b94407ab10c9e5dcd9e9f2e SHA512 9b612027e43c33cc256e016e0b400547c5923e93ab6ed1a40d2b97292cb18a1195fa79aba2b0166a6b11842a0fef6685d31b848375daffdf6d2acf297af40bbe
+DIST system.text.regularexpressions.4.3.0.nupkg 530523 BLAKE2B fc77aa0a92658cfac1b3fc00b87fabbec1be5c79776b0b2680775615b273a5a49ff8d5000f97415b85fc0283ff95569ba9a5a72917828455646053033088b49b SHA512 80353c148df30d9a2c03ee10a624d91b64d7ccc3218cb966344cfa70657f0b59c867fed2ab94057f64ab281ad9318353f25c23375c00e1376b6589ae0a70aad3
+DIST system.threading.4.0.11.nupkg 708036 BLAKE2B 6b85f9c80dfddd5faa9799fdd64379c4c066b076596cd0008c46114b91025a20e00cb8b626b6fa5d139af6aeb8a3f6781ca7e55c4f7d147eae2f38e14d7a63c2 SHA512 05c0dd1bbcfcedb6fc6c5f311c41920a4775f8a28a61ca246b6c65ad8afd9b04881d3357880af000ac056fd121fc5c3ec0b56d6fd607e0c27e7a639157c85e3e
+DIST system.threading.4.3.0.nupkg 708088 BLAKE2B 004d01762fad35a4607522d974a0cdc3d0049c82fe704f2f86fb98ee81059ebb56d13c290fcd273d1067a1a7c7f17bf3259d4d7e802c1d09a95e3c5fa29ef3f3 SHA512 97a2751bdce69faaf9c54f834a9fd5c60c7a786faa52f420769828dbc9b5804c1f3721ba1ea945ea1d844835d909810f9e782c9a44d0faaecccb230c4cd95a88
+DIST system.threading.tasks.4.0.11.nupkg 840020 BLAKE2B ec5b6bbd3c912d3552922acd338611baa992dca6bf07b97b391e47b5b41ab718c373551dacffc7b4b67870287e93eb6e70ed184213e800fd9b424bf3e02cd8cb SHA512 fb66c496a5b4c88c5cb6e9d7b7d220e10f2fc0aed181420390f12f8d9986a1bd2829e9f1bf080bb6361cd8b8b4ffc9b622288dfa42124859e1be1e981b5cfa7b
+DIST system.threading.tasks.4.3.0.nupkg 840017 BLAKE2B 1cf4a8cc833da0a38304757db3808df5c217518c817d5807bf6f35393725a31223129fd1c4c964a36a60c65b686d24fc25d1777fa12ee622bddbb0f7c1772bec SHA512 7d488ff82cb20a3b3cef6380f2dae5ea9f7baa66bf75ad711aade1e3301b25993ccf2694e33c847ea5b9bdb90ff34c46fcd8a6ba7d6f95605ba0c124ed7c5d13
+DIST system.threading.tasks.extensions.4.0.0.nupkg 49355 BLAKE2B 898f05110ec79e3518937d10df244782ae19e36a11228b427785f367e1974135836046a6a0445c87b206550c11fd23b6d22b0dd399992ae5ac20b3d5c3060056 SHA512 f294f1a4179f53d59f91f01a372cc7896bf8c322e9827299cb1aa3ae2b1f809e98034834f5ccd4cb3fa1c30735082d244fff6584dab6e8870ad409b55e8a4986
+DIST system.threading.tasks.extensions.4.3.0.nupkg 52499 BLAKE2B 3e6532ad1936859e2713e2e864831efe0af00a5ce561bd7f8723845bf285b8c15de00cb1fc246504f99599d183b400746cea987db883f0e61283db1fb2725a1e SHA512 2c33900ff7f544d6db31ad11b6baee1c9ecb40d5a54f51e5dd5bbbb37f4c50ee35ed481615cbf7c1da61a31ae3333c4454bfbeee4ae32241789e72ce3f910db6
+DIST system.threading.tasks.extensions.4.5.2.nupkg 87298 BLAKE2B a94766dbafe79b031dff04ce899e24c2e76e665b35560d4b8d5cd03af876d351ae87205c51315ce9a1910bbc9103f05c334e8b54b518df9dee2bc4cce0e5453f SHA512 e470aef15dd007e828b8c6661ab03aebac1e67451046df8e4c3d7aad21371f286ee10865bf191fe274cf23418bcb9dacd2bc608bb0bcb766b2140cf0ed42b5a2
+DIST system.threading.tasks.parallel.4.3.0.nupkg 176896 BLAKE2B b3052582b96170f58148c4a4b0eb9a4d0a2c811f6d0b9888d9a8efdf3ed006607647b5e7093dd8b26f8493718f1b216dc9de683d478b3b2b5d6ee00ce842c643 SHA512 460eec2492b2cc8fc8fefa64ff148d77aae2da157caab25d03023cd6e2064cd8ec2ab3f68fd722fbe8a8dc1e05e775d2aecd789a0fc5d48fe2ae59921ed5a12a
+DIST system.threading.thread.4.3.0.nupkg 98902 BLAKE2B 2b80e5bdf32b1ee3f4abffaf8e2c23bec55277b50d33df6b61e6d3a83fe970e722af6b82be56d47f64dc5fcc33c9291c230d545608110a3e100e21f7801dbf80 SHA512 cfe12b6a60e79e2f7fca779a511153d5b0dcae59ea1b11606f6327dbf8b3c565e2551e8ecada558e62dd3b684b5c9d676575025048edfbd3988faf7f7235a5fe
+DIST system.threading.threadpool.4.3.0.nupkg 89926 BLAKE2B ec4210a5862c0704b118e4055785c7094ff8c3586800fcae109fa60e77565d8288089c64bce105e9cab08f8bb107dca340e72ae1d39d19f6118538ed32f449d6 SHA512 450a40f94a48e9396979e764e494ad624d8333f3378b91ea69b23fc836df8f5c43bbd6c8cfd91da2ab95a476e1ff042338968e09b720447f2241c014bfc75159
+DIST system.threading.timer.4.0.1.nupkg 77056 BLAKE2B 6ba72241aaf4d35e499421f1beca01066f918a3b1ad587538b36ba8a29bb0ed80ae510660ce598a4b8f4575b0028f339e7a8d24c2138eb711a5b0585bc07072c SHA512 6aa43dc5b3914050850b8ddafcc2256e60670d51c0f1b38b0d26d80f36e76cf5b40d6053bf92b4abecce5f786de5b13daa70eddf541865509c7a73fe3785de4b
+DIST system.threading.timer.4.3.0.nupkg 77054 BLAKE2B be1665b86776f2f7e780de889e363a3c10da581eaf9a414da5ae5d059564281d78691142281d31b48c47b9efc084f1826165763097273f77e58699742c8c93da SHA512 d5ce8e258b7be7be268f944e21621195948106f57e6c46e69b2887c46f567760368b14e84046b4be4466ecd08ecd4cb04016a2ff7948cb4640960befc7aa1739
+DIST system.valuetuple.4.5.0.nupkg 204904 BLAKE2B effebc14eba236b1b5c4dbbab544781867b66418fb293ecb1a71c42daeeacd4327c3cb6f988742a038fb978c2d23546485e3c29ca7afc41c5e2425013c29e842 SHA512 fa00ebb5045d12c51274f64411c551981beceb1266a8606a4731063109b95ea1f15939197bf3d2ba899db61e593dc39bfce876908bba34286823525093ae3d8e
+DIST system.xml.readerwriter.4.0.11.nupkg 1363068 BLAKE2B b151c0560022d796720ce342c6c47189d5cb5d292bdc62eb0439deb87b05e80d9c57cb38267a9e153e0d4513e8edf503d88926e9956eba118b5d00d488e2fc78 SHA512 d40d6e9d55e57acdf04132bcb8ae8abf1abb3483620cde969c78c6c393a9936abf742c1dcf66288e6e9dffcb399a880ee3c11540ac140cb32e20b41365aaf35e
+DIST system.xml.readerwriter.4.3.0.nupkg 1388897 BLAKE2B ae51b8fe4492dec1e4e3584d05b0f477fd4e75e79dddb46d8077ae5311245d6fc6213d0655025f25db56f1370cb0e88bd60a83dc937bb53db1db0262390281f2 SHA512 991101497fbd39e43fc306ca280a465318868afa8db1f34bb87c266fe61f0c81a0ec34a797b236ee823bd60d1149b7592def96fe044abb511858efffe890c2e6
+DIST system.xml.xdocument.4.0.11.nupkg 591353 BLAKE2B 8373fa19c6aafbe6e347db7bb1ec304dd8ce77df415acf0c3ee04ea2dcfce050f59d6e72cdeb14c4e54d29c1c07fc9eb0ef8045fb09830b48fb1a8e90dcb09a8 SHA512 f8ae902901963f2636f39c0652d82daa9df3fb3e3d5a60493c39f6cf01ed07c7d57f175a2d2895f4a872d4e92527e5131522218d1a67da2fd491e162273a8527
+DIST system.xml.xdocument.4.3.0.nupkg 591350 BLAKE2B 86f910cef36c056f4a9ea9dc26eea6e01070467d27ac80fb8a0af5e1a572ad5d2169e4f1297cd362fddc9e0309458dbd413fca85ef8e56f97781c218e594604a SHA512 c2d9236a696daf23a29b530b9aa510fb813041685a1bb9a95845a51e61d870a0615e988b150f5be0d0896ef94b123e97f96c8a43ee815cf5b9897593986b1113
+DIST system.xml.xmldocument.4.3.0.nupkg 285212 BLAKE2B 0d96ca356543e8e915597e0624dca42f0c7032a2ae9e380a6fba3fbee0dacb9e5f06017893b2b7a8b937dbb4de7d5665fa6648e3bf8df12e0d34e4075c125109 SHA512 22251b3f16de9aa06e091b24baea1b8c95752f0d22266faf34e1fb76b347b23f7910cdaf567058e23d06b7079961090ca70805070a2491add5da4d0271afd133
+DIST system.xml.xpath.4.3.0.nupkg 250182 BLAKE2B 8a4177d47af56bc7a6289ed8f2cac41d504dee212a858ed221277b3f523b1ce38ccb47bc3ce4d59a2c7cfd77f00f3c9693a9c257c90adb38096ee77a860f10cc SHA512 2bd0979a2020579fb32ad374b89929a272e763ee1233ed9a215408c0a1f9f82a5fdb74330c1c55a6102e0dfdb8b7b59ed25fdf6454bf3de146152ea779f366e0
+DIST system.xml.xpath.xdocument.4.3.0.nupkg 89906 BLAKE2B b15b21497207c788ab23bb4f80af85044770087b25623285da5081989dc1608730a1b5040e32b7c080b98ed790b010237a6e295351d5ec27ef66e0b21ed405a0 SHA512 06ac9786b2f20b1336f3f56a3c97536907d033f1a9b9ec07267192f60ed51732924aa366f481e862f1f63d75fabdc5de51b445c5cb6c36f1fb89690a29b6e1e8
+DIST xunit.2.4.2.nupkg 25547 BLAKE2B bc9bc5049e9feaa9b658ff11ad3ed277c43089b5c341768425d401b98f5ca212d3f3828232a58716f7ea75e39007fb8ee04498208afed60d28e91ecfff31f1d6 SHA512 f57b8d3bbd04cc285c7913b5697a1b00cf0d6f2c70e35a592d61c8c866d79f3f6a913fa933b39224484bba439e6eee0ab917bf66cd19cbcb1dc3731437556c48
+DIST xunit.abstractions.2.0.3.nupkg 75155 BLAKE2B 8cfecf557dbe20e0e14b1d8b413acd7516b6538cb543a12708910311fa76b7dcd9d060c7be70a05b0af5ef3b8bd5f819104025afe9796e240c28fcae1c7460c1 SHA512 3ca26b8b97f4a8440f16f818e82651f571bc2513a5592742fd960b9240d0b880fef84827fb25a307e61fe7b019f14e864653fbcf7dee0d0e3faf90593deaf624
+DIST xunit.analyzers.1.0.0.nupkg 146928 BLAKE2B 942ce8bbd0ec670211e59c53f7128491917ff8d3343eaffe27a910179852f388ab92594a733ed5875516bd0821a73c87aa8da68518aaf5ce35212f4e6f740ccc SHA512 d3a58d37646082414d0954088d285068aef43c7992bdbdeccbb4f84e5850dbaafccd3275468031b51041a7a1a82a990a86e4fdeb5169684b878fd169b7fbbf73
+DIST xunit.assert.2.4.2.nupkg 93738 BLAKE2B 90e40be8ced67f45d68ef7e005e512120eb874bf28484927c7ed1ceda1ed7ce4e473f1081471dfeba398bbb44bd70b56bbdb0f366af8299f6a7efbf4433dc127 SHA512 ad6e6a723156d85bdc2cf58ca3e3bdca9632def2a231bda31e68358585434462e1f04675cd3801354074562880393645facfab40e50fa21112089275215bac4e
+DIST xunit.core.2.4.2.nupkg 27470 BLAKE2B fbadd7d1f585d7bff46e26d5b3c8ac578852beaaded11b5b7436528d43bbd4f9706713e9b21d42ba525459169be16e64a410a4f2c14d665eb065d1f7fd718597 SHA512 d83b2d0ab6f662dd9280b2fb2e3627f00e23c6968441cb371c1a4eca48e1a73115130796a87321f911e5e4597e4c6fce9a806a1cebbebecfcbda08001110c737
+DIST xunit.extensibility.core.2.4.2.nupkg 277418 BLAKE2B 17b4832e1394fd8ed822f7050b7d50ac3a7c3619f1e7e82796ef96426555a402c34064118a5f30ed3d49615ef4f344337711de9172a60b5fa5bc0cad12ed8189 SHA512 c8376e94345e381336dece119caaff3d18fd34743413a7fb54d4589e4c0c2119cc5a9b580c6858e1caa3f098a6888db6c4bd418be3d7f0def8d0a188a4d16ebf
+DIST xunit.extensibility.execution.2.4.2.nupkg 353652 BLAKE2B f10e20d43b8030f51c9598afe247f46c0630fff6ad5e1cb82105182cac11b410c0c41c19fd513c5a3a59183ca45e1046af3289d670e0329a424ed7cb4a81735a SHA512 e654fcf8767427d5370746cab7f2078fddaf2239c9b312114bd68f1d91f739acef8586697e44c41442ace3a3d140591bd8ddeae81b3079f6719b3740757cc90d
+DIST xunit.runner.console.2.4.2.nupkg 2867789 BLAKE2B 9978c305d8393ecbb521e53e81b5a8fdec365525b265a0a6f27c42aa4c29cbed610d19b12390ea3be8ffcb8a561473cdc2360cca7f618b81a2419f1dda85c3e9 SHA512 c0cf324c3d5f6dad1e86067cf67286b95342ecf4ffddd1ffe0121271838138c4689e016767d0f50327e761f2c146104b37dc83cc83886686f51c86d137fe3d1d
+DIST xunit.runner.reporters.2.4.2.nupkg 204950 BLAKE2B 425ea84bbc9d6429253fdfdbc0c47440641cd2c5ff31fa57cddd1c39de88542cca04fc9ea90aaa59a9f02136896ab6ac2339a480f8a19c4e4182bf1579413963 SHA512 cdc3beafb066f084d1d0d59f391afeb60654a2e7ff63a3c8dd6d6477630c04489e089e231aba1c6f22ac0a83af32016c4e9a16355bca0093205155d488c73fcd
+DIST xunit.runner.utility.2.4.2.nupkg 896413 BLAKE2B 7c6ea264f3b5e17784e0b11103cccad9e5e58098d5860ad24d8651d2a56b9d0da11ec493cb25150519d9a97c88c9b4b556fa14086897b21c2486bba575b5fbc2 SHA512 152808e992789345d9d831de1c408d74c392ff5b99e98b4c9822f0c3129f320d3e648a261f19e16d95feb4f1de6e206f83b7994d2299fbb9723760c1cd9b6e0a
+DIST xunit.runner.visualstudio.2.4.5.nupkg 884245 BLAKE2B 7137fac4dd6dc1fddb01c6e88001c8a3796eeb6e65802f85ec72d98ad4aa1fff87d2d3f3601028de95a76ce8fe86aa845c26d7aa3fc9c9e3c5732b1517f5ba83 SHA512 6a1900b0364948ea20ef4326297448a011f37603c16e0d63e7fda3bc1a914ae4a8a39c44dae488da4986f21e85650c1b670b608fb67ff5ae8afe44f47af8d6e2
diff --git a/dev-db/litedb/litedb-5.0.17-r2.ebuild b/dev-db/litedb/litedb-5.0.17-r2.ebuild
new file mode 100644
index 000000000000..c80809087ccb
--- /dev/null
+++ b/dev-db/litedb/litedb-5.0.17-r2.ebuild
@@ -0,0 +1,273 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=LiteDB
+
+DOTNET_PKG_COMPAT=7.0
+NUGETS="
+benchmarkdotnet.annotations@0.12.0
+benchmarkdotnet@0.12.0
+commandlineparser@2.4.3
+fluentassertions@5.10.2
+microsoft.codeanalysis.analyzers@2.6.1
+microsoft.codeanalysis.common@2.10.0
+microsoft.codeanalysis.csharp@2.10.0
+microsoft.codecoverage@17.4.1
+microsoft.dotnet.platformabstractions@2.1.0
+microsoft.net.test.sdk@17.4.1
+microsoft.netcore.platforms@1.0.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.platforms@2.0.0
+microsoft.netcore.targets@1.0.1
+microsoft.netcore.targets@1.1.0
+microsoft.netframework.referenceassemblies.net45@1.0.3
+microsoft.netframework.referenceassemblies.net472@1.0.3
+microsoft.netframework.referenceassemblies@1.0.3
+microsoft.testplatform.objectmodel@17.4.1
+microsoft.testplatform.testhost@17.4.1
+microsoft.win32.primitives@4.0.1
+microsoft.win32.primitives@4.3.0
+microsoft.win32.registry@4.5.0
+netstandard.library@1.6.0
+netstandard.library@1.6.1
+netstandard.library@2.0.3
+newtonsoft.json@13.0.1
+nuget.frameworks@5.11.0
+runtime.any.system.collections@4.3.0
+runtime.any.system.diagnostics.tools@4.3.0
+runtime.any.system.diagnostics.tracing@4.3.0
+runtime.any.system.globalization.calendars@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection.extensions@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.text.encoding.extensions@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.any.system.threading.timer@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.io.compression@4.1.0
+runtime.native.system.io.compression@4.3.0
+runtime.native.system.net.http@4.0.1
+runtime.native.system.net.http@4.3.0
+runtime.native.system.security.cryptography.apple@4.3.0
+runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.security.cryptography@4.0.0
+runtime.native.system@4.0.0
+runtime.native.system@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.unix.microsoft.win32.primitives@4.3.0
+runtime.unix.system.console@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@4.3.0
+runtime.unix.system.net.primitives@4.3.0
+runtime.unix.system.net.sockets@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+system.appcontext@4.1.0
+system.appcontext@4.3.0
+system.buffers@4.0.0
+system.buffers@4.3.0
+system.codedom@4.5.0
+system.collections.concurrent@4.0.12
+system.collections.concurrent@4.3.0
+system.collections.immutable@1.5.0
+system.collections@4.0.11
+system.collections@4.3.0
+system.configuration.configurationmanager@4.4.0
+system.console@4.0.0
+system.console@4.3.0
+system.diagnostics.debug@4.0.11
+system.diagnostics.debug@4.3.0
+system.diagnostics.diagnosticsource@4.0.0
+system.diagnostics.diagnosticsource@4.3.0
+system.diagnostics.fileversioninfo@4.3.0
+system.diagnostics.stacktrace@4.3.0
+system.diagnostics.tools@4.0.1
+system.diagnostics.tools@4.3.0
+system.diagnostics.tracing@4.1.0
+system.diagnostics.tracing@4.3.0
+system.dynamic.runtime@4.3.0
+system.globalization.calendars@4.0.1
+system.globalization.calendars@4.3.0
+system.globalization.extensions@4.0.1
+system.globalization.extensions@4.3.0
+system.globalization@4.0.11
+system.globalization@4.3.0
+system.io.compression.zipfile@4.0.1
+system.io.compression.zipfile@4.3.0
+system.io.compression@4.1.0
+system.io.compression@4.3.0
+system.io.filesystem.primitives@4.0.1
+system.io.filesystem.primitives@4.3.0
+system.io.filesystem@4.0.1
+system.io.filesystem@4.3.0
+system.io@4.1.0
+system.io@4.3.0
+system.linq.expressions@4.1.0
+system.linq.expressions@4.3.0
+system.linq@4.1.0
+system.linq@4.3.0
+system.management@4.5.0
+system.net.http@4.1.0
+system.net.http@4.3.0
+system.net.nameresolution@4.3.0
+system.net.primitives@4.0.11
+system.net.primitives@4.3.0
+system.net.sockets@4.1.0
+system.net.sockets@4.3.0
+system.objectmodel@4.0.12
+system.objectmodel@4.3.0
+system.private.uri@4.3.0
+system.reflection.emit.ilgeneration@4.0.1
+system.reflection.emit.ilgeneration@4.3.0
+system.reflection.emit.lightweight@4.0.1
+system.reflection.emit.lightweight@4.3.0
+system.reflection.emit@4.0.1
+system.reflection.emit@4.3.0
+system.reflection.extensions@4.0.1
+system.reflection.extensions@4.3.0
+system.reflection.metadata@1.6.0
+system.reflection.primitives@4.0.1
+system.reflection.primitives@4.3.0
+system.reflection.typeextensions@4.1.0
+system.reflection.typeextensions@4.3.0
+system.reflection.typeextensions@4.5.1
+system.reflection@4.1.0
+system.reflection@4.3.0
+system.resources.resourcemanager@4.0.1
+system.resources.resourcemanager@4.3.0
+system.runtime.compilerservices.unsafe@4.5.2
+system.runtime.extensions@4.1.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.0.1
+system.runtime.handles@4.3.0
+system.runtime.interopservices.runtimeinformation@4.0.0
+system.runtime.interopservices.runtimeinformation@4.3.0
+system.runtime.interopservices@4.1.0
+system.runtime.interopservices@4.3.0
+system.runtime.loader@4.0.0
+system.runtime.numerics@4.0.1
+system.runtime.numerics@4.3.0
+system.runtime@4.1.0
+system.runtime@4.3.0
+system.security.accesscontrol@4.5.0
+system.security.claims@4.3.0
+system.security.cryptography.algorithms@4.2.0
+system.security.cryptography.algorithms@4.3.0
+system.security.cryptography.algorithms@4.3.1
+system.security.cryptography.cng@4.2.0
+system.security.cryptography.cng@4.3.0
+system.security.cryptography.csp@4.0.0
+system.security.cryptography.csp@4.3.0
+system.security.cryptography.encoding@4.0.0
+system.security.cryptography.encoding@4.3.0
+system.security.cryptography.openssl@4.0.0
+system.security.cryptography.openssl@4.3.0
+system.security.cryptography.primitives@4.0.0
+system.security.cryptography.primitives@4.3.0
+system.security.cryptography.protecteddata@4.4.0
+system.security.cryptography.x509certificates@4.1.0
+system.security.cryptography.x509certificates@4.3.0
+system.security.principal.windows@4.3.0
+system.security.principal.windows@4.5.0
+system.security.principal@4.3.0
+system.text.encoding.codepages@4.3.0
+system.text.encoding.extensions@4.0.11
+system.text.encoding.extensions@4.3.0
+system.text.encoding@4.0.11
+system.text.encoding@4.3.0
+system.text.regularexpressions@4.1.0
+system.text.regularexpressions@4.3.0
+system.threading.tasks.extensions@4.0.0
+system.threading.tasks.extensions@4.3.0
+system.threading.tasks.extensions@4.5.2
+system.threading.tasks.parallel@4.3.0
+system.threading.tasks@4.0.11
+system.threading.tasks@4.3.0
+system.threading.thread@4.3.0
+system.threading.threadpool@4.3.0
+system.threading.timer@4.0.1
+system.threading.timer@4.3.0
+system.threading@4.0.11
+system.threading@4.3.0
+system.valuetuple@4.5.0
+system.xml.readerwriter@4.0.11
+system.xml.readerwriter@4.3.0
+system.xml.xdocument@4.0.11
+system.xml.xdocument@4.3.0
+system.xml.xmldocument@4.3.0
+system.xml.xpath.xdocument@4.3.0
+system.xml.xpath@4.3.0
+xunit.abstractions@2.0.3
+xunit.analyzers@1.0.0
+xunit.assert@2.4.2
+xunit.core@2.4.2
+xunit.extensibility.core@2.4.2
+xunit.extensibility.execution@2.4.2
+xunit.runner.console@2.4.2
+xunit.runner.reporters@2.4.2
+xunit.runner.utility@2.4.2
+xunit.runner.visualstudio@2.4.5
+xunit@2.4.2
+"
+
+inherit check-reqs dotnet-pkg
+
+DESCRIPTION=".NET NoSQL Document Store in a single data file"
+HOMEPAGE="http://www.litedb.org/
+ https://github.com/mbdavid/LiteDB/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/mbdavid/${MY_PN}.git"
+else
+ SRC_URI="https://github.com/mbdavid/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+
+ KEYWORDS="~amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+CHECKREQS_DISK_BUILD="2G"
+DOTNET_PKG_PROJECTS=( LiteDB.Shell/LiteDB.Shell.csproj )
+DOTNET_PKG_RESTORE_EXTRA_ARGS=(
+ -p:TargetFramework="net${DOTNET_PKG_COMPAT}"
+ -p:TargetFrameworks="net${DOTNET_PKG_COMPAT}"
+)
+DOTNET_PKG_BUILD_EXTRA_ARGS=( "${DOTNET_PKG_RESTORE_EXTRA_ARGS[@]}" )
+DOTNET_PKG_TEST_EXTRA_ARGS=( "${DOTNET_PKG_RESTORE_EXTRA_ARGS[@]}" )
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_install() {
+ dotnet-pkg-base_install
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/LiteDB.Shell" "${PN}-shell"
+
+ einstalldocs
+}
diff --git a/dev-db/litedb/metadata.xml b/dev-db/litedb/metadata.xml
new file mode 100644
index 000000000000..7976c709a510
--- /dev/null
+++ b/dev-db/litedb/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dotnet@gentoo.org</email>
+ <name>Gentoo Dotnet Project</name>
+ </maintainer>
+ <longdescription>
+ LiteDB is a serverless database delivered in a single small DLL fully
+ written in .NET C# managed code.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/mbdavid/LiteDB/issues/</bugs-to>
+ <remote-id type="github">mbdavid/LiteDB</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/lmdb++/Manifest b/dev-db/lmdb++/Manifest
index 3fe4301e3c50..01c14d23350a 100644
--- a/dev-db/lmdb++/Manifest
+++ b/dev-db/lmdb++/Manifest
@@ -1,2 +1,2 @@
-DIST lmdbxx-0.9.14.0.tar.gz 14732 BLAKE2B c6c1217dc7bd56051152cba594b7aa571a055e5c155f777639569abbe38360f808dcd2858ca124db97e37147aa4e90df68fd1a8d23137b5e6663df0c2f0a84be SHA512 8eff8c89e0cb9989d8a0cedfd483856aeb2fcf810d59cf8afca3086034711ff22f2bb88ba967ef745d36fdaa1b5e79fb75655af764cddcdb2ac59fc255da670d
+DIST lmdbxx-0.9.14.0.tar.xz 13404 BLAKE2B 6832ca8424e2a7ee180f592b0ef57ace3373ead94c7acbbcfb632f75013bba8ebb8e82fc2335729344d21f7cd6b564d85579d6104b5f41052472ac892a350fba SHA512 b591c7e1189a035c703d336d3083d07b998c37743f4f2c35dfe003a7cbe239ca840cfd43b9d84b87ee7c48bbe06defe54d37c8ba85ecf1e73aadfe6deac26868
DIST lmdbxx-1.0.0.tar.gz 52441 BLAKE2B 203173132a9c84c2d6a53799f8acc92dac5bd075b69f7b25e8eee3341933ccdd868eb190cef07371469856e32fc42215c5395db61f141863f60a5d0a2b888790 SHA512 54f6c4863273b4de8aed6bc19f353c7a66d8ae633198e9784c55cea8e54460e4030ebe45e91a7c820aade084933f21cd4193ef8c04bb2aef11bf252281404171
diff --git a/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild b/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild
index 72646bad27e1..7cfd95b57c00 100644
--- a/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild
+++ b/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,12 +8,11 @@ S="${WORKDIR}/${MY_P}"
DESCRIPTION="C++11 wrapper for the LMDB database library"
HOMEPAGE="http://lmdbxx.sourceforge.net/"
-SRC_URI="mirror://sourceforge/lmdbxx/${PV}/${MY_P}.tar.gz"
+SRC_URI="mirror://sourceforge/lmdbxx/${PV}/${MY_P}.tar.xz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
RDEPEND="dev-db/lmdb"
diff --git a/dev-db/lmdb++/lmdb++-1.0.0-r1.ebuild b/dev-db/lmdb++/lmdb++-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..a21ac43356ba
--- /dev/null
+++ b/dev-db/lmdb++/lmdb++-1.0.0-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${P/lmdb++/lmdbxx}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="C++11 wrapper for the LMDB database library"
+HOMEPAGE="https://github.com/hoytech/lmdbxx"
+SRC_URI="https://github.com/hoytech/lmdbxx/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-db/lmdb"
+
+src_install() {
+ emake PREFIX="${D}/usr" install
+ dodoc AUTHORS CREDITS INSTALL README.md TODO UNLICENSE
+}
+
+src_test() {
+ emake CXXFLAGS="-g -std=c++17 ${CXXFLAGS}" LDFLAGS="${LDFLAGS}" check
+}
diff --git a/dev-db/lmdb++/metadata.xml b/dev-db/lmdb++/metadata.xml
index 282df1f9a7b0..727af7ea901b 100644
--- a/dev-db/lmdb++/metadata.xml
+++ b/dev-db/lmdb++/metadata.xml
@@ -12,5 +12,6 @@
</longdescription>
<upstream>
<remote-id type="github">hoytech/lmdbxx</remote-id>
+ <remote-id type="sourceforge">lmdbxx</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/lmdb/Manifest b/dev-db/lmdb/Manifest
index ccab97d2dad3..8b9290f5a694 100644
--- a/dev-db/lmdb/Manifest
+++ b/dev-db/lmdb/Manifest
@@ -1,2 +1 @@
-DIST openldap-LMDB_0.9.28.tar.gz 144520 BLAKE2B 3466da1ffde7350056fb3b16fc0068d78139c578fdf79cd6456ca0d98e2d7b3d899849ae42a7224335a4680e52b5f0feb2c4233eaf00ee3d9ee648ae10c3114a SHA512 0cdf9a2ce35617a3135cde96491fbbb73be9362de2b94d23eda44b65ce48362ff9dbdfe921c3255ed486aceb385fcb62b81f560b1037476f4741291b29ba0dce
-DIST openldap-LMDB_0.9.29.tar.gz 144545 BLAKE2B b7e55e4fa03e878a95b8f7c583684727a81d51a3acf2ec064d8fe26475bf9ffe4dddf16c2bccbda901b94b7c8d57f41fa63f7c09bcab46401bd000958a5b87b3 SHA512 b41ba5b139375d23617a79f4d322399df55745c5a4a63159ddbe0f1ded4707f0eb7f71acf3d1a4928f8fcab30a7b5db17e3e165441a61ec1dbd29f8d9efa65d1
+DIST openldap-LMDB_0.9.31.tar.gz 145086 BLAKE2B 8df437c27cb9d40b71a8e9f516c503676dade2342c9d618dcfff6081bf0034f67d1216a6a25a364e7dacd588acb2e254b98486efade12307fa3ad7977be5ed54 SHA512 318aa89b7e39f98f636dba01620f866ddc255d81a2d4def8a9d9fdd80878608db1ac7b60bde58e954aba802d94df42786a9cd00d0c7e11646f09fd5d64821ac4
diff --git a/dev-db/lmdb/files/lmdb-fix-cursor-delete.patch b/dev-db/lmdb/files/lmdb-fix-cursor-delete.patch
deleted file mode 100644
index fd76be1bb796..000000000000
--- a/dev-db/lmdb/files/lmdb-fix-cursor-delete.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 40585b483976d9062e6c971df285f911512ecd5e Mon Sep 17 00:00:00 2001
-From: Howard Chu <hyc@openldap.org>
-Date: Tue, 9 Feb 2021 23:38:06 +0000
-Subject: [PATCH] ITS#9461 refix ITS#9376
-
-Was setting C_DEL flag gratuitously
----
- libraries/liblmdb/mdb.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
-index 621cbcfa..e6cae8ed 100644
---- a/mdb.c
-+++ b/mdb.c
-@@ -8527,10 +8527,10 @@ mdb_cursor_del0(MDB_cursor *mc)
- }
- m3->mc_xcursor->mx_cursor.mc_flags |= C_DEL;
- }
-- m3->mc_flags |= C_DEL;
- }
- }
- }
-+ m3->mc_flags |= C_DEL;
-
- fail:
- if (rc)
-From f9c5b46651c4ecd699643c4d90bb3ab7725a6167 Mon Sep 17 00:00:00 2001
-From: Howard Chu <hyc@openldap.org>
-Date: Thu, 11 Feb 2021 11:34:57 +0000
-Subject: [PATCH] ITS#9461 fix typo
-
----
- libraries/liblmdb/mdb.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
-index e6cae8ed..4062664b 100644
---- a/mdb.c
-+++ b/mdb.c
-@@ -8530,7 +8530,7 @@ mdb_cursor_del0(MDB_cursor *mc)
- }
- }
- }
-- m3->mc_flags |= C_DEL;
-+ mc->mc_flags |= C_DEL;
-
- fail:
- if (rc)
diff --git a/dev-db/lmdb/lmdb-0.9.28.ebuild b/dev-db/lmdb/lmdb-0.9.28.ebuild
deleted file mode 100644
index bf4b645a50cb..000000000000
--- a/dev-db/lmdb/lmdb-0.9.28.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic multilib-minimal toolchain-funcs
-
-MY_P="${PN^^}_${PV}"
-
-DESCRIPTION="An ultra-fast, ultra-compact key-value embedded data store"
-HOMEPAGE="https://symas.com/lmdb/technical/"
-SRC_URI="https://git.openldap.org/openldap/openldap/-/archive/${MY_P}/openldap-${MY_P}.tar.gz"
-
-LICENSE="OPENLDAP"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND=""
-
-S="${WORKDIR}/openldap-${MY_P}/libraries/liblmdb"
-
-PATCHES=(
- "${FILESDIR}/${PN}-fix-cursor-delete.patch"
-)
-
-src_prepare() {
- default
- if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -lt 10 ]] ; then
- # posix_memalign isn't available before 10.6, but on OSX
- # malloc is always aligned for any addressable type
- sed -i -e '/(__APPLE__)/a#define HAVE_MEMALIGN 1\n#define memalign(X,Y) malloc(X)' mdb.c || die
- fi
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local soname="-Wl,-soname,liblmdb$(get_libname 0)"
- if [[ ${CHOST} == *-darwin* ]] ; then
- soname="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/liblmdb$(get_libname 0)"
- replace-flags -O[123456789] -O1
- fi
- sed -i -e "s!^CC.*!CC = $(tc-getCC)!" \
- -e "s!^CFLAGS.*!CFLAGS = ${CFLAGS}!" \
- -e "s!^AR.*!AR = $(tc-getAR)!" \
- -e "s!^SOEXT.*!SOEXT = $(get_libname)!" \
- -e "/^prefix/s!/usr/local!${EPREFIX}/usr!" \
- -e "/^libdir/s!lib\$!$(get_libdir)!" \
- -e "s!shared!shared ${soname}!" \
- "Makefile" || die
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # fdatasync lives in -lrt on Solaris 10
- [[ ${CHOST#*-solaris2.} -le 10 ]] && append-ldflags -lrt
- fi
-}
-
-multilib_src_compile() {
- emake LDLIBS+=" -pthread"
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- mv "${ED}"/usr/$(get_libdir)/liblmdb$(get_libname) \
- "${ED}"/usr/$(get_libdir)/liblmdb$(get_libname 0) || die
- dosym liblmdb$(get_libname 0) /usr/$(get_libdir)/liblmdb$(get_libname)
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins "${FILESDIR}/lmdb.pc"
- sed -i -e "s!@PACKAGE_VERSION@!${PV}!" \
- -e "s!@prefix@!${EPREFIX}/usr!g" \
- -e "s!@libdir@!$(get_libdir)!" \
- "${ED}"/usr/$(get_libdir)/pkgconfig/lmdb.pc || die
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/liblmdb.a || die
- fi
-}
diff --git a/dev-db/lmdb/lmdb-0.9.29.ebuild b/dev-db/lmdb/lmdb-0.9.31.ebuild
index b4031a6ac0a5..423945a76b08 100644
--- a/dev-db/lmdb/lmdb-0.9.29.ebuild
+++ b/dev-db/lmdb/lmdb-0.9.31.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit flag-o-matic multilib-minimal toolchain-funcs
+EAPI=8
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs
MY_P="${PN^^}_${PV}"
@@ -12,12 +12,9 @@ SRC_URI="https://git.openldap.org/openldap/openldap/-/archive/${MY_P}/openldap-$
LICENSE="OPENLDAP"
SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
-DEPEND=""
-RDEPEND=""
-
S="${WORKDIR}/openldap-${MY_P}/libraries/liblmdb"
src_prepare() {
@@ -44,11 +41,6 @@ multilib_src_configure() {
-e "/^libdir/s!lib\$!$(get_libdir)!" \
-e "s!shared!shared ${soname}!" \
"Makefile" || die
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # fdatasync lives in -lrt on Solaris 10
- [[ ${CHOST#*-solaris2.} -le 10 ]] && append-ldflags -lrt
- fi
}
multilib_src_compile() {
diff --git a/dev-db/m17n-db/m17n-db-1.8.0.ebuild b/dev-db/m17n-db/m17n-db-1.8.0.ebuild
index 4265d7a91b07..7342e3737171 100644
--- a/dev-db/m17n-db/m17n-db-1.8.0.ebuild
+++ b/dev-db/m17n-db/m17n-db-1.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -9,7 +9,7 @@ SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE=""
RDEPEND="virtual/libintl"
diff --git a/dev-db/m17n-db/metadata.xml b/dev-db/m17n-db/metadata.xml
index a94766977fa6..739c3bd44f1a 100644
--- a/dev-db/m17n-db/metadata.xml
+++ b/dev-db/m17n-db/metadata.xml
@@ -5,4 +5,7 @@
<email>cjk@gentoo.org</email>
<name>Cjk</name>
</maintainer>
+ <upstream>
+ <remote-id type="savannah-nongnu">m17n</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest
index 6fc1d0c567fe..6333e56ae7a2 100644
--- a/dev-db/mariadb-connector-c/Manifest
+++ b/dev-db/mariadb-connector-c/Manifest
@@ -1,5 +1,3 @@
-DIST mariadb-connector-c-3.1.12-src.tar.gz 966702 BLAKE2B 8187199f43ccb6f92ea9df61a1f62e48dbef4744cda9a5e865f71038e47a65dea3ed094dd76d81d0d8d357a8d611a9770590a3504c297ea30f59f285ab511d17 SHA512 a46e8ec976c28e227a72f09c15c92126d178b422a92a4c90fd52c8053604c3309aeb3bd098dc63fbd0d87059d5360c8b63d76e61a1152e7a3e7145e13681453d
-DIST mariadb-connector-c-3.1.13-src.tar.gz 968401 BLAKE2B 4b7270c5e86e0a39773f38fbf1b4334ed9fdfca65432a5858b7e591fca5d6a68fd5a0eead96a6c9bfab22f49416d9c19c8a4c5c3fc328d16702c6051116e9a01 SHA512 a179a4fa689f681d64f926c1f3abfd3912896ec3e39c15be6a330647ded207aa2f110277dc43b90faffa4386365a72babc96264e29ac436e5d212d8b7cef7c32
-DIST mariadb-connector-c-3.2.3-src.tar.gz 992155 BLAKE2B 39f0c5f15c2b016e7708ca32f9f4c08ae87f52c38a1a6433ade66b03b9e2144744c559838c3c0bb98465b7e5c1d2f3d5678ee6b1197790c18740f990dbc82284 SHA512 0d45278ba55b3cda809d9d6c3d9726ec8b2f629c7da1205fcb936594ca6ea439039c02f484f7e31fca3e55288339c9bf64c06518988a8fed016c6ce544fac631
-DIST mariadb-connector-c-3.2.4-src.tar.gz 991053 BLAKE2B 7378ddb47e7cbb8b6bec4d7daa1572e05ca494cd1585fff8c3dc9fca088d11ca523a2571fdda570e7a68633a6cf753fca12ba6b505dbdfa7ee9c9cc07223d0b7 SHA512 3debf8b31f280d70ba4f163351658dc1d15f2d250e0d7098200516f96a782cb66ef38855b2436d3d23a3385f79309d5c41b05b8d7d673001de4b4a62555511ca
-DIST mariadb-connector-c-3.2.5-src.tar.gz 992580 BLAKE2B c850dfbb2241e78475b5f9e9aa0fcb69bc9cc0d17a9092da36e720ec63e3fbdb0add32e6c4508a136fcb43d0825bea7346c0d6ce8a40ae10357ef3d3b6b7bea0 SHA512 5068c95ff15969c6b1d0e2e095fe0bdca3382f478012c852a9745a9bbbfc7586b1eeaa93a55fbadb236499a336133667f4638082814c97ff6b3bbc750c5e59dc
+DIST mariadb-connector-c-3.2.7-src.tar.gz 1212691 BLAKE2B ae2d1317fdc087c6d64b7cf11f4343bf35662d04da5c693f6f3b45ec405ff0f3d5d03157eb56a9c05cf4e16b9980baffec8800b886ae3d962d22a828a6938671 SHA512 3f0c67c5fd12e889a3704e0a638b64a784f05d12c7c424f7ce64e78a3eb17e2ad588e0e23f0ce037cd49efb695294ab69277da78f02940c2a7ea0676886b9c36
+DIST mariadb-connector-c-3.3.4-src.tar.gz 1389030 BLAKE2B 4bee45ee4f76979d36072ab2119042b4de1127a42e99510bd0c1bc5e163fdb4e9b7ca4cce9381ed89e0c733158293d0641c7b7cbd14feaf3257a442c62083e23 SHA512 3a3f20efe58f8458a426501248b154107b76bd2001a43e41923e31568c8419cd88f2379e3636a54118ee64ac160a1c6f68dd79c0ac053fa273d9b6b127410ef6
+DIST mariadb-connector-c-3.3.8-src.tar.gz 1393368 BLAKE2B 09a8a310f97809f0b0396770a77d4512fe1124de263e2077e5a14a2fa1fbc59d7e35a09d97b0471b687943fc9ce06925507e4b950fdacfdc7ca04ea5ee56bf9e SHA512 d2630bda8deb28696842a6b5dd308060a8b9a83a04dfb3ed908387f53af4108510c6f536aaecc4a3c9a035c7be91b98229d6c480366a3579b6be2c5a8d85ff56
diff --git a/dev-db/mariadb-connector-c/files/gentoo-layout-3.0.patch b/dev-db/mariadb-connector-c/files/gentoo-layout-3.0.patch
deleted file mode 100644
index b57b7abc03b4..000000000000
--- a/dev-db/mariadb-connector-c/files/gentoo-layout-3.0.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/mariadb_config/CMakeLists.txt 2016-02-12 21:21:06.981021227 -0500
-+++ b/mariadb_config/CMakeLists.txt 2016-02-12 22:06:02.397130410 -0500
-@@ -40,5 +44,5 @@
- # Installation
- #
- INSTALL(TARGETS mariadb_config
-- DESTINATION "bin"
-+ DESTINATION ${INSTALL_BINDIR}
- COMPONENT Development)
diff --git a/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.1.11-fix-flow-control-statement.patch b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.1.11-fix-flow-control-statement.patch
deleted file mode 100644
index 0b5a2d44cec5..000000000000
--- a/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.1.11-fix-flow-control-statement.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://github.com/mariadb-corporation/mariadb-connector-c/pull/158
-
---- a/cmake/ConnectorName.cmake
-+++ b/cmake/ConnectorName.cmake
-@@ -22,7 +22,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Windows")
- SET(MACHINE_NAME "x64")
- ELSE()
- SET(MACHINE_NAME "32")
-- END()
-+ ENDIF()
- ENDIF()
-
- SET(product_name "mysql-connector-c-${CPACK_PACKAGE_VERSION}-${PLATFORM_NAME}${CONCAT_SIGN}${MACHINE_NAME}")
-
diff --git a/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-fix-building-without-gssapi.patch b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-fix-building-without-gssapi.patch
new file mode 100644
index 000000000000..a76af28aabd4
--- /dev/null
+++ b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-fix-building-without-gssapi.patch
@@ -0,0 +1,15 @@
+# https://jira.mariadb.org/browse/CONC-637
+# https://github.com/mariadb-corporation/mariadb-connector-c/commit/4e2408c1cc298ada91b30683501c0c94a6621562
+diff --git a/plugins/auth/CMakeLists.txt b/plugins/auth/CMakeLists.txt
+index ed9be6f3..da0b58e4 100644
+--- a/plugins/auth/CMakeLists.txt
++++ b/plugins/auth/CMakeLists.txt
+@@ -120,7 +120,7 @@ IF(GSSAPI_SOURCES)
+ IF(CMAKE_C_COMPILER_ID MATCHES "Clang")
+ SET_SOURCE_FILES_PROPERTIES(${GSSAPI_SOURCES} PROPERTY COMPILE_FLAGS "-Wno-deprecated-declarations")
+ ENDIF()
+- IF(have__Wl___as_needed)
++ IF(have__Wl___as_needed AND TARGET auth_gssapi_client)
+ SET_TARGET_PROPERTIES(auth_gssapi_client PROPERTIES LINK_FLAGS "-Wl,--as-needed")
+ ENDIF()
+ ENDIF()
diff --git a/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-remove-zstd.patch b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-remove-zstd.patch
new file mode 100644
index 000000000000..e4942b583ef8
--- /dev/null
+++ b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.3.4-remove-zstd.patch
@@ -0,0 +1,19 @@
+# conflicts with dev-db/mariadb
+diff --git a/plugins/compress/CMakeLists.txt b/plugins/compress/CMakeLists.txt
+index f6dab85..7ace926 100644
+--- a/plugins/compress/CMakeLists.txt
++++ b/plugins/compress/CMakeLists.txt
+@@ -11,13 +11,3 @@ REGISTER_PLUGIN(TARGET zlib
+ DEFAULT STATIC
+ SOURCES ${COMPRESS_PLUGIN_DIR}/c_zlib.c)
+
+-#zstd compression
+-IF(${ZSTD_FOUND})
+- INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIRS})
+- REGISTER_PLUGIN(TARGET zstd
+- TYPE MARIADB_CLIENT_COMPRESSION_PLUGIN
+- CONFIGURATIONS DYNAMIC STATIC OFF
+- DEFAULT DYNAMIC
+- SOURCES ${COMPRESS_PLUGIN_DIR}/c_zstd.c
+- LIBRARIES ${ZSTD_LIBRARIES})
+-ENDIF()
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.12.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.12.ebuild
deleted file mode 100644
index 6798a698ba71..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.12.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~s390 sparc x86"
-fi
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib toolchain-funcs
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
- "${FILESDIR}"/${PN}-3.1.11-fix-flow-control-statement.patch
-)
-
-multilib_src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
-
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DWITH_ICONV=ON
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild
deleted file mode 100644
index 30a30d2ee024..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib toolchain-funcs
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
-)
-
-multilib_src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
-
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DWITH_ICONV=ON
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.3.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.3.ebuild
deleted file mode 100644
index 055778b5039c..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.3.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib toolchain-funcs
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
-)
-
-multilib_src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
-
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DWITH_ICONV=ON
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_MANDIR=share/man
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.4.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.4.ebuild
deleted file mode 100644
index fb175f8f7402..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.4.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib toolchain-funcs
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
-)
-
-multilib_src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
-
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DWITH_ICONV=ON
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_MANDIR=share/man
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
deleted file mode 100644
index fb175f8f7402..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib toolchain-funcs
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
-)
-
-multilib_src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
-
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DWITH_ICONV=ON
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_MANDIR=share/man
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.7.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.7.ebuild
new file mode 100644
index 000000000000..455985c30d27
--- /dev/null
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.7.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
+else
+ MY_PN=${PN#mariadb-}
+ MY_PV=${PV/_b/-b}
+ SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
+ S="${WORKDIR%/}/${PN}-${MY_PV}-src"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 x86"
+fi
+
+inherit cmake-multilib flag-o-matic toolchain-funcs
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://mariadb.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="0/3"
+IUSE="+curl gnutls kerberos +ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ virtual/libiconv:=[${MULTILIB_USEDEP}]
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ kerberos? (
+ || (
+ app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+ app-crypt/heimdal[${MULTILIB_USEDEP}]
+ )
+ )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.24:=[${MULTILIB_USEDEP}] )
+ !gnutls? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+ )
+"
+BDEPEND="test? ( dev-db/mariadb[server] )"
+RDEPEND="${DEPEND}"
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mariadb/mariadb_version.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
+)
+
+src_prepare() {
+ # These tests the remote_io plugin which requires network access
+ sed -i 's/{"test_remote1", test_remote1, TEST_CONNECTION_NEW, 0, NULL, NULL},//g' "unittest/libmariadb/misc.c" || die
+
+ # These tests don't work with --skip-grant-tables
+ sed -i 's/{"test_conc366", test_conc366, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+ sed -i 's/{"test_conc66", test_conc66, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ # [Warning] Aborted connection 2078 to db: 'test' user: 'root' host: '' (Got an error reading communication packets)
+ # Not sure about this one - might also require network access
+ sed -i 's/{"test_default_auth", test_default_auth, TEST_CONNECTION_NONE, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # mariadb cannot use ld.gold, bug #508724
+ tc-ld-disable-gold
+
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DWITH_EXTERNAL_ZLIB=ON
+ -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
+ -DWITH_CURL=$(usex curl)
+ -DWITH_ICONV=ON
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
+ -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_LIBDIR="$(get_libdir)"
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
+ -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
+ -DINSTALL_BINDIR=bin
+ -DWITH_UNIT_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ mkdir -vp "${T}/mysql/data" || die
+
+ mysql_install_db --no-defaults --datadir="${T}/mysql/data" || die
+ mysqld --no-defaults --datadir="${T}/mysql/data" --socket="${T}/mysql/mysql.sock" --skip-grant-tables --skip-networking &
+
+ while ! mysqladmin ping --socket="${T}/mysql/mysql.sock" --silent ; do
+ sleep 1
+ done
+
+ cd unittest/libmariadb || die
+ MYSQL_TEST_SOCKET="${T}/mysql/mysql.sock" MARIADB_CC_TEST=1 ctest --verbose || die
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.4.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.4.ebuild
new file mode 100644
index 000000000000..3ebe51ce18fc
--- /dev/null
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.4.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
+else
+ MY_PN=${PN#mariadb-}
+ MY_PV=${PV/_b/-b}
+ SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
+ S="${WORKDIR%/}/${PN}-${MY_PV}-src"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86"
+fi
+
+inherit cmake-multilib flag-o-matic toolchain-funcs
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://mariadb.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="0/3"
+IUSE="+curl gnutls kerberos +ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ virtual/libiconv:=[${MULTILIB_USEDEP}]
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ kerberos? (
+ || (
+ app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+ app-crypt/heimdal[${MULTILIB_USEDEP}]
+ )
+ )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.24:=[${MULTILIB_USEDEP}] )
+ !gnutls? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+ )
+"
+BDEPEND="test? ( dev-db/mariadb[server] )"
+RDEPEND="${DEPEND}"
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mariadb/mariadb_version.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
+ "${FILESDIR}"/${PN}-3.3.4-fix-building-without-gssapi.patch
+ "${FILESDIR}"/${PN}-3.3.4-remove-zstd.patch
+)
+
+src_prepare() {
+ # These tests the remote_io plugin which requires network access
+ sed -i 's/{"test_remote1", test_remote1, TEST_CONNECTION_NEW, 0, NULL, NULL},//g' "unittest/libmariadb/misc.c" || die
+
+ # These tests don't work with --skip-grant-tables
+ sed -i 's/{"test_conc366", test_conc366, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+ sed -i 's/{"test_conc66", test_conc66, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ # [Warning] Aborted connection 2078 to db: 'test' user: 'root' host: '' (Got an error reading communication packets)
+ # Not sure about this one - might also require network access
+ sed -i 's/{"test_default_auth", test_default_auth, TEST_CONNECTION_NONE, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # mariadb cannot use ld.gold, bug #508724
+ tc-ld-disable-gold
+
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DWITH_EXTERNAL_ZLIB=ON
+ -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
+ -DWITH_CURL=$(usex curl)
+ -DWITH_ICONV=ON
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
+ -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_LIBDIR="$(get_libdir)"
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
+ -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
+ -DINSTALL_BINDIR=bin
+ -DWITH_UNIT_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ mkdir -vp "${T}/mysql/data" || die
+
+ mysql_install_db --no-defaults --datadir="${T}/mysql/data" || die
+ mysqld --no-defaults --datadir="${T}/mysql/data" --socket="${T}/mysql/mysql.sock" --skip-grant-tables --skip-networking &
+
+ while ! mysqladmin ping --socket="${T}/mysql/mysql.sock" --silent ; do
+ sleep 1
+ done
+
+ cd unittest/libmariadb || die
+ MYSQL_TEST_SOCKET="${T}/mysql/mysql.sock" MARIADB_CC_TEST=1 ctest --verbose || die
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.8.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.8.ebuild
new file mode 100644
index 000000000000..c7280c550ded
--- /dev/null
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.8.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
+else
+ MY_PN=${PN#mariadb-}
+ MY_PV=${PV/_b/-b}
+ SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
+ S="${WORKDIR%/}/${PN}-${MY_PV}-src"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86"
+fi
+
+inherit cmake-multilib flag-o-matic toolchain-funcs
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://mariadb.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="0/3"
+IUSE="+curl gnutls kerberos +ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ virtual/libiconv:=[${MULTILIB_USEDEP}]
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ kerberos? (
+ || (
+ app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+ app-crypt/heimdal[${MULTILIB_USEDEP}]
+ )
+ )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.24:=[${MULTILIB_USEDEP}] )
+ !gnutls? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+ )
+"
+BDEPEND="test? ( dev-db/mariadb[server] )"
+RDEPEND="${DEPEND}"
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mariadb/mariadb_version.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
+ "${FILESDIR}"/${PN}-3.3.4-remove-zstd.patch
+)
+
+src_prepare() {
+ # Should be able to drop this once bug #926121 is fixed and
+ # https://github.com/mariadb-corporation/mariadb-connector-c/commit/395641549ac72bc31def6d8b64e09093336aef72
+ # is in a release.
+ sed -i -e '/SET(WARNING_AS_ERROR "-Werror")/d' CMakeLists.txt || die
+
+ # These tests the remote_io plugin which requires network access
+ sed -i 's/{"test_remote1", test_remote1, TEST_CONNECTION_NEW, 0, NULL, NULL},//g' "unittest/libmariadb/misc.c" || die
+
+ # These tests don't work with --skip-grant-tables
+ sed -i 's/{"test_conc366", test_conc366, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+ sed -i 's/{"test_conc66", test_conc66, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ # [Warning] Aborted connection 2078 to db: 'test' user: 'root' host: '' (Got an error reading communication packets)
+ # Not sure about this one - might also require network access
+ sed -i 's/{"test_default_auth", test_default_auth, TEST_CONNECTION_NONE, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # mariadb cannot use ld.gold, bug #508724
+ tc-ld-disable-gold
+
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DWITH_EXTERNAL_ZLIB=ON
+ -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
+ -DWITH_CURL=$(usex curl)
+ -DWITH_ICONV=ON
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
+ -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_LIBDIR="$(get_libdir)"
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
+ -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
+ -DINSTALL_BINDIR=bin
+ -DWITH_UNIT_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ mkdir -vp "${T}/mysql/data" || die
+
+ mysql_install_db --no-defaults --datadir="${T}/mysql/data" || die
+ mysqld --no-defaults --datadir="${T}/mysql/data" --socket="${T}/mysql/mysql.sock" --skip-grant-tables --skip-networking &
+
+ while ! mysqladmin ping --socket="${T}/mysql/mysql.sock" --silent ; do
+ sleep 1
+ done
+
+ cd unittest/libmariadb || die
+ MYSQL_TEST_SOCKET="${T}/mysql/mysql.sock" MARIADB_CC_TEST=1 ctest --verbose || die
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
index fb175f8f7402..c7280c550ded 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-if [[ "${PV}" == 9999 ]] ; then
+if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
else
@@ -11,53 +11,80 @@ else
MY_PV=${PV/_b/-b}
SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86"
fi
-CMAKE_ECLASS=cmake
-inherit cmake-multilib toolchain-funcs
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
+inherit cmake-multilib flag-o-matic toolchain-funcs
DESCRIPTION="C client library for MariaDB/MySQL"
HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
+LICENSE="LGPL-2.1"
SLOT="0/3"
IUSE="+curl gnutls kerberos +ssl static-libs test"
-
RESTRICT="!test? ( test )"
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
+DEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ kerberos? (
+ || (
+ app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+ app-crypt/heimdal[${MULTILIB_USEDEP}]
)
)
- "
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.24:=[${MULTILIB_USEDEP}] )
+ !gnutls? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+ )
+"
+BDEPEND="test? ( dev-db/mariadb[server] )"
RDEPEND="${DEPEND}"
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mariadb/mariadb_version.h )
+
PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
"${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
+ "${FILESDIR}"/${PN}-3.3.4-remove-zstd.patch
)
-multilib_src_configure() {
- # bug 508724 mariadb cannot use ld.gold
+src_prepare() {
+ # Should be able to drop this once bug #926121 is fixed and
+ # https://github.com/mariadb-corporation/mariadb-connector-c/commit/395641549ac72bc31def6d8b64e09093336aef72
+ # is in a release.
+ sed -i -e '/SET(WARNING_AS_ERROR "-Werror")/d' CMakeLists.txt || die
+
+ # These tests the remote_io plugin which requires network access
+ sed -i 's/{"test_remote1", test_remote1, TEST_CONNECTION_NEW, 0, NULL, NULL},//g' "unittest/libmariadb/misc.c" || die
+
+ # These tests don't work with --skip-grant-tables
+ sed -i 's/{"test_conc366", test_conc366, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+ sed -i 's/{"test_conc66", test_conc66, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ # [Warning] Aborted connection 2078 to db: 'test' user: 'root' host: '' (Got an error reading communication packets)
+ # Not sure about this one - might also require network access
+ sed -i 's/{"test_default_auth", test_default_auth, TEST_CONNECTION_NONE, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # mariadb cannot use ld.gold, bug #508724
tc-ld-disable-gold
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
local mycmakeargs=(
-DWITH_EXTERNAL_ZLIB=ON
-DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
+ -DWITH_CURL=$(usex curl)
-DWITH_ICONV=ON
-DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
-DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
@@ -66,11 +93,26 @@ multilib_src_configure() {
-DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
-DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
-DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_UNIT_TESTS=$(usex test)
)
+
cmake_src_configure
}
+multilib_src_test() {
+ mkdir -vp "${T}/mysql/data" || die
+
+ mysql_install_db --no-defaults --datadir="${T}/mysql/data" || die
+ mysqld --no-defaults --datadir="${T}/mysql/data" --socket="${T}/mysql/mysql.sock" --skip-grant-tables --skip-networking &
+
+ while ! mysqladmin ping --socket="${T}/mysql/mysql.sock" --silent ; do
+ sleep 1
+ done
+
+ cd unittest/libmariadb || die
+ MYSQL_TEST_SOCKET="${T}/mysql/mysql.sock" MARIADB_CC_TEST=1 ctest --verbose || die
+}
+
multilib_src_install_all() {
if ! use static-libs ; then
find "${ED}" -name "*.a" -delete || die
diff --git a/dev-db/mariadb-connector-c/metadata.xml b/dev-db/mariadb-connector-c/metadata.xml
index 36efdc7f5148..9473660d9b02 100644
--- a/dev-db/mariadb-connector-c/metadata.xml
+++ b/dev-db/mariadb-connector-c/metadata.xml
@@ -5,4 +5,7 @@
<email>mysql-bugs@gentoo.org</email>
<name>MySQL</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">mariadb-corporation/mariadb-connector-c</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mariadb-connector-odbc/Manifest b/dev-db/mariadb-connector-odbc/Manifest
index 08aa13d342b7..8c3a807bd1e0 100644
--- a/dev-db/mariadb-connector-odbc/Manifest
+++ b/dev-db/mariadb-connector-odbc/Manifest
@@ -1,3 +1 @@
-DIST mariadb-connector-odbc-3.1.12-src.tar.gz 542918 BLAKE2B b770d79d1724480589b941ded1552bcfedb85eb1f59256269c8cd219e395dc5c151ab6762ea49c062900187ec4ae6a161a33a15ea3ffd4addc542f1c9f846121 SHA512 9723555c598c3ec77c41a617d9960c8d0fb9ee9d0b70e44b44f55f8842a5966b50ed6c04e8a80d252330b2cd96bdac4e0403100141e827c23af72ed58f747ffb
-DIST mariadb-connector-odbc-3.1.13-src.tar.gz 546893 BLAKE2B 7d3f02667ab3c5eb81063a2a2470bd49914cabea79d8756fd4d493b3117a692c9bd3594c00d5c7d8a866ad4677dec2848a08a80b0e97952e6e80edb5d677e93f SHA512 b50949b99207aeef18fc7f8e15ecb8e8c869fcdc85a04ce1922f2ff856d3f07eb6701df8515545e762abbcb97f74605c6b5ac66efa1927e761a80dcd1c29c2d3
-DIST mariadb-connector-odbc-3.1.14-src.tar.gz 549698 BLAKE2B 612879086805c57b42036bb224b14ef1ab287d2ff288a5ec5ec6db7334fc8b82acd648476eca1dee282393486d117cadf1bbdcb0e78eae52bab26a0c05cb1fbe SHA512 bb3cb74ccd17a8df39456ccf3091579bbdfc56431954a978f488928df54e3f9ad1c5b67cb411be4b661ba0e0bdd69ccd4d00ea4bfd72c3f448b560031830512d
+DIST mariadb-connector-odbc-3.1.18-src.tar.gz 556590 BLAKE2B 9644521f91136b3bc30846d8c9df7cfa21c8fff0e9219bf0c758a0294f34783a57f1200834b84833284624160652315adb4f6eb465a90378e676e5767c7bd40a SHA512 1d240988d03dbb0ef2f4eb0667ff973a35d700f319caaea78db6d5c0ca569ed5adcee978fb10cd9f067c0c5aecbfe697e5adb3d736e564bae82cf6c11cd0dba2
diff --git a/dev-db/mariadb-connector-odbc/files/odbcinst.ini b/dev-db/mariadb-connector-odbc/files/odbcinst.ini
deleted file mode 100644
index e196e032362f..000000000000
--- a/dev-db/mariadb-connector-odbc/files/odbcinst.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[maodbc]
-Description=MariaDB ODBC Driver
-Driver=/usr/lib/libmaodbc.so
-Threading=0
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild
deleted file mode 100644
index b40a50b0e93e..000000000000
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib flag-o-matic
-
-DESCRIPTION="MariaDB Connector/ODBC"
-HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
-SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/3.1"
-KEYWORDS="amd64 x86"
-IUSE="ssl"
-
-S="${S}-src"
-
-# USE=ssl merely enables the configuration options (seemingly for interactive
-# sessions) and does not cause direct linking to any SSL libraries. However,
-# it doesn't make sense enable these configuration options unless the
-# underlying mariadb-connector-c has ssl enabled, thus if we have USE=ssl,
-# require mariadb-connector-c to have it too.
-DEPEND="=dev-db/mariadb-connector-c-$(ver_cut 1-2)*[ssl?]
- dev-db/unixODBC"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e "s,/lib/,/$(get_libdir)/,g" "${FILESDIR}/odbcinst2.ini" > odbcinst.ini || die
-}
-
-multilib_src_configure() {
- append-cppflags $(mariadb_config --cflags || die)
- local mycmakeargs=(
- -DWITH_SSL=$(usex ssl OPENSSL OFF)
- -DMARIADB_LINK_DYNAMIC=YES
- -DUSE_SYSTEM_INSTALLED_LIB=YES
- -DINSTALL_DOCDIR="/usr/share/doc/${PF}"
- -DINSTALL_LICENSEDIR="/usr/share/doc/${PF}"
- #-DCMAKE_C_FLAGS="$(mariadb_config --cflags)"
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- insinto /usr/share/${PN}
- doins odbcinst.ini
-}
-
-pkg_postinst() {
- elog "Please remember to use emerge --config =${P} to install the ODBC ini files."
- elog "Alternatively run: /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini"
-}
-
-pkg_config() {
- [[ -n "${ROOT}" ]] && die "Sorry, non-standard ROOT setting is not supported."
-
- if /usr/bin/odbcinst -q -d -n maodbc &>/dev/null; then
- einfo "maodbc (MariaDB ODBC driver) has already been installed."
- else
- ebegin "Installing maodbc (MariaDB ODBC driver)"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini
- eend ${?} || die
- fi
-}
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild
deleted file mode 100644
index 3c026e814745..000000000000
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib flag-o-matic
-
-DESCRIPTION="MariaDB Connector/ODBC"
-HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
-SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/3.1"
-KEYWORDS="~amd64 ~x86"
-IUSE="ssl"
-
-S="${S}-src"
-
-# USE=ssl merely enables the configuration options (seemingly for interactive
-# sessions) and does not cause direct linking to any SSL libraries. However,
-# it doesn't make sense enable these configuration options unless the
-# underlying mariadb-connector-c has ssl enabled, thus if we have USE=ssl,
-# require mariadb-connector-c to have it too.
-DEPEND="=dev-db/mariadb-connector-c-$(ver_cut 1-2)*:=[ssl?]
- dev-db/unixODBC"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e "s,/lib/,/$(get_libdir)/,g" "${FILESDIR}/odbcinst2.ini" > odbcinst.ini || die
-}
-
-multilib_src_configure() {
- append-cppflags $(mariadb_config --cflags || die)
- local mycmakeargs=(
- -DWITH_SSL=$(usex ssl OPENSSL OFF)
- -DMARIADB_LINK_DYNAMIC=YES
- -DUSE_SYSTEM_INSTALLED_LIB=YES
- -DINSTALL_DOCDIR="/usr/share/doc/${PF}"
- -DINSTALL_LICENSEDIR="/usr/share/doc/${PF}"
- #-DCMAKE_C_FLAGS="$(mariadb_config --cflags)"
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- insinto /usr/share/${PN}
- doins odbcinst.ini
-}
-
-pkg_postinst() {
- elog "Please remember to use emerge --config =${P} to install the ODBC ini files."
- elog "Alternatively run: /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini"
-}
-
-pkg_config() {
- [[ -n "${ROOT}" ]] && die "Sorry, non-standard ROOT setting is not supported."
-
- if /usr/bin/odbcinst -q -d -n maodbc &>/dev/null; then
- einfo "maodbc (MariaDB ODBC driver) has already been installed."
- else
- ebegin "Installing maodbc (MariaDB ODBC driver)"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini
- eend ${?} || die
- fi
-}
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.18.ebuild
index 3dbdac9fdb80..e59d67bf4816 100644
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild
+++ b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.18.ebuild
@@ -1,29 +1,26 @@
-# Copyright 2018-2021 Gentoo Authors
+# Copyright 2018-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-CMAKE_ECLASS=cmake
+EAPI=8
inherit cmake-multilib flag-o-matic
DESCRIPTION="MariaDB Connector/ODBC"
HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
+S="${S}-src"
LICENSE="LGPL-2.1"
SLOT="0/3.1"
KEYWORDS="amd64 x86"
IUSE="ssl"
-S="${S}-src"
-
# USE=ssl merely enables the configuration options (seemingly for interactive
# sessions) and does not cause direct linking to any SSL libraries. However,
# it doesn't make sense enable these configuration options unless the
# underlying mariadb-connector-c has ssl enabled, thus if we have USE=ssl,
# require mariadb-connector-c to have it too.
-DEPEND="=dev-db/mariadb-connector-c-$(ver_cut 1-2)*:=[ssl?]
+DEPEND="dev-db/mariadb-connector-c:=[ssl?]
dev-db/unixODBC"
RDEPEND="${DEPEND}"
@@ -41,6 +38,8 @@ multilib_src_configure() {
-DUSE_SYSTEM_INSTALLED_LIB=YES
-DINSTALL_DOCDIR="/usr/share/doc/${PF}"
-DINSTALL_LICENSEDIR="/usr/share/doc/${PF}"
+ -DINSTALL_LIBDIR="$(get_libdir)/mariadb"
+ -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
#-DCMAKE_C_FLAGS="$(mariadb_config --cflags)"
)
cmake_src_configure
@@ -49,6 +48,8 @@ multilib_src_configure() {
multilib_src_install_all() {
insinto /usr/share/${PN}
doins odbcinst.ini
+
+ rm "${ED}/usr/share/doc/${PF}/COPYING" || die "Error removing COPYING file from installation"
}
pkg_postinst() {
diff --git a/dev-db/mariadb-connector-odbc/metadata.xml b/dev-db/mariadb-connector-odbc/metadata.xml
index 6aebbc46f559..327c7fa0c01f 100644
--- a/dev-db/mariadb-connector-odbc/metadata.xml
+++ b/dev-db/mariadb-connector-odbc/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">mariadb-corporation/mariadb-connector-odbc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index 80de102a42c1..d0ec58a3a7ae 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -1,34 +1,11 @@
-DIST mariadb-10.2.38-patches-01.tar.xz 5796 BLAKE2B 51a574eab28c16394e3e953654d31f9d6fe88f55292ccaea35b0463d122a749ed52cb8d5e19f14b0d630bf22381ee0bddcf1e1b80c1445a82b931dd9461339ac SHA512 48fcfdb685bac516ee3388fc05adce5b53bbb42bee7b3681a887c76c63cb71b671d4089721a9b16f281496be9e9a87a556d44e4a6834c96345c6ada900dc9fe8
-DIST mariadb-10.2.38.tar.gz 74250852 BLAKE2B 5d75a38d7d892d93c5971713a4ab47c2803c03934ba301ea239b0a7565692272339ca0c3360a7bd533adcfef1af392c906b8f0136c18a25f5a1dd6127c8a6902 SHA512 4918a04877e16a0d33baca61b7c207b21b646df3be5e9ac125cb65404c0c6d6706b054106f437acfeef402238b35018a3cd764ceb31144a98791137c44e273a9
-DIST mariadb-10.2.39-patches-01.tar.xz 5804 BLAKE2B 08d763d87f877870737a972748d15dceca920f341e004aa8ed401864db4208eee4b0896cea413bc27990f0405b202eba2d2e49849a574bcec1f8618962b09c67 SHA512 2e26f3dbd504672c1504a4313581ecf05383bb62e2cc23d51109b5b8bb02ba5cf951541617b26581806994769587ed5978e42e8e6b4daf271045df66148f53c7
-DIST mariadb-10.2.39.tar.gz 74253393 BLAKE2B 15a8f23817cf6a22fc0c2caa81865349c2dd93e3c7ffeaace58746cee376940db453cbec02a6bf65d344c18dfd342604e6f54de255cff10fe7d4a5bc5f7e1f9b SHA512 4ccdbf9bcedd3205834be963f00eb85e318aeba97765574674f60f8356a83591e7904685d72a2ad34111dd7a705ee6c4d5f0b2be4fea7a008a36907ff645da49
-DIST mariadb-10.2.40-patches-01.tar.xz 5804 BLAKE2B 0efbd0c3ab107808644e2bd34a7c7d9347f337c769d9cc5bb2827af660d009ac490d78c084e2e5104271fbbcd65c8532d5460793bfa4a74910f532fa7dff33e4 SHA512 66a7960a6827ea32dbcf0390d40614e4b8edd8114a1e472f96cff01c075020466d84f9d9783c3f2e418ac341d84332c060bd4d63840979be3ebdfd3b5ef08eee
-DIST mariadb-10.2.40.tar.gz 74275587 BLAKE2B ab310b19425e3631c9090fa919e8867c7c8f62ffab69b36851aee9ab40aa18814dc50ae185d1c0832c79785d25a82177aa92bb6614cdb49359ec1acd7105e08b SHA512 8d3438c5044fc63e02d3e49f5fdd3561ad0a3f3ac29673d05fc71dfdceefb7cdcb6dd623d18fb222e9552ede4dc3d9b6e413d3ef40d86054a36b4b3a6433eee2
-DIST mariadb-10.2.41-patches-01.tar.xz 5840 BLAKE2B bfc1404ef7a856e1588caf6ac4b61514125752b298adc7d7b575f5106b052b33a0344a51c0b0974a4664ee13059be30d31d2a12436009a39f34567124ee81ce6 SHA512 3105d291d22a9085dd92c516f0af999786d78328e8a8970a000c7be9d2df211e544c798ba9882a6da94abcddbb4cf16d100c5e1ccda6dc98e7a16c2ca5914bff
-DIST mariadb-10.2.41.tar.gz 74358994 BLAKE2B ca7fedebac0ce05bbc0797e58347041b098878fe565b5f3ae8ac149b30eca9188335e5e4afbc158f644888de13a5bc264916c77e315b5f489b2449342bf46f8a SHA512 d6f04d5866c6179c8df796dcf2407fa6289f7b9a57590e6ac793518dd805da7799e76f1031579b74e03dad6adcbcd204dd80394a68ac0105fcecaacea64b74e1
-DIST mariadb-10.3.29-patches-01.tar.xz 5280 BLAKE2B 262c8f89508d915a13c3c309c885af68ff044ba28b4c3d631a5be90b709c882fa3cf521380c9d2a2f7695477d7bcd364ccb98d90750e524deb0aa0daddb94bde SHA512 95d04edf54b722ed7022bd2b915d722ae4153eb2c12a3d6c499469be0de4d03582226ef525be9e9af265674ef31ce2376442a09c583222c64ad9994ddc51c8b7
-DIST mariadb-10.3.29.tar.gz 73261682 BLAKE2B 81ac5c7d1ad343c7d1c6788dafe07c45ec096d975a3197c6a6940da60a4a73383dff18e15d1940f1248dc34f290603629e95fbeca31c0749c5b0ae2b3de92b8f SHA512 fe868cde5ac3536ff5bbf34f235253c79e897e61bb34f7fdaca8fa8fcdb83e4a19c615beab27d3fdb5daee64ac0c8f36ec7e8089a9422c8540f7e92b1999a769
-DIST mariadb-10.3.30-patches-01.tar.xz 5300 BLAKE2B 14a0110477a5b3ade80ba05cfc038cfa0761b06e8a58f4ff69d39a9c1d59ec3fd323d7401fc7bd76a99dfcd4c8369d04d5eb1313d5ce20d2f57b10d2e0f6ff5d SHA512 a546908147f664189053d201d3d3d3dcaf81956bcd7348b1385bb1046636ec189a95f7bbe80839eba7a09b378475af6971af6d9e6bc72fad7d01ea139119ba42
-DIST mariadb-10.3.30.tar.gz 73266479 BLAKE2B 4f2911fed8f470e60f98f3aff044bb7979e32ec86a13d8ed8ca36cd8f3e1b45b541412de0f1b53bda252dfa2c4e3d2dd2a718a94d44b632a1f3e569be4f37753 SHA512 742c30b3ebc0b6d36b98d4e7a7fb511098142e72d8f42cbfa73a0bdea2059be17e790fbda4732329bbd99e4b50b13cf18e8122964a473e0b62170ab869eca8fc
-DIST mariadb-10.3.31-patches-01.tar.xz 5304 BLAKE2B 145bf6185edccc726549479ec1e75a1796c405811316de2d6bf02564c4398ae82978204c3a6329ed1742b1b91e9c80043574370ff23571fa9cead899f8ac71cc SHA512 e59605938eeb1373e84a15f6c501bcd1ad5fc92b75e67b5d93da77066b5cf7ecd77db7cb684de494a6ba98574473aa484be1b6dbe4edfbc482a391fefd12dffa
-DIST mariadb-10.3.31.tar.gz 73298653 BLAKE2B ca0532c1adf830d8d364938ca3c89b9d162aa4e75ceeaf1455085f0a3bbe8eba5bdfdf13a5800ab82f2517e93c746db7402462d5b334fb6fe823629d7feab790 SHA512 29878ea381d6a6b188cb6ab9f81e218f34dba0e85e5eb1929a6cc72904f1b629dea89bfdde4dc83b5fc5a735f46114a193184bceb43fe30336244d3018a45c19
-DIST mariadb-10.3.32-patches-01.tar.xz 4388 BLAKE2B e84de23ff97e0fcff9867bbba615f8054cf1dd015b44aa5d64bca38e150daf66d4e5149b1408485330af3e49006865c5d598797199cca1d74a31d77df2715627 SHA512 fdf36b310823b15ccb2fb921d694998ce076442ef4086a88b76ebc81c7ef778099c5dfddf1152bb54bf653c9f99a335502e9a34ee200846bd6ee14d407ae127e
-DIST mariadb-10.3.32.tar.gz 73389214 BLAKE2B 476d293f41804e2124859019c25df1bb93509741e8893939978af9ca6b83dfe238c3079bef0023281a1e2a0b89cb63d9a3de8d8a540ddbb96463f3914490d5ac SHA512 d74c8bdf9cc8126385e1ca69c098e2bd8543de292d36c6c88ffc8228430fd246386f675089e7a1a11c830a947efde755845eda279dfb202c89c641962edf43cd
-DIST mariadb-10.4.19-patches-01.tar.xz 5288 BLAKE2B b97a8b2c55ad2b78b4f27dbab3893c777e15ef237fc66a9ef62d391772caaada3e23949a63ae170aa72e4b07f9bf34f32da72614756bdbe0712efe6c39f0da59 SHA512 e26b12230b965fe0facfd447a815a88fe8edaaeb8e209cc53df2d76c580dacdab59afb09c09ef471fb0b46c0cde8eeed84f3eff851751316eb12f06de235d52f
-DIST mariadb-10.4.19.tar.gz 82042449 BLAKE2B 6137c84852b6b770efa908b49f03ca52726a537bda410b324ed388a82667bf0e3ff37cbb62d6a541ca39ce4841efa861553c7cead11030dc9deacdeb7cdb0d5f SHA512 837bd4e46e2033d0e996c33125c50b98e141e4c31cf4753a4bd1a7bd1e6a25ebe2a0ea7c8061d29f3c635e24d8e4bf2bbca62ea3b0089bde6576c39ffc6f5e28
-DIST mariadb-10.4.20-patches-01.tar.xz 5308 BLAKE2B 0f725743d78c3bcc8ca86a365b84ff797e17454adadb14e122bf94e04bd1a433e63c6f41eba21cb705ec7e9e64333e9ee597cff7001d5b8248f826093618f37c SHA512 2050e0bc3acbb9026c0a2cb8a5b00ff618f12ee7b6474bf0ed918d4d018c624eb4c40894172bbf31b135a73059d2e27efcda742a23010303a54aadf76fa26af5
-DIST mariadb-10.4.20.tar.gz 82043644 BLAKE2B e116be643f7243cf5c09611c79c60cb109dd2b69b4c1f06d7f2492858afdc3bf55e4568a7ed212a6458a3cf5a092d4e0d87e0a2ff6e71af9923e4b33c843a79f SHA512 ce8e0691981b39de380276cea5d553a9968d9f6ef19f54395128f01d611499f3fc203651b8d7cb56697c6ee55f5f515c960d7700738cdc50f228df7443505112
-DIST mariadb-10.4.21-patches-01.tar.xz 5312 BLAKE2B 0520313f2431cdf7c779d04ff9c8473eb89d054bacd98e9e325bce735ee7a311458020a4dfb1e032dde7a32d33126a9502bab2f54e7a19acbb70e077181830e1 SHA512 ceb0272fa9ce936d4601e93af3692222f5d6a9110a084e4a75a5d23432ddadf703bf9bab94ec08b2a65cb4e00eaed23c1958c40b6d140afa2fa47e961644e7a8
-DIST mariadb-10.4.21.tar.gz 84809537 BLAKE2B 85edfecbda9a9d47c0bb8efa3e86d9df473849dbd10f9348814598e8cce848a6727850c5d5a3fce54c04a81ea5de09f86cdced87a72dcf2ed7fa480d7bf81228 SHA512 2be398cd80f0b8c938ab310f47ccd410f0209f8308bfc202014b71aee3f0bea7f535d1eceb82a4407202d9732c77874d773c6f13e54cf556fc79ed0d49390345
-DIST mariadb-10.4.22-patches-01.tar.xz 4388 BLAKE2B 0e615ddc4db93daa1f4ef1d8755b97502bb19b0ece0fc0d6d8620cb69a7db2df81ef5a06fc0a6b0f7b61fdb5431f919da99afa8068b064d905cdeaa95df807f0 SHA512 7bfff381b7fd19d12f64caaaa7d598ee476e286def9be9acd6f808784ecd47e715f222bd07fd05cd24b3342053f46c22d03041413a6a55b7194d1a5c66b0c03a
-DIST mariadb-10.4.22.tar.gz 84916052 BLAKE2B f5f7623101cfac6b209a95de20ee737ce0afa574766340471a30ddb81abacaf2acf3809d54ecb62f9377f924b11fac04faa770802c2bdc8dc10e3286b1c8e648 SHA512 e505a56346cfcaf5b8fba80abad6b2ce819dd410f6e6f36e290ad4127aaa9fb580264c28068f9f9e04c3a2fcccd101ef73d2bf5944aedde6b2d4369163fb9248
-DIST mariadb-10.5.10-patches-01.tar.xz 5944 BLAKE2B ce374e58b7730d45a8dbca4cccd459c1660182d6aed4ac54f06139e28ec254d4993b2135b2774e08eee740099803398a25b28ce9d227702bffab1867f1725fc2 SHA512 9d41b7796c5e43d037e75eb8d6c9b570a9b3d72166f832d3d0831646b2ec8c838fe94eb8eab8c6e427e96640287d58f7eca2c653a3c503bf01240c9f7c60a8c5
-DIST mariadb-10.5.10.tar.gz 99019617 BLAKE2B 85b5c43ae9eeb1dbf9ff7935d4cf4bddbd18cadeffb79a3bff172b4522e196c7ac8916c63a6750d0b3b910c6f0f933213b3b4f6c7bf0d43bbb07714ed9337750 SHA512 93dd1405f8b31989e130dee5b7d4a0b447aa0e017fb9ee02c792c52142d84d1103e8fd591101d72deda1ac65b10c48053582f6e61bd1757e6aa92e42d98c56cd
-DIST mariadb-10.5.11-patches-01.tar.xz 5960 BLAKE2B a198083d6dd9d16723dc40a0c6fea9c900c766ef22f59b1c7b6b65f6cbf441cda08da7701b89625bcab3022fa00226b84deb215aede41c05195ce9cb9b218530 SHA512 d7c642f64ee013006e4880ed50b6d2b7d00c53f3d3bd29eb939689a4f78e05dce82e3258e80fc22b9e266c5beb09df2323dee94b994d2a913e8f8b6a675ac7bb
-DIST mariadb-10.5.11.tar.gz 99037098 BLAKE2B 7eb5b91e34f3098df7a801becd614a99b2124d3e0b3cee28533a7197293317cba28d88ad112ce5f2d6e8d971ac7fdbca1e120e3e1746f2e6a57c359fe7c68457 SHA512 5ccb3f3d7cedf5ff79dd8d9304f0b7f3eb99a5558b446d1baf24cabe20c709360e2c99a737024793918fd6c23fc5a9bb83ffddfb5549310774d07294a3bbddf4
-DIST mariadb-10.5.12-patches-01.tar.xz 5996 BLAKE2B 202804c0c41e8f646f1430f387e65390afc66d76daaf89a453cddfcfa65847f1026e2db6c70b1b16803cd0719107dbc7d4611e35bbb21486e04b2130d9d30f66 SHA512 8d84ce7601a14a3b37e87dd50414f59898724eac7f8ca93332b9c6d1ad6060ac58d61e8972451065b196fa8b6d671be03c280c95a92baa71786191e054ee67c2
-DIST mariadb-10.5.12.tar.gz 101914615 BLAKE2B 98910fee3ae7c300ab1cee7b9373695f642b1ace88f8a3136da3a565a97810754633a7479d863e324b6b94969356df7bb92e7fbc6e9b90a1e8a77c4c1d52b659 SHA512 c732c2033304f273900b3dcf21936e28aebb147316fcabc7efdc43b75bc47c198daacfaaae082b997d4e695139d2aeaa2619bd29935f1b6f0aa25b9b9cde9ae5
-DIST mariadb-10.5.13-patches-01.tar.xz 5012 BLAKE2B 34a5af415737f71750a8fa47de4f2119e31723686f000a7f99f9892a0a12fbd2be3c7bb635197b131691d73ae663e34c1b010b154d62e1ea16535265f96200f1 SHA512 71e7940558fa863835ef86f04c48c4a1ca927dee0d9ae94fcb32facde857dfef1757ae96b5a738653c341fa19a67916b0b3a03ce473020edd5c8b52ccedc0bea
-DIST mariadb-10.5.13.tar.gz 102047279 BLAKE2B be91ebbd05b72d8046eaea73075510e160d7985b2766f64a1cdd3e5bbad1f4eebe9f371caf070a0e9fab605a90588539a4011ea4b2e4243ea4fd8f299ee836fd SHA512 5d5ac04a3c8099a982cacb98dd4c162966fc7957e11c28e8b5645e49ffcf0513b9c8956f43d215c37e5eaa34aa8db6c71cfe993c89d62cab123021ee83169e7f
-DIST mariadb-10.6.5-patches-03.tar.xz 5128 BLAKE2B 7fec0af808eae048eb05098d1f41a82c8bec78f58e6d550660ac32d0c8b554827085dca6bf9256db75fe445e087295a69507ee58bbe2ae7c186bd6843531d1e5 SHA512 3905d46873b0b72363d6eae658fa0df3ac1600391dd6ddf2d834bbe7a62faabae32c88f452f6d00d2a39ab4e3bd57c401f40608a9b6cb213992ade97067b1f85
-DIST mariadb-10.6.5.tar.gz 85061860 BLAKE2B 668fe327e6a46c66bc0b77339d71279cc8bfe468d1e634035e639e88aabaa09ea27aa50e3b9d27728a275e1e7861e8db1209d372d751084ea486ad31f6f1fd29 SHA512 5aafe0a8d5ae54a6f798a6fd0cf922521f5b8e54ef5fb5c7db1cf798a7755f5910bb0b8a6c371cb8253dfb48f4ebca0becd6eb543b68473d564d2092df3185a1
+DIST mariadb-10.11.3-patches-01.tar.xz 4984 BLAKE2B abc78c83505c745ab7320b99dcda8c667fed8332dede466142027b24957fa9ff3d03f8402679ce6cffdc89bc9f0559f8c717b7ec9df52a2c5db39195f096d731 SHA512 127386c9dc8ce242d9d309e31b9357a928ba816d24d94d60cbc8723fb3bd0fb136c7d049bfb37aac057f9ebcc73c155ac20b8bcf2542f89401140728c2dcf29a
+DIST mariadb-10.11.5.tar.gz 99709948 BLAKE2B 97429df4f0a10eb72c74dd0e951954b7c096a6b42fdaa97c682d1409e2a21716171a2b66aae6ec8ab3f4371bed57aff1f054554d398242e413d5c8e7ad988da4 SHA512 851e6508c1e495afa608a8bcd5c62faa5800e69cc1ba81b9366bf250e07ce8a9801a4ee07ecbaec4b57180c9b3bf2ed8acb7f5f03dd37a87a53928bfd4dfe559
+DIST mariadb-10.11.6-patches-01.tar.xz 4980 BLAKE2B 62edcb60484d61683eb7733bb29f2f7e227d943cf95ff84373f25a8e438b1ca8d3b4a1e3f46f70722dd9abd43679e12f4cef1c2bfb3d01f8f23f68f6ab7cbd50 SHA512 2bdaaa026ac95d6edf50a1f46e77f8295e98504f978bb55d405267faf56150c17e52682a0334132eae1230c814b5cf458616e1abefb1dd580d160f952e5294f1
+DIST mariadb-10.11.6.tar.gz 99586625 BLAKE2B 8fa1d8b8c1f0206ecb8bf754f918d22f42befc816c7bb9f83641b0d71d737177f593d244477fc399cd7a3c3fa3e97f96af329d83e8848c9850f59cbb05ecab48 SHA512 3d77f7be4a26d5a36af56150a5f8ed5e21adeed9bc8ea1bd694e47a25a571bd73468eada7c96e0dfe5a6c81bef625abf71a56d228cf43a738e555e3c0d824a6a
+DIST mariadb-10.11.7.tar.gz 100584592 BLAKE2B 621204ded34097a643d0766292dca8b30d4d28f509db9159939c6b0735959e9fcf563a6c1760daff0a659fa5b3d7da7e0282add4b96b45c3004cdcf23e5312f6 SHA512 a6ebc9ba88b52e5d339b176b6fa48c03fcbe5bb590740a02c1bbd083a3d62e619937e645de2504a9f9adeed2f67127fab0307dece524b7c5217ad5df0f3ccc71
+DIST mariadb-10.6.13-patches-01.tar.xz 4984 BLAKE2B 625d04310b02aad4fec4b633e9fab06636364f3c5ed3cb88e89acd4224786c3c9ed478b636ac699e77a888b73dab12cb279df41d6095e93e9c4ae3a159570286 SHA512 1e6ac167bfd77570e8ff5955aaa9a101d9387ac4857d856f1fb8c9a489c4c2a154481b9385584435e8dc95baef0dd3ef6831c7de2d6f004401cc338edcaa9d12
+DIST mariadb-10.6.14.tar.gz 95286643 BLAKE2B 4a186f3f52b63ab7321aa7556776ff8a986bd602d78dc6a143cc3bfdfd8cc09b0a22688cba02b8907f4b3f0d1e7c640f5caad768c1e89486d6af24e6cf3168a8 SHA512 11b88480ac61303172e98ed3271c8172e840cded5175caba1469d6ec063df647b536ee6e95f110abd8d95d95c9b8d7edf1cb611113be225d5e8eeb2041f86438
+DIST mariadb-10.6.15.tar.gz 98204031 BLAKE2B 4534b82f1c1e16ce2c7c21879714e24b20fada36ef10a8a0dbe770c1d99055822fcaf146646b19b459cfd948bff0662d23f1f661a843919f90a354838bda7ee6 SHA512 61b5af8c2f8bd2f641aaa708941563d5f6ecc118acc9a154c009c3ae1d50e7360ae59241f87e5c2111775a3ffeb42a64f4853e9c7096b58d68a3695b5d0ef97c
+DIST mariadb-10.6.16-patches-01.tar.xz 4956 BLAKE2B a178930f7abe474e1419509c0bbabf783e1b931cfc3f4b4bddf426d9671d4e69e62a800d759f424f957562091c634049e594332ab15dc758e98d26c48ba69d1d SHA512 42969e6881cf2548c48fcce7f8439c9d56596ef038d55affcada45f4cd42a3666617f5786b69fe9ba42f11b06e85f43b722f2190aa7ed5badb461c48282751e5
+DIST mariadb-10.6.16.tar.gz 98224346 BLAKE2B f5b51df0b8665b817e81b5f0550019627fb41fa682c5cf5acfac30add46442ad9338da39283b09f97f2108e3677c249c2b7395c9c9f5b97e8648c879d654c7f1 SHA512 05d509d5f7a672b897f42674884df0debcae0b75c4eaa6d67645343c596c81c0c41d474a59150108428bf9f2c4468ca05650afb616aac5d1ea09fd2cea258a7f
+DIST mariadb-10.6.17.tar.gz 99067793 BLAKE2B 9df7592eb11a92fc4cbf4f1913e11f7ae652effde44358ee930726473a40fc26e46e02dc79e8b16068df37c82afe6b3141305624174d2e44c53107065c57b1ee SHA512 e07cf3e90d93d6139969875b11d6df3210b2c9f69257688b392843a7caed0dc3b75ba8904384fd0a55c24ece624e04b68c005a3731ee68f3957787a27b52ad56
diff --git a/dev-db/mariadb/files/mariadb-10.6.11-gssapi.patch b/dev-db/mariadb/files/mariadb-10.6.11-gssapi.patch
new file mode 100644
index 000000000000..f1e2347420af
--- /dev/null
+++ b/dev-db/mariadb/files/mariadb-10.6.11-gssapi.patch
@@ -0,0 +1,47 @@
+https://bugs.gentoo.org/885829
+https://github.com/mariadb-corporation/mariadb-connector-c/pull/210
+
+From 31f78bb28927b7897b282bb1b270e772a0741d72 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Fri, 25 Nov 2022 15:05:33 +0100
+Subject: [PATCH] Use find_package(GSSAPI) instead including the module
+
+When including it, CMAKE_DISABLE_FIND_PACKAGE doesn't have the desired
+effect. This can cause a CMake error when building mariadb:
+
+"CMake Error at libmariadb/plugins/auth/CMakeLists.txt:123 (SET_TARGET_PROPERTIES):
+ SET_TARGET_PROPERTIES Can not find target to add properties to:
+ auth_gssapi_client"
+--- a/libmariadb/CMakeLists.txt
++++ b/libmariadb/CMakeLists.txt
+@@ -4,6 +4,7 @@
+
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR)
+ INCLUDE(CheckFunctionExists)
++INCLUDE(FeatureSummary)
+ IF(COMMAND CMAKE_POLICY)
+ SET(NEW_POLICIES CMP0003 CMP0022 CMP0023 CMP0057 CMP0077 CMP0069 CMP0075)
+ FOREACH(TYPE OLD NEW)
+@@ -410,7 +411,8 @@ IF(NOT REMOTEIO_PLUGIN_TYPE MATCHES "OFF")
+ ENDIF()
+ IF(NOT WIN32)
+ IF(NOT AUTH_GSSAPI_PLUGIN_TYPE MATCHES "OFF")
+- INCLUDE(${CC_SOURCE_DIR}/cmake/FindGSSAPI.cmake)
++ FIND_PACKAGE(GSSAPI)
++ SET_PACKAGE_PROPERTIES(GSSAPI PROPERTIES TYPE OPTIONAL)
+ IF(GSSAPI_FOUND)
+ INCLUDE_DIRECTORIES(${GSSAPI_INCS})
+ IF(AUTH_GSSAPI_PLUGIN_TYPE MATCHES "STATIC")
+--- a/libmariadb/plugins/auth/CMakeLists.txt
++++ b/libmariadb/plugins/auth/CMakeLists.txt
+@@ -96,7 +96,8 @@ ENDIF()
+
+ #GSSAPI client authentication plugin
+ IF(NOT WIN32)
+- INCLUDE(${CC_SOURCE_DIR}/cmake/FindGSSAPI.cmake)
++ FIND_PACKAGE(GSSAPI)
++ SET_PACKAGE_PROPERTIES(GSSAPI PROPERTIES TYPE OPTIONAL)
+ IF(GSSAPI_FOUND)
+ SET(GSSAPI_SOURCES ${AUTH_DIR}/auth_gssapi_client.c ${AUTH_DIR}/gssapi_client.c ${AUTH_DIR}/gssapi_errmsg.c)
+ IF (CMAKE_VERSION VERSION_GREATER 3.18)
+
diff --git a/dev-db/mariadb/files/mariadb-10.6.11-include.patch b/dev-db/mariadb/files/mariadb-10.6.11-include.patch
new file mode 100644
index 000000000000..600f440b85f0
--- /dev/null
+++ b/dev-db/mariadb/files/mariadb-10.6.11-include.patch
@@ -0,0 +1,66 @@
+https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/2698
+
+From 20b5dbb6171604b151ec2dd8c56bef26cc27d201 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 17 Jan 2023 01:18:41 +0000
+Subject: [PATCH] Add missing includes
+
+These seem to have all fallen out of a recent Boost update to 1.81 which
+dropped some internal includes. All of these uses within columnstore
+relied on these transitive includes, so explicitly include what we need
+to fix build.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+
+--- a/storage/columnstore/columnstore/tools/passwd/secrets.cpp
++++ b/storage/columnstore/columnstore/tools/passwd/secrets.cpp
+@@ -12,6 +12,8 @@
+ */
+ #include "secrets.h"
+
++#include <array>
++#include <cstdint>
+ #include <cctype>
+ #include <fstream>
+ #include <pwd.h>
+--- a/storage/columnstore/columnstore/storage-manager/src/S3Storage.h
++++ b/storage/columnstore/columnstore/storage-manager/src/S3Storage.h
+@@ -18,6 +18,7 @@
+ #ifndef S3STORAGE_H_
+ #define S3STORAGE_H_
+
++#include <deque>
+ #include <string>
+ #include <map>
+ #include "CloudStorage.h"
+--- a/storage/columnstore/columnstore/storage-manager/src/MetadataFile.cpp
++++ b/storage/columnstore/columnstore/storage-manager/src/MetadataFile.cpp
+@@ -19,6 +19,7 @@
+ * MetadataFile.cpp
+ */
+ #include "MetadataFile.h"
++#include <set>
+ #include <boost/filesystem.hpp>
+ #define BOOST_SPIRIT_THREADSAFE
+ #include <boost/property_tree/ptree.hpp>
+--- a/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_impl_if.h
++++ b/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_impl_if.h
+@@ -19,6 +19,7 @@
+
+ #ifndef HA_MCS_IMPL_IF_H__
+ #define HA_MCS_IMPL_IF_H__
++#include <bitset>
+ #include <string>
+ #include <stdint.h>
+ #ifdef _MSC_VER
+--- a/storage/columnstore/columnstore/utils/cloudio/SocketPool.h
++++ b/storage/columnstore/columnstore/utils/cloudio/SocketPool.h
+@@ -18,6 +18,8 @@
+ #ifndef _SOCKETPOOL_H_
+ #define _SOCKETPOOL_H_
+
++#include <deque>
++
+ #include <boost/utility.hpp>
+ #include <boost/thread/mutex.hpp>
+ #include <boost/thread/condition_variable.hpp>
diff --git a/dev-db/mariadb/files/mariadb-10.6.12-gcc-13.patch b/dev-db/mariadb/files/mariadb-10.6.12-gcc-13.patch
new file mode 100644
index 000000000000..e1b18bee6791
--- /dev/null
+++ b/dev-db/mariadb/files/mariadb-10.6.12-gcc-13.patch
@@ -0,0 +1,44 @@
+https://github.com/facebook/rocksdb/pull/11118
+https://github.com/facebook/rocksdb/commit/bda8d93ba95f34aa91ae8578fe7d3454f3324f6a
+
+--- a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
++++ b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
+@@ -5,6 +5,8 @@
+
+ #pragma once
+
++#include <cstdint>
++
+ #include "rocksdb/rocksdb_namespace.h"
+
+ struct CompactionIterationStats {
+--- a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
++++ b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
+@@ -8,6 +8,7 @@
+ #pragma once
+ #ifndef ROCKSDB_LITE
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include "rocksdb/status.h"
+--- a/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
++++ b/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/storage/rocksdb/rocksdb/util/string_util.h
++++ b/storage/rocksdb/rocksdb/util/string_util.h
+@@ -6,6 +6,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <sstream>
+ #include <string>
+ #include <unordered_map>
diff --git a/dev-db/mariadb/mariadb-10.11.5-r1.ebuild b/dev-db/mariadb/mariadb-10.11.5-r1.ebuild
new file mode 100644
index 000000000000..c746545f8e79
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.11.5-r1.ebuild
@@ -0,0 +1,1321 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.11.3-patches-01.tar.xz"
+
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test xml yassl"
+
+RESTRICT="!bindist? ( bindist ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~x86"
+
+# 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="
+ dev-libs/libfmt:=
+ >=dev-libs/libpcre2-10.34:=
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ virtual/libcrypt:=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kerberos? ( virtual/krb5 )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ dev-libs/libxml2:2=
+ )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy:= )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/yacc"
+DEPEND="${COMMON_DEPEND}
+ server? (
+ extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
+ test? ( acct-group/mysql acct-user/mysql )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mysql !dev-db/percona-server
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.6
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:11.0
+ selinux? ( sec-policy/selinux-mysql )
+ server? (
+ columnstore? ( dev-db/mariadb-connector-c )
+ extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
+ galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-26*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ )
+ !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
+ )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1)
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if has test ${FEATURES} ; then
+ # 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
+ fi
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ eapply_user
+
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix static bindings in galera replication
+ sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
+ "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
+ sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
+ "${S}"/wsrep-lib/src/CMakeLists.txt || die
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
+ "${S}"/scripts/mysql_install_db.sh || die
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ # It fails on alpha without this
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ 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
+ local 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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=bin
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+ # Connect and Federated{,X} must be treated special
+ # otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_CONNECT=NO
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO
+ )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_S3=$(usex s3 YES NO)
+ -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv' \
+# ebuild mariadb-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_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # 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
+
+ # 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
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
+ cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
+
+ local -a disabled_tests
+ disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
+ disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
+ disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
+ disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
+ disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
+ disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
+ disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
+ disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
+
+ if ! use latin1 ; then
+ disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
+ disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
+ disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
+ 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
+
+ # run mysql-test tests
+ pushd "${TESTDIR}" &>/dev/null || die
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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_tests} -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ cmake_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+
+ if use pam ; then
+ keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
+ fi
+ fi
+
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
+ # Remove bundled mytop in favor of dev-db/mytop
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
+ fi
+ done
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ local rver
+ for rver in ${REPLACING_VERSIONS} ; do
+ if ver_test "${rver}" -lt "10.4.0" ; then
+ ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
+ ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
+ ewarn "for more information"
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="${1}"
+ local option="--${2}"
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
+ if [[ ! -x "${mysql_install_db_binary}" ]] ; then
+ die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ # Only create directory when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Only test when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ # Only create directory when MYSQL_RELAY_LOG is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Only test when MYSQL_RELAY_LOG is an absolute path
+ 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
+ [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
+
+ # Limit access
+ chmod 0770 "${SETUP_TMPDIR}" || die
+ chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
+
+ local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
+ local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
+
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Absolute path for binary log files specified
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Absolute path for relay log files specified
+ 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}"
+
+ 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}"
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="${SETUP_TMPDIR}/tz.sql"
+
+ 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
+
+ local cmd=(
+ "${mysql_install_db_binary}"
+ "${mysqld_options[@]}"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--rpm"
+ "--cross-bootstrap"
+ "--skip-test-db"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
+
+ local x=${RANDOM}
+ local socket="${PID_DIR}/mysqld.${x}.sock"
+ [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
+ local pidfile="${PID_DIR}/mysqld.${x}.pid"
+ [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
+ 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="${SETUP_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
+
+ rm -r "${SETUP_TMPDIR}" || die
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mariadb/mariadb-10.5.13.ebuild b/dev-db/mariadb/mariadb-10.11.5.ebuild
index 04a827332cce..a4216b24f9fb 100644
--- a/dev-db/mariadb/mariadb-10.5.13.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.5.ebuild
@@ -1,21 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+inherit systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.13-patches-01.tar.xz"
-
+HOMEPAGE="https://mariadb.org/"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.11.3-patches-01.tar.xz"
-HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
@@ -29,9 +26,10 @@ RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !pam )
+ test? ( extraengine )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-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
@@ -40,8 +38,8 @@ S="${WORKDIR}/mysql"
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
+ dev-libs/libfmt:=
>=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
>=sys-libs/zlib-1.2.3:0=
@@ -53,16 +51,17 @@ COMMON_DEPEND="
jemalloc? ( dev-libs/jemalloc:0= )
kerberos? ( virtual/krb5 )
kernel_linux? (
- sys-process/procps:0=
dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
)
server? (
app-arch/bzip2
app-arch/xz-utils
backup? ( app-arch/libarchive:0= )
columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
+ app-arch/snappy:=
+ dev-libs/boost:=
dev-libs/libxml2:2=
)
cracklib? ( sys-libs/cracklib:0= )
@@ -72,24 +71,25 @@ COMMON_DEPEND="
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
+ innodb-snappy? ( app-arch/snappy:= )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
pam? ( sys-libs/pam:0= )
s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
yassl? ( net-libs/gnutls:0= )
!yassl? (
>=dev-libs/openssl-1.0.0:0=
)
"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
+BDEPEND="app-alternatives/yacc"
DEPEND="${COMMON_DEPEND}
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
@@ -98,18 +98,16 @@ DEPEND="${COMMON_DEPEND}
static? ( sys-libs/ncurses[static-libs] )
"
RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
+ !dev-db/mysql !dev-db/percona-server
!dev-db/mariadb:10.3
!dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
!dev-db/mariadb:10.6
!dev-db/mariadb:10.7
!dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:11.0
selinux? ( sec-policy/selinux-mysql )
server? (
columnstore? ( dev-db/mariadb-connector-c )
@@ -185,18 +183,6 @@ mysql_init_vars() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
if has test ${FEATURES} ; then
# Bug #213475 - MySQL _will_ object strenuously if your machine is named
# localhost. Also causes weird failures.
@@ -219,6 +205,9 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
eapply_user
@@ -286,6 +275,8 @@ src_prepare() {
}
src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
@@ -302,7 +293,7 @@ src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
+ local mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
@@ -385,7 +376,6 @@ src_configure() {
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_AWS_KEY_MANAGEMENT=NO
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_S3=$(usex s3 YES NO)
@@ -428,8 +418,8 @@ src_configure() {
elif ! use latin1 ; then
mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
)
else
mycmakeargs+=(
@@ -561,8 +551,10 @@ src_test() {
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
@@ -570,10 +562,13 @@ src_test() {
disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
if ! use latin1 ; then
@@ -717,6 +712,9 @@ src_install() {
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
@@ -1184,7 +1182,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mariadb/mariadb-10.11.6.ebuild b/dev-db/mariadb/mariadb-10.11.6.ebuild
new file mode 100644
index 000000000000..17e3f6655187
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.11.6.ebuild
@@ -0,0 +1,1321 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.11.6-patches-01.tar.xz"
+
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test xml yassl"
+
+RESTRICT="!bindist? ( bindist ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# 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="
+ dev-libs/libfmt:=
+ >=dev-libs/libpcre2-10.34:=
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ virtual/libcrypt:=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kerberos? ( virtual/krb5 )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ dev-libs/libxml2:2=
+ )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy:= )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/yacc"
+DEPEND="${COMMON_DEPEND}
+ server? (
+ extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
+ test? ( acct-group/mysql acct-user/mysql )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mysql !dev-db/percona-server
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.6
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:11.0
+ selinux? ( sec-policy/selinux-mysql )
+ server? (
+ columnstore? ( dev-db/mariadb-connector-c )
+ extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
+ galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-26*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ )
+ !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
+ )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1)
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if has test ${FEATURES} ; then
+ # 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
+ fi
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ eapply_user
+
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix static bindings in galera replication
+ sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
+ "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
+ sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
+ "${S}"/wsrep-lib/src/CMakeLists.txt || die
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
+ "${S}"/scripts/mysql_install_db.sh || die
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ # It fails on alpha without this
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ 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
+ local 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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=bin
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+ # Connect and Federated{,X} must be treated special
+ # otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_CONNECT=NO
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO
+ )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_S3=$(usex s3 YES NO)
+ -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv' \
+# ebuild mariadb-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_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # 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
+
+ # 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
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
+ cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
+
+ local -a disabled_tests
+ disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
+ disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
+ disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
+ disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
+ disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
+ disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
+ disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
+ disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
+
+ if ! use latin1 ; then
+ disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
+ disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
+ disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
+ 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
+
+ # run mysql-test tests
+ pushd "${TESTDIR}" &>/dev/null || die
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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_tests} -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ cmake_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+
+ if use pam ; then
+ keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
+ fi
+ fi
+
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
+ # Remove bundled mytop in favor of dev-db/mytop
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
+ fi
+ done
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ local rver
+ for rver in ${REPLACING_VERSIONS} ; do
+ if ver_test "${rver}" -lt "10.4.0" ; then
+ ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
+ ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
+ ewarn "for more information"
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="${1}"
+ local option="--${2}"
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
+ if [[ ! -x "${mysql_install_db_binary}" ]] ; then
+ die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ # Only create directory when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Only test when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ # Only create directory when MYSQL_RELAY_LOG is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Only test when MYSQL_RELAY_LOG is an absolute path
+ 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
+ [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
+
+ # Limit access
+ chmod 0770 "${SETUP_TMPDIR}" || die
+ chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
+
+ local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
+ local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
+
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Absolute path for binary log files specified
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Absolute path for relay log files specified
+ 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}"
+
+ 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}"
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="${SETUP_TMPDIR}/tz.sql"
+
+ 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
+
+ local cmd=(
+ "${mysql_install_db_binary}"
+ "${mysqld_options[@]}"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--rpm"
+ "--cross-bootstrap"
+ "--skip-test-db"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
+
+ local x=${RANDOM}
+ local socket="${PID_DIR}/mysqld.${x}.sock"
+ [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
+ local pidfile="${PID_DIR}/mysqld.${x}.pid"
+ [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
+ 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="${SETUP_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
+
+ rm -r "${SETUP_TMPDIR}" || die
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mariadb/mariadb-10.5.12.ebuild b/dev-db/mariadb/mariadb-10.11.7.ebuild
index 7333e139eaa1..4659641ec020 100644
--- a/dev-db/mariadb/mariadb-10.5.12.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.7.ebuild
@@ -1,24 +1,21 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+inherit systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.12-patches-01.tar.xz"
-
+HOMEPAGE="https://mariadb.org/"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.11.6-patches-01.tar.xz"
-HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.5/${SUBSLOT:-0}"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -29,9 +26,10 @@ RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !pam )
+ test? ( extraengine )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -40,8 +38,8 @@ S="${WORKDIR}/mysql"
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
+ dev-libs/libfmt:=
>=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
>=sys-libs/zlib-1.2.3:0=
@@ -53,16 +51,17 @@ COMMON_DEPEND="
jemalloc? ( dev-libs/jemalloc:0= )
kerberos? ( virtual/krb5 )
kernel_linux? (
- sys-process/procps:0=
dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
)
server? (
app-arch/bzip2
app-arch/xz-utils
backup? ( app-arch/libarchive:0= )
columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
+ app-arch/snappy:=
+ dev-libs/boost:=
dev-libs/libxml2:2=
)
cracklib? ( sys-libs/cracklib:0= )
@@ -72,24 +71,25 @@ COMMON_DEPEND="
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
+ innodb-snappy? ( app-arch/snappy:= )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
pam? ( sys-libs/pam:0= )
s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
yassl? ( net-libs/gnutls:0= )
!yassl? (
>=dev-libs/openssl-1.0.0:0=
)
"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
+BDEPEND="app-alternatives/yacc"
DEPEND="${COMMON_DEPEND}
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
@@ -98,18 +98,16 @@ DEPEND="${COMMON_DEPEND}
static? ( sys-libs/ncurses[static-libs] )
"
RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
+ !dev-db/mysql !dev-db/percona-server
!dev-db/mariadb:10.3
!dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
!dev-db/mariadb:10.6
!dev-db/mariadb:10.7
!dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:11.0
selinux? ( sec-policy/selinux-mysql )
server? (
columnstore? ( dev-db/mariadb-connector-c )
@@ -124,8 +122,8 @@ RDEPEND="${COMMON_DEPEND}
)
"
# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
@@ -185,18 +183,6 @@ mysql_init_vars() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
if has test ${FEATURES} ; then
# Bug #213475 - MySQL _will_ object strenuously if your machine is named
# localhost. Also causes weird failures.
@@ -219,6 +205,8 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
eapply_user
@@ -286,6 +274,8 @@ src_prepare() {
}
src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
@@ -302,7 +292,7 @@ src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
+ local mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
@@ -385,7 +375,6 @@ src_configure() {
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_AWS_KEY_MANAGEMENT=NO
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_S3=$(usex s3 YES NO)
@@ -428,8 +417,8 @@ src_configure() {
elif ! use latin1 ; then
mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
)
else
mycmakeargs+=(
@@ -498,7 +487,6 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
if ! use server ; then
@@ -506,12 +494,6 @@ src_test() {
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))"
@@ -558,14 +540,20 @@ src_test() {
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
local -a disabled_tests
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
@@ -573,10 +561,13 @@ src_test() {
disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
if ! use latin1 ; then
@@ -611,10 +602,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
@@ -699,14 +689,20 @@ src_install() {
fi
fi
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
# Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
fi
done
@@ -715,6 +711,9 @@ src_install() {
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
@@ -1182,7 +1181,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mariadb/mariadb-10.2.38-r2.ebuild b/dev-db/mariadb/mariadb-10.2.38-r2.ebuild
deleted file mode 100644
index 10dffe82e51c..000000000000
--- a/dev-db/mariadb/mariadb-10.2.38-r2.ebuild
+++ /dev/null
@@ -1,1292 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.38-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.2/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? (
- galera? (
- sst-xtrabackup? (
- || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
- )
- )
- )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.2.39-r1.ebuild b/dev-db/mariadb/mariadb-10.2.39-r1.ebuild
deleted file mode 100644
index ba2de3f4555d..000000000000
--- a/dev-db/mariadb/mariadb-10.2.39-r1.ebuild
+++ /dev/null
@@ -1,1292 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.39-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.2/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? (
- galera? (
- sst-xtrabackup? (
- || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
- )
- )
- )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.2.40.ebuild b/dev-db/mariadb/mariadb-10.2.40.ebuild
deleted file mode 100644
index f16835bae6e8..000000000000
--- a/dev-db/mariadb/mariadb-10.2.40.ebuild
+++ /dev/null
@@ -1,1314 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.40-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.2/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? (
- galera? (
- sst-xtrabackup? (
- || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
- )
- )
- )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.2.41.ebuild b/dev-db/mariadb/mariadb-10.2.41.ebuild
deleted file mode 100644
index e86dd5747adc..000000000000
--- a/dev-db/mariadb/mariadb-10.2.41.ebuild
+++ /dev/null
@@ -1,1310 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.41-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? (
- galera? (
- sst-xtrabackup? (
- || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
- )
- )
- )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.3.29-r2.ebuild b/dev-db/mariadb/mariadb-10.3.29-r2.ebuild
deleted file mode 100644
index 49a93e90db69..000000000000
--- a/dev-db/mariadb/mariadb-10.3.29-r2.ebuild
+++ /dev/null
@@ -1,1284 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.29-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.3/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.3.30-r1.ebuild b/dev-db/mariadb/mariadb-10.3.30-r1.ebuild
deleted file mode 100644
index 127792eaa5ae..000000000000
--- a/dev-db/mariadb/mariadb-10.3.30-r1.ebuild
+++ /dev/null
@@ -1,1284 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.30-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.3/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.3.31.ebuild b/dev-db/mariadb/mariadb-10.3.31.ebuild
deleted file mode 100644
index 5247b5977d40..000000000000
--- a/dev-db/mariadb/mariadb-10.3.31.ebuild
+++ /dev/null
@@ -1,1306 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.31-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.3/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.3.32.ebuild b/dev-db/mariadb/mariadb-10.3.32.ebuild
deleted file mode 100644
index 27f7a4a5ce18..000000000000
--- a/dev-db/mariadb/mariadb-10.3.32.ebuild
+++ /dev/null
@@ -1,1302 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.32-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.4.19-r2.ebuild b/dev-db/mariadb/mariadb-10.4.19-r2.ebuild
deleted file mode 100644
index a022272908c6..000000000000
--- a/dev-db/mariadb/mariadb-10.4.19-r2.ebuild
+++ /dev/null
@@ -1,1305 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.19-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.4/${SUBSLOT:-0}"
-IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- 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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.4.20-r1.ebuild b/dev-db/mariadb/mariadb-10.4.20-r1.ebuild
deleted file mode 100644
index 2dbab9b520ed..000000000000
--- a/dev-db/mariadb/mariadb-10.4.20-r1.ebuild
+++ /dev/null
@@ -1,1305 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.20-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.4/${SUBSLOT:-0}"
-IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- 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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.4.21.ebuild b/dev-db/mariadb/mariadb-10.4.21.ebuild
deleted file mode 100644
index 51df17fb22e3..000000000000
--- a/dev-db/mariadb/mariadb-10.4.21.ebuild
+++ /dev/null
@@ -1,1327 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.21-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.4/${SUBSLOT:-0}"
-IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- 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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.5.10-r2.ebuild b/dev-db/mariadb/mariadb-10.5.10-r2.ebuild
deleted file mode 100644
index a65e0a19d7e3..000000000000
--- a/dev-db/mariadb/mariadb-10.5.10-r2.ebuild
+++ /dev/null
@@ -1,1299 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.10-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.5/${SUBSLOT:-0}"
-IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
- test xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- >=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- virtual/libcrypt:=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kerberos? ( virtual/krb5 )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- server? (
- app-arch/bzip2
- app-arch/xz-utils
- backup? ( app-arch/libarchive:0= )
- columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
- dev-libs/libxml2:2=
- )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- s3? ( net-misc/curl )
- systemd? ( sys-apps/systemd:= )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="${COMMON_DEPEND}
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- selinux? ( sec-policy/selinux-mysql )
- server? (
- columnstore? ( dev-db/mariadb-connector-c )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- 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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_S3=$(usex s3 YES NO)
- -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.5.11-r1.ebuild b/dev-db/mariadb/mariadb-10.5.11-r1.ebuild
deleted file mode 100644
index 8d65c3817e33..000000000000
--- a/dev-db/mariadb/mariadb-10.5.11-r1.ebuild
+++ /dev/null
@@ -1,1299 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.11-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.5/${SUBSLOT:-0}"
-IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
- test xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- >=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- virtual/libcrypt:=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kerberos? ( virtual/krb5 )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- server? (
- app-arch/bzip2
- app-arch/xz-utils
- backup? ( app-arch/libarchive:0= )
- columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
- dev-libs/libxml2:2=
- )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- s3? ( net-misc/curl )
- systemd? ( sys-apps/systemd:= )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="${COMMON_DEPEND}
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- selinux? ( sec-policy/selinux-mysql )
- server? (
- columnstore? ( dev-db/mariadb-connector-c )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- 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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_S3=$(usex s3 YES NO)
- -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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
-
- 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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}"
-
- 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="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.6.5-r1.ebuild b/dev-db/mariadb/mariadb-10.6.14.ebuild
index a266a6e8a5eb..a47a18609606 100644
--- a/dev-db/mariadb/mariadb-10.6.5-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.14.ebuild
@@ -1,21 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+inherit systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.6.5-patches-03.tar.xz"
-
+HOMEPAGE="https://mariadb.org/"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz"
-HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
@@ -29,9 +26,10 @@ RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !pam )
+ test? ( extraengine )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-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
@@ -41,7 +39,6 @@ S="${WORKDIR}/mysql"
# These are used for both runtime and compiletime
COMMON_DEPEND="
>=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
>=sys-libs/zlib-1.2.3:0=
@@ -53,16 +50,17 @@ COMMON_DEPEND="
jemalloc? ( dev-libs/jemalloc:0= )
kerberos? ( virtual/krb5 )
kernel_linux? (
- sys-process/procps:0=
dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
)
server? (
app-arch/bzip2
app-arch/xz-utils
backup? ( app-arch/libarchive:0= )
columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
+ app-arch/snappy:=
+ dev-libs/boost:=
dev-libs/libxml2:2=
)
cracklib? ( sys-libs/cracklib:0= )
@@ -72,24 +70,25 @@ COMMON_DEPEND="
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
+ innodb-snappy? ( app-arch/snappy:= )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
pam? ( sys-libs/pam:0= )
s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
yassl? ( net-libs/gnutls:0= )
!yassl? (
>=dev-libs/openssl-1.0.0:0=
)
"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
+BDEPEND="app-alternatives/yacc"
DEPEND="${COMMON_DEPEND}
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
@@ -108,6 +107,10 @@ RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb:10.5
!dev-db/mariadb:10.7
!dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:10.11
+ !dev-db/mariadb:11.0
!<virtual/mysql-5.6-r11
!<virtual/libmysqlclient-18-r1
selinux? ( sec-policy/selinux-mysql )
@@ -127,6 +130,12 @@ RDEPEND="${COMMON_DEPEND}
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux
+ pthread_threadid_np
+ getthrid
+)
+
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
@@ -185,18 +194,6 @@ mysql_init_vars() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
if has test ${FEATURES} ; then
# Bug #213475 - MySQL _will_ object strenuously if your machine is named
# localhost. Also causes weird failures.
@@ -219,6 +216,9 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
eapply_user
@@ -286,6 +286,8 @@ src_prepare() {
}
src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
@@ -302,7 +304,7 @@ src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
+ local mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
@@ -571,11 +573,13 @@ src_test() {
disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
if ! use latin1 ; then
@@ -719,6 +723,9 @@ src_install() {
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
@@ -1186,7 +1193,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mariadb/mariadb-10.6.15-r1.ebuild b/dev-db/mariadb/mariadb-10.6.15-r1.ebuild
new file mode 100644
index 000000000000..8ffeec4aa737
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.6.15-r1.ebuild
@@ -0,0 +1,1332 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz"
+
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test xml yassl"
+
+RESTRICT="!bindist? ( bindist ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~x86"
+
+# 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="
+ >=dev-libs/libpcre2-10.34:=
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ virtual/libcrypt:=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kerberos? ( virtual/krb5 )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ dev-libs/libxml2:2=
+ )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy:= )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/yacc"
+DEPEND="${COMMON_DEPEND}
+ server? (
+ extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
+ test? ( acct-group/mysql acct-user/mysql )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:10.11
+ !dev-db/mariadb:11.0
+ !<virtual/mysql-5.6-r11
+ !<virtual/libmysqlclient-18-r1
+ selinux? ( sec-policy/selinux-mysql )
+ server? (
+ columnstore? ( dev-db/mariadb-connector-c )
+ extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
+ galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-26*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ )
+ !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
+ )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux
+ pthread_threadid_np
+ getthrid
+)
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1)
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if has test ${FEATURES} ; then
+ # 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
+ fi
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ eapply_user
+
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix static bindings in galera replication
+ sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
+ "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
+ sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
+ "${S}"/wsrep-lib/src/CMakeLists.txt || die
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
+ "${S}"/scripts/mysql_install_db.sh || die
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ # It fails on alpha without this
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ 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
+ local 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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=bin
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+ # Connect and Federated{,X} must be treated special
+ # otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_CONNECT=NO
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO
+ )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_S3=$(usex s3 YES NO)
+ -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv' \
+# ebuild mariadb-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_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # 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
+
+ # 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
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
+ cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
+
+ local -a disabled_tests
+ disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
+ disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
+ disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
+ disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
+ disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
+ disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
+ disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
+ disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
+
+ if ! use latin1 ; then
+ disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
+ disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
+ disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
+ 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
+
+ # run mysql-test tests
+ pushd "${TESTDIR}" &>/dev/null || die
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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_tests} -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ cmake_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+
+ if use pam ; then
+ keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
+ fi
+ fi
+
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
+ # Remove bundled mytop in favor of dev-db/mytop
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
+ fi
+ done
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ local rver
+ for rver in ${REPLACING_VERSIONS} ; do
+ if ver_test "${rver}" -lt "10.4.0" ; then
+ ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
+ ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
+ ewarn "for more information"
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="${1}"
+ local option="--${2}"
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
+ if [[ ! -x "${mysql_install_db_binary}" ]] ; then
+ die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ # Only create directory when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Only test when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ # Only create directory when MYSQL_RELAY_LOG is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Only test when MYSQL_RELAY_LOG is an absolute path
+ 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
+ [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
+
+ # Limit access
+ chmod 0770 "${SETUP_TMPDIR}" || die
+ chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
+
+ local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
+ local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
+
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Absolute path for binary log files specified
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Absolute path for relay log files specified
+ 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}"
+
+ 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}"
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="${SETUP_TMPDIR}/tz.sql"
+
+ 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
+
+ local cmd=(
+ "${mysql_install_db_binary}"
+ "${mysqld_options[@]}"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--rpm"
+ "--cross-bootstrap"
+ "--skip-test-db"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
+
+ local x=${RANDOM}
+ local socket="${PID_DIR}/mysqld.${x}.sock"
+ [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
+ local pidfile="${PID_DIR}/mysqld.${x}.pid"
+ [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
+ 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="${SETUP_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
+
+ rm -r "${SETUP_TMPDIR}" || die
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mariadb/mariadb-10.4.22.ebuild b/dev-db/mariadb/mariadb-10.6.15.ebuild
index b11372f1e1d6..56661ef5dc05 100644
--- a/dev-db/mariadb/mariadb-10.4.22.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.15.ebuild
@@ -1,38 +1,35 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+inherit systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.22-patches-01.tar.xz"
-
+HOMEPAGE="https://mariadb.org/"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz"
-HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test xml yassl"
RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !pam )
+ test? ( extraengine )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-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
@@ -41,28 +38,31 @@ S="${WORKDIR}/mysql"
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
+ >=dev-libs/libpcre2-10.34:=
>=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ virtual/libcrypt:=
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kerberos? ( virtual/krb5 )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
server? (
+ app-arch/bzip2
+ app-arch/xz-utils
backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ dev-libs/libxml2:2=
+ )
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
@@ -70,41 +70,53 @@ COMMON_DEPEND="
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
+ innodb-snappy? ( app-arch/snappy:= )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
)
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
+BDEPEND="app-alternatives/yacc"
+DEPEND="${COMMON_DEPEND}
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
test? ( acct-group/mysql acct-user/mysql )
)
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
!dev-db/mariadb:0
!dev-db/mariadb:5.5
!dev-db/mariadb:10.1
!dev-db/mariadb:10.2
!dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
!dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
!dev-db/mariadb:10.7
!dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:10.11
+ !dev-db/mariadb:11.0
!<virtual/mysql-5.6-r11
!<virtual/libmysqlclient-18-r1
- ${COMMON_DEPEND}
+ selinux? ( sec-policy/selinux-mysql )
server? (
+ columnstore? ( dev-db/mariadb-connector-c )
+ extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
galera? (
sys-apps/iproute2
=sys-cluster/galera-26*
@@ -112,13 +124,18 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
sst-mariabackup? ( net-misc/socat[ssl] )
)
!prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
)
"
# 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 )"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux
+ pthread_threadid_np
+ getthrid
+)
+
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
@@ -177,25 +194,6 @@ mysql_init_vars() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
if has test ${FEATURES} ; then
# Bug #213475 - MySQL _will_ object strenuously if your machine is named
# localhost. Also causes weird failures.
@@ -218,6 +216,9 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
eapply_user
@@ -229,16 +230,11 @@ src_prepare() {
}
if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
local plugin
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
locale_info qc_info server_audit sql_errlog auth_ed25519 )
@@ -290,6 +286,8 @@ src_prepare() {
}
src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
@@ -306,7 +304,7 @@ src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
+ local mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
@@ -386,13 +384,13 @@ src_configure() {
-DWITH_PCRE=system
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_AWS_KEY_MANAGEMENT=NO
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_S3=$(usex s3 YES NO)
+ -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
@@ -414,9 +412,6 @@ src_configure() {
-DWITH_NUMA=$(usex numa ON OFF)
)
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
if use test ; then
# This is needed for the new client lib which tests a real, open server
mycmakeargs+=( -DSKIP_TESTS=ON )
@@ -434,8 +429,8 @@ src_configure() {
elif ! use latin1 ; then
mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
)
else
mycmakeargs+=(
@@ -567,8 +562,10 @@ src_test() {
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
@@ -576,10 +573,13 @@ src_test() {
disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
if ! use latin1 ; then
@@ -604,7 +604,7 @@ src_test() {
# run mysql-test tests
pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
@@ -701,14 +701,20 @@ src_install() {
fi
fi
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
# Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
fi
done
@@ -717,6 +723,9 @@ src_install() {
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
@@ -1184,7 +1193,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mariadb/mariadb-10.6.16.ebuild b/dev-db/mariadb/mariadb-10.6.16.ebuild
new file mode 100644
index 000000000000..675c53c34db1
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.6.16.ebuild
@@ -0,0 +1,1332 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.16-patches-01.tar.xz"
+
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test xml yassl"
+
+RESTRICT="!bindist? ( bindist ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# 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="
+ >=dev-libs/libpcre2-10.34:=
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ virtual/libcrypt:=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kerberos? ( virtual/krb5 )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ dev-libs/libxml2:2=
+ )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy:= )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/yacc"
+DEPEND="${COMMON_DEPEND}
+ server? (
+ extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
+ test? ( acct-group/mysql acct-user/mysql )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:10.11
+ !dev-db/mariadb:11.0
+ !<virtual/mysql-5.6-r11
+ !<virtual/libmysqlclient-18-r1
+ selinux? ( sec-policy/selinux-mysql )
+ server? (
+ columnstore? ( dev-db/mariadb-connector-c )
+ extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
+ galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-26*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ )
+ !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
+ )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux
+ pthread_threadid_np
+ getthrid
+)
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1)
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if has test ${FEATURES} ; then
+ # 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
+ fi
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ eapply_user
+
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix static bindings in galera replication
+ sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
+ "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
+ sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
+ "${S}"/wsrep-lib/src/CMakeLists.txt || die
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
+ "${S}"/scripts/mysql_install_db.sh || die
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ # It fails on alpha without this
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ 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
+ local 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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=bin
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+ # Connect and Federated{,X} must be treated special
+ # otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_CONNECT=NO
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO
+ )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_S3=$(usex s3 YES NO)
+ -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv' \
+# ebuild mariadb-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_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # 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
+
+ # 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
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
+ cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
+
+ local -a disabled_tests
+ disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
+ disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
+ disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
+ disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
+ disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
+ disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
+ disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
+ disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
+
+ if ! use latin1 ; then
+ disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
+ disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
+ disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
+ 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
+
+ # run mysql-test tests
+ pushd "${TESTDIR}" &>/dev/null || die
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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_tests} -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ cmake_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+
+ if use pam ; then
+ keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
+ fi
+ fi
+
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
+ # Remove bundled mytop in favor of dev-db/mytop
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
+ fi
+ done
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ local rver
+ for rver in ${REPLACING_VERSIONS} ; do
+ if ver_test "${rver}" -lt "10.4.0" ; then
+ ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
+ ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
+ ewarn "for more information"
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="${1}"
+ local option="--${2}"
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
+ if [[ ! -x "${mysql_install_db_binary}" ]] ; then
+ die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ # Only create directory when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Only test when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ # Only create directory when MYSQL_RELAY_LOG is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Only test when MYSQL_RELAY_LOG is an absolute path
+ 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
+ [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
+
+ # Limit access
+ chmod 0770 "${SETUP_TMPDIR}" || die
+ chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
+
+ local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
+ local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
+
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Absolute path for binary log files specified
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Absolute path for relay log files specified
+ 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}"
+
+ 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}"
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="${SETUP_TMPDIR}/tz.sql"
+
+ 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
+
+ local cmd=(
+ "${mysql_install_db_binary}"
+ "${mysqld_options[@]}"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--rpm"
+ "--cross-bootstrap"
+ "--skip-test-db"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
+
+ local x=${RANDOM}
+ local socket="${PID_DIR}/mysqld.${x}.sock"
+ [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
+ local pidfile="${PID_DIR}/mysqld.${x}.pid"
+ [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
+ 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="${SETUP_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
+
+ rm -r "${SETUP_TMPDIR}" || die
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mariadb/mariadb-10.6.17.ebuild b/dev-db/mariadb/mariadb-10.6.17.ebuild
new file mode 100644
index 000000000000..07dceb2a13e5
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.6.17.ebuild
@@ -0,0 +1,1331 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.16-patches-01.tar.xz"
+
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test xml yassl"
+
+RESTRICT="!bindist? ( bindist ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )
+ test? ( extraengine )"
+
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv x86"
+
+# 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="
+ >=dev-libs/libpcre2-10.34:=
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ virtual/libcrypt:=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kerberos? ( virtual/krb5 )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ dev-libs/libxml2:2=
+ )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy:= )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? (
+ dev-libs/boost:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/yacc"
+DEPEND="${COMMON_DEPEND}
+ server? (
+ extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
+ test? ( acct-group/mysql acct-user/mysql )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:10.11
+ !dev-db/mariadb:11.0
+ !<virtual/mysql-5.6-r11
+ !<virtual/libmysqlclient-18-r1
+ selinux? ( sec-policy/selinux-mysql )
+ server? (
+ columnstore? ( dev-db/mariadb-connector-c )
+ extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
+ galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-26*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ )
+ !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
+ )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux
+ pthread_threadid_np
+ getthrid
+)
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1)
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1)
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if has test ${FEATURES} ; then
+ # 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
+ fi
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ eapply_user
+
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix static bindings in galera replication
+ sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
+ "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
+ sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
+ "${S}"/wsrep-lib/src/CMakeLists.txt || die
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
+ "${S}"/scripts/mysql_install_db.sh || die
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # bug #855233 (MDEV-11914, MDEV-25633) at least
+ filter-lto
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ # It fails on alpha without this
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ 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
+ local 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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=bin
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+ # Connect and Federated{,X} must be treated special
+ # otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_CONNECT=NO
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO
+ )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_S3=$(usex s3 YES NO)
+ -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv' \
+# ebuild mariadb-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_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # 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
+
+ # 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
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
+ cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
+
+ local -a disabled_tests
+ disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
+ disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
+ disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
+ disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
+ disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
+ disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
+ disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
+ disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
+
+ if ! use latin1 ; then
+ disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
+ disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
+ disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
+ 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
+
+ # run mysql-test tests
+ pushd "${TESTDIR}" &>/dev/null || die
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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_tests} -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ cmake_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+
+ if use pam ; then
+ keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
+ fi
+ fi
+
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
+ # Remove bundled mytop in favor of dev-db/mytop
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
+ fi
+ done
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ local rver
+ for rver in ${REPLACING_VERSIONS} ; do
+ if ver_test "${rver}" -lt "10.4.0" ; then
+ ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
+ ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
+ ewarn "for more information"
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="${1}"
+ local option="--${2}"
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
+ if [[ ! -x "${mysql_install_db_binary}" ]] ; then
+ die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ # Only create directory when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Only test when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ # Only create directory when MYSQL_RELAY_LOG is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Only test when MYSQL_RELAY_LOG is an absolute path
+ 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
+ [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
+
+ # Limit access
+ chmod 0770 "${SETUP_TMPDIR}" || die
+ chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
+
+ local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
+ local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
+
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Absolute path for binary log files specified
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Absolute path for relay log files specified
+ 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}"
+
+ 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}"
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="${SETUP_TMPDIR}/tz.sql"
+
+ 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
+
+ local cmd=(
+ "${mysql_install_db_binary}"
+ "${mysqld_options[@]}"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--rpm"
+ "--cross-bootstrap"
+ "--skip-test-db"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
+
+ local x=${RANDOM}
+ local socket="${PID_DIR}/mysqld.${x}.sock"
+ [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
+ local pidfile="${PID_DIR}/mysqld.${x}.pid"
+ [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
+ 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="${SETUP_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
+
+ rm -r "${SETUP_TMPDIR}" || die
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml
index ce11cf9a4b4e..909151a47221 100644
--- a/dev-db/mariadb/metadata.xml
+++ b/dev-db/mariadb/metadata.xml
@@ -1,36 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
-<use>
- <flag name="backup">Build mariadb-backup which supports SST and hot backup of InnoDB, Aria and MyISAM including compression and encryption</flag>
- <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages</flag>
- <flag name="columnstore">Build the ColumnStore storage engine</flag>
- <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
- <flag name="galera">Enables galera replication</flag>
- <flag name="innodb-lz4">Enables lz4 compression methods for InnoDB/XtraDB</flag>
- <flag name="innodb-lzo">Enables lzo compression methods for InnoDB/XtraDB</flag>
- <flag name="innodb-snappy">Enables snappy compression methods for InnoDB/XtraDB using <pkg>app-arch/snappy</pkg></flag>
- <flag name="jdbc">Enable the CONNECT engine to access foreign databases via JDBC</flag>
- <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
- <flag name="mroonga">Add support for the Mroonga engine for interfacing with the Groonga text search</flag>
- <flag name="numa">Enable NUMA support using sys-process/numactl (NUMA kernel support is also required)</flag>
- <flag name="oqgraph">Add support for the Open Query GRAPH engine</flag>
- <flag name="pam">Enable the optional PAM authentication plugin for the server</flag>
- <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
- <flag name="rocksdb">Add support for RocksDB; a key/value, LSM database optimized for flash storage</flag>
- <flag name="server">Build the server program</flag>
- <flag name="sphinx">Add suport for the sphinx full-text search engine</flag>
- <flag name="sst-rsync">Add tools needed to support the rsync SST method</flag>
- <flag name="sst-mariabackup">Add tools needed to support the mariabackup SST method</flag>
- <flag name="sst-xtrabackup">Add tools needed to support the xtrabackup and xtrabackup-v2 SST methods</flag>
- <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name="s3">Build the S3 storage engine</flag>
- <flag name="test">Install upstream testsuites for end use.</flag>
- <flag name="tokudb">Add support for TokuDB storage engine</flag>
- <flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
-</use>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <use>
+ <flag name="backup">Build mariadb-backup which supports SST and hot backup of InnoDB, Aria and MyISAM including compression and encryption</flag>
+ <flag name="columnstore">Build the ColumnStore storage engine</flag>
+ <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
+ <flag name="galera">Enables galera replication</flag>
+ <flag name="innodb-lz4">Enables lz4 compression methods for InnoDB/XtraDB</flag>
+ <flag name="innodb-lzo">Enables lzo compression methods for InnoDB/XtraDB</flag>
+ <flag name="innodb-snappy">Enables snappy compression methods for InnoDB/XtraDB using <pkg>app-arch/snappy</pkg></flag>
+ <flag name="jdbc">Enable the CONNECT engine to access foreign databases via JDBC</flag>
+ <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
+ <flag name="mroonga">Add support for the Mroonga engine for interfacing with the Groonga text search</flag>
+ <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
+ <flag name="oqgraph">Add support for the Open Query GRAPH engine</flag>
+ <flag name="pam">Enable the optional PAM authentication plugin for the server</flag>
+ <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
+ <flag name="rocksdb">Add support for RocksDB; a key/value, LSM database optimized for flash storage</flag>
+ <flag name="server">Build the server program</flag>
+ <flag name="sphinx">Add suport for the sphinx full-text search engine</flag>
+ <flag name="sst-rsync">Add tools needed to support the rsync SST method</flag>
+ <flag name="sst-mariabackup">Add tools needed to support the mariabackup SST method</flag>
+ <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-debug/systemtap</pkg></flag>
+ <flag name="s3">Build the S3 storage engine</flag>
+ <flag name="test">Install upstream testsuites for end use.</flag>
+ <flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">MariaDB/server</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index 0da8ea686b8c..259768739a73 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -1,3 +1,2 @@
-DIST mongodb-src-r4.2.15.tar.gz 62187847 BLAKE2B eb9cbf52b5aeb95d3c6c6bd14da9731a85a24e2c3560163be999bddff1cd1ac90f9cf07b4c3fe22e35ffcdd174a6b2720a801fa179f574ff33150d1a4660ef9e SHA512 ee46a2dfb7ae23ad38da49bf126a2bc7932bded8f01d34516ad575d2aed5d6233c5ad620b2a4424a98afb9e80e26acf40c66982cdd0637c13f0f7aaae8b746a0
-DIST mongodb-src-r4.4.8.tar.gz 50492854 BLAKE2B 4776b17e88104879ea69468ff277b07dc317d936654bb26c69750e0aaf8f51bea73994e7fc4841228d8506db392e0454b5fd16257071b86a2e4ad34e90f33632 SHA512 9b0cd81c9c731255a6c079c040ed342a51a72e3ea72047d3ae959c0afde50b0cdb1fcfe7fcbea30c449a3618a09d213752277cee6eb9bc0a55915b9229543606
-DIST mongodb-src-r5.0.2.tar.gz 54527477 BLAKE2B f71102f4c2711074498c288817ee06156cb030ee647541f6604582b918fb75239cc5a551c08b745b6296a2693d2a1ac28d94c1365b86bc508257b9d42142612a SHA512 179d57a0a12c5c23e54208c262edff6976f509324be8ad68d6761997dc702534f618dea1a24568fdb2d716359762e64da54e2d152a685447b4e0450996bf2154
+DIST mongodb-src-r4.4.20.tar.gz 50883098 BLAKE2B 3ef2fddc4d926e372033449a14b0a71c606b6f8a9bb6767ff32c8da5a9287bf2972fae9dd83eab3ad934b1341c3edeed7708afd46f9a096819e9eca48aca40f5 SHA512 70b264b6a6f3ec16c8b0750d47026928f6250cb7a1a64d980c400ffbcc3af1b9c6301fe098d209fb8461cba4534b7c2edffdcdeb0548e627da107cc23d9a6b9c
+DIST mongodb-src-r5.0.16.tar.gz 56217257 BLAKE2B d78704c0cff4f8c1da20fdc5e083634c6dbe539136de58410ae6b86c9c5cd8044926425545ae07a7011a5febec5abb6f67773b8e539a4ac16daa1ad0ffc6a070 SHA512 d5fccd6cd3ee3f70457bd96a8eff66ca9872df37e196f1baf26993b6c080297d77504020e5554eaf3a2e92bb2730a467226b4bef47ab7fdc4de247d91c0143eb
diff --git a/dev-db/mongodb/files/mongodb-4.2.0-fix-scons.patch b/dev-db/mongodb/files/mongodb-4.2.0-fix-scons.patch
deleted file mode 100644
index 3c929df6f964..000000000000
--- a/dev-db/mongodb/files/mongodb-4.2.0-fix-scons.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/SConstruct 2019-08-21 09:25:00.980260318 +0200
-+++ b/SConstruct 2019-08-21 09:27:53.653601283 +0200
-@@ -1858,7 +1858,6 @@
- # -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" if not env.TargetOSIs('emscripten') else "-g",
- "-pthread",
- "-Wall",
- "-Wsign-compare",
-@@ -1870,6 +1869,8 @@
- 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'] )
-
-@@ -1890,8 +1891,8 @@
-
- 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-4.2.15-no-compass.patch b/dev-db/mongodb/files/mongodb-4.2.15-no-compass.patch
deleted file mode 100644
index de2eda82f213..000000000000
--- a/dev-db/mongodb/files/mongodb-4.2.15-no-compass.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/src/mongo/SConscript b/src/mongo/SConscript
-index 0379fcb0..1aabddba 100644
---- a/src/mongo/SConscript
-+++ b/src/mongo/SConscript
-@@ -808,32 +808,6 @@ for full_dir, archive_dir in list(env["ARCHIVE_ADDITION_DIR_MAP"].items()):
- for target in env["DIST_BINARIES"]:
- installBinary(env, "db/modules/" + target)
-
--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"
--
--compass_installer = f"#/src/mongo/installer/compass/{compass_script}"
--
--distBinaries.append(compass_installer)
--
--if not hygienic:
-- compass_script_installer = env.Install("$INSTALL_DIR/bin", compass_installer)
--else:
-- compass_script_installer = env.AutoInstall(
-- 'bin',
-- source=[
-- compass_installer,
-- ],
-- INSTALL_ALIAS=[
-- 'tools',
-- ],
-- )
--
--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"):
-@@ -851,7 +825,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.4.1-boost.patch b/dev-db/mongodb/files/mongodb-4.4.1-boost.patch
index 009ca6826a4f..d14f6fe3052f 100644
--- a/dev-db/mongodb/files/mongodb-4.4.1-boost.patch
+++ b/dev-db/mongodb/files/mongodb-4.4.1-boost.patch
@@ -1,5 +1,3 @@
-diff --git a/SConstruct b/SConstruct
-index 89c044ab..0484e475 100644
--- a/SConstruct
+++ b/SConstruct
@@ -3511,17 +3511,11 @@ def doConfigure(myenv):
diff --git a/dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch b/dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch
new file mode 100644
index 000000000000..601141e8d416
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch
@@ -0,0 +1,71 @@
+https://bugs.gentoo.org/844235
+--- a/src/mongo/db/auth/security_key_test.cpp
++++ b/src/mongo/db/auth/security_key_test.cpp
+@@ -30,6 +30,7 @@
+ #include "mongo/platform/basic.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+
+ #include "mongo/base/string_data.h"
+ #include "mongo/db/auth/authorization_manager.h"
+--- a/src/mongo/db/storage/storage_repair_observer.cpp
++++ b/src/mongo/db/storage/storage_repair_observer.cpp
+@@ -41,6 +41,7 @@
+ #include <sys/types.h>
+ #endif
+
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/db/dbhelpers.h"
+--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
++++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
+@@ -34,6 +34,7 @@
+ #include "mongo/db/storage/kv/kv_engine_test_harness.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+ #include <memory>
+
+--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
++++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+@@ -36,6 +36,7 @@
+ #include <limits>
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/base/simple_string_data_comparator.h"
+--- a/src/mongo/shell/shell_utils_extended.cpp
++++ b/src/mongo/shell/shell_utils_extended.cpp
+@@ -37,6 +37,7 @@
+ #endif
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <fstream>
+
+ #include "mongo/bson/bson_validate.h"
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
+@@ -36,6 +36,7 @@
+ #include <iostream>
+ #include <malloc.h>
+ #include <pcrecpp.h>
++#include <fstream>
+ #include <sched.h>
+ #include <stdio.h>
+ #include <sys/mman.h>
+--- a/src/mongo/util/stacktrace_threads.cpp
++++ b/src/mongo/util/stacktrace_threads.cpp
+@@ -36,6 +36,7 @@
+ #include <array>
+ #include <atomic>
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <cctype>
+ #include <cstdint>
+ #include <cstdlib>
diff --git a/dev-db/mongodb/files/mongodb-4.4.10-boost-1.81.patch b/dev-db/mongodb/files/mongodb-4.4.10-boost-1.81.patch
new file mode 100644
index 000000000000..331f0c5b922a
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.4.10-boost-1.81.patch
@@ -0,0 +1,317 @@
+https://bugs.gentoo.org/887037
+
+Workaround https://github.com/boostorg/container/commit/99091420ae553b27345e04279fd19fe24fb684c1
+in Boost 1.81.
+
+Upstream s2 (as in real upstream, not MongoDB) has deviated substantially
+from the version vendored.
+--- a/src/third_party/s2/base/stl_decl_msvc.h
++++ b/src/third_party/s2/base/stl_decl_msvc.h
+@@ -118,8 +118,8 @@ namespace msvchash {
+ class hash_multimap;
+ } // end namespace msvchash
+
+-using msvchash::hash_set;
+-using msvchash::hash_map;
++using msvchash::hash_set = my_hash_set;
++using msvchash::hash_map = my_hash_map;
+ using msvchash::hash;
+ using msvchash::hash_multimap;
+ using msvchash::hash_multiset;
+--- a/src/third_party/s2/base/stl_decl_osx.h
++++ b/src/third_party/s2/base/stl_decl_osx.h
+@@ -68,8 +68,8 @@ using std::string;
+
+ using namespace std;
+ using __gnu_cxx::hash;
+-using __gnu_cxx::hash_set;
+-using __gnu_cxx::hash_map;
++using __gnu_cxx::hash_set = my_hash_set;
++using __gnu_cxx::hash_map = my_hash_map;
+ using __gnu_cxx::select1st;
+
+ /* On Linux (and gdrive on OSX), this comes from places like
+--- a/src/third_party/s2/hash.h
++++ b/src/third_party/s2/hash.h
+@@ -2,10 +2,10 @@
+ #define THIRD_PARTY_S2_HASH_H_
+
+ #include <unordered_map>
+-#define hash_map std::unordered_map
++#define my_hash_map std::unordered_map
+
+ #include <unordered_set>
+-#define hash_set std::unordered_set
++#define my_hash_set std::unordered_set
+
+ #define HASH_NAMESPACE_START namespace std {
+ #define HASH_NAMESPACE_END }
+--- a/src/third_party/s2/s2_test.cc
++++ b/src/third_party/s2/s2_test.cc
+@@ -10,7 +10,7 @@ using std::reverse;
+
+ #include <hash_set>
+ #include <hash_map>
+-using __gnu_cxx::hash_set;
++using __gnu_cxx::hash_set = my_hash_map;
+
+ #include "s2.h"
+ #include "base/logging.h"
+@@ -709,8 +709,8 @@ TEST(S2, Frames) {
+ #if 0
+ TEST(S2, S2PointHashSpreads) {
+ int kTestPoints = 1 << 16;
+- hash_set<size_t> set;
+- hash_set<S2Point> points;
++ my_hash_set<size_t> set;
++ my_hash_set<S2Point> points;
+ hash<S2Point> hasher;
+ S2Point base = S2Point(1, 1, 1);
+ for (int i = 0; i < kTestPoints; ++i) {
+@@ -733,7 +733,7 @@ TEST(S2, S2PointHashCollapsesZero) {
+ double minus_zero = -zero;
+ EXPECT_NE(*reinterpret_cast<uint64 const*>(&zero),
+ *reinterpret_cast<uint64 const*>(&minus_zero));
+- hash_map<S2Point, int> map;
++ my_hash_map<S2Point, int> map;
+ S2Point zero_pt(zero, zero, zero);
+ S2Point minus_zero_pt(minus_zero, minus_zero, minus_zero);
+
+--- a/src/third_party/s2/s2cellid_test.cc
++++ b/src/third_party/s2/s2cellid_test.cc
+@@ -10,7 +10,7 @@ using std::reverse;
+
+ #include <cstdio>
+ #include <hash_map>
+-using __gnu_cxx::hash_map;
++using __gnu_cxx::hash_map = my_hash_map;
+
+ #include <sstream>
+ #include <vector>
+@@ -170,7 +170,7 @@ TEST(S2CellId, Tokens) {
+ static const int kMaxExpandLevel = 3;
+
+ static void ExpandCell(S2CellId const& parent, vector<S2CellId>* cells,
+- hash_map<S2CellId, S2CellId>* parent_map) {
++ my_hash_map<S2CellId, S2CellId>* parent_map) {
+ cells->push_back(parent);
+ if (parent.level() == kMaxExpandLevel) return;
+ int i, j, orientation;
+@@ -194,7 +194,7 @@ static void ExpandCell(S2CellId const& parent, vector<S2CellId>* cells,
+
+ TEST(S2CellId, Containment) {
+ // Test contains() and intersects().
+- hash_map<S2CellId, S2CellId> parent_map;
++ my_hash_map<S2CellId, S2CellId> parent_map;
+ vector<S2CellId> cells;
+ for (int face = 0; face < 6; ++face) {
+ ExpandCell(S2CellId::FromFacePosLevel(face, 0, 0), &cells, &parent_map);
+--- a/src/third_party/s2/s2loop.cc
++++ b/src/third_party/s2/s2loop.cc
+@@ -120,7 +120,7 @@ bool S2Loop::IsValid(string* err) const {
+ }
+ }
+ // Loops are not allowed to have any duplicate vertices.
+- hash_map<S2Point, int> vmap;
++ my_hash_map<S2Point, int> vmap;
+ for (int i = 0; i < num_vertices(); ++i) {
+ if (!vmap.insert(make_pair(vertex(i), i)).second) {
+ VLOG(2) << "Duplicate vertices: " << vmap[vertex(i)] << " and " << i;
+--- a/src/third_party/s2/s2polygon.cc
++++ b/src/third_party/s2/s2polygon.cc
+@@ -117,7 +117,7 @@ HASH_NAMESPACE_END
+ bool S2Polygon::IsValid(const vector<S2Loop*>& loops, string* err) {
+ // If a loop contains an edge AB, then no other loop may contain AB or BA.
+ if (loops.size() > 1) {
+- hash_map<S2PointPair, pair<int, int> > edges;
++ my_hash_map<S2PointPair, pair<int, int> > edges;
+ for (size_t i = 0; i < loops.size(); ++i) {
+ S2Loop* lp = loops[i];
+ for (int j = 0; j < lp->num_vertices(); ++j) {
+--- a/src/third_party/s2/s2polygonbuilder.cc
++++ b/src/third_party/s2/s2polygonbuilder.cc
+@@ -175,7 +175,7 @@ S2Loop* S2PolygonBuilder::AssembleLoop(S2Point const& v0, S2Point const& v1,
+ // This ensures that only CCW loops are constructed when possible.
+
+ vector<S2Point> path; // The path so far.
+- hash_map<S2Point, int> index; // Maps a vertex to its index in "path".
++ my_hash_map<S2Point, int> index; // Maps a vertex to its index in "path".
+ path.push_back(v0);
+ path.push_back(v1);
+ index[v1] = 1;
+@@ -361,7 +361,7 @@ void S2PolygonBuilder::BuildMergeMap(PointIndex* index, MergeMap* merge_map) {
+
+ // First, we build the set of all the distinct vertices in the input.
+ // We need to include the source and destination of every edge.
+- hash_set<S2Point> vertices;
++ my_hash_set<S2Point> vertices;
+ for (EdgeSet::const_iterator i = edges_->begin(); i != edges_->end(); ++i) {
+ vertices.insert(i->first);
+ VertexSet const& vset = i->second;
+@@ -370,7 +370,7 @@ void S2PolygonBuilder::BuildMergeMap(PointIndex* index, MergeMap* merge_map) {
+ }
+
+ // Build a spatial index containing all the distinct vertices.
+- for (hash_set<S2Point>::const_iterator i = vertices.begin();
++ for (my_hash_set<S2Point>::const_iterator i = vertices.begin();
+ i != vertices.end(); ++i) {
+ index->Insert(*i);
+ }
+@@ -378,7 +378,7 @@ void S2PolygonBuilder::BuildMergeMap(PointIndex* index, MergeMap* merge_map) {
+ // Next, we loop through all the vertices and attempt to grow a maximial
+ // mergeable group starting from each vertex.
+ vector<S2Point> frontier, mergeable;
+- for (hash_set<S2Point>::const_iterator vstart = vertices.begin();
++ for (my_hash_set<S2Point>::const_iterator vstart = vertices.begin();
+ vstart != vertices.end(); ++vstart) {
+ // Skip any vertices that have already been merged with another vertex.
+ if (merge_map->find(*vstart) != merge_map->end()) continue;
+--- a/src/third_party/s2/s2polygonbuilder.h
++++ b/src/third_party/s2/s2polygonbuilder.h
+@@ -262,7 +262,7 @@ class S2PolygonBuilder {
+ // current position to a new position, and also returns a spatial index
+ // containing all of the vertices that do not need to be moved.
+ class PointIndex;
+- typedef hash_map<S2Point, S2Point> MergeMap;
++ typedef my_hash_map<S2Point, S2Point> MergeMap;
+ void BuildMergeMap(PointIndex* index, MergeMap* merge_map);
+
+ // Moves a set of vertices from old to new positions.
+@@ -282,7 +282,7 @@ class S2PolygonBuilder {
+ // once. We could have also used a multiset<pair<S2Point, S2Point> >,
+ // but this representation is a bit more convenient.
+ typedef multiset<S2Point> VertexSet;
+- typedef hash_map<S2Point, VertexSet> EdgeSet;
++ typedef my_hash_map<S2Point, VertexSet> EdgeSet;
+ scoped_ptr<EdgeSet> edges_;
+
+ // Unique collection of the starting (first) vertex of all edges,
+--- a/src/third_party/s2/s2regioncoverer.cc
++++ b/src/third_party/s2/s2regioncoverer.cc
+@@ -321,7 +321,7 @@ void S2RegionCoverer::GetInteriorCellUnion(S2Region const& region,
+
+ void S2RegionCoverer::FloodFill(
+ S2Region const& region, S2CellId const& start, vector<S2CellId>* output) {
+- hash_set<S2CellId> all;
++ my_hash_set<S2CellId> all;
+ vector<S2CellId> frontier;
+ output->clear();
+ all.insert(start);
+--- a/src/third_party/s2/s2regioncoverer_test.cc
++++ b/src/third_party/s2/s2regioncoverer_test.cc
+@@ -11,7 +11,7 @@ using std::swap;
+ using std::reverse;
+
+ #include <hash_map>
+-using __gnu_cxx::hash_map;
++using __gnu_cxx::hash_map = my_hash_map;
+
+ #include <queue>
+ using std::priority_queue;
+@@ -65,7 +65,7 @@ static void CheckCovering(S2RegionCoverer const& coverer,
+ vector<S2CellId> const& covering,
+ bool interior) {
+ // Keep track of how many cells have the same coverer.min_level() ancestor.
+- hash_map<S2CellId, int> min_level_cells;
++ my_hash_map<S2CellId, int> min_level_cells;
+ for (int i = 0; i < covering.size(); ++i) {
+ int level = covering[i].level();
+ EXPECT_GE(level, coverer.min_level());
+@@ -76,7 +76,7 @@ static void CheckCovering(S2RegionCoverer const& coverer,
+ if (covering.size() > coverer.max_cells()) {
+ // If the covering has more than the requested number of cells, then check
+ // that the cell count cannot be reduced by using the parent of some cell.
+- for (hash_map<S2CellId, int>::const_iterator i = min_level_cells.begin();
++ for (my_hash_map<S2CellId, int>::const_iterator i = min_level_cells.begin();
+ i != min_level_cells.end(); ++i) {
+ EXPECT_EQ(i->second, 1);
+ }
+--- a/src/third_party/s2/strings/split.cc
++++ b/src/third_party/s2/strings/split.cc
+@@ -156,7 +156,7 @@ struct simple_insert_iterator {
+ // SplitStringToIterator{Using|AllowEmpty}().
+ template <typename T>
+ struct simple_hash_map_iterator {
+- typedef hash_map<T, T> hashmap;
++ typedef my_hash_map<T, T> hashmap;
+ hashmap* t;
+ bool even;
+ typename hashmap::iterator curr;
+@@ -246,8 +246,8 @@ void SplitStringAllowEmpty(const string& full, const char* delim,
+ }
+
+ void SplitStringToHashsetAllowEmpty(const string& full, const char* delim,
+- hash_set<string>* result) {
+- simple_insert_iterator<hash_set<string> > it(result);
++ my_hash_set<string>* result) {
++ simple_insert_iterator<my_hash_set<string> > it(result);
+ SplitStringToIteratorAllowEmpty(full, delim, 0, it);
+ }
+
+@@ -258,7 +258,7 @@ void SplitStringToSetAllowEmpty(const string& full, const char* delim,
+ }
+
+ void SplitStringToHashmapAllowEmpty(const string& full, const char* delim,
+- hash_map<string, string>* result) {
++ my_hash_map<string, string>* result) {
+ simple_hash_map_iterator<string> it(result);
+ SplitStringToIteratorAllowEmpty(full, delim, 0, it);
+ }
+@@ -352,8 +352,8 @@ void SplitStringUsing(const string& full,
+ }
+
+ void SplitStringToHashsetUsing(const string& full, const char* delim,
+- hash_set<string>* result) {
+- simple_insert_iterator<hash_set<string> > it(result);
++ my_hash_set<string>* result) {
++ simple_insert_iterator<my_hash_set<string> > it(result);
+ SplitStringToIteratorUsing(full, delim, it);
+ }
+
+@@ -364,7 +364,7 @@ void SplitStringToSetUsing(const string& full, const char* delim,
+ }
+
+ void SplitStringToHashmapUsing(const string& full, const char* delim,
+- hash_map<string, string>* result) {
++ my_hash_map<string, string>* result) {
+ simple_hash_map_iterator<string> it(result);
+ SplitStringToIteratorUsing(full, delim, it);
+ }
+--- a/src/third_party/s2/strings/split.h
++++ b/src/third_party/s2/strings/split.h
+@@ -41,7 +41,7 @@ using namespace std;
+ void SplitStringAllowEmpty(const string& full, const char* delim,
+ vector<string>* res);
+ void SplitStringToHashsetAllowEmpty(const string& full, const char* delim,
+- hash_set<string>* res);
++ my_hash_set<string>* res);
+ void SplitStringToSetAllowEmpty(const string& full, const char* delim,
+ set<string>* res);
+ // The even-positioned (0-based) components become the keys for the
+@@ -50,7 +50,7 @@ void SplitStringToSetAllowEmpty(const string& full, const char* delim,
+ // if the key was already present in the hash table, or will be the
+ // empty string if the key is a newly inserted key.
+ void SplitStringToHashmapAllowEmpty(const string& full, const char* delim,
+- hash_map<string, string>* result);
++ my_hash_map<string, string>* result);
+
+ // ----------------------------------------------------------------------
+ // SplitStringUsing()
+@@ -66,7 +66,7 @@ void SplitStringToHashmapAllowEmpty(const string& full, const char* delim,
+ void SplitStringUsing(const string& full, const char* delim,
+ vector<string>* res);
+ void SplitStringToHashsetUsing(const string& full, const char* delim,
+- hash_set<string>* res);
++ my_hash_set<string>* res);
+ void SplitStringToSetUsing(const string& full, const char* delim,
+ set<string>* res);
+ // The even-positioned (0-based) components become the keys for the
+@@ -75,7 +75,7 @@ void SplitStringToSetUsing(const string& full, const char* delim,
+ // if the key was already present in the hash table, or will be the
+ // empty string if the key is a newly inserted key.
+ void SplitStringToHashmapUsing(const string& full, const char* delim,
+- hash_map<string, string>* result);
++ my_hash_map<string, string>* result);
+
+ // ----------------------------------------------------------------------
+ // SplitOneIntToken()
diff --git a/dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch b/dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch
new file mode 100644
index 000000000000..471f3e226820
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch
@@ -0,0 +1,29 @@
+Don't automagically force lld > gold > bfd. Leave it up to the user.
+
+In particular, avoids issues with LTO enabled (via the flag/scons option)
+where using GCC as compiler, as lld can't do LTO with GCC.
+
+https://bugs.gentoo.org/769986
+--- a/SConstruct
++++ b/SConstruct
+@@ -3109,20 +3109,6 @@ def doConfigure(myenv):
+ myenv.Append( CCFLAGS=["/Zc:inline"])
+
+ if myenv.ToolchainIs('gcc', 'clang'):
+- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
+- # because it is much faster. Don't use it if the user has already configured another linker
+- # selection manually.
+- if not any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
+-
+- # lld has problems with separate debug info on some platforms. See:
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- if get_option('separate-debug') == 'off':
+- if not AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=lld'):
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+- else:
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+-
+ # Usually, --gdb-index is too expensive in big static binaries, but for dynamic
+ # builds it works well.
+ if link_model.startswith("dynamic"):
diff --git a/dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch b/dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch
new file mode 100644
index 000000000000..00b82aca94fc
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch
@@ -0,0 +1,25 @@
+https://cgit.openembedded.org/meta-openembedded-contrib/commit/?id=856c21b061e000640829e158b9bb9e978a974386
+
+From 5d8218b8a1b5bc71e2a0cf543a000e194daba599 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Jan 2023 17:15:30 -0800
+Subject: [PATCH] free_mon: Include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no
+longer transitively included [1]. Explicitly include it
+for uintXX_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/mongo/db/free_mon/free_mon_options.h
++++ b/src/mongo/db/free_mon/free_mon_options.h
+@@ -29,6 +29,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+
diff --git a/dev-db/mongodb/files/mongodb-5.0.16-arm64-assert.patch b/dev-db/mongodb/files/mongodb-5.0.16-arm64-assert.patch
new file mode 100644
index 000000000000..6a6b9f14afe0
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.16-arm64-assert.patch
@@ -0,0 +1,16 @@
+The upstream patch for this is far too big to backport, so for now, just drop
+the assert given it's somewhat harmless compared to not being able to build at all.
+
+https://jira.mongodb.org/browse/SERVER-65664
+https://bugs.gentoo.org/855128
+--- a/src/mongo/db/stats/counters.h
++++ b/src/mongo/db/stats/counters.h
+@@ -221,8 +221,6 @@ private:
+ AtomicWord<long long> requests{0};
+ };
+ CacheAligned<Together> _together{};
+- static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
+- "cache line spill");
+
+ CacheAligned<AtomicWord<long long>> _logicalBytesOut{0};
+
diff --git a/dev-db/mongodb/files/mongodb-5.0.2-boost-1.79.patch b/dev-db/mongodb/files/mongodb-5.0.2-boost-1.79.patch
new file mode 100644
index 000000000000..39c76bacf426
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.2-boost-1.79.patch
@@ -0,0 +1,71 @@
+https://bugs.gentoo.org/844235
+--- a/src/mongo/db/auth/security_key_test.cpp
++++ b/src/mongo/db/auth/security_key_test.cpp
+@@ -30,6 +30,7 @@
+ #include "mongo/platform/basic.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+
+ #include "mongo/base/string_data.h"
+ #include "mongo/db/auth/authorization_manager.h"
+--- a/src/mongo/db/storage/storage_repair_observer.cpp
++++ b/src/mongo/db/storage/storage_repair_observer.cpp
+@@ -41,6 +41,7 @@
+ #include <sys/types.h>
+ #endif
+
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/db/dbhelpers.h"
+--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
++++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
+@@ -34,6 +34,7 @@
+ #include "mongo/db/storage/kv/kv_engine_test_harness.h"
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+ #include <memory>
+
+--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
++++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+@@ -36,6 +36,7 @@
+ #include <limits>
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/base/simple_string_data_comparator.h"
+--- a/src/mongo/shell/shell_utils_extended.cpp
++++ b/src/mongo/shell/shell_utils_extended.cpp
+@@ -37,6 +37,7 @@
+ #endif
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <fmt/format.h>
+ #include <fstream>
+
+--- a/src/mongo/util/stacktrace_threads.cpp
++++ b/src/mongo/util/stacktrace_threads.cpp
+@@ -36,6 +36,7 @@
+ #include <array>
+ #include <atomic>
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <cstdint>
+ #include <cstdlib>
+ #include <dirent.h>
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
+@@ -36,6 +36,7 @@
+ #include <iostream>
+ #include <malloc.h>
+ #include <pcrecpp.h>
++#include <fstream>
+ #include <sched.h>
+ #include <stdio.h>
+ #include <sys/mman.h>
diff --git a/dev-db/mongodb/files/mongodb-5.0.2-glibc-2.34.patch b/dev-db/mongodb/files/mongodb-5.0.2-glibc-2.34.patch
deleted file mode 100644
index b9c5241be374..000000000000
--- a/dev-db/mongodb/files/mongodb-5.0.2-glibc-2.34.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/mongo/stdx/thread.h b/src/mongo/stdx/thread.h
-index 7b15bb56..4d8f73ad 100644
---- a/src/mongo/stdx/thread.h
-+++ b/src/mongo/stdx/thread.h
-@@ -105,10 +105,7 @@ private:
- // . N Y : 4,344 | 13,048 | 7,352
- // . Y Y : 4,424 | 13,672 | 8,392
- // ( https://jira.mongodb.org/secure/attachment/233569/233569_stacktrace-writeup.txt )
-- static constexpr std::size_t kMongoMinSignalStackSize = std::size_t{64} << 10;
--
-- static constexpr std::size_t kStackSize =
-- std::max(kMongoMinSignalStackSize, std::size_t{MINSIGSTKSZ});
-+ static constexpr std::size_t kStackSize = std::size_t{64} << 10;
- std::unique_ptr<std::byte[]> _stackStorage = std::make_unique<std::byte[]>(kStackSize);
-
- #else // !MONGO_HAS_SIGALTSTACK
diff --git a/dev-db/mongodb/files/mongodb-5.0.5-boost-1.81-extra.patch b/dev-db/mongodb/files/mongodb-5.0.5-boost-1.81-extra.patch
new file mode 100644
index 000000000000..af83692d16d2
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.5-boost-1.81-extra.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/889020
+--- a/src/mongo/util/boost_assert_shim.cpp
++++ b/src/mongo/util/boost_assert_shim.cpp
+@@ -31,6 +31,7 @@
+
+ #if defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG)
+
++#include <exception>
+ #include <boost/assert.hpp>
+
+ namespace mongo {
diff --git a/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch b/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
new file mode 100644
index 000000000000..6ce92778b6bd
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
@@ -0,0 +1,49 @@
+Don't automagically force lld > gold > bfd. Leave it up to the user.
+
+In particular, avoids issues with LTO enabled (via the flag/scons option)
+where using GCC as compiler, as lld can't do LTO with GCC.
+
+https://bugs.gentoo.org/769986
+--- a/SConstruct
++++ b/SConstruct
+@@ -2824,40 +2824,6 @@ def doConfigure(myenv):
+ def AddToSHLINKFLAGSIfSupported(env, flag):
+ return AddFlagIfSupported(env, 'C', '.c', flag, True, SHLINKFLAGS=[flag])
+
+- if myenv.ToolchainIs('gcc', 'clang'):
+- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
+- # because it is much faster. Don't use it if the user has already configured another linker
+- # selection manually.
+- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
+- myenv.FatalError(f"Use the '--linker' option instead of modifying the LINKFLAGS directly.")
+-
+- linker_ld = get_option('linker')
+- if linker_ld == 'auto':
+- # lld has problems with separate debug info on some platforms. See:
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- #
+- # lld also apparently has problems with symbol resolution
+- # in some esoteric configurations that apply for us when
+- # using --link-model=dynamic mode, so disable lld there
+- # too. See:
+- # - https://bugs.llvm.org/show_bug.cgi?id=46676
+- #
+- # We should revisit all of these issues the next time we upgrade our clang minimum.
+- if get_option('separate-debug') == 'off' and get_option('link-model') != 'dynamic':
+- if not AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=lld'):
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+- else:
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+- elif link_model.startswith("dynamic") and linker_ld == 'bfd':
+- # BFD is not supported due to issues with it causing warnings from some of
+- # the third party libraries that mongodb is linked with:
+- # https://jira.mongodb.org/browse/SERVER-49465
+- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.")
+- else:
+- if not AddToLINKFLAGSIfSupported(myenv, f'-fuse-ld={linker_ld}'):
+- myenv.FatalError(f"Linker {linker_ld} could not be configured.")
+-
+ detectCompiler = Configure(myenv, help=False, custom_tests = {
+ 'CheckForCXXLink': CheckForCXXLink,
+ })
diff --git a/dev-db/mongodb/files/mongodb.service b/dev-db/mongodb/files/mongodb.service-r1
index 78d551183838..a9adb390bd19 100644
--- a/dev-db/mongodb/files/mongodb.service
+++ b/dev-db/mongodb/files/mongodb.service-r1
@@ -5,6 +5,8 @@ After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
+LimitNOFILE=65536
+
[Install]
WantedBy=multi-user.target
diff --git a/dev-db/mongodb/metadata.xml b/dev-db/mongodb/metadata.xml
index 4209dc659524..f8c3c65fba50 100644
--- a/dev-db/mongodb/metadata.xml
+++ b/dev-db/mongodb/metadata.xml
@@ -14,7 +14,6 @@
and powerful queries).
</longdescription>
<use>
- <flag name="lto">Adds support for link time optimization</flag>
<flag name="mongosh">Install the MongoDB shell from <pkg>app-admin/mongosh-bin</pkg></flag>
<flag name="tools">Install the MongoDB tools (mongoimport, mongodump...) from <pkg>app-admin/mongo-tools</pkg></flag>
</use>
diff --git a/dev-db/mongodb/mongodb-4.2.15-r1.ebuild b/dev-db/mongodb/mongodb-4.2.15-r1.ebuild
deleted file mode 100644
index 4877cf52d7b1..000000000000
--- a/dev-db/mongodb/mongodb-4.2.15-r1.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-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 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? (
- >=dev-libs/openssl-1.0.1g: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.4.1-gcc11.patch"
- "${FILESDIR}/${PN}-4.2.15-no-compass.patch"
- "${FILESDIR}/${PN}-5.0.2-glibc-2.34.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/mongodb/mongodb-4.4.8-r1.ebuild b/dev-db/mongodb/mongodb-4.4.20.ebuild
index 8429beb08e60..12cef7fbaaa0 100644
--- a/dev-db/mongodb/mongodb-4.4.8-r1.ebuild
+++ b/dev-db/mongodb/mongodb-4.4.20.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_{10..11} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
@@ -21,14 +21,14 @@ SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
KEYWORDS="amd64 ~arm64 -riscv"
-IUSE="debug kerberos lto ssl test +tools"
+IUSE="debug kerberos 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(+),nls]
+ dev-libs/boost:=[nls]
>=dev-libs/libpcre-8.42[cxx]
app-arch/zstd:=
dev-libs/snowball-stemmer:=
@@ -40,16 +40,18 @@ RDEPEND="acct-group/mongodb
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-debug/valgrind )"
+BDEPEND="
$(python_gen_any_dep '
test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] )
- >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ >=dev-build/scons-3.1.1[${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-100 )"
PATCHES=(
@@ -57,21 +59,24 @@ PATCHES=(
"${FILESDIR}/${PN}-4.4.8-no-compass.patch"
"${FILESDIR}/${PN}-4.4.1-boost.patch"
"${FILESDIR}/${PN}-4.4.1-gcc11.patch"
- "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+ "${FILESDIR}/${PN}-4.4.10-boost-1.79.patch"
+ "${FILESDIR}/${PN}-4.4.10-no-force-lld.patch"
+ "${FILESDIR}/${PN}-4.4.10-boost-1.81.patch"
+ "${FILESDIR}/${PN}-4.4.8-gcc-13.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
+ python_has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1
+ python_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}]"
+ python_has_version ">=dev-build/scons-3.1.1[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
}
pkg_pretend() {
@@ -101,6 +106,7 @@ src_configure() {
# --use-system-icu fails tests
# --use-system-tcmalloc is strongly NOT recommended:
scons_opts=(
+ AR="$(tc-getAR)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
@@ -117,9 +123,12 @@ src_configure() {
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 )
+ # Needed to avoid forcing FORTIFY_SOURCE
+ # Gentoo's toolchain applies these anyway
+ scons_opts+=( --runtime-hardening=off )
+
# respect mongoDB upstream's basic recommendations
# see bug #536688 and #526114
if ! use debug; then
@@ -155,7 +164,7 @@ src_install() {
newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
newins "${FILESDIR}/mongos.conf-r2" mongos.conf
- systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}
diff --git a/dev-db/mongodb/mongodb-5.0.2-r1.ebuild b/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
index 70c31271f576..239cdc96c99c 100644
--- a/dev-db/mongodb/mongodb-5.0.2-r1.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_{10..11} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
@@ -20,9 +20,9 @@ SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 -riscv"
+KEYWORDS="amd64 ~arm64 -riscv"
CPU_FLAGS="cpu_flags_x86_avx"
-IUSE="debug kerberos lto mongosh ssl +tools ${CPU_FLAGS}"
+IUSE="debug kerberos mongosh ssl +tools ${CPU_FLAGS}"
# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server
# resmoke needs python packages not yet present in Gentoo
@@ -32,7 +32,7 @@ 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(+),nls]
+ dev-libs/boost:=[nls]
>=dev-libs/libpcre-8.42[cxx]
app-arch/zstd:=
dev-libs/snowball-stemmer:=
@@ -44,15 +44,17 @@ RDEPEND="acct-group/mongodb
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-debug/valgrind )"
+BDEPEND="
$(python_gen_any_dep '
- >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ >=dev-build/scons-3.1.1[${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="
mongosh? ( app-admin/mongosh-bin )
tools? ( >=app-admin/mongo-tools-100 )
@@ -65,24 +67,30 @@ PATCHES=(
"${FILESDIR}/${PN}-5.0.2-no-compass.patch"
"${FILESDIR}/${PN}-5.0.2-skip-no-exceptions.patch"
"${FILESDIR}/${PN}-5.0.2-skip-reqs-check.patch"
- "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+ "${FILESDIR}/${PN}-5.0.2-boost-1.79.patch"
+ "${FILESDIR}/${PN}-5.0.5-no-force-lld.patch"
+ "${FILESDIR}/${PN}-4.4.10-boost-1.81.patch"
+ "${FILESDIR}/${PN}-5.0.5-boost-1.81-extra.patch"
+ "${FILESDIR}/${PN}-4.4.8-gcc-13.patch"
+ "${FILESDIR}/${PN}-5.0.16-arm64-assert.patch"
)
S="${WORKDIR}/${MY_P}"
python_check_deps() {
- 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}]"
+ python_has_version ">=dev-build/scons-3.1.1[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
}
pkg_pretend() {
- # Bug 809692
- if ! use cpu_flags_x86_avx; then
- eerror "MongoDB 5.0 requires use of the AVX instruction set"
- eerror "https://docs.mongodb.com/v5.0/administration/production-notes/"
- die "MongoDB requires AVX"
+ # Bug 809692 + 890294
+ if use amd64 && ! use cpu_flags_x86_avx; then
+ ewarn "MongoDB 5.0 requires use of the AVX instruction set."
+ ewarn "This ebuild will use --experimental-optimization=-sandybridge which"
+ ewarn "will result in an experimental build of MongoDB as per upstream."
+ ewarn "https://docs.mongodb.com/v5.0/administration/production-notes/"
fi
if [[ -n ${REPLACING_VERSIONS} ]]; then
@@ -111,10 +119,12 @@ src_configure() {
# --use-system-icu fails tests
# --use-system-tcmalloc is strongly NOT recommended:
scons_opts=(
+ AR="$(tc-getAR)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
--disable-warnings-as-errors
+ --force-jobs
--jobs="$(makeopts_jobs)"
--use-system-boost
--use-system-pcre
@@ -128,8 +138,13 @@ src_configure() {
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 )
+ use amd64 && ! use cpu_flags_x86_avx && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
+
+ scons_opts+=( --ssl=$(usex ssl on off) )
+
+ # Needed to avoid forcing FORTIFY_SOURCE
+ # Gentoo's toolchain applies these anyway
+ scons_opts+=( --runtime-hardening=off )
# respect mongoDB upstream's basic recommendations
# see bug #536688 and #526114
@@ -160,7 +175,7 @@ src_install() {
newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
newins "${FILESDIR}/mongos.conf-r2" mongos.conf
- systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}
diff --git a/dev-db/mtop/Manifest b/dev-db/mtop/Manifest
deleted file mode 100644
index a70a11d24ef1..000000000000
--- a/dev-db/mtop/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mtop-0.6.6.tar.gz 48161 BLAKE2B 6e1716d3b4b1617b1b78ae0bac3e363b17264bccd65a0b5831a7cf574fbf7826f5041829084c5af614d1f922eb368e33db8d31f0b12103d18661e7aaa6681616 SHA512 9befb1d44ef537c4abe0246ebbf20019499875d7e8efeac2fd1cf068dc577c2809bb0333ebf633982852446a0160d73ccfa0006dcfa42f7d95bbbf765f12ce17
diff --git a/dev-db/mtop/files/mtop-0.6.6-globalstatusfix.patch b/dev-db/mtop/files/mtop-0.6.6-globalstatusfix.patch
deleted file mode 100644
index 1d10acc42a99..000000000000
--- a/dev-db/mtop/files/mtop-0.6.6-globalstatusfix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur mtop-0.6.6/work/mtop-0.6.6/mtop.PL mtop-0.6.6-r1/work/mtop-0.6.6/mtop.PL
---- mtop-0.6.6/work/mtop-0.6.6/mtop.PL 2004-09-13 00:22:03.000000000 +0200
-+++ mtop-0.6.6-r1/work/mtop-0.6.6/mtop.PL 2009-12-08 15:04:56.000000000 +0100
-@@ -568,7 +568,7 @@
- die "Unable to connect to mysql [", $DBI::errstr, "]\n";
-
- my $st_procs = $dbh->prepare("show full processlist");
--my $st_status = $dbh->prepare("show status");
-+my $st_status = $dbh->prepare("show global status");
- my $st_kill = $dbh->prepare("kill ?");
- my $st_flush = $dbh->prepare("flush status");
- my $st_vars = $dbh->prepare("show variables");
diff --git a/dev-db/mtop/mtop-0.6.6-r3.ebuild b/dev-db/mtop/mtop-0.6.6-r3.ebuild
deleted file mode 100644
index 9a6df615b6d3..000000000000
--- a/dev-db/mtop/mtop-0.6.6-r3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit perl-module
-
-DESCRIPTION="Mysql top monitors a MySQL server"
-HOMEPAGE="http://mtop.sourceforge.net"
-SRC_URI="mirror://sourceforge/mtop/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-DEPEND="dev-perl/Curses
- dev-perl/DBI
- dev-perl/DBD-mysql
- virtual/perl-libnet"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}"/mtop-0.6.6-globalstatusfix.patch )
-DOCS=( ChangeLog README README.devel )
-
-warnmsg() {
- einfo "Upstream no longer maintains mtop. You should consider dev-db/mytop instead."
-}
-
-pkg_postinst() {
- warnmsg
-}
-
-pkg_preinst() {
- warnmsg
-}
diff --git a/dev-db/mycli/Manifest b/dev-db/mycli/Manifest
index 35d77ffde0d9..de5904294910 100644
--- a/dev-db/mycli/Manifest
+++ b/dev-db/mycli/Manifest
@@ -1,2 +1 @@
-DIST mycli-1.22.2_p20201026.tar.gz 269338 BLAKE2B 42f4349e65a43829691fd7fa0fa1a57968cf34ffba04156ae221d7a2713179826fc09903e45b6f05fbf05688f956a9cd95e87393179992378766b3a3a6ef9c6e SHA512 70d68d7517322b28783c324d463664c2794ba26cc78e0eee056891ce43dbce57c4dd9c13982ac2976af07ff1fa3d4552cb22bf42b9c7885c93483ba86b873636
-DIST mycli-1.24.1.tar.gz 275983 BLAKE2B cc03ebd0f4de1fabbd1c186139aac04a50d01529190972cac63765a4d3e688e994c112d001489bf1dfb17541370e0c348a368d85a86b7eed335b775b96897765 SHA512 5f8ffb98fd285d2e556bef7cefdc77588983c0028c7c24084710633fb469ae3c5ab2232ca23e87406d44d87e503c113039e6884ec9efd603f45b3ab7ed7c0925
+DIST mycli-1.27.0.gh.tar.gz 285739 BLAKE2B 9b3ba8b98289721774d7bf06465402440d70772ee4f456f1a14a02a0f0cf90e6c4e6fe2abe36436ea051042bed208868dc469e9ef7c4499a9fdacd519b119199 SHA512 ae6fa9ed9151a39988ea64c5d551a68c92014cbaae4ec6695a727cd008882298d3373d1992768eff0781e881738f72f00dfe4756196c0ba82009758b1ea16b51
diff --git a/dev-db/mycli/files/mycli-1.22.2_p20201026.patch b/dev-db/mycli/files/mycli-1.22.2_p20201026.patch
deleted file mode 100644
index 3e7c719bf396..000000000000
--- a/dev-db/mycli/files/mycli-1.22.2_p20201026.patch
+++ /dev/null
@@ -1,470 +0,0 @@
-diff --git a/.travis.yml b/.travis.yml
-index 0afb5cc..182dea7 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -12,7 +12,7 @@ matrix:
-
- install:
- - pip install -r requirements-dev.txt
-- - pip install -e .
-+ - pip install --no-cache-dir -e .
- - sudo rm -f /etc/mysql/conf.d/performance-schema.cnf
- - sudo service mysql restart
-
-diff --git a/README.md b/README.md
-index efe804d..d5a0687 100644
---- a/README.md
-+++ b/README.md
-@@ -96,6 +96,7 @@ $ sudo apt-get install mycli # Only on debian or ubuntu
- --local-infile BOOLEAN Enable/disable LOAD DATA LOCAL INFILE.
- --login-path TEXT Read this path from the login file.
- -e, --execute TEXT Execute command and quit.
-+ --init-command TEXT SQL statement to execute after connecting.
- --help Show this message and exit.
-
- Features
-diff --git a/changelog.md b/changelog.md
-index a4fea35..508c801 100644
---- a/changelog.md
-+++ b/changelog.md
-@@ -1,9 +1,22 @@
-+TBD
-+===
-+
-+Features:
-+---------
-+
-+* Add an option `--init-command` to execute SQL after connecting (Thanks: [KITAGAWA Yasutaka]).
-+
-+Bug Fixes:
-+----------
-+* Fixed compatibility with sqlparse 0.4 (Thanks: [mtorromeo]).
-+
- 1.22.2
- ======
-
- Bug Fixes:
- ----------
--* Make the `pwd` module optional.
-+
-+* Make the `pwd` module optional.
-
- 1.22.1
- ======
-@@ -18,6 +31,11 @@ Features:
- * Add an option `--list-ssh-config` to list ssh configurations.
- * Add an option `--ssh-config-path` to choose ssh configuration path.
-
-+Bug Fixes:
-+----------
-+
-+* Fix specifying empty password with `--password=''` when config file has a password set (Thanks: [Zach DeCook]).
-+
-
- 1.21.1
- ======
-@@ -28,6 +46,7 @@ Bug Fixes:
-
- * Fix broken auto-completion for favorite queries (Thanks: [Amjith]).
- * Fix undefined variable exception when running with --no-warn (Thanks: [Georgy Frolov])
-+* Support setting color for null value (Thanks: [laixintao])
-
- 1.21.0
- ======
-@@ -768,3 +787,6 @@ Bug Fixes:
- [François Pietka]: https://github.com/fpietka
- [Frederic Aoustin]: https://github.com/fraoustin
- [Georgy Frolov]: https://github.com/pasenor
-+[Zach DeCook]: https://zachdecook.com
-+[laixintao]: https://github.com/laixintao
-+[mtorromeo]: https://github.com/mtorromeo
-diff --git a/mycli/AUTHORS b/mycli/AUTHORS
-index b3636d9..a1204b0 100644
---- a/mycli/AUTHORS
-+++ b/mycli/AUTHORS
-@@ -72,6 +72,10 @@ Contributors:
- * Jakub Boukal
- * Takeshi D. Itoh
- * laixintao
-+ * Zach DeCook
-+ * kevinhwang91
-+ * KITAGAWA Yasutaka
-+ * Massimiliano Torromeo
-
- Creator:
- --------
-diff --git a/mycli/clistyle.py b/mycli/clistyle.py
-index c94f793..293f0f4 100644
---- a/mycli/clistyle.py
-+++ b/mycli/clistyle.py
-@@ -34,6 +34,7 @@ TOKEN_TO_PROMPT_STYLE = {
- Token.Output.Header: 'output.header',
- Token.Output.OddRow: 'output.odd-row',
- Token.Output.EvenRow: 'output.even-row',
-+ Token.Output.Null: 'output.null',
- Token.Prompt: 'prompt',
- Token.Continuation: 'continuation',
- }
-diff --git a/mycli/main.py b/mycli/main.py
-index 03797a0..dffd724 100755
---- a/mycli/main.py
-+++ b/mycli/main.py
-@@ -98,7 +98,7 @@ class MyCli(object):
- xdg_config_home = "~/.config"
- system_config_files = [
- '/etc/myclirc',
-- os.path.join(xdg_config_home, "mycli", "myclirc")
-+ os.path.join(os.path.expanduser(xdg_config_home), "mycli", "myclirc")
- ]
-
- default_config_file = os.path.join(PACKAGE_ROOT, 'myclirc')
-@@ -152,7 +152,7 @@ class MyCli(object):
- c['main'].as_bool('auto_vertical_output')
-
- # Write user config if system config wasn't the last config loaded.
-- if c.filename not in self.system_config_files:
-+ if c.filename not in self.system_config_files and not os.path.exists(myclirc):
- write_default_config(self.default_config_file, myclirc)
-
- # audit log
-@@ -363,7 +363,7 @@ class MyCli(object):
- def connect(self, database='', user='', passwd='', host='', port='',
- socket='', charset='', local_infile='', ssl='',
- ssh_user='', ssh_host='', ssh_port='',
-- ssh_password='', ssh_key_filename=''):
-+ ssh_password='', ssh_key_filename='', init_command=''):
-
- cnf = {'database': None,
- 'user': None,
-@@ -396,7 +396,7 @@ class MyCli(object):
- port = port or cnf['port']
- ssl = ssl or {}
-
-- passwd = passwd or cnf['password']
-+ passwd = passwd if isinstance(passwd, str) else cnf['password']
- charset = charset or cnf['default-character-set'] or 'utf8'
-
- # Favor whichever local_infile option is set.
-@@ -420,7 +420,7 @@ class MyCli(object):
- self.sqlexecute = SQLExecute(
- database, user, passwd, host, port, socket, charset,
- local_infile, ssl, ssh_user, ssh_host, ssh_port,
-- ssh_password, ssh_key_filename
-+ ssh_password, ssh_key_filename, init_command
- )
- except OperationalError as e:
- if ('Access denied for user' in e.args[1]):
-@@ -429,7 +429,7 @@ class MyCli(object):
- self.sqlexecute = SQLExecute(
- database, user, new_passwd, host, port, socket,
- charset, local_infile, ssl, ssh_user, ssh_host,
-- ssh_port, ssh_password, ssh_key_filename
-+ ssh_port, ssh_password, ssh_key_filename, init_command
- )
- else:
- raise e
-@@ -1051,6 +1051,8 @@ class MyCli(object):
- help='Read this path from the login file.')
- @click.option('-e', '--execute', type=str,
- help='Execute command and quit.')
-+@click.option('--init-command', type=str,
-+ help='SQL statement to execute after connecting.')
- @click.argument('database', default='', nargs=1)
- def cli(database, user, host, port, socket, password, dbname,
- version, verbose, prompt, logfile, defaults_group_suffix,
-@@ -1058,7 +1060,8 @@ def cli(database, user, host, port, socket, password, dbname,
- ssl_ca, ssl_capath, ssl_cert, ssl_key, ssl_cipher,
- ssl_verify_server_cert, table, csv, warn, execute, myclirc, dsn,
- list_dsn, ssh_user, ssh_host, ssh_port, ssh_password,
-- ssh_key_filename, list_ssh_config, ssh_config_path, ssh_config_host):
-+ ssh_key_filename, list_ssh_config, ssh_config_path, ssh_config_host,
-+ init_command):
- """A MySQL terminal client with auto-completion and syntax highlighting.
-
- \b
-@@ -1182,7 +1185,8 @@ def cli(database, user, host, port, socket, password, dbname,
- ssh_host=ssh_host,
- ssh_port=ssh_port,
- ssh_password=ssh_password,
-- ssh_key_filename=ssh_key_filename
-+ ssh_key_filename=ssh_key_filename,
-+ init_command=init_command
- )
-
- mycli.logger.debug('Launch Params: \n'
-diff --git a/mycli/myclirc b/mycli/myclirc
-index 534b201..ba3ea1e 100644
---- a/mycli/myclirc
-+++ b/mycli/myclirc
-@@ -111,6 +111,7 @@ bottom-toolbar.transaction.failed = 'bg:#222222 #ff005f bold'
- output.header = "#00ff5f bold"
- output.odd-row = ""
- output.even-row = ""
-+output.null = "#808080"
-
- # Favorite queries.
- [favorite_queries]
-diff --git a/mycli/packages/completion_engine.py b/mycli/packages/completion_engine.py
-index 2b19c32..3cff2cc 100644
---- a/mycli/packages/completion_engine.py
-+++ b/mycli/packages/completion_engine.py
-@@ -2,7 +2,6 @@ import os
- import sys
- import sqlparse
- from sqlparse.sql import Comparison, Identifier, Where
--from sqlparse.compat import text_type
- from .parseutils import last_word, extract_tables, find_prev_keyword
- from .special import parse_special_command
-
-@@ -55,7 +54,7 @@ def suggest_type(full_text, text_before_cursor):
- stmt_start, stmt_end = 0, 0
-
- for statement in parsed:
-- stmt_len = len(text_type(statement))
-+ stmt_len = len(str(statement))
- stmt_start, stmt_end = stmt_end, stmt_end + stmt_len
-
- if stmt_end >= current_pos:
-diff --git a/mycli/sqlexecute.py b/mycli/sqlexecute.py
-index c68af0f..7534982 100644
---- a/mycli/sqlexecute.py
-+++ b/mycli/sqlexecute.py
-@@ -42,7 +42,7 @@ class SQLExecute(object):
-
- def __init__(self, database, user, password, host, port, socket, charset,
- local_infile, ssl, ssh_user, ssh_host, ssh_port, ssh_password,
-- ssh_key_filename):
-+ ssh_key_filename, init_command=None):
- self.dbname = database
- self.user = user
- self.password = password
-@@ -59,12 +59,13 @@ class SQLExecute(object):
- self.ssh_port = ssh_port
- self.ssh_password = ssh_password
- self.ssh_key_filename = ssh_key_filename
-+ self.init_command = init_command
- self.connect()
-
- def connect(self, database=None, user=None, password=None, host=None,
- port=None, socket=None, charset=None, local_infile=None,
- ssl=None, ssh_host=None, ssh_port=None, ssh_user=None,
-- ssh_password=None, ssh_key_filename=None):
-+ ssh_password=None, ssh_key_filename=None, init_command=None):
- db = (database or self.dbname)
- user = (user or self.user)
- password = (password or self.password)
-@@ -79,6 +80,7 @@ class SQLExecute(object):
- ssh_port = (ssh_port or self.ssh_port)
- ssh_password = (ssh_password or self.ssh_password)
- ssh_key_filename = (ssh_key_filename or self.ssh_key_filename)
-+ init_command = (init_command or self.init_command)
- _logger.debug(
- 'Connection DB Params: \n'
- '\tdatabase: %r'
-@@ -93,9 +95,11 @@ class SQLExecute(object):
- '\tssh_host: %r'
- '\tssh_port: %r'
- '\tssh_password: %r'
-- '\tssh_key_filename: %r',
-+ '\tssh_key_filename: %r'
-+ '\tinit_command: %r',
- db, user, host, port, socket, charset, local_infile, ssl,
-- ssh_user, ssh_host, ssh_port, ssh_password, ssh_key_filename
-+ ssh_user, ssh_host, ssh_port, ssh_password, ssh_key_filename,
-+ init_command
- )
- conv = conversions.copy()
- conv.update({
-@@ -110,12 +114,16 @@ class SQLExecute(object):
- if ssh_host:
- defer_connect = True
-
-+ client_flag = pymysql.constants.CLIENT.INTERACTIVE
-+ if init_command and len(list(special.split_queries(init_command))) > 1:
-+ client_flag |= pymysql.constants.CLIENT.MULTI_STATEMENTS
-+
- conn = pymysql.connect(
- database=db, user=user, password=password, host=host, port=port,
- unix_socket=socket, use_unicode=True, charset=charset,
-- autocommit=True, client_flag=pymysql.constants.CLIENT.INTERACTIVE,
-+ autocommit=True, client_flag=client_flag,
- local_infile=local_infile, conv=conv, ssl=ssl, program_name="mycli",
-- defer_connect=defer_connect
-+ defer_connect=defer_connect, init_command=init_command
- )
-
- if ssh_host:
-@@ -146,6 +154,7 @@ class SQLExecute(object):
- self.socket = socket
- self.charset = charset
- self.ssl = ssl
-+ self.init_command = init_command
- # retrieve connection id
- self.reset_connection_id()
-
-diff --git a/requirements-dev.txt b/requirements-dev.txt
-index 8e206a5..7a38ed5 100644
---- a/requirements-dev.txt
-+++ b/requirements-dev.txt
-@@ -3,8 +3,8 @@ pytest!=3.3.0
- pytest-cov==2.4.0
- tox
- twine==1.12.1
--behave
--pexpect
-+behave>=1.2.4
-+pexpect==3.3
- coverage==5.0.4
- codecov==2.0.9
- autopep8==1.3.3
-diff --git a/setup.py b/setup.py
-index 156cd1a..fbab22e 100755
---- a/setup.py
-+++ b/setup.py
-@@ -24,7 +24,7 @@ install_requirements = [
- 'sqlparse>=0.3.0,<0.4.0',
- 'configobj >= 5.0.5',
- 'cryptography >= 1.0.0',
-- 'cli_helpers[styles] > 1.1.0',
-+ 'cli_helpers[styles] >= 2.0.1',
- ]
-
-
-@@ -65,7 +65,7 @@ class test(TestCommand):
- def initialize_options(self):
- TestCommand.initialize_options(self)
- self.pytest_args = ''
-- self.behave_args = ''
-+ self.behave_args = '--no-capture'
-
- def run_tests(self):
- unit_test_errno = subprocess.call(
-diff --git a/test/features/environment.py b/test/features/environment.py
-index 1a49dbe..cb35140 100644
---- a/test/features/environment.py
-+++ b/test/features/environment.py
-@@ -16,7 +16,7 @@ def before_all(context):
- os.environ['LINES'] = "100"
- os.environ['COLUMNS'] = "100"
- os.environ['EDITOR'] = 'ex'
-- os.environ['LC_ALL'] = 'en_US.utf8'
-+ os.environ['LC_ALL'] = 'en_US.UTF-8'
- os.environ['PROMPT_TOOLKIT_NO_CPR'] = '1'
-
- test_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
-@@ -118,11 +118,12 @@ def after_scenario(context, _):
- host = context.conf['host']
- dbname = context.currentdb
- context.cli.expect_exact(
-- '{0}@{1}:{2}> '.format(
-+ '{0}@{1}:{2}>'.format(
- user, host, dbname
- ),
- timeout=5
- )
-+ context.cli.sendcontrol('c')
- context.cli.sendcontrol('d')
- context.cli.expect_exact(pexpect.EOF, timeout=5)
-
-diff --git a/test/features/steps/crud_database.py b/test/features/steps/crud_database.py
-index a0bfa53..be6dec0 100644
---- a/test/features/steps/crud_database.py
-+++ b/test/features/steps/crud_database.py
-@@ -64,15 +64,13 @@ def step_see_prompt(context):
- user = context.conf['user']
- host = context.conf['host']
- dbname = context.currentdb
-- wrappers.expect_exact(context, '{0}@{1}:{2}> '.format(
-- user, host, dbname), timeout=5)
-- context.atprompt = True
-+ wrappers.wait_prompt(context, '{0}@{1}:{2}> '.format(user, host, dbname))
-
-
- @then('we see help output')
- def step_see_help(context):
- for expected_line in context.fixture_data['help_commands.txt']:
-- wrappers.expect_exact(context, expected_line + '\r\n', timeout=1)
-+ wrappers.expect_exact(context, expected_line, timeout=1)
-
-
- @then('we see database created')
-@@ -96,10 +94,7 @@ def step_see_db_dropped_no_default(context):
- context.currentdb = None
-
- wrappers.expect_exact(context, 'Query OK, 0 rows affected', timeout=2)
-- wrappers.expect_exact(context, '{0}@{1}:{2}> '.format(
-- user, host, database), timeout=5)
--
-- context.atprompt = True
-+ wrappers.wait_prompt(context, '{0}@{1}:{2}>'.format(user, host, database))
-
-
- @then('we see database connected')
-diff --git a/test/features/steps/wrappers.py b/test/features/steps/wrappers.py
-index 565ca59..de833dd 100644
---- a/test/features/steps/wrappers.py
-+++ b/test/features/steps/wrappers.py
-@@ -88,7 +88,7 @@ def wait_prompt(context, prompt=None):
- user = context.conf['user']
- host = context.conf['host']
- dbname = context.currentdb
-- prompt = '{0}@{1}:{2}> '.format(
-+ prompt = '{0}@{1}:{2}>'.format(
- user, host, dbname),
- expect_exact(context, prompt, timeout=5)
- context.atprompt = True
-diff --git a/test/test_main.py b/test/test_main.py
-index 3f92bd1..707c359 100644
---- a/test/test_main.py
-+++ b/test/test_main.py
-@@ -492,3 +492,37 @@ def test_ssh_config(monkeypatch):
- MockMyCli.connect_args["ssh_host"] == "arg_host" and \
- MockMyCli.connect_args["ssh_port"] == 3 and \
- MockMyCli.connect_args["ssh_key_filename"] == "/path/to/key"
-+
-+
-+@dbtest
-+def test_init_command_arg(executor):
-+ init_command = "set sql_select_limit=1000"
-+ sql = 'show variables like "sql_select_limit";'
-+ runner = CliRunner()
-+ result = runner.invoke(
-+ cli, args=CLI_ARGS + ["--init-command", init_command], input=sql
-+ )
-+
-+ expected = "sql_select_limit\t1000\n"
-+ assert result.exit_code == 0
-+ assert expected in result.output
-+
-+
-+@dbtest
-+def test_init_command_multiple_arg(executor):
-+ init_command = 'set sql_select_limit=2000; set max_join_size=20000'
-+ sql = (
-+ 'show variables like "sql_select_limit";\n'
-+ 'show variables like "max_join_size"'
-+ )
-+ runner = CliRunner()
-+ result = runner.invoke(
-+ cli, args=CLI_ARGS + ['--init-command', init_command], input=sql
-+ )
-+
-+ expected_sql_select_limit = 'sql_select_limit\t2000\n'
-+ expected_max_join_size = 'max_join_size\t20000\n'
-+
-+ assert result.exit_code == 0
-+ assert expected_sql_select_limit in result.output
-+ assert expected_max_join_size in result.output
-diff --git a/test/test_tabular_output.py b/test/test_tabular_output.py
-index 7d7d000..c20c7de 100644
---- a/test/test_tabular_output.py
-+++ b/test/test_tabular_output.py
-@@ -16,7 +16,7 @@ from pymysql.constants import FIELD_TYPE
- @pytest.fixture
- def mycli():
- cli = MyCli()
-- cli.connect(None, USER, PASSWORD, HOST, PORT, None)
-+ cli.connect(None, USER, PASSWORD, HOST, PORT, None, init_command=None)
- return cli
-
-
diff --git a/dev-db/mycli/metadata.xml b/dev-db/mycli/metadata.xml
index 861bfdab0b30..3d240850c878 100644
--- a/dev-db/mycli/metadata.xml
+++ b/dev-db/mycli/metadata.xml
@@ -1,13 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>grknight@gentoo.org</email>
- <name>Brian Evans</name>
+ <maintainer type="person" proxied="yes">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">dbcli/mycli</remote-id>
+ <remote-id type="pypi">mycli</remote-id>
</upstream>
+ <stabilize-allarches/>
<use>
<flag name="ssh">Add support for connection over SSH tunnel</flag>
</use>
diff --git a/dev-db/mycli/mycli-1.22.2_p20201026.ebuild b/dev-db/mycli/mycli-1.22.2_p20201026.ebuild
deleted file mode 100644
index f660a9ed97dc..000000000000
--- a/dev-db/mycli/mycli-1.22.2_p20201026.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_SINGLE_IMPL=yes
-inherit distutils-r1
-
-MY_PV=$(ver_cut 1-3)
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
-HOMEPAGE="https://www.mycli.net"
-SRC_URI="https://github.com/dbcli/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ssh"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cli_helpers-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-3.0.0[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
- <dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}]
- ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )')
-"
-BDEPEND="
- test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]') )"
-
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" "${FILESDIR}/mycli-1.22.2_p20201026.patch" )
-
-python_test() {
- epytest --capture=sys \
- --doctest-modules \
- --doctest-ignore-import-errors \
- --ignore=setup.py \
- --ignore=mycli/magic.py \
- --ignore=mycli/packages/parseutils.py \
- --ignore=test/features \
- --ignore=mycli/packages/paramiko_stub/__init__.py
-}
diff --git a/dev-db/mycli/mycli-1.24.1.ebuild b/dev-db/mycli/mycli-1.24.1.ebuild
deleted file mode 100644
index d20a269fdd01..000000000000
--- a/dev-db/mycli/mycli-1.24.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_SINGLE_IMPL=yes
-inherit distutils-r1
-
-MY_PV=$(ver_cut 1-3)
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
-HOMEPAGE="https://www.mycli.net"
-SRC_URI="https://github.com/dbcli/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ssh"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cli_helpers-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-3.0.0[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-4.0.0[${PYTHON_USEDEP}]
- dev-python/pyaes[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
- dev-python/pyperclip[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
- <dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}]
- ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )')
-"
-BDEPEND="
- test? ( $(python_gen_cond_dep '
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/paramiko[${PYTHON_USEDEP}]
- ') )
-"
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" )
-
-python_test() {
- local EPYTEST_IGNORE=(
- setup.py
- mycli/magic.py
- mycli/packages/parseutils.py
- test/features
- mycli/packages/paramiko_stub/__init__.py
- )
- epytest --capture=sys --doctest-modules --doctest-ignore-import-errors
-}
diff --git a/dev-db/mycli/mycli-1.27.0.ebuild b/dev-db/mycli/mycli-1.27.0.ebuild
new file mode 100644
index 000000000000..6e6fd4275fc0
--- /dev/null
+++ b/dev-db/mycli/mycli-1.27.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
+HOMEPAGE="
+ https://www.mycli.net/
+ https://github.com/dbcli/mycli/
+ https://pypi.org/project/mycli/
+"
+SRC_URI="
+ https://github.com/dbcli/mycli/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="ssh"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/cli-helpers-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.6[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyaes-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.6[${PYTHON_USEDEP}]
+ >=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/pyperclip-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlglot-5.1.3[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
+ <dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}]
+ ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )'
+ )
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Fails after a seemingly benign change in sqlparse 0.4.3
+ # https://github.com/dbcli/mycli/issues/1103
+ "test/test_smart_completion_public_schema_only.py::test_auto_escaped_col_names"
+ # Requires a running mysql daemon
+ "test/test_main.py::test_batch"
+ "test/test_main.py::test_execute"
+ "test/test_main.py::test_init"
+ "test/test_special_iocommands.py::test_favorite_query"
+ "test/test_special_iocommands.py::test_watch"
+ "test/test_tabular_output.py::test_sql_output"
+)
+
+EPYTEST_IGNORE=(
+ # Requires a running mysql daemon
+ "test/test_sqlexecute.py"
+)
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" )
+
+src_prepare() {
+ default
+
+ # Remove unnecessary pin, we have paramiko 3.2.0.
+ # https://github.com/dbcli/mycli/commit/eaddc5ca3e208d66fd4f400b90eb76089dd35e4c
+ sed -i -e 's:==:>=:' setup.py || die
+}
diff --git a/dev-db/mycli/mycli-9999.ebuild b/dev-db/mycli/mycli-9999.ebuild
deleted file mode 100644
index 272605957e9e..000000000000
--- a/dev-db/mycli/mycli-9999.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_SINGLE_IMPL=yes
-EGIT_REPO_URI="https://github.com/dbcli/mycli.git"
-inherit distutils-r1 git-r3
-
-DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
-HOMEPAGE="https://www.mycli.net"
-
-LICENSE="BSD MIT"
-SLOT="0"
-IUSE="ssh"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cli_helpers-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-3.0.0[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-4.0.0[${PYTHON_USEDEP}]
- dev-python/pyaes[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
- dev-python/pyperclip[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
- <dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}]
- ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )')
-"
-BDEPEND="
- test? ( $(python_gen_cond_dep '
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/paramiko[${PYTHON_USEDEP}]
- ') )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" )
-
-python_test() {
- local EPYTEST_IGNORE=(
- setup.py
- mycli/magic.py
- mycli/packages/parseutils.py
- test/features
- mycli/packages/paramiko_stub/__init__.py
- )
- epytest --capture=sys --doctest-modules --doctest-ignore-import-errors
-}
diff --git a/dev-db/mydumper/Manifest b/dev-db/mydumper/Manifest
index 6cfc7ca43e22..d5631d1e7320 100644
--- a/dev-db/mydumper/Manifest
+++ b/dev-db/mydumper/Manifest
@@ -1,4 +1,2 @@
-DIST mydumper-0.10.3.tar.gz 64622 BLAKE2B 14020b6bbb72271659dec965de164274e2bf81c72b52fa7c1d6997f393d1c0cc977d06d689bb7d7c6e3da86926add2c61f1551afdd30be71ddc97c4803d4e455 SHA512 d7cf6897815de3d46ec15cbcacc393722f7d547300a45e70960e47b8ce30e06a5e652f52a0ff8999d2ac3662b4a48927aadbab464668ac23f446eee95ba574cf
-DIST mydumper-0.10.5.tar.gz 66399 BLAKE2B 77bba97580bcdb267d77be455f56831209a29b71389337c844e4e0cb37749dc22d000d3845e936f5d589951a21ad61bf19cd3b9084004a62aa1b33f16f81b5a0 SHA512 61127c4b9ae5a01111d431672ec3818a6c3db74704ac5db12d286e380273968b8b9e56298ac73eb6c1c32649875fd2ee01d099a73c99cb9c8d4604eaf0eedb09
-DIST mydumper-0.10.7-2.tar.gz 71660 BLAKE2B 44410294505beb9752bbd78b9235e2e75606b3423cf4966110732896c1f1934e94dc95554b7f17240e76fafbd0074415159ab89dca4e3f506c9da7bed2eba28d SHA512 6af4cc80a6faee410ed91367147e7cd32eec8a90d798d5cc10bc24090c945192f9d2e151bf8c24d8d593996d72eb93329557580419591bba980eba5efdeefcff
-DIST mydumper-0.11.1-3.tar.gz 77589 BLAKE2B 5b5a6965ee07fb265e2f3dad288195035554c02da49337ed008b01b6a5f5d399769e67c00f57f4531ed1a1b14233829f617f4bbfb45abb904f1f3054a41b0b01 SHA512 70f5e4dac5af4e016bfc85d8befa2eebbe9e5c1a6b2ee1ccbd491bed29e2625202aee7961ead41d0cf432b23e8ce06dfa4474587663b35fbbdd5bffabc32ae2e
+DIST mydumper-0.14.5-2.tar.gz 177402 BLAKE2B bcd2658e1d8e452803608f27ed1b2ccc6fe428fcb44117f88a5cb0e6de1536f89c1f0768020da2d954a95cc20fe1315af8a38f477aee7c394540fbb4f001ac8d SHA512 d19c22fb3932f7428f560dcd7cdafc92e035f924ee35320048eca2067e75a297a44aaf08c6f124ef55c604c34311be2eeb0858c6d41be5ea73a68c8c0afa66ab
+DIST mydumper-0.15.2-8.tar.gz 186389 BLAKE2B 84e08fa6460a156771f598a8a0c98c79089490f9f2fe3b90fa49efd519e2270468fe86287bab03612006489a3a1d5ab2442e76cc0f4825c8df95acec30a1c4ba SHA512 f6ca5c5756944bd2704e8a25432db1fbe14ed2a1e88b549c0799c3e0c251e524523ed39797b0b2c15c9d65c0e6e5ce3d93a60a17c77090732a8f909ab24a0126
diff --git a/dev-db/mydumper/files/mydumper-0.10.5-atomic.patch b/dev-db/mydumper/files/mydumper-0.13.1-atomic.patch
index 6dc7fb5fd290..587d06804a53 100644
--- a/dev-db/mydumper/files/mydumper-0.10.5-atomic.patch
+++ b/dev-db/mydumper/files/mydumper-0.13.1-atomic.patch
@@ -1,17 +1,17 @@
diff --git a/cmake/modules/FindMySQL.cmake b/cmake/modules/FindMySQL.cmake
-index 23470a8..2b8ae63 100644
+index 2908251..109f0da 100644
--- a/cmake/modules/FindMySQL.cmake
+++ b/cmake/modules/FindMySQL.cmake
-@@ -85,20 +85,8 @@ find_path(MYSQL_INCLUDE_DIR mysql.h
+@@ -85,20 +85,7 @@ find_path(MYSQL_INCLUDE_DIR mysql.h
set(TMP_MYSQL_LIBRARIES "")
- set(CMAKE_FIND_LIBRARY_SUFFIXES .so .lib .so.1 .dylib .a)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES .so .lib .so.1 .dylib .a .tbd)
-foreach(MY_LIB ${MYSQL_ADD_LIBRARIES})
- find_library("MYSQL_LIBRARIES_${MY_LIB}" NAMES ${MY_LIB}
- HINTS
- ${MYSQL_ADD_LIBRARY_PATH}
- /usr/lib/mysql
-- /usr/lib
+- /usr/lib
- /usr/local/lib
- /usr/local/lib/mysql
- /usr/local/mysql/lib
@@ -20,7 +20,6 @@ index 23470a8..2b8ae63 100644
-endforeach(MY_LIB ${MYSQL_ADD_LIBRARIES})
-
-set(MYSQL_LIBRARIES ${TMP_MYSQL_LIBRARIES} CACHE FILEPATH INTERNAL)
-+
+set(MYSQL_LIBRARIES ${MYSQL_ADD_LIBRARIES} CACHE FILEPATH INTERNAL)
if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
diff --git a/dev-db/mydumper/files/mydumper-0.14-Do-not-overwrite-the-user-CFLAGS.patch b/dev-db/mydumper/files/mydumper-0.14-Do-not-overwrite-the-user-CFLAGS.patch
new file mode 100644
index 000000000000..fe5fc15378d8
--- /dev/null
+++ b/dev-db/mydumper/files/mydumper-0.14-Do-not-overwrite-the-user-CFLAGS.patch
@@ -0,0 +1,29 @@
+From a7630737a37c11478de265e69605befa89b910b4 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 10 Mar 2024 21:12:29 -0400
+Subject: [PATCH] Do not overwrite the user CFLAGS
+
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 088811c..c051a31 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -35,10 +35,10 @@ if (WITH_ZSTD)
+ endif (WITH_ZSTD)
+
+ if (WITH_ZSTD)
+- set(CMAKE_C_FLAGS "-Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wno-strict-aliasing -Wextra -Wshadow -g -DZWRAP_USE_ZSTD=1 -Werror -Wno-discarded-qualifiers ${MYSQL_CFLAGS}")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wextra -Wshadow -DZWRAP_USE_ZSTD=1 -Wno-discarded-qualifiers ${MYSQL_CFLAGS}")
+ include_directories(${MYDUMPER_SOURCE_DIR} ${MYSQL_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${PCRE_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} ${ZSTD_INCLUDE_DIR} )
+ else (WITH_ZSTD)
+- set(CMAKE_C_FLAGS "-Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wno-strict-aliasing -Wextra -Wshadow -g -Werror ${MYSQL_CFLAGS}")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wextra -Wshadow ${MYSQL_CFLAGS}")
+ include_directories(${MYDUMPER_SOURCE_DIR} ${MYSQL_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${PCRE_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} )
+ endif (WITH_ZSTD)
+
+--
+2.43.2
+
diff --git a/dev-db/mydumper/files/mydumper-0.15-Do-not-overwrite-the-user-CFLAGS.patch b/dev-db/mydumper/files/mydumper-0.15-Do-not-overwrite-the-user-CFLAGS.patch
new file mode 100644
index 000000000000..5d6ba09a4df4
--- /dev/null
+++ b/dev-db/mydumper/files/mydumper-0.15-Do-not-overwrite-the-user-CFLAGS.patch
@@ -0,0 +1,25 @@
+From 925d052aa05cf7d97fe474d7cf64b8491ced68ae Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 10 Mar 2024 21:17:16 -0400
+Subject: [PATCH] Do not overwrite the user CFLAGS
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1fbf228..7741aa9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,7 +39,7 @@ if (MARIADB_FOUND AND NOT MARIADB_SSL AND WITH_SSL)
+ set(WITH_SSL OFF)
+ endif()
+
+-set(CMAKE_C_FLAGS "-std=gnu99 -Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wno-strict-aliasing -Wextra -Wshadow -g -Werror ${MYSQL_CFLAGS}")
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wextra -Wshadow ${MYSQL_CFLAGS}")
+ include_directories(${MYDUMPER_SOURCE_DIR} ${MYSQL_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${PCRE_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} )
+
+ OPTION(WITH_ASAN "Build with ASAN" OFF)
+--
+2.43.2
+
diff --git a/dev-db/mydumper/files/mydumper-atomic.patch b/dev-db/mydumper/files/mydumper-atomic.patch
deleted file mode 100644
index 405e6883fbcb..000000000000
--- a/dev-db/mydumper/files/mydumper-atomic.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/cmake/modules/FindMySQL.cmake b/cmake/modules/FindMySQL.cmake
-index 23470a8..2b8ae63 100644
---- a/cmake/modules/FindMySQL.cmake
-+++ b/cmake/modules/FindMySQL.cmake
-@@ -85,20 +85,8 @@ find_path(MYSQL_INCLUDE_DIR mysql.h
-
- set(TMP_MYSQL_LIBRARIES "")
- set(CMAKE_FIND_LIBRARY_SUFFIXES .so .a .lib .so.1)
--foreach(MY_LIB ${MYSQL_ADD_LIBRARIES})
-- find_library("MYSQL_LIBRARIES_${MY_LIB}" NAMES ${MY_LIB}
-- HINTS
-- ${MYSQL_ADD_LIBRARY_PATH}
-- /usr/lib/mysql
-- /usr/lib
-- /usr/local/lib
-- /usr/local/lib/mysql
-- /usr/local/mysql/lib
-- )
-- list(APPEND TMP_MYSQL_LIBRARIES "${MYSQL_LIBRARIES_${MY_LIB}}")
--endforeach(MY_LIB ${MYSQL_ADD_LIBRARIES})
--
--set(MYSQL_LIBRARIES ${TMP_MYSQL_LIBRARIES} CACHE FILEPATH INTERNAL)
-+
-+set(MYSQL_LIBRARIES ${MYSQL_ADD_LIBRARIES} CACHE FILEPATH INTERNAL)
-
- if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
- set(MYSQL_FOUND TRUE CACHE INTERNAL "MySQL found")
diff --git a/dev-db/mydumper/metadata.xml b/dev-db/mydumper/metadata.xml
index 7c00b95bef1c..23e34fafb893 100644
--- a/dev-db/mydumper/metadata.xml
+++ b/dev-db/mydumper/metadata.xml
@@ -10,6 +10,6 @@
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
- <remote-id type="github">maxbube/mydumper</remote-id>
+ <remote-id type="github">mydumper/mydumper</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/mydumper/mydumper-0.10.3.ebuild b/dev-db/mydumper/mydumper-0.10.3.ebuild
deleted file mode 100644
index b04b6fc975e0..000000000000
--- a/dev-db/mydumper/mydumper-0.10.3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL"
-HOMEPAGE="https://github.com/maxbube/mydumper"
-SRC_URI="https://github.com/maxbube/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="doc"
-
-RDEPEND="app-arch/zstd
- dev-db/mysql-connector-c:=
- dev-libs/glib:=
- dev-libs/libpcre:=
- dev-libs/openssl:0=
- sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( dev-python/sphinx )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-atomic.patch" #654314
-)
-
-src_prepare() {
- # respect user cflags; do not expand ${CMAKE_C_FLAGS} (!)
- sed -i -e 's|-Werror -O3 -g|${CMAKE_C_FLAGS}|' CMakeLists.txt || die
-
- # fix doc install path
- sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=("-DBUILD_DOCS=$(usex doc)")
-
- cmake_src_configure
-}
diff --git a/dev-db/mydumper/mydumper-0.10.5.ebuild b/dev-db/mydumper/mydumper-0.10.5.ebuild
deleted file mode 100644
index a9e9ab55b395..000000000000
--- a/dev-db/mydumper/mydumper-0.10.5.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL"
-HOMEPAGE="https://github.com/maxbube/mydumper"
-SRC_URI="https://github.com/maxbube/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-RDEPEND="app-arch/zstd
- dev-db/mysql-connector-c:=
- dev-libs/glib:=
- dev-libs/libpcre:=
- dev-libs/openssl:0=
- sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( dev-python/sphinx )"
-
-PATCHES=(
- "${FILESDIR}/${P}-atomic.patch" #654314
-)
-
-src_prepare() {
- # respect user cflags; do not expand ${CMAKE_C_FLAGS} (!)
- sed -i -e 's|-Werror -O3 -g|${CMAKE_C_FLAGS}|' CMakeLists.txt || die
-
- # fix doc install path
- sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=("-DBUILD_DOCS=$(usex doc)")
-
- cmake_src_configure
-}
diff --git a/dev-db/mydumper/mydumper-0.11.1.3.ebuild b/dev-db/mydumper/mydumper-0.14.5.2.ebuild
index b087cfa64bd1..44adc19c83dd 100644
--- a/dev-db/mydumper/mydumper-0.11.1.3.ebuild
+++ b/dev-db/mydumper/mydumper-0.14.5.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
MY_PV="$(ver_rs 3 -)"
MY_P="${PN}-${MY_PV}"
@@ -15,7 +15,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
IUSE="doc"
RDEPEND="app-arch/zstd
@@ -29,13 +29,12 @@ BDEPEND="virtual/pkgconfig
doc? ( dev-python/sphinx )"
PATCHES=(
- "${FILESDIR}/${PN}-0.10.5-atomic.patch" #654314
+ "${FILESDIR}/${PN}-0.13.1-atomic.patch" #654314
+
+ "${FILESDIR}"/${PN}-0.14-Do-not-overwrite-the-user-CFLAGS.patch
)
src_prepare() {
- # respect user cflags; do not expand ${CMAKE_C_FLAGS} (!)
- sed -i -e 's|-Werror -O3 -g|${CMAKE_C_FLAGS}|' CMakeLists.txt || die
-
# fix doc install path
sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
@@ -43,6 +42,13 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855239
+ #
+ # Fixed upstream in git master:
+ # https://github.com/mydumper/mydumper/pull/1413
+ filter-lto
+
local mycmakeargs=(-DBUILD_DOCS=$(usex doc))
cmake_src_configure
diff --git a/dev-db/mydumper/mydumper-0.10.7.2.ebuild b/dev-db/mydumper/mydumper-0.15.2.8.ebuild
index 34570e699ea1..3163f03bbf04 100644
--- a/dev-db/mydumper/mydumper-0.10.7.2.ebuild
+++ b/dev-db/mydumper/mydumper-0.15.2.8.ebuild
@@ -1,24 +1,24 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
MY_PV="$(ver_rs 3 -)"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL"
-HOMEPAGE="https://github.com/maxbube/mydumper"
-SRC_URI="https://github.com/maxbube/mydumper/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/mydumper/mydumper"
+SRC_URI="https://github.com/mydumper/mydumper/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="~amd64 ~x86"
IUSE="doc"
-RDEPEND="app-arch/zstd:=
+RDEPEND="app-arch/zstd
dev-db/mysql-connector-c:=
dev-libs/glib:2
dev-libs/libpcre
@@ -29,13 +29,12 @@ BDEPEND="virtual/pkgconfig
doc? ( dev-python/sphinx )"
PATCHES=(
- "${FILESDIR}/${PN}-0.10.5-atomic.patch" #654314
+ "${FILESDIR}/${PN}-0.13.1-atomic.patch" #654314
+
+ "${FILESDIR}"/${PN}-0.15-Do-not-overwrite-the-user-CFLAGS.patch
)
src_prepare() {
- # respect user cflags; do not expand ${CMAKE_C_FLAGS} (!)
- sed -i -e 's|-Werror -O3 -g|${CMAKE_C_FLAGS}|' CMakeLists.txt || die
-
# fix doc install path
sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
@@ -43,6 +42,13 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855239
+ #
+ # Fixed upstream in git master:
+ # https://github.com/mydumper/mydumper/pull/1413
+ filter-lto
+
local mycmakeargs=(-DBUILD_DOCS=$(usex doc))
cmake_src_configure
diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest
index 56321487fce9..36c1165fbe55 100644
--- a/dev-db/myodbc/Manifest
+++ b/dev-db/myodbc/Manifest
@@ -1,5 +1,2 @@
-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
-DIST mysql-connector-odbc-8.0.25-src.tar.gz 3736461 BLAKE2B 888219340ed2ea86194b2aeab04719c58f2bdfaedb4364492eab2d8cce4b7617a259ae075fada3f55f2bd475d310b5a98642a791ac1efff22a8ceda31bbdf89c SHA512 b2df4134d89600708f30866ded6d915246d36eea087a5c86c0030ba55a1a96c7ee37f023183a28e2f731851969ee802846012e4435fb86a38f7a0f09571d32ac
-DIST mysql-connector-odbc-8.0.26-src.tar.gz 3760542 BLAKE2B e0da539743335bc70a7b809759121d5186782df27c301dc9bb34a73d5584540906df72f0e2b2bfa8af47587693063286cd3eadd3b69f77398264463e69a20e35 SHA512 caed3db20fb42df5123356a973e4f8cc1b162be0ada1de881981237e9a7b39d95f3f0aa48fceeff23139c3d05fc24115bf900206db7a497f4ed734a2234eb528
DIST mysql-connector-odbc-8.0.27-src.tar.gz 3849283 BLAKE2B 6a2500cdd706c0f8cda83dd04d3e573baa0bfbad59c931e20bb25a3f09dd78d2380079d0a20e075c3f44482d58acb6e727f4cbcf490e9d4d7817dd26f98061ee SHA512 4f907b7647425c274d3bd1c3b3ebbb83ac2360f2ee56733dabb501c17b800a26ef1117e16e5b05180ff904bfc642d25393baa861b96a79edf9d35f186a8689b2
+DIST mysql-connector-odbc-8.0.32-src.tar.gz 3845574 BLAKE2B 84adca951149739b79c60ee89416d2e638c5a5880feaed69afbd9de3a671ce505bad04303ccab9f13410f83e8827d9e3ee658b9e1241e66243d3424ac525525b SHA512 8011b131657e214de3f33407893ff990e2238e79a5d0ef76a64797c6f160f0895ed819e81c04054b3b4d439fc0db85c4813c713401db28092a9f6da16f24fb34
diff --git a/dev-db/myodbc/files/myodbc-8.0.32-include-string.patch b/dev-db/myodbc/files/myodbc-8.0.32-include-string.patch
new file mode 100644
index 000000000000..6bf31e1a53eb
--- /dev/null
+++ b/dev-db/myodbc/files/myodbc-8.0.32-include-string.patch
@@ -0,0 +1,14 @@
+# Gentoo Bug: https://bugs.gentoo.org/919501
+
+diff --git a/dltest/dltest.c b/dltest/dltest.c
+index d3b9360..3fb354b 100644
+--- a/dltest/dltest.c
++++ b/dltest/dltest.c
+@@ -28,6 +28,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+
+ #ifdef WIN32
+ #include <windows.h>
diff --git a/dev-db/myodbc/metadata.xml b/dev-db/myodbc/metadata.xml
index 8973b55f07b5..7bc9d15851cf 100644
--- a/dev-db/myodbc/metadata.xml
+++ b/dev-db/myodbc/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
-</maintainer>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mysql/mysql-connector-odbc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/myodbc/myodbc-8.0.22.ebuild b/dev-db/myodbc/myodbc-8.0.22.ebuild
deleted file mode 100644
index 93159f140c95..000000000000
--- a/dev-db/myodbc/myodbc-8.0.22.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2020 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=/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;
- 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/myodbc/myodbc-8.0.23.ebuild b/dev-db/myodbc/myodbc-8.0.23.ebuild
deleted file mode 100644
index cb085f4c71cd..000000000000
--- a/dev-db/myodbc/myodbc-8.0.23.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# 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/myodbc/myodbc-8.0.25.ebuild b/dev-db/myodbc/myodbc-8.0.25.ebuild
deleted file mode 100644
index 0d31b30ad0bb..000000000000
--- a/dev-db/myodbc/myodbc-8.0.25.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# 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=""
-
-RDEPEND="
- dev-db/unixODBC[${MULTILIB_USEDEP}]
- >=dev-db/mysql-connector-c-8.0:0=[${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() {
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- mycmakeargs+=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DMYSQLCLIENT_STATIC_LINKING=OFF
- -DMYSQL_CXX_LINKAGE=YES
- -DWITH_UNIXODBC=YES
- -DWITH_DOCUMENTATION_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF}
- -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
- -DMYSQLCLIENT_NO_THREADS=ON
- -DDISABLE_GUI=ON
- # Don't build "libmysql_strings.so" and "libmysql_sys.so" which are only
- # used internally
- -DBUILD_SHARED_LIBS=OFF
- # 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/myodbc/myodbc-8.0.26.ebuild b/dev-db/myodbc/myodbc-8.0.27-r1.ebuild
index 49e7ed8c3c63..9caec83a8560 100644
--- a/dev-db/myodbc/myodbc-8.0.26.ebuild
+++ b/dev-db/myodbc/myodbc-8.0.27-r1.ebuild
@@ -1,10 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-CMAKE_ECLASS=cmake
-
inherit cmake-multilib
MAJOR="$(ver_cut 1-2)"
@@ -17,7 +15,7 @@ SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar
LICENSE="GPL-2"
SLOT="${MAJOR}"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ~ppc x86"
IUSE=""
RDEPEND="
@@ -53,7 +51,7 @@ multilib_src_configure() {
-DMYSQLCLIENT_STATIC_LINKING=OFF
-DMYSQL_CXX_LINKAGE=YES
-DWITH_UNIXODBC=YES
- -DWITH_DOCUMENTATION_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF}
+ -DWITH_DOCUMENTATION_INSTALL_PATH="${EPREFIX}"/usr/share/doc/${PF}
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
-DMYSQLCLIENT_NO_THREADS=ON
-DDISABLE_GUI=ON
@@ -92,8 +90,7 @@ multilib_src_install_all() {
}
pkg_config() {
-
- [ "${ROOT}" != "/" ] && \
+ [ -n "${ROOT}" ] && \
die 'Sorry, non-standard ROOT setting is not supported :-('
local msg='MySQL ODBC driver'
diff --git a/dev-db/myodbc/myodbc-8.0.27.ebuild b/dev-db/myodbc/myodbc-8.0.32.ebuild
index 49e7ed8c3c63..942a50b491f7 100644
--- a/dev-db/myodbc/myodbc-8.0.27.ebuild
+++ b/dev-db/myodbc/myodbc-8.0.32.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-CMAKE_ECLASS=cmake
+EAPI=8
inherit cmake-multilib
@@ -14,32 +12,32 @@ 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"
+S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="${MAJOR}"
KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
RDEPEND="
dev-db/unixODBC[${MULTILIB_USEDEP}]
>=dev-db/mysql-connector-c-8.0:0=[${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=(
+ # Patch document path so it doesn't install files to /usr
"${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
"${FILESDIR}/${PN}-8.0.19-cxxlinkage.patch"
+ "${FILESDIR}/${PN}-8.0.32-include-string.patch"
)
src_prepare() {
- # Remove Tests
+ # Remove tests
sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
- "${S}/CMakeLists.txt"
+ "${S}/CMakeLists.txt" || die
cmake_src_prepare
}
@@ -53,7 +51,7 @@ multilib_src_configure() {
-DMYSQLCLIENT_STATIC_LINKING=OFF
-DMYSQL_CXX_LINKAGE=YES
-DWITH_UNIXODBC=YES
- -DWITH_DOCUMENTATION_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF}
+ -DWITH_DOCUMENTATION_INSTALL_PATH="${EPREFIX}"/usr/share/doc/${PF}
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
-DMYSQLCLIENT_NO_THREADS=ON
-DDISABLE_GUI=ON
@@ -72,6 +70,8 @@ multilib_src_configure() {
multilib_src_install_all() {
debug-print-function ${FUNCNAME} "$@"
+ rm -rf "${ED}"/usr/test || die
+
dodir /usr/share/${PN}-${SLOT}
for i in odbc.ini odbcinst.ini; do
einfo "Building $i"
@@ -92,8 +92,7 @@ multilib_src_install_all() {
}
pkg_config() {
-
- [ "${ROOT}" != "/" ] && \
+ [ -n "${ROOT}" ] && \
die 'Sorry, non-standard ROOT setting is not supported :-('
local msg='MySQL ODBC driver'
diff --git a/dev-db/mysql++/Manifest b/dev-db/mysql++/Manifest
index 22fb7ce97e51..ec3ee61efe3e 100644
--- a/dev-db/mysql++/Manifest
+++ b/dev-db/mysql++/Manifest
@@ -1,2 +1 @@
-DIST mysql++-3.2.5.tar.gz 4748218 BLAKE2B ffceddb360cf6f0f38b7647f68e52ad9b659642c598c2aab7736813bf61d07316900d843749c2f9f4c753bd2087711ca712cc430f12b3a475c63ae3e5b11aff7 SHA512 5fa042a350322fa74afa28dc5e53f15cad32517001ab817493bf0d13a64e6559712f5e61184ef38a97bc8fe69f8732aaf436bc5d1663e4873f8baebee2e00892
DIST mysql++-3.3.0.tar.gz 4635623 BLAKE2B 0d5bb3dc7eeee92d10eb82b0537a7caff7faec2f330bb3081790b63544caa2e6967aaaf2adc8f68b9b0854da8f0374eda73d4ced50d77fbc119f83fec84376e3 SHA512 cd50f9edc9531b385d91d70aa292629dc7b839fd296f07db470f37c4748617c5c2dba647adf8965d70e2788e9264288d8ca941a6dcd8d08ff7d838e7947e6465
diff --git a/dev-db/mysql++/files/mysql++-3.2.5-as-needed.patch b/dev-db/mysql++/files/mysql++-3.2.5-as-needed.patch
deleted file mode 100644
index 71e188899820..000000000000
--- a/dev-db/mysql++/files/mysql++-3.2.5-as-needed.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-https://bugs.gentoo.org/635414
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -408,55 +408,55 @@ $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT): $(SSQLS2PARSE_OBJECTS) $(DLLPREFIX)mys
- $(RANLIB) $@
-
- ssqlsxlat$(EXEEXT): $(SSQLSXLAT_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_array_index$(EXEEXT): $(TEST_ARRAY_INDEX_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_cpool$(EXEEXT): $(TEST_CPOOL_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_datetime$(EXEEXT): $(TEST_DATETIME_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_inttypes$(EXEEXT): $(TEST_INTTYPES_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_insertpolicy$(EXEEXT): $(TEST_INSERTPOLICY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_manip$(EXEEXT): $(TEST_MANIP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_MANIP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_MANIP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_null_comparison$(EXEEXT): $(TEST_NULL_COMPARISON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_query_copy$(EXEEXT): $(TEST_QUERY_COPY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_qssqls$(EXEEXT): $(TEST_QSSQLS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_qstream$(EXEEXT): $(TEST_QSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_sqlstream$(EXEEXT): $(TEST_SQLSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_ssqls2$(EXEEXT): $(TEST_SSQLS2_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT)
-- $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp -lmysqlpp_ssqls2parse $(LIBS)
-+ $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_string$(EXEEXT): $(TEST_STRING_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_STRING_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_STRING_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_tcp$(EXEEXT): $(TEST_TCP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_TCP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_TCP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_uds$(EXEEXT): $(TEST_UDS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_UDS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_UDS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_wnp$(EXEEXT): $(TEST_WNP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_WNP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_WNP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(LIBPREFIX)mysqlpp_excommon$(LIBEXT): $(EXCOMMON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
- rm -f $@
-@@ -464,76 +464,76 @@ $(LIBPREFIX)mysqlpp_excommon$(LIBEXT): $(EXCOMMON_OBJECTS) $(DLLPREFIX)mysqlpp$(
- $(RANLIB) $@
-
- cgi_jpeg$(EXEEXT): $(CGI_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(CGI_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(CGI_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- cpool$(EXEEXT): $(CPOOL_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- dbinfo$(EXEEXT): $(DBINFO_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(DBINFO_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(DBINFO_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- deadlock$(EXEEXT): $(DEADLOCK_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(DEADLOCK_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(DEADLOCK_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- fieldinf$(EXEEXT): $(FIELDINF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(FIELDINF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(FIELDINF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- for_each$(EXEEXT): $(FOR_EACH_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(FOR_EACH_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(FOR_EACH_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- load_jpeg$(EXEEXT): $(LOAD_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- multiquery$(EXEEXT): $(MULTIQUERY_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(MULTIQUERY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(MULTIQUERY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- resetdb$(EXEEXT): $(RESETDB_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(RESETDB_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(RESETDB_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- simple1$(EXEEXT): $(SIMPLE1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- simple2$(EXEEXT): $(SIMPLE2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- simple3$(EXEEXT): $(SIMPLE3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls1$(EXEEXT): $(SSQLS1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls2$(EXEEXT): $(SSQLS2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls3$(EXEEXT): $(SSQLS3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls4$(EXEEXT): $(SSQLS4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls5$(EXEEXT): $(SSQLS5_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS5_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS5_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls6$(EXEEXT): $(SSQLS6_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS6_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS6_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- store_if$(EXEEXT): $(STORE_IF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(STORE_IF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(STORE_IF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery1$(EXEEXT): $(TQUERY1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery2$(EXEEXT): $(TQUERY2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery3$(EXEEXT): $(TQUERY3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery4$(EXEEXT): $(TQUERY4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- transaction$(EXEEXT): $(TRANSACTION_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TRANSACTION_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TRANSACTION_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- Makefile: configure.ac install.hta.in mysql++.bkl mysql++.spec.in doc/userman/userman.dbx.in lib/Doxyfile.in lib/mysql++.h.in ssx/Doxyfile.in
- bakefile_gen
diff --git a/dev-db/mysql++/mysql++-3.2.5.ebuild b/dev-db/mysql++/mysql++-3.2.5.ebuild
deleted file mode 100644
index bd75432e0b87..000000000000
--- a/dev-db/mysql++/mysql++-3.2.5.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools libtool flag-o-matic
-
-DESCRIPTION="C++ API interface to the MySQL database"
-HOMEPAGE="https://tangentsoft.net/mysql++/"
-SRC_URI="https://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0/3"
-KEYWORDS="~alpha amd64 ~hppa ~mips ppc sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="doc"
-
-RDEPEND="|| ( dev-db/mysql-connector-c dev-db/mariadb-connector-c )"
-DEPEND="${RDEPEND}"
-DOCS=( CREDITS.txt HACKERS.md doc/ssqls-pretty )
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.1-gold.patch
- "${FILESDIR}"/${PN}-3.2.5-as-needed.patch
- "${FILESDIR}"/${PN}-3.2.4-only-unit-tests.patch
-)
-
-src_prepare() {
- # Bug filed upstream about deprecated std::auto_ptr
- append-cxxflags $(test-flags-CXX -Wno-deprecated-declarations)
- # Bad symlink for libtool in the archive
- rm "${S}/ltmain.sh" || die
-
- default
-
- # we don't use eautoreconf to avoid dev-util/bakefile
- _elibtoolize --auto-ltdl --install --copy --force
- elibtoolize
-
- # Current MySQL libraries are always with threads and slowly being removed
- sed -i -e "s/mysqlclient_r/mysqlclient/" "${S}/configure" || die
- rm "${S}/doc/"README-*-RPM.txt || die
-}
-
-src_configure() {
- local myconf=(
- --enable-thread-check
- --with-mysql="${EPREFIX}/usr"
- --with-mysql-lib="${EPREFIX}$(mysql_config --variable=pkglibdir)"
- --with-mysql-include="${EPREFIX}$(mysql_config --variable=pkgincludedir)"
- )
- econf "${myconf[@]}"
-}
-
-src_test() {
- ONLY_UNIT_TESTS=1 "${S}"/dtest || die
-}
-
-src_install() {
- default
- # install the docs and HTML pages
- use doc && dodoc -r doc/pdf/ doc/refman/ doc/userman/ doc/html/
-}
diff --git a/dev-db/mysql-cluster/Manifest b/dev-db/mysql-cluster/Manifest
deleted file mode 100644
index 0ebf0edc95ef..000000000000
--- a/dev-db/mysql-cluster/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST mysql-cluster-gpl-7.2.34.tar.gz 25114728 BLAKE2B b9337cf8ae6742c58f92ae64b8a636c8e54e6db3be45b329a695700a55a89b77839a5417c949ae37b2897d3bbd1274e41efcacde735f40d1de9ae14b16dd4576 SHA512 b73a3d13665a6efdad1e0e18e61780d8b99621ab46269a98723b9ddd9526edb77b5418947cb88b8d287c73eba7659aced363d747df18596ac34eb701ec83623c
-DIST mysql-cluster-gpl-7.3.22.tar.gz 41356026 BLAKE2B 055a3f8590f0e2e53f8620244bd2ca7d619ab5549de7b33c4d41d2fabd260d98eaabdc0169488a6d018bcafc4458433e21b65025827998a31e9abc1deb5101ae SHA512 ccb9f3429e6ccb2dbb53d98f54abeae3c3128e65dc69c41918324630fef665f48d3c3af2d60bf1cce4e28c492e525c6bbc32cc8a39a9ea47988184adeafd5bd3
-DIST mysql-cluster-gpl-7.4.21.tar.gz 41718490 BLAKE2B 4578e477b345c85ccf12e4ea79893dda9b33bf35722ff8c6d706f150d8506d07b5e49a8e69e37cb3c8ff449832c80f72430924559b4a6d209d11d31cc2a67ca4 SHA512 48f475806608c0f6e0c45cc9c3b3851678153e17cf5c74114b2ca7a75eee455798c8decb857738eecb3fe664930e378e1d399509a954a7073802285eb87801b5
-DIST mysql-extras-20190121-0015Z.tar.bz2 330807 BLAKE2B d5beae3d5a493e01d57130f835cd0d7dcbf53af389f9b933446ab43b86f96c85b5858a7a56ffe882ee63371ab96f0226e04f710dfb119ddd91b5c5685d0999bc SHA512 2f092b8e1e2f836d19e4663d383be876d498bca0ee005a690f48ba1797e9e5b648c4a15c36885faa286ce12a49386bf2898940e19eb1d288e7ee084968821a05
diff --git a/dev-db/mysql-cluster/files/7.2.34-client.patch b/dev-db/mysql-cluster/files/7.2.34-client.patch
deleted file mode 100644
index fbf163bf250b..000000000000
--- a/dev-db/mysql-cluster/files/7.2.34-client.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b6c038d4366d003ae00120c96e39a892e5d675c1 Mon Sep 17 00:00:00 2001
-From: Tor Didriksen <tor.didriksen@oracle.com>
-Date: Wed, 18 Jul 2018 10:22:21 +0200
-Subject: [PATCH] Fix build break with modern compilers:
-
-client/mysql.cc: In function void build_completion_hash(bool, bool):
-client/mysql.cc:2674:37: error: invalid conversion from char to char* [-fpermissive]
- field_names[i][num_fields*2]= '\0';
----
- client/mysql.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/client/mysql.cc b/client/mysql.cc
-index 8510361a54e..bc32a58f37e 100644
---- a/client/mysql.cc
-+++ b/client/mysql.cc
-@@ -2671,7 +2671,7 @@ You can turn off this feature to get a quicker startup with -A\n\n");
- mysql_free_result(fields);
- break;
- }
-- field_names[i][num_fields*2]= '\0';
-+ field_names[i][num_fields*2]= NULL;
- j=0;
- while ((sql_field=mysql_fetch_field(fields)))
- {
diff --git a/dev-db/mysql-cluster/files/my.cnf-5.5 b/dev-db/mysql-cluster/files/my.cnf-5.5
deleted file mode 100644
index edb71e86e85e..000000000000
--- a/dev-db/mysql-cluster/files/my.cnf-5.5
+++ /dev/null
@@ -1,147 +0,0 @@
-# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file.
-
-# The following options will be passed to all MySQL clients
-[client]
-#password = your_password
-port = 3306
-socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock
-
-[mysql]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqladmin]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlcheck]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqldump]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlimport]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlshow]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[myisamchk]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-
-[myisampack]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-
-# use [safe_mysqld] with mysql-3
-[mysqld_safe]
-err-log = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysql.err
-
-# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
-[mysqld]
-character-set-server = utf8
-user = mysql
-port = 3306
-socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock
-pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.pid
-log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err
-basedir = @GENTOO_PORTAGE_EPREFIX@/usr
-datadir = @DATADIR@
-skip-external-locking
-key_buffer_size = 16M
-max_allowed_packet = 1M
-table_open_cache = 64
-sort_buffer_size = 512K
-net_buffer_length = 8K
-read_buffer_size = 256K
-read_rnd_buffer_size = 512K
-myisam_sort_buffer_size = 8M
-lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql
-#Set this to your desired error message language
-lc_messages = en_US
-
-# security:
-# using "localhost" in connects uses sockets by default
-# skip-networking
-bind-address = 127.0.0.1
-
-log-bin
-server-id = 1
-
-# point the following paths to different dedicated disks
-tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/
-#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname
-
-# you need the debug USE flag enabled to use the following directives,
-# if needed, uncomment them, start the server and issue
-# #tail -f @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.trace
-# this will show you *exactly* what's happening in your server ;)
-
-#log = @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql
-#gdb
-#debug = d:t:i:o,/tmp/mysqld.trace
-#one-thread
-
-# the following is the InnoDB configuration
-# if you wish to disable innodb instead
-# uncomment just the next line
-#skip-innodb
-#
-# the rest of the innodb config follows:
-# don't eat too much memory, we're trying to be safe on 64Mb boxes
-# you might want to bump this up a bit on boxes with more RAM
-innodb_buffer_pool_size = 16M
-# this is the default, increase it if you have lots of tables
-innodb_additional_mem_pool_size = 2M
-#
-# i'd like to use @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/innodb, but that is seen as a database :-(
-# and upstream wants things to be under @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/, so that's the route
-# we have to take for the moment
-#innodb_data_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/
-#innodb_log_group_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/
-# you may wish to change this size to be more suitable for your system
-# the max is there to avoid run-away growth on your machine
-innodb_data_file_path = ibdata1:10M:autoextend:max:128M
-# we keep this at around 25% of of innodb_buffer_pool_size
-# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
-innodb_log_file_size = 5M
-# this is the default, increase it if you have very large transactions going on
-innodb_log_buffer_size = 8M
-# this is the default and won't hurt you
-# you shouldn't need to tweak it
-innodb_log_files_in_group=2
-# see the innodb config docs, the other options are not always safe
-innodb_flush_log_at_trx_commit = 1
-innodb_lock_wait_timeout = 50
-innodb_file_per_table
-
-# Uncomment this to get FEDERATED engine support
-#plugin-load=federated=ha_federated.so
-loose-federated
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-# uncomment the next directive if you are not familiar with SQL
-#safe-updates
-
-[isamchk]
-key_buffer_size = 20M
-sort_buffer_size = 20M
-read_buffer = 2M
-write_buffer = 2M
-
-[myisamchk]
-key_buffer_size = 20M
-sort_buffer_size = 20M
-read_buffer_size = 2M
-write_buffer_size = 2M
-
-[mysqlhotcopy]
-interactive-timeout
-
diff --git a/dev-db/mysql-cluster/files/my.cnf-5.6 b/dev-db/mysql-cluster/files/my.cnf-5.6
deleted file mode 100644
index df462ab69a14..000000000000
--- a/dev-db/mysql-cluster/files/my.cnf-5.6
+++ /dev/null
@@ -1,139 +0,0 @@
-# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file.
-
-# The following options will be passed to all MySQL clients
-[client]
-#password = your_password
-port = 3306
-socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock
-
-[mysql]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqladmin]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlcheck]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqldump]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlimport]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlshow]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-default-character-set=utf8
-
-[myisamchk]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-
-[myisampack]
-character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets
-
-# use [safe_mysqld] with mysql-3
-[mysqld_safe]
-err-log = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysql.err
-
-# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
-[mysqld]
-character-set-server = utf8
-user = mysql
-port = 3306
-socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock
-pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.pid
-log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err
-basedir = @GENTOO_PORTAGE_EPREFIX@/usr
-datadir = @DATADIR@
-skip-external-locking
-key_buffer_size = 16M
-max_allowed_packet = 4M
-table_open_cache = 400
-sort_buffer_size = 512K
-net_buffer_length = 16K
-read_buffer_size = 256K
-read_rnd_buffer_size = 512K
-myisam_sort_buffer_size = 8M
-lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql
-#Set this to your desired error message language
-lc_messages = en_US
-
-# security:
-# using "localhost" in connects uses sockets by default
-# skip-networking
-bind-address = 127.0.0.1
-
-log-bin
-server-id = 1
-
-# point the following paths to different dedicated disks
-tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/
-#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname
-
-# you need the debug USE flag enabled to use the following directives,
-# if needed, uncomment them, start the server and issue
-# #tail -f @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.trace
-# this will show you *exactly* what's happening in your server ;)
-
-#log = @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql
-#gdb
-#debug = d:t:i:o,/tmp/mysqld.trace
-#one-thread
-
-# the rest of the innodb config follows:
-# don't eat too much memory, we're trying to be safe on 64Mb boxes
-# you might want to bump this up a bit on boxes with more RAM
-innodb_buffer_pool_size = 128M
-#
-# i'd like to use @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/innodb, but that is seen as a database :-(
-# and upstream wants things to be under @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/, so that's the route
-# we have to take for the moment
-#innodb_data_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/
-#innodb_log_group_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/
-# you may wish to change this size to be more suitable for your system
-# the max is there to avoid run-away growth on your machine
-innodb_data_file_path = ibdata1:10M:autoextend:max:128M
-# we keep this at around 25% of of innodb_buffer_pool_size
-# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
-innodb_log_file_size = 48M
-# this is the default, increase it if you have very large transactions going on
-innodb_log_buffer_size = 8M
-# this is the default and won't hurt you
-# you shouldn't need to tweak it
-innodb_log_files_in_group=2
-# see the innodb config docs, the other options are not always safe
-innodb_flush_log_at_trx_commit = 1
-innodb_lock_wait_timeout = 50
-innodb_file_per_table
-
-# Uncomment this to get FEDERATED engine support
-#plugin-load=federated=ha_federated.so
-loose-federated
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-# uncomment the next directive if you are not familiar with SQL
-#safe-updates
-
-[isamchk]
-key_buffer_size = 20M
-sort_buffer_size = 20M
-read_buffer = 2M
-write_buffer = 2M
-
-[myisamchk]
-key_buffer_size = 20M
-sort_buffer_size = 20M
-read_buffer_size = 2M
-write_buffer_size = 2M
-
-[mysqlhotcopy]
-interactive-timeout
diff --git a/dev-db/mysql-cluster/metadata.xml b/dev-db/mysql-cluster/metadata.xml
deleted file mode 100644
index 8254f5d151d1..000000000000
--- a/dev-db/mysql-cluster/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
-<use>
- <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
- <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
- <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
- <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
- <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
- <flag name="server">Build the server program</flag>
- <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name="test">Install upstream testsuites for end use.</flag>
- <flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
-</use>
-</pkgmetadata>
diff --git a/dev-db/mysql-cluster/mysql-cluster-7.2.34.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.2.34.ebuild
deleted file mode 100644
index 31bc6c2f2198..000000000000
--- a/dev-db/mysql-cluster/mysql-cluster-7.2.34.ebuild
+++ /dev/null
@@ -1,796 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20190121-0015Z"
-
-#fails to build with ninja
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-inherit eutils flag-o-matic prefix toolchain-funcs java-pkg-opt-2 user cmake-utils
-
-MY_PN="mysql-cluster-gpl"
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-Cluster-7.2/${MY_PN}-${PV}.tar.gz
- https://downloads.mysql.com/archives/MySQL-Cluster-7.2/${MY_PN}-${PV}.tar.gz"
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mysql.com/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="bindist client-libs debug extraengine java jemalloc latin1
- +perl profiling selinux +server static static-libs systemtap tcmalloc
- test yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )
- static? ( yassl )"
-
-KEYWORDS="~amd64 ~x86"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
- inherit git-r3
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
-else
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}/01050_all_mysql_config_cleanup-5.5.patch"
- "${MY_PATCH_DIR}/02040_all_embedded-library-shared-5.5.10.patch"
- "${MY_PATCH_DIR}/20001_all_fix-minimal-build-cmake-mysql-5.5.41.patch"
- "${MY_PATCH_DIR}/20002_all_mysql-va-list.patch"
- "${MY_PATCH_DIR}/20006_all_cmake_elib-mysql-cluster-7.2.34.patch"
- "${MY_PATCH_DIR}/20007_all_cmake-debug-werror-5.6.22.patch"
- "${MY_PATCH_DIR}/20008_all_mysql-tzinfo-symlink-5.6.37.patch"
- "${MY_PATCH_DIR}/20009_all_mysql_myodbc_symbol_fix-5.5.38.patch"
- "${MY_PATCH_DIR}/20018_all_mysql-cluster-7.2.34-without-clientlibs-tools.patch"
- "${MY_PATCH_DIR}/20027_all_mysql-5.5-perl5.26-includes.patch"
- "${FILESDIR}/7.2.34-client.patch"
-)
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- dev-libs/libevent:0=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- !yassl? (
- dev-libs/openssl:0= !>=dev-libs/openssl-1.1
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- !bindist? (
- >=sys-libs/readline-4.1:0=
- )
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- java? ( >=virtual/jdk-1.6 )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
- java? ( >=virtual/jre-1.6 )
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- if has test ${FEATURES} && \
- use server && ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
-
- # This should come after all of the die statements
- enewgroup mysql 60 || die "problem adding 'mysql' group"
- enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
-
- java-pkg-opt-2_pkg_setup
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
-
- if use server ; then
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR%/}/${MY_PN}-${PV}" "${S}" || die
-}
-
-src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
-
- if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null daemon_example fulltext )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- # Don't build example
- _disable_engine example
-
- cmake-utils_src_prepare
- java-pkg-opt-2_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')"
- -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_ZLIB=system
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DWITHOUT_CLIENTLIBS=YES
- -DWITH_READLINE=$(usex bindist 1 0)
- -DENABLE_DTRACE=$(usex systemtap)
- -DWITH_BUNDLED_LIBEVENT=OFF
- -DWITH_NDB_JAVA=$(usex java ON OFF)
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- if use server ; then
-
- # Federated must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=( -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DINSTALL_SQLBENCHDIR=share/mysql
- -DEXTRA_CHARSETS=all
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_EMBEDDED_SERVER=OFF
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED%/}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED%/}/usr/data" ]] ; then
- rm -Rf "${ED%/}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
- local mycnf_src="my.cnf-5.5"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR%/}/${mycnf_src}" \
- > "${TMPDIR%/}/my.cnf.ok" || die
- use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR%/}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR%/}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" my.cnf
-
- if use server ; then
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S%/}"/support-files/magic \
- "${S%/}"/support-files/ndb-config-2-node.ini
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S%/}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MySQL 5.5 for now and are believed to be
- # false positives:
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock
- # main.mysql_client_test_comp:
- # segfaults at random under Portage only, suspect resource limits.
-
- local t
- for t in main.mysql_client_test \
- binlog.binlog_statement_insert_delayed main.information_schema \
- main.mysqld--help-notwin main.flush_read_lock_kill \
- sys_vars.plugin_dir_basic main.openssl_1 \
- main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
- ndb.ndbinfo ndb_binlog.ndb_binlog_index ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- _disable_test main.mysqldump "Extra expected warning not recorded in test results"
-
- if ! use client-libs ; then
- _disable_test main.plugin_auth "Needs client libraries built"
- fi
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in grant-tables host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
-
- local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
- cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT}/usr/sbin/mysqld \
- ${options} \
- --log-warnings=0 \
- --basedir=${EROOT}/usr \
- --datadir=${ROOT}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql-cluster/mysql-cluster-7.3.22.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.3.22.ebuild
deleted file mode 100644
index fdbc2cad350a..000000000000
--- a/dev-db/mysql-cluster/mysql-cluster-7.3.22.ebuild
+++ /dev/null
@@ -1,811 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20190121-0015Z"
-
-#fails to build with ninja
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-inherit eutils flag-o-matic prefix toolchain-funcs java-utils-2 user cmake-utils
-
-MY_PN="mysql-cluster-gpl"
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/${MY_PN}-${PV}.tar.gz
- https://downloads.mysql.com/archives/MySQL-Cluster-7.3/${MY_PN}-${PV}.tar.gz"
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mysql.com/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="client-libs debug extraengine jemalloc latin1 numa
- +perl profiling selinux +server static static-libs systemtap tcmalloc
- test yassl"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )
- static? ( yassl )"
-
-KEYWORDS="~amd64 ~x86"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
- inherit git-r3
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
-else
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
- "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
- "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-cluster-7.3.22-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
- "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
- "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
- "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch
- "${MY_PATCH_DIR}"/30000_all_mysql-cluster-multilib-property.patch
-)
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- dev-libs/libevent:0=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- numa? ( sys-process/numactl )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- ${JAVA_PKG_E_DEPEND}
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- >=virtual/jdk-1.6
- test? ( dev-perl/JSON )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
- >=virtual/jre-1.6
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- if has test ${FEATURES} && \
- use server && ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
-
- # This should come after all of the die statements
- enewgroup mysql 60 || die "problem adding 'mysql' group"
- enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
-
- java-pkg_init
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
-
- if use server ; then
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR%/}/${MY_PN}-${PV}" "${S}" || die
-}
-
-src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
-
- if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null daemon_example fulltext )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- # Don't build example
- _disable_engine example
-
- cmake-utils_src_prepare
- java-utils-2_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')"
- -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_EDITLINE=bundled
- -DWITH_ZLIB=system
- -DWITH_LIBWRAP=OFF
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DWITHOUT_CLIENTLIBS=YES
- -DENABLE_DTRACE=$(usex systemtap)
- -DWITH_BUNDLED_LIBEVENT=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- if use server ; then
-
- # Federated must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=( -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DINSTALL_SQLBENCHDIR=share/mysql
- -DEXTRA_CHARSETS=all
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITHOUT_VALIDATE_PASSWORD=1
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- -DWITH_NDBCLUSTER=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED%/}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED%/}/usr/data" ]] ; then
- rm -Rf "${ED%/}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
- local mycnf_src="my.cnf-5.6"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR%/}/${mycnf_src}" \
- > "${TMPDIR%/}/my.cnf.ok" || die
- use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR%/}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR%/}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" my.cnf
-
- if use server ; then
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S%/}"/support-files/magic \
- "${S%/}"/support-files/ndb-config-2-node.ini
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S%/}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MySQL 5.5 for now and are believed to be
- # false positives:
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock
- # main.mysql_client_test_comp:
- # segfaults at random under Portage only, suspect resource limits.
-
- local t
- for t in main.mysql_client_test \
- binlog.binlog_statement_insert_delayed main.information_schema \
- main.mysqld--help-notwin main.flush_read_lock_kill \
- sys_vars.plugin_dir_basic main.openssl_1 \
- binlog.binlog_mysqlbinlog_filter \
- perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
- funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \
- main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- for t in \
- ndb.ndbinfo ndb.ndb_tools_connect \
- ndb_binlog.ndb_binlog_index ; do
- _disable_test "$t" "False positives in Gentoo (NDB) (Latin1/UTF8)"
- done
-
- _disable_test main.mysqldump "Extra expected warning not recorded in test results"
-
- if ! use client-libs ; then
- _disable_test main.plugin_auth "Needs client libraries built"
- fi
-
- # Set file limits higher so tests run
- ulimit -n 3000
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in grant-tables host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
-
- local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
- cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT}/usr/sbin/mysqld \
- ${options} \
- --log-warnings=0 \
- --basedir=${EROOT}/usr \
- --datadir=${ROOT}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql-cluster/mysql-cluster-7.4.21.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.4.21.ebuild
deleted file mode 100644
index d78696ae60ea..000000000000
--- a/dev-db/mysql-cluster/mysql-cluster-7.4.21.ebuild
+++ /dev/null
@@ -1,811 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20190121-0015Z"
-
-#fails to build with ninja
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-inherit eutils flag-o-matic prefix toolchain-funcs java-utils-2 user cmake-utils
-
-MY_PN="mysql-cluster-gpl"
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-Cluster-7.4/${MY_PN}-${PV}.tar.gz
- https://downloads.mysql.com/archives/MySQL-Cluster-7.4/${MY_PN}-${PV}.tar.gz"
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mysql.com/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="client-libs debug extraengine jemalloc latin1 numa
- +perl profiling selinux +server static static-libs systemtap tcmalloc
- test yassl"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )
- static? ( yassl )"
-
-KEYWORDS="~amd64 ~x86"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
- inherit git-r3
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
-else
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
- "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
- "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-cluster-7.3.22-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
- "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
- "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
- "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch
- "${MY_PATCH_DIR}"/30000_all_mysql-cluster-multilib-property.patch
-)
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- dev-libs/libevent:0=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- numa? ( sys-process/numactl )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- ${JAVA_PKG_E_DEPEND}
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- >=virtual/jdk-1.6
- test? ( dev-perl/JSON )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
- >=virtual/jre-1.6
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- if has test ${FEATURES} && \
- use server && ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
-
- # This should come after all of the die statements
- enewgroup mysql 60 || die "problem adding 'mysql' group"
- enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
-
- java-pkg_init
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
-
- if use server ; then
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR%/}/${MY_PN}-${PV}" "${S}" || die
-}
-
-src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
-
- if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null daemon_example fulltext )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- # Don't build example
- _disable_engine example
-
- cmake-utils_src_prepare
- java-utils-2_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')"
- -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_EDITLINE=bundled
- -DWITH_ZLIB=system
- -DWITH_LIBWRAP=OFF
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DWITHOUT_CLIENTLIBS=YES
- -DENABLE_DTRACE=$(usex systemtap)
- -DWITH_BUNDLED_LIBEVENT=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- if use server ; then
-
- # Federated must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=( -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DINSTALL_SQLBENCHDIR=share/mysql
- -DEXTRA_CHARSETS=all
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITHOUT_VALIDATE_PASSWORD=1
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- -DWITH_NDBCLUSTER=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED%/}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED%/}/usr/data" ]] ; then
- rm -Rf "${ED%/}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
- local mycnf_src="my.cnf-5.6"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR%/}/${mycnf_src}" \
- > "${TMPDIR%/}/my.cnf.ok" || die
- use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR%/}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR%/}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" my.cnf
-
- if use server ; then
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S%/}"/support-files/magic \
- "${S%/}"/support-files/ndb-config-2-node.ini
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S%/}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MySQL 5.5 for now and are believed to be
- # false positives:
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock
- # main.mysql_client_test_comp:
- # segfaults at random under Portage only, suspect resource limits.
-
- local t
- for t in main.mysql_client_test \
- binlog.binlog_statement_insert_delayed main.information_schema \
- main.mysqld--help-notwin main.flush_read_lock_kill \
- sys_vars.plugin_dir_basic main.openssl_1 \
- binlog.binlog_mysqlbinlog_filter \
- perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
- funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \
- main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- for t in \
- ndb.ndbinfo ndb.ndb_tools_connect \
- ndb_binlog.ndb_binlog_index ; do
- _disable_test "$t" "False positives in Gentoo (NDB) (Latin1/UTF8)"
- done
-
- _disable_test main.mysqldump "Extra expected warning not recorded in test results"
-
- if ! use client-libs ; then
- _disable_test main.plugin_auth "Needs client libraries built"
- fi
-
- # Set file limits higher so tests run
- ulimit -n 3000
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in grant-tables host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
-
- local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
- cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT}/usr/sbin/mysqld \
- ${options} \
- --log-warnings=0 \
- --basedir=${EROOT}/usr \
- --datadir=${ROOT}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index 572807f8ebe2..bf885879f346 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -1,5 +1,3 @@
-DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4
-DIST mysql-connector-c++-8.0.24-src.tar.gz 3797356 BLAKE2B e509e04f6c93893948c573401188567bcbda91db0e608d53b1795593abf043117e1a525d3abe5c8396068a2ef750582cde15b64412e556e89762d08032abb602 SHA512 5507bc562e8263ee17efb9d4e2f52e471da75e73a1fc4dd1bc0a2ac1c2a593be889c4b042037cf6d3cbff854ae5cc865a8800251da475aed0f31710229af26f1
-DIST mysql-connector-c++-8.0.25-src.tar.gz 3800065 BLAKE2B 67546b2d7d9de25ccb440c22bd58ee83e6fae78710e6dfa802cb0446bf5be433c56458424f0ee81c9a899bbfd5f464712d2d0b43dceb4205b492c7b1a79f7858 SHA512 44dd7f4296d666801be55642e53cb5181d9b5c3b080306975a48eb6280e555d9b924b42b14b44dffee4c54fab3f662a7b6bb6584d9a1ed710f0026788611c525
-DIST mysql-connector-c++-8.0.26-src.tar.gz 3980027 BLAKE2B 86ce0d94db588ed86ce7b21851f866da26268f7c9059b57697cbe1f5c5d031a3eada2f55042feb7b2888b538277c773215c0d19e8a1968ff70ce363e8f95bd77 SHA512 e3a08551a4245bf886cb7e3775a256fa379bb781b523a84d30e0d0c16cae73c808a3413b08b09998eba9c0ea3ede19e505b6392ed71712a8e9a2df31f07e4c79
-DIST mysql-connector-c++-8.0.27-src.tar.gz 4004836 BLAKE2B e581c679d8d9a31d2570b9cf1968b4e793cfccbd4cafdc5a9c9d17a465c16faa1492b2da7bdc1679d97474c27b6353274a390668f77d3cb47f72598eb3a967fa SHA512 3da7109efd2d1af813931b923218de9a85afe20d23e2654eecfa5524431f5b11ebdb8421b14563300b66ab61714e284cc15407a3b28a87922c9a8c79b2804bf3
+DIST mysql-connector-c++-8.0.31-src.tar.gz 4201904 BLAKE2B 48385db732572ccf2ba91edca0fbdecf94b3ac5ca6c095e1e2e525e5f9b17749b9cb1ed9732253f9239296d364a69a91d56f60958eb4cf399f16db38f6bd76a8 SHA512 a088936e207926031b6bafe45925bf0c9d2acede9477b605adb09dc875c87965e58e3ecd0332168021122c9def831f0dfdb837ad2c4ea2f140b07b43c9f8bb3c
+DIST mysql-connector-c++-8.0.32-src.tar.gz 4202413 BLAKE2B fe15be7b6ec0c4699ded6e392f3f2e1c12fa9fe033172f6219916fb6ce4ae78d3e8cc882eaf66da606dc1445a59a5cf573f92ee6f1d18178d6c11762dcffb0c0 SHA512 cdfddaf84efe0d49d07c5ef07b5c50bde2f64cbf58d48016573a20ca372b0ba5dab640305d16d8b34032a63f2ceb2954eac108f838fb2f3849a7f3838329df48
+DIST mysql-connector-c++-8.0.33-src.tar.gz 4531693 BLAKE2B b8f426742fa343ebc1f1da5ba1fbf7dfc0db39493bafd0f5d16e355d43277d78ff27b183edad31792a7591ac59bbfb4033f3498dc646883988cba189535a8ddf SHA512 a625a28f63161c97d727d90e7b1211273fe931ae1325c2fbeca16e770761e3159abdcaba1fb6eb1a557674fd817bf266875a089c8c2ea4d2dd1553e6fa887ef1
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch
deleted file mode 100644
index 2868a3c024af..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/driver/mysql_connection.cpp
-+++ b/driver/mysql_connection.cpp
-@@ -1067,6 +1067,7 @@ MySQL_Connection::getClientOption(const sql::SQLString & optionName, void * opti
- proxy->get_character_set_info(&cs);
- *(static_cast<int *>(optionValue)) = cs.mbmaxlen;
- /* mysql_get_option() was added in mysql 5.7.3 version */
-+#if !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
- } else if ( proxy->get_server_version() >= 50703 ) {
- try {
- if (GET_CONN_OPTION(optionName, optionValue, intOptions)) {
-@@ -1080,6 +1081,7 @@ MySQL_Connection::getClientOption(const sql::SQLString & optionName, void * opti
- CPP_ERR_FMT("Unsupported option : %d:(%s) %s", proxy->errNo(), proxy->sqlstate().c_str(), proxy->error().c_str());
- throw e;
- }
-+#endif
- }
- }
- /* }}} */
-@@ -1097,11 +1099,13 @@ MySQL_Connection::getClientOption(const sql::SQLString & optionName)
- MY_CHARSET_INFO cs;
- proxy->get_character_set_info(&cs);
- return cs.dir ? sql::SQLString(cs.dir) : "";
-+#if !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
- } else if ( proxy->get_server_version() >= 50703 ) {
- const char* optionValue= NULL;
- if (GET_CONN_OPTION(optionName, &optionValue, stringOptions)) {
- return optionValue ? sql::SQLString(optionValue) : "";
- }
-+#endif
- }
- return "";
- }
---- a/driver/nativeapi/libmysql_static_proxy.cpp
-+++ b/driver/nativeapi/libmysql_static_proxy.cpp
-@@ -325,7 +325,7 @@ LibmysqlStaticProxy::options(MYSQL * mysql, enum mysql_option option, const void
- int
- LibmysqlStaticProxy::get_option(MYSQL * mysql, enum mysql_option option, const void *arg)
- {
--#if MYSQL_VERSION_ID >= 50703
-+#if MYSQL_VERSION_ID >= 50703 && !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
- if (::mysql_get_option(mysql, option, arg)) {
- throw sql::InvalidArgumentException("Unsupported option provided to mysql_get_option()");
- } else {
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.6-fix-cmake.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.6-fix-cmake.patch
deleted file mode 100644
index 18d4e9a80410..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.6-fix-cmake.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -aurN a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt 2015-06-04 08:58:30.000000000 -0400
-+++ b/CMakeLists.txt 2015-07-21 10:41:59.081091000 -0400
-@@ -300,7 +300,7 @@
- SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
- ENDIF(WIN32)
-
--SET(DOC_DESTINATION ".")
-+SET(DOC_DESTINATION ${INSTALL_DOCS})
- IF(RPM_LAYOUT)
- SET(DOC_DESTINATION "share/doc/${CPACK_PACKAGE_NAME}-${MYSQLCPPCONN_VERSION}")
- ENDIF()
-@@ -373,10 +373,6 @@
- ADD_SUBDIRECTORY(cppconn)
- ADD_SUBDIRECTORY(driver)
- ADD_SUBDIRECTORY(examples)
--ADD_SUBDIRECTORY(test)
--ADD_SUBDIRECTORY(test/framework)
--ADD_SUBDIRECTORY(test/CJUnitTestsPort)
--ADD_SUBDIRECTORY(test/unit)
-
- IF(DEFINED CMAKE_SYSTEM_NAME AND ${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
- # see also README
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch
deleted file mode 100644
index ca1b829c1fbc..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch
+++ /dev/null
@@ -1,322 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -467,7 +467,7 @@ set_target_properties(connector PROPERTIES
-
-
- install(TARGETS connector
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
---- a/cdk/cmake/DepFindProtobuf.cmake
-+++ b/cdk/cmake/DepFindProtobuf.cmake
-@@ -48,244 +48,7 @@ if(TARGET Protobuf::pb)
- return()
- endif()
-
--message(STATUS "Setting up Protobuf.")
--
--set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
--set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
--set(config_stamp "${PB_BINARY_DIR}/config.stamp")
--set(build_stamp "${PB_BINARY_DIR}/build.stamp")
--
--
--#
--# Pick build configuration for the protobuf build. Normally we build using the
--# same build configuration that is used for building CDK (Release/Debug/etc.).
--# But we also support building CDK under non-standard build configuration
--# named 'Static' (this is a dirty trick we use to simplify building our MSIs).
--# Since protobuf does not know 'Static' build configuration, we build protobuf
--# under 'Release' configuration in that case.
--#
--# We need to handle two cases. For some build systems, like Makefiles,
--# the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
--# variable. In that case we also set it during protobuf build configuration.
--# Another case is a multi-configuration build system like MSVC. In this case
--# we use generator expression to pick correct configuration when the build
--# command is invoked below.
--#
--
--set(build_type)
--if(CMAKE_BUILD_TYPE)
-- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
-- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
-- else()
-- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
-- endif()
--endif()
--
--set(CONFIG_EXPR
-- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
--)
--
--set(set_arch)
--if(CMAKE_GENERATOR_PLATFORM)
-- set(set_arch -A ${CMAKE_GENERATOR_PLATFORM})
--endif()
--
--set(set_toolset)
--if(CMAKE_GENERATOR_TOOLSET)
-- set(set_toolset -T ${CMAKE_GENERATOR_TOOLSET})
--endif()
--
--set(set_system_name)
--if(CMAKE_SYSTEM_NAME)
-- set(set_system_name -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
-- if(CMAKE_SYSTEM_VERSION)
-- list(APPEND set_system_name -DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION})
-- endif()
--endif()
--
--set(set_system_processor)
--if(CMAKE_SYSTEM_PROCESSOR)
-- set(set_system_processor -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR})
--endif()
--
--if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
--
-- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR} ${set_arch} ${set_toolset} ${set_system_name}")
--
-- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
-- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
--
-- # Dirty trick to speed up cmake set up time.
-- #file(
-- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
-- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
-- #)
--
-- execute_process(
-- COMMAND ${CMAKE_COMMAND}
-- -G "${CMAKE_GENERATOR}"
-- ${set_arch}
-- ${set_toolset}
-- ${set_build_type}
-- ${set_system_name}
-- ${set_system_processor}
-- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
-- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
-- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
-- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
-- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
-- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
-- ${PB_SOURCE_DIR}
-- WORKING_DIRECTORY ${PB_BINARY_DIR}
-- RESULT_VARIABLE protobuf_config
-- )
--
-- if(protobuf_config)
-- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
-- endif()
--
-- message("==== Protobuf build configured.")
--
--endif()
--
--
--include(${PB_BINARY_DIR}/exports.cmake)
--
--#
--# Protobuf library targets imported above (pb_protobuf
--# and pb_protobuf-lite) are local to the directory from which
--# they were imported. This is not good if cdk is used as
--# a sub-project of a parent project, because the parent project
--# must have access to these targets.
--#
--# For that reason below we create global protobuf/protobuf-lite targets
--# and copy their locations from the imported targets.
--#
--# Note: we can't use ALIAS library because it does not work with imported
--# targets
--#
--
--add_library(Protobuf::pb-full STATIC IMPORTED GLOBAL)
--add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
--add_executable(Protobuf::protoc IMPORTED GLOBAL)
--
--set(TGT_protobuf Protobuf::pb-full)
--set(TGT_protobuf-lite Protobuf::pb-lite)
--set(TGT_protoc Protobuf::protoc)
--
--foreach(tgt protobuf protobuf-lite protoc)
--
-- #message("processing: ${tgt}")
--
-- set(loc_list)
--
-- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
--
-- #message("- CONF: ${CONF}")
--
-- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
--
-- if(LOC)
--
-- #message("- setting imported location to: ${LOC}")
-- list(APPEND loc_list "${LOC}")
--
-- set_target_properties(${TGT_${tgt}} PROPERTIES
-- IMPORTED_LOCATION_${CONF} "${LOC}"
-- )
--
-- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
-- IMPORTED_CONFIGURATIONS ${CONF}
-- )
--
-- endif()
--
-- endforeach(CONF)
--
-- #
-- # To support 'Static' build configuration the targets imported from the
-- # Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
-- # 'Release' locations as Protobuf is built using 'Release' configuration in
-- # that case.
-- #
--
-- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
-- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
--
--endforeach(tgt)
--
--
--#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
--set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
--
--set_target_properties(Protobuf::pb-lite PROPERTIES
-- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
--)
--
--set_target_properties(Protobuf::pb-full PROPERTIES
-- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
--)
--
--# On UNIX Protobuf uses pthread library
--if(UNIX)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_LINK_LIBRARIES pthread
-- )
--endif()
--
--#
--# Note: This is needed to correctly compile headers generated by protobuf
--# with sunpro compiler.
--#
--
--if(SUNPRO)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
-- )
--endif()
--
--#
--# Try using parallel builds for protobuf.
--#
--
--include(ProcessorCount)
--ProcessorCount(N)
--
--MESSAGE("Processor Count: ${N}")
--
--set(opt_build)
--set(opt_tool)
--if(NOT N EQUAL 0)
-- if(NOT CMAKE_VERSION VERSION_LESS 3.12)
-- set(opt_build --parallel ${N})
-- elseif(CMAKE_MAKE_PROGRAM MATCHES "make")
-- set(opt_tool -j${N})
-- endif()
--endif()
--
--add_custom_command(OUTPUT "${build_stamp}"
-- COMMAND ${CMAKE_COMMAND} --build . ${opt_build} --config ${CONFIG_EXPR} -- ${opt_tool}
-- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
-- WORKING_DIRECTORY "${PB_BINARY_DIR}"
-- COMMENT "Building protobuf"
--)
--
--add_custom_target(build_protobuf
-- SOURCES "${build_stamp}"
--)
--
--set_target_properties(build_protobuf PROPERTIES FOLDER "Misc")
--
--add_dependencies(Protobuf::pb-full build_protobuf)
--add_dependencies(Protobuf::pb-lite build_protobuf)
--add_dependencies(Protobuf::protoc build_protobuf)
--
--# TODO: Handle lite/full version
--
--
-+find_package(Protobuf REQUIRED)
-
- # Standard PROTOBUF_GENERATE_CPP modified to our usage
-
-@@ -314,11 +77,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
- "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
- COMMAND ${CMAKE_COMMAND}
- -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-- COMMAND Protobuf::protoc
-+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
- ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- -I ${ABS_PATH} ${ABS_FIL}
-- --proto_path=${PROJECT_SOURCE_DIR}/protobuf/protobuf-3.6.1/src
-- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
-+ --proto_path=${Protobuf_INCLUDE_DIR}
-+ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
- COMMENT "Running C++ protocol buffer compiler on ${FIL}"
- VERBATIM
- )
---- a/cdk/core/CMakeLists.txt
-+++ b/cdk/core/CMakeLists.txt
-@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
-
- target_link_libraries(cdk
- PUBLIC cdk_mysqlx cdk_parser
-- PRIVATE Protobuf::pb-lite # required by codecc.cc
-+ PRIVATE protobuf # required by codecc.cc
- )
-
- add_coverage(cdk)
---- a/cdk/protocol/mysqlx/CMakeLists.txt
-+++ b/cdk/protocol/mysqlx/CMakeLists.txt
-@@ -127,11 +127,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
- ${CMAKE_CURRENT_BINARY_DIR}
- )
-
--if(use_full_protobuf)
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
--else()
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
--endif()
-+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
-
- target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation zlib lz4 zstd)
-
---- a/jdbc.cmake
-+++ b/jdbc.cmake
-@@ -66,7 +66,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
- list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
- endif()
-
--list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
-+list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
-
- if(CMAKE_BUILD_TYPE)
- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
---- a/jdbc/CMakeLists.txt
-+++ b/jdbc/CMakeLists.txt
-@@ -299,7 +299,7 @@ endif()
-
-
- install(TARGETS connector-jdbc
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch
deleted file mode 100644
index f09d85449b97..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/786252
-
---- a/include/mysqlx/common/util.h
-+++ b/include/mysqlx/common/util.h
-@@ -112,6 +112,7 @@ PUSH_SYS_WARNINGS
- #include <ostream>
- #include <memory>
- #include <forward_list>
-+#include <limits> // std::numeric_limits
- #include <string.h> // for memcpy
- #include <utility> // std::move etc
- #include <algorithm>
-
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch
deleted file mode 100644
index f211f113f04a..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 774d7bd983a2e12e78a0231c7936a9481bb3df1d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Lu=C3=ADs=20Silva?= <luis.m.silva@oracle.com>
-Date: Thu, 13 May 2021 23:14:57 +0100
-Subject: [PATCH] Bug #32882344: FIX MYSQLCLIENT_STATIC_BINDING=0 BUILD
-
----
- driver/nativeapi/libmysql_dynamic_proxy.cpp | 13 ++
- driver/nativeapi/libmysql_dynamic_proxy.h | 132 ++++++++++----------
- driver/nativeapi/mysql_client_api.h | 2 +
- 3 files changed, 83 insertions(+), 64 deletions(-)
-
-diff --git a/driver/nativeapi/libmysql_dynamic_proxy.cpp b/driver/nativeapi/libmysql_dynamic_proxy.cpp
-index 4c70074e..9bd4bd99 100644
---- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp
-+++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp
-@@ -512,6 +512,19 @@ LibmysqlDynamicProxy::real_connect_dns_srv(MYSQL * mysql,
- /* }}} */
-
-
-+/* {{{ LibmysqlDynamicProxy::bind_param() */
-+bool
-+LibmysqlDynamicProxy::bind_param(MYSQL *mysql, unsigned n_params,
-+ MYSQL_BIND *binds, const char **names)
-+{
-+ ptr2mysql_bind_param ptr2_bind_param=
-+ symbol_safe_cast<ptr2mysql_bind_param>(GetProcAddr("mysql_bind_param"));
-+
-+ return (*ptr2_bind_param)(mysql, n_params, binds, names);
-+}
-+/* }}} */
-+
-+
- /* {{{ LibmysqlDynamicProxy::real_escape_string() */
- unsigned long
- LibmysqlDynamicProxy::real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length)
-diff --git a/driver/nativeapi/libmysql_dynamic_proxy.h b/driver/nativeapi/libmysql_dynamic_proxy.h
-index 93dc9700..e0f00c95 100644
---- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h
-+++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h
-@@ -65,67 +65,67 @@ public:
-
- // MySQL C-API calls wrappers
-
-- my_ulonglong affected_rows(MYSQL *);
-+ my_ulonglong affected_rows(MYSQL *) override;
-
-- my_bool autocommit(MYSQL * , my_bool);
-+ my_bool autocommit(MYSQL * , my_bool) override;
-
-- void close (MYSQL *mysql);
-+ void close (MYSQL *mysql) override;
-
-- my_bool commit(MYSQL *mysql);
-+ my_bool commit(MYSQL *mysql) override;
-
-- void data_seek(MYSQL_RES *, my_ulonglong);
-+ void data_seek(MYSQL_RES *, my_ulonglong) override;
-
-- void debug(const char *);
-+ void debug(const char *) override;
-
-- unsigned int mysql_errno(MYSQL *);
-+ unsigned int mysql_errno(MYSQL *) override;
-
-- const char * error(MYSQL *);
-+ const char * error(MYSQL *) override;
-
-- MYSQL_FIELD * fetch_field(MYSQL_RES *);
-+ MYSQL_FIELD * fetch_field(MYSQL_RES *) override;
-
-- MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int);
-+ MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int) override;
-
-- unsigned long * fetch_lengths(MYSQL_RES *);
-+ unsigned long * fetch_lengths(MYSQL_RES *) override;
-
-- MYSQL_ROW fetch_row(MYSQL_RES *);
-+ MYSQL_ROW fetch_row(MYSQL_RES *) override;
-
-- unsigned int field_count(MYSQL *);
-+ unsigned int field_count(MYSQL *) override;
-
-- void free_result(MYSQL_RES *);
-+ void free_result(MYSQL_RES *) override;
-
-- unsigned long get_client_version();
-+ unsigned long get_client_version() override;
-
-- const char * get_server_info(MYSQL *);
-+ const char * get_server_info(MYSQL *) override;
-
-- unsigned long get_server_version(MYSQL *);
-+ unsigned long get_server_version(MYSQL *) override;
-
-- void get_character_set_info(MYSQL *, void *);
-+ void get_character_set_info(MYSQL *, void *) override;
-
-- const char * info(MYSQL *);
-+ const char * info(MYSQL *) override;
-
-- MYSQL * init(MYSQL *mysql);
-+ MYSQL * init(MYSQL *mysql) override;
-
-- int library_init(int, char **, char **);
-+ int library_init(int, char **, char **) override;
-
-- void library_end();
-+ void library_end() override;
-
-- my_bool more_results(MYSQL *);
-+ my_bool more_results(MYSQL *) override;
-
-- int next_result(MYSQL *);
-+ int next_result(MYSQL *) override;
-
-- unsigned int num_fields(MYSQL_RES *);
-+ unsigned int num_fields(MYSQL_RES *) override;
-
-- my_ulonglong num_rows(MYSQL_RES *);
-+ my_ulonglong num_rows(MYSQL_RES *) override;
-
-- int options (MYSQL *, enum mysql_option, const void *);
-+ int options (MYSQL *, enum mysql_option, const void *) override;
-
-- int options (MYSQL *, enum mysql_option, const void *, const void *);
-+ int options (MYSQL *, enum mysql_option, const void *, const void *) override;
-
-- int get_option (MYSQL *, enum mysql_option, const void *);
-+ int get_option (MYSQL *, enum mysql_option, const void *) override;
-
-- int ping(MYSQL *);
-+ int ping(MYSQL *) override;
-
-- int query(MYSQL *, const char *);
-+ int query(MYSQL *, const char *) override;
-
- MYSQL * real_connect(MYSQL * mysql, const char * host,
- const char * user,
-@@ -133,82 +133,86 @@ public:
- const char * db,
- unsigned int port,
- const char * unix_socket,
-- unsigned long client_flag);
-+ unsigned long client_flag) override;
-
- MYSQL * real_connect_dns_srv(MYSQL * mysql,
- const char * host,
- const char * user,
- const char * passwd,
- const char * db,
-- unsigned long client_flag);
-+ unsigned long client_flag) override;
-
-- unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length);
-+ bool bind_param(MYSQL *mysql, unsigned n_params,
-+ MYSQL_BIND *binds, const char **names) override;
-
-- int real_query(MYSQL *, const char *, unsigned long);
-
-- my_bool rollback(MYSQL *);
-+ unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length) override;
-
-- const char * sqlstate(MYSQL *);
-+ int real_query(MYSQL *, const char *, unsigned long) override;
-+
-+ my_bool rollback(MYSQL *) override;
-+
-+ const char * sqlstate(MYSQL *) override;
-
- my_bool ssl_set(MYSQL * mysql,
- const char * key,
- const char * cert,
- const char * ca,
- const char * capath,
-- const char * cipher);
-+ const char * cipher) override;
-
-- MYSQL_RES * store_result(MYSQL *);
-+ MYSQL_RES * store_result(MYSQL *) override;
-
-- MYSQL_RES * use_result(MYSQL *);
-+ MYSQL_RES * use_result(MYSQL *) override;
-
-- unsigned int warning_count(MYSQL *);
-+ unsigned int warning_count(MYSQL *) override;
-
- /* Prepared Statement stmt_* functions */
-- my_ulonglong stmt_affected_rows (MYSQL_STMT *);
-+ my_ulonglong stmt_affected_rows (MYSQL_STMT *) override;
-
-- my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *);
-+ my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *) override;
-
-- my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *);
-+ my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *) override;
-
-- my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *);
-+ my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *) override;
-
-- my_bool stmt_close(MYSQL_STMT *);
-+ my_bool stmt_close(MYSQL_STMT *) override;
-
-- void stmt_data_seek(MYSQL_STMT *, my_ulonglong);
-+ void stmt_data_seek(MYSQL_STMT *, my_ulonglong) override;
-
-- unsigned int stmt_errno(MYSQL_STMT *);
-+ unsigned int stmt_errno(MYSQL_STMT *) override;
-
-- const char * stmt_error(MYSQL_STMT *);
-+ const char * stmt_error(MYSQL_STMT *) override;
-
-- int stmt_execute(MYSQL_STMT *);
-+ int stmt_execute(MYSQL_STMT *) override;
-
-- int stmt_fetch(MYSQL_STMT *);
-+ int stmt_fetch(MYSQL_STMT *) override;
-
-- unsigned int stmt_field_count(MYSQL_STMT *);
-+ unsigned int stmt_field_count(MYSQL_STMT *) override;
-
-- MYSQL_STMT * stmt_init(MYSQL *);
-+ MYSQL_STMT * stmt_init(MYSQL *) override;
-
-- my_ulonglong stmt_num_rows(MYSQL_STMT *);
-+ my_ulonglong stmt_num_rows(MYSQL_STMT *) override;
-
-- unsigned long stmt_param_count(MYSQL_STMT *);
-+ unsigned long stmt_param_count(MYSQL_STMT *) override;
-
-- int stmt_prepare(MYSQL_STMT *, const char *, unsigned long);
-+ int stmt_prepare(MYSQL_STMT *, const char *, unsigned long) override;
-
-- MYSQL_RES * stmt_result_metadata(MYSQL_STMT *);
-+ MYSQL_RES * stmt_result_metadata(MYSQL_STMT *) override;
-
-- my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long);
-+ my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long) override;
-
-- const char * stmt_sqlstate(MYSQL_STMT *);
-+ const char * stmt_sqlstate(MYSQL_STMT *) override;
-
-- int stmt_store_result(MYSQL_STMT *);
-+ int stmt_store_result(MYSQL_STMT *) override;
-
-- int stmt_next_result(MYSQL_STMT *);
-+ int stmt_next_result(MYSQL_STMT *) override;
-
-- bool stmt_free_result(MYSQL_STMT *);
-+ bool stmt_free_result(MYSQL_STMT *) override;
-
-- void thread_init();
-+ void thread_init() override;
-
-- void thread_end();
-+ void thread_end() override;
- };
-
- } /* namespace NativeAPI */
-diff --git a/driver/nativeapi/mysql_client_api.h b/driver/nativeapi/mysql_client_api.h
-index b738cf9a..fa044c93 100644
---- a/jdbc/driver/nativeapi/mysql_client_api.h
-+++ b/jdbc/driver/nativeapi/mysql_client_api.h
-@@ -111,6 +111,8 @@ typedef MYSQL * (STDCALL *ptr2mysql_real_connect)(MYSQL *, const char *, const c
-
- typedef MYSQL * (STDCALL *ptr2mysql_real_connect_dns_srv)(MYSQL *, const char *, const char *, const char * , const char *, unsigned long);
-
-+typedef bool (STDCALL *ptr2mysql_bind_param)(MYSQL *mysql, unsigned n_params, MYSQL_BIND *binds, const char **names);
-+
- typedef unsigned long (STDCALL *ptr2mysql_real_escape_string)(MYSQL * mysql, char *, const char *, unsigned long);
-
- typedef int (STDCALL *ptr2mysql_real_query)(MYSQL *, const char *, unsigned long);
---
-2.30.2
-
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.26-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.26-fix-build.patch
deleted file mode 100644
index 2c80085b6392..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.26-fix-build.patch
+++ /dev/null
@@ -1,321 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -467,7 +467,7 @@ set_target_properties(connector PROPERTIES
-
-
- install(TARGETS connector
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
---- a/cdk/cmake/DepFindProtobuf.cmake
-+++ b/cdk/cmake/DepFindProtobuf.cmake
-@@ -48,244 +48,7 @@ if(TARGET Protobuf::pb)
- return()
- endif()
-
--message(STATUS "Setting up Protobuf.")
--
--set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
--set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
--set(config_stamp "${PB_BINARY_DIR}/config.stamp")
--set(build_stamp "${PB_BINARY_DIR}/build.stamp")
--
--
--#
--# Pick build configuration for the protobuf build. Normally we build using the
--# same build configuration that is used for building CDK (Release/Debug/etc.).
--# But we also support building CDK under non-standard build configuration
--# named 'Static' (this is a dirty trick we use to simplify building our MSIs).
--# Since protobuf does not know 'Static' build configuration, we build protobuf
--# under 'Release' configuration in that case.
--#
--# We need to handle two cases. For some build systems, like Makefiles,
--# the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
--# variable. In that case we also set it during protobuf build configuration.
--# Another case is a multi-configuration build system like MSVC. In this case
--# we use generator expression to pick correct configuration when the build
--# command is invoked below.
--#
--
--set(build_type)
--if(CMAKE_BUILD_TYPE)
-- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
-- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
-- else()
-- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
-- endif()
--endif()
--
--set(CONFIG_EXPR
-- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
--)
--
--set(set_arch)
--if(CMAKE_GENERATOR_PLATFORM)
-- set(set_arch -A ${CMAKE_GENERATOR_PLATFORM})
--endif()
--
--set(set_toolset)
--if(CMAKE_GENERATOR_TOOLSET)
-- set(set_toolset -T ${CMAKE_GENERATOR_TOOLSET})
--endif()
--
--set(set_system_name)
--if(CMAKE_SYSTEM_NAME)
-- set(set_system_name -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
-- if(CMAKE_SYSTEM_VERSION)
-- list(APPEND set_system_name -DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION})
-- endif()
--endif()
--
--set(set_system_processor)
--if(CMAKE_SYSTEM_PROCESSOR)
-- set(set_system_processor -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR})
--endif()
--
--if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
--
-- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR} ${set_arch} ${set_toolset} ${set_system_name}")
--
-- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
-- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
--
-- # Dirty trick to speed up cmake set up time.
-- #file(
-- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
-- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
-- #)
--
-- execute_process(
-- COMMAND ${CMAKE_COMMAND}
-- -G "${CMAKE_GENERATOR}"
-- ${set_arch}
-- ${set_toolset}
-- ${set_build_type}
-- ${set_system_name}
-- ${set_system_processor}
-- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
-- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
-- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
-- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
-- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
-- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
-- ${PB_SOURCE_DIR}
-- WORKING_DIRECTORY ${PB_BINARY_DIR}
-- RESULT_VARIABLE protobuf_config
-- )
--
-- if(protobuf_config)
-- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
-- endif()
--
-- message("==== Protobuf build configured.")
--
--endif()
--
--
--include(${PB_BINARY_DIR}/exports.cmake)
--
--#
--# Protobuf library targets imported above (pb_protobuf
--# and pb_protobuf-lite) are local to the directory from which
--# they were imported. This is not good if cdk is used as
--# a sub-project of a parent project, because the parent project
--# must have access to these targets.
--#
--# For that reason below we create global protobuf/protobuf-lite targets
--# and copy their locations from the imported targets.
--#
--# Note: we can't use ALIAS library because it does not work with imported
--# targets
--#
--
--add_library(Protobuf::pb-full STATIC IMPORTED GLOBAL)
--add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
--add_executable(Protobuf::protoc IMPORTED GLOBAL)
--
--set(TGT_libprotobuf Protobuf::pb-full)
--set(TGT_libprotobuf-lite Protobuf::pb-lite)
--set(TGT_protoc Protobuf::protoc)
--
--foreach(tgt libprotobuf libprotobuf-lite protoc)
--
-- #message("processing: ${tgt}")
--
-- set(loc_list)
--
-- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
--
-- #message("- CONF: ${CONF}")
--
-- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
--
-- if(LOC)
--
-- #message("- setting imported location to: ${LOC}")
-- list(APPEND loc_list "${LOC}")
--
-- set_target_properties(${TGT_${tgt}} PROPERTIES
-- IMPORTED_LOCATION_${CONF} "${LOC}"
-- )
--
-- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
-- IMPORTED_CONFIGURATIONS ${CONF}
-- )
--
-- endif()
--
-- endforeach(CONF)
--
-- #
-- # To support 'Static' build configuration the targets imported from the
-- # Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
-- # 'Release' locations as Protobuf is built using 'Release' configuration in
-- # that case.
-- #
--
-- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
-- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
--
--endforeach(tgt)
--
--
--#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
--set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
--
--set_target_properties(Protobuf::pb-lite PROPERTIES
-- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
--)
--
--set_target_properties(Protobuf::pb-full PROPERTIES
-- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
--)
--
--# On UNIX Protobuf uses pthread library
--if(UNIX)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_LINK_LIBRARIES pthread
-- )
--endif()
--
--#
--# Note: This is needed to correctly compile headers generated by protobuf
--# with sunpro compiler.
--#
--
--if(SUNPRO)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
-- )
--endif()
--
--#
--# Try using parallel builds for protobuf.
--#
--
--include(ProcessorCount)
--ProcessorCount(N)
--
--MESSAGE("Processor Count: ${N}")
--
--set(opt_build)
--set(opt_tool)
--if(NOT N EQUAL 0)
-- if(NOT CMAKE_VERSION VERSION_LESS 3.12)
-- set(opt_build --parallel ${N})
-- elseif(CMAKE_MAKE_PROGRAM MATCHES "make")
-- set(opt_tool -j${N})
-- endif()
--endif()
--
--add_custom_command(OUTPUT "${build_stamp}"
-- COMMAND ${CMAKE_COMMAND} --build . ${opt_build} --config ${CONFIG_EXPR} -- ${opt_tool}
-- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
-- WORKING_DIRECTORY "${PB_BINARY_DIR}"
-- COMMENT "Building protobuf"
--)
--
--add_custom_target(build_protobuf
-- SOURCES "${build_stamp}"
--)
--
--set_target_properties(build_protobuf PROPERTIES FOLDER "Misc")
--
--add_dependencies(Protobuf::pb-full build_protobuf)
--add_dependencies(Protobuf::pb-lite build_protobuf)
--add_dependencies(Protobuf::protoc build_protobuf)
--
--# TODO: Handle lite/full version
--
--
-+find_package(Protobuf REQUIRED)
-
- # Standard PROTOBUF_GENERATE_CPP modified to our usage
-
-@@ -314,10 +77,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
- "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
- COMMAND ${CMAKE_COMMAND}
- -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-- COMMAND Protobuf::protoc
-+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
- ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- -I ${ABS_PATH} ${ABS_FIL}
-- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
-+ --proto_path=${Protobuf_INCLUDE_DIR}
-+ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
- COMMENT "Running C++ protocol buffer compiler on ${FIL}"
- VERBATIM
- )
---- a/cdk/core/CMakeLists.txt
-+++ b/cdk/core/CMakeLists.txt
-@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
-
- target_link_libraries(cdk
- PUBLIC cdk_mysqlx cdk_parser
-- PRIVATE Protobuf::pb-lite # required by codecc.cc
-+ PRIVATE protobuf # required by codecc.cc
- )
-
- add_coverage(cdk)
---- a/cdk/protocol/mysqlx/CMakeLists.txt
-+++ b/cdk/protocol/mysqlx/CMakeLists.txt
-@@ -127,11 +127,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
- ${CMAKE_CURRENT_BINARY_DIR}
- )
-
--if(use_full_protobuf)
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
--else()
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
--endif()
-+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
-
- target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation zlib lz4 zstd)
-
---- a/jdbc.cmake
-+++ b/jdbc.cmake
-@@ -66,7 +66,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
- list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
- endif()
-
--list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
-+list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
-
- if(CMAKE_BUILD_TYPE)
- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
---- a/jdbc/CMakeLists.txt
-+++ b/jdbc/CMakeLists.txt
-@@ -299,7 +299,7 @@ endif()
-
-
- install(TARGETS connector-jdbc
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch
deleted file mode 100644
index aadf006d25e6..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e734714..b79ff3a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -474,7 +474,7 @@ set_target_properties(connector PROPERTIES
-
-
- install(TARGETS connector
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
-diff --git a/cdk/cmake/DepFindProtobuf.cmake b/cdk/cmake/DepFindProtobuf.cmake
-index 414716c..165af4b 100644
---- a/cdk/cmake/DepFindProtobuf.cmake
-+++ b/cdk/cmake/DepFindProtobuf.cmake
-@@ -52,21 +52,7 @@ if(TARGET ext::protobuf)
- return()
- endif()
-
--message(STATUS "Setting up Protobuf.")
--
--# Setup extrnal project that builds protobuf from bundled sources
--
--add_ext(protobuf)
--
--# import targets from the external project
--# Note: The pb_ targets are created by protobuf/exports.cmake
--
--add_ext_targets(protobuf
-- pb-lite pb_libprotobuf-lite
-- pb-full pb_libprotobuf
-- protoc pb_protoc
--)
--
-+find_package(Protobuf REQUIRED)
-
- # Standard PROTOBUF_GENERATE_CPP modified to our usage
-
-@@ -95,7 +81,7 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
- "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
- COMMAND ${CMAKE_COMMAND}
- -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-- COMMAND ext::protoc
-+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
- ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- -I ${ABS_PATH} ${ABS_FIL}
- #--proto_path=${PROTOBUF_INCLUDE_DIR}
-diff --git a/cdk/core/CMakeLists.txt b/cdk/core/CMakeLists.txt
-index 10cae33..3907c9b 100644
---- a/cdk/core/CMakeLists.txt
-+++ b/cdk/core/CMakeLists.txt
-@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
-
- target_link_libraries(cdk
- PUBLIC cdk_mysqlx cdk_parser
-- PRIVATE ext::pb-lite # required by codecc.cc
-+ PRIVATE protobuf # required by codecc.cc
- )
-
- add_coverage(cdk)
-diff --git a/cdk/protocol/mysqlx/CMakeLists.txt b/cdk/protocol/mysqlx/CMakeLists.txt
-index a399401..b04ffa3 100644
---- a/cdk/protocol/mysqlx/CMakeLists.txt
-+++ b/cdk/protocol/mysqlx/CMakeLists.txt
-@@ -129,11 +129,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
- ${CMAKE_CURRENT_BINARY_DIR}
- )
-
--if(use_full_protobuf)
-- target_link_libraries(cdk_proto_mysqlx PRIVATE ext::pb-full)
--else()
-- target_link_libraries(cdk_proto_mysqlx PRIVATE ext::pb-lite)
--endif()
-+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
-
- target_link_libraries(cdk_proto_mysqlx
- PRIVATE cdk_foundation ext::zlib ext::lz4 ext::zstd
-diff --git a/jdbc/CMakeLists.txt b/jdbc/CMakeLists.txt
-index f4355ed..f24510b 100644
---- a/jdbc/CMakeLists.txt
-+++ b/jdbc/CMakeLists.txt
-@@ -299,7 +299,7 @@ endif()
-
-
- install(TARGETS connector-jdbc
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-mysqlclient_r.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-mysqlclient_r.patch
new file mode 100644
index 000000000000..d929601f037f
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-mysqlclient_r.patch
@@ -0,0 +1,24 @@
+--- a/jdbc/FindMySQL.cmake 2021-09-10 18:31:29.000000000 +0200
++++ b/jdbc/FindMySQL.cmake 2022-01-21 07:40:03.224705056 +0100
+@@ -282,8 +282,8 @@
+ # there, pick "libmysqlclient" that in 5.5 and up is multithreaded
+ # anyway (soft link "libmysqlclient_r" is not installed MySQL Server
+ # 5.6 and Debian/Ubuntu and might go in 5.7 for all installs)
+- set(_dynamic_libs "mysqlclient_r" "mysqlclient")
+- set(_static_libs "libmysqlclient_r.a" "libmysqlclient.a")
++ set(_dynamic_libs "mysqlclient")
++ set(_static_libs "libmysqlclient.a")
+ set(_static_lib_ext ".a")
+ endif()
+
+--- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp 2022-01-21 07:52:41.224586087 +0100
++++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp 2022-01-21 07:52:50.168631719 +0100
+@@ -49,7 +49,7 @@
+ #elif defined(__hpux) && defined(__hppa)
+ static const char * const baseName = "libmysqlclient_r.sl";
+ #else
+-static const char * const baseName = "libmysqlclient_r.so";
++static const char * const baseName = "libmysqlclient.so";
+ #endif
+
+ template<typename FunctionType>
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.33-jdbc.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.33-jdbc.patch
new file mode 100644
index 000000000000..9fe986bef0bc
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.33-jdbc.patch
@@ -0,0 +1,11 @@
+--- a/jdbc/driver/nativeapi/library_loader.h 2023-03-23 17:32:48.000000000 +0100
++++ b/jdbc/driver/nativeapi/library_loader.h 2023-10-17 16:54:37.270710451 +0200
+@@ -45,6 +45,8 @@
+
+ #include <map>
+
++#include "../mysql_util.h"
++
+ namespace sql
+ {
+ namespace mysql
diff --git a/dev-db/mysql-connector-c++/metadata.xml b/dev-db/mysql-connector-c++/metadata.xml
index 3eae39f02d11..bf1ec7ca65a3 100644
--- a/dev-db/mysql-connector-c++/metadata.xml
+++ b/dev-db/mysql-connector-c++/metadata.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<use>
- <flag name="gcov">Build coverage support</flag>
- <flag name="legacy">Build the legacy 1.x API as well as the DevX API</flag>
-</use>
-<maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
-</maintainer>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <use>
+ <flag name="legacy">Build the legacy 1.x API as well as the DevX API</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mysql/mysql-connector-cpp</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild
deleted file mode 100644
index a80ceec4db35..000000000000
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cmake-utils flag-o-matic
-
-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}.tar.gz"
-
-LICENSE="Artistic GPL-2"
-SLOT="0/7"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
-IUSE="debug examples gcov static-libs"
-
-DEPEND="dev-db/mysql-connector-c:=
- dev-libs/boost:=
- dev-libs/openssl:0=
- !<dev-db/mysql-connector-c-6.1.8"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.6-fix-cmake.patch"
- "${FILESDIR}/${PN}-1.1.11-fix-mariadb.patch"
-)
-
-src_configure() {
- # native lib/wrapper needs this!
- append-flags "-fno-strict-aliasing"
-
- local mycmakeargs=(
- -DMYSQLCPPCONN_BUILD_EXAMPLES=OFF
- -DMYSQLCPPCONN_ICU_ENABLE=OFF
- -DMYSQLCPPCONN_TRACE_ENABLE=$(usex debug ON OFF)
- -DMYSQLCPPCONN_GCOV_ENABLE=$(usex gcov ON OFF)
- -DINSTALL_DOCS="/usr/share/doc/${PF}"
- -DMYSQL_CXX_LINKAGE=0
- -DMYSQL_INCLUDE_DIR=$(mysql_config --variable=pkgincludedir)
- )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- # static lib has wrong name so we need to rename it
- if use static-libs; then
- mv "${ED}"/usr/$(get_libdir)/libmysqlcppconn-static.a \
- "${ED}"/usr/$(get_libdir)/libmysqlcppconn.a || die
- else
- rm -f "${ED}"/usr/$(get_libdir)/libmysqlcppconn-static.a
- fi
-
- # examples
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins "${S}"/examples/*
- fi
-}
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.31.ebuild
index e28d4154761c..8ee5fb48953d 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.31.ebuild
@@ -1,44 +1,58 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
+URI_DIR="Connector-C++"
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"
+S="${WORKDIR}/${P}-src"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
-KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
+KEYWORDS="amd64 arm ~arm64 -ppc ppc64 -sparc x86"
IUSE="+legacy"
RDEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/openssl:=
dev-libs/protobuf:=
+ sys-libs/zlib
legacy? (
dev-libs/boost:=
>=dev-db/mysql-connector-c-8.0.27:=
)
- dev-libs/openssl:0=
- "
+"
DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
PATCHES=(
- "${FILESDIR}"/${PN}-8.0.27-fix-build.patch
+ "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch
)
src_configure() {
local mycmakeargs=(
+ -DBUNDLE_DEPENDENCIES=OFF
+ -DWITH_PROTOBUF=system
+ -DWITH_LZ4=system
-DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
- $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
+ -DWITH_JDBC=$(usex legacy)
)
+ if use legacy ; then
+ mycmakeargs+=(
+ -DWITH_BOOST="${ESYSROOT}"/usr
+ -DMYSQLCLIENT_STATIC_BINDING=0
+ -DMYSQLCLIENT_STATIC_LINKING=0
+ )
+ fi
+
cmake_src_configure
}
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.25.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.32.ebuild
index af695b76938c..3e1cef8f1ae0 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.25.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.32.ebuild
@@ -1,46 +1,58 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
+URI_DIR="Connector-C++"
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"
+S="${WORKDIR}/${P}-src"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
-KEYWORDS="amd64 arm ~arm64 -ppc ~ppc64 -sparc x86"
+KEYWORDS="amd64 arm ~arm64 -ppc ppc64 -sparc x86"
IUSE="+legacy"
RDEPEND="
- dev-libs/protobuf:=
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/openssl:=
+ >=dev-libs/protobuf-3.19.6:=
+ sys-libs/zlib
legacy? (
dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:=
+ >=dev-db/mysql-connector-c-8.0.27:=
)
- dev-libs/openssl:0=
- "
+"
DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
PATCHES=(
- "${FILESDIR}"/${PN}-8.0.22-fix-build.patch
- "${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch
- "${FILESDIR}"/${PN}-8.0.25-fix-mysqlclient-static-binding.patch
+ "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch
)
src_configure() {
local mycmakeargs=(
+ -DBUNDLE_DEPENDENCIES=OFF
+ -DWITH_PROTOBUF=system
+ -DWITH_LZ4=system
-DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
- $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
+ -DWITH_JDBC=$(usex legacy)
)
+ if use legacy ; then
+ mycmakeargs+=(
+ -DWITH_BOOST="${ESYSROOT}"/usr
+ -DMYSQLCLIENT_STATIC_BINDING=0
+ -DMYSQLCLIENT_STATIC_LINKING=0
+ )
+ fi
+
cmake_src_configure
}
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild
index 4dbabcaa25f9..caa3194fb0eb 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild
@@ -1,45 +1,57 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
+URI_DIR="Connector-C++"
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"
+S="${WORKDIR}/${P}-src"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
-KEYWORDS="amd64 arm ~arm64 -ppc ~ppc64 -sparc x86"
+KEYWORDS="amd64 arm ~arm64 -ppc ppc64 -sparc x86"
IUSE="+legacy"
RDEPEND="
- dev-libs/protobuf:=
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/openssl:=
+ sys-libs/zlib
legacy? (
- dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:=
+ >=dev-db/mysql-connector-c-8.0.27:=
)
- dev-libs/openssl:0=
- "
+"
DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
PATCHES=(
- "${FILESDIR}"/${PN}-8.0.22-fix-build.patch
- "${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch
+ "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch
+ "${FILESDIR}"/${P}-jdbc.patch
)
src_configure() {
local mycmakeargs=(
+ -DBUNDLE_DEPENDENCIES=OFF
+ # Cannot handle protobuf >23, bug #912797
+ #-DWITH_PROTOBUF=system
+ -DWITH_LZ4=system
-DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
- $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
+ -DWITH_JDBC=$(usex legacy)
)
+ if use legacy ; then
+ mycmakeargs+=(
+ -DMYSQLCLIENT_STATIC_BINDING=0
+ -DMYSQLCLIENT_STATIC_LINKING=0
+ )
+ fi
+
cmake_src_configure
}
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.26.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33.ebuild
index 7947c1c52e8f..30dae737eb56 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.26.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33.ebuild
@@ -1,43 +1,44 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake
+URI_DIR="Connector-C++"
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"
+S="${WORKDIR}/${P}-src"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
-IUSE="+legacy"
RDEPEND="
- dev-libs/protobuf:=
- legacy? (
- dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:=
- )
- dev-libs/openssl:0=
- "
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/openssl:=
+ sys-libs/zlib
+"
DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
PATCHES=(
- "${FILESDIR}"/${PN}-8.0.26-fix-build.patch
+ "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch
)
src_configure() {
local mycmakeargs=(
+ -DBUNDLE_DEPENDENCIES=OFF
+ # Cannot handle protobuf >23, bug #912797
+ #-DWITH_PROTOBUF=system
+ -DWITH_LZ4=system
-DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
- $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
+ -DWITH_JDBC=OFF
)
cmake_src_configure
diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest
index c3a4a68bf2a4..bba4363fe6e8 100644
--- a/dev-db/mysql-connector-c/Manifest
+++ b/dev-db/mysql-connector-c/Manifest
@@ -1,5 +1 @@
-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-boost-8.0.25.tar.gz 290265324 BLAKE2B 5393a2a2525a886d9ece19777deae01e6c0b24b9ff5a0a5ffb9075740ed912d0df59a165b6ec9ceb60c7c28f3062cda5cceb4da3a8280f42549984c846f1ce5c SHA512 af653ccff66a9d87221b46ad4f7bcc629700549f758998b9a7fb22e4573b9495a28624e031f016f9ad8fe0dfcf481b82f1ffe224aa48c2d45531570026b26081
-DIST mysql-boost-8.0.26.tar.gz 291285918 BLAKE2B 6198ca8982a8c9df7e6ee4df5e2c1e0d64d2eb4d83cb7265317b58d55f6787c3240c8e40d196f2326ff3d66926ad7dab0705edd92e5a82881ce6ddb7f0c510b9 SHA512 63d47cb52407a816dc9f4330b99924624dfee46e57e7fdce19eff32909dd9e23251e2439d1807b002a1661b547173222c77465a3ca4dbb312414a84927809cfc
-DIST mysql-boost-8.0.27.tar.gz 292184025 BLAKE2B 177209f3c62b0326ca9d021c751a701dec84c1b15c946ab0a68b1b4cf0620468eb3a1df77a918284007a0fde1aaa6a9767d0baed57936612813ef583df51c35e SHA512 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891
+DIST mysql-boost-8.0.32.tar.gz 436207624 BLAKE2B 8a75fd6fe12d4f870622b3386118737b8f17d116df625ef6187647c870d456823543e0a1e9aa05fff53313c3872df1df23add2508ec735bb7972718fc1e90539 SHA512 937e0d0350cb583bb4de15b080f08ed92b253a6d7c09f13a028855dae154fc84f0c95fb082b818b2fa6fa792cd2d9db8d7dc7a20a2a0d3d2b6839fbd2c821b44
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.25-add-OpenSSL-3.0.0-support.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.25-add-OpenSSL-3.0.0-support.patch
deleted file mode 100644
index f566e0fba5b6..000000000000
--- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.25-add-OpenSSL-3.0.0-support.patch
+++ /dev/null
@@ -1,294 +0,0 @@
-From 3bf91fabf641f3f5114bf3893de40a31aae36e13 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Tue, 22 Jun 2021 23:56:54 +0200
-Subject: [PATCH 5/5] Add OpenSSL 3.0.0 support
-
-Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
----
- cmake/ssl.cmake | 59 +++++++++++++------
- mysys/my_md5.cc | 2 +
- .../bindings/xcom/xcom/xcom_ssl_transport.cc | 4 ++
- plugin/x/client/xconnection_impl.cc | 4 ++
- sql-common/client.cc | 2 +
- sql/mysqld.cc | 2 +
- sql/sys_vars.cc | 18 +++++-
- vio/viosslfactories.cc | 2 +
- 8 files changed, 74 insertions(+), 19 deletions(-)
-
-diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
-index 18c95dfac..dd2f7e657 100644
---- a/cmake/ssl.cmake
-+++ b/cmake/ssl.cmake
-@@ -201,34 +201,59 @@ MACRO (MYSQL_CHECK_SSL)
- NAMES crypto libcrypto libeay32
- HINTS ${OPENSSL_ROOT_DIR}/lib)
-
-- IF(OPENSSL_INCLUDE_DIR)
-+ IF(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
- # Verify version number. Version information looks like:
- # #define OPENSSL_VERSION_NUMBER 0x1000103fL
- # Encoded as MNNFFPPS: major minor fix patch status
- FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
- OPENSSL_VERSION_NUMBER
-- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
-- )
-- STRING(REGEX REPLACE
-- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
-- OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-- )
-- STRING(REGEX REPLACE
-- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
-- OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-- )
-- STRING(REGEX REPLACE
-- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
-- OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
- )
-+
-+ IF(OPENSSL_VERSION_NUMBER)
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
-+ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
-+ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
-+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ )
-+ ELSE()
-+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
-+ OPENSSL_VERSION_STR
-+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\\.([0-9])+\\.([0-9])+\".*"
-+ )
-+
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+)\\.[0-9]+\\.[0-9]+\".*$" "\\1"
-+ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_STR}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_STR[\t ]+\"[0-9]+\\.([0-9]+)\\.[0-9]+\".*$" "\\1"
-+ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_STR}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_STR[\t ]+\"[0-9]+\\.[0-9]+\\.([0-9]+)\".*$" "\\1"
-+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_STR}"
-+ )
-+ ENDIF()
- ENDIF()
-- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
-+
-+ INCLUDE(CheckSymbolExists)
-+
-+ 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
-@@ -292,8 +317,6 @@ MACRO (MYSQL_CHECK_SSL)
- MESSAGE(STATUS "OPENSSL_MINOR_VERSION = ${OPENSSL_MINOR_VERSION}")
- MESSAGE(STATUS "OPENSSL_FIX_VERSION = ${OPENSSL_FIX_VERSION}")
-
-- INCLUDE(CheckSymbolExists)
--
- CMAKE_PUSH_CHECK_STATE()
- SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
- CHECK_SYMBOL_EXISTS(SHA512_DIGEST_LENGTH "openssl/sha.h"
-diff --git a/mysys/my_md5.cc b/mysys/my_md5.cc
-index 86203619f..37ed3c8b2 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;
-+#if defined(OPENSSL_FIPS)
- 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 4ed9f9ac9..895443166 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;
- }
-
-+#if defined(OPENSSL_FIPS)
- #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;
-
-+#if defined(OPENSSL_FIPS)
- 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();
-diff --git a/plugin/x/client/xconnection_impl.cc b/plugin/x/client/xconnection_impl.cc
-index c1686c6d5..3ae34fdfd 100644
---- a/plugin/x/client/xconnection_impl.cc
-+++ b/plugin/x/client/xconnection_impl.cc
-@@ -617,6 +617,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
- return XError(CR_SSL_CONNECTION_ERROR, buffer);
- }
-
-+#if defined(OPENSSL_FIPS)
- /**
- Set fips mode in openssl library,
- When we set fips mode ON/STRICT, it will perform following operations:
-@@ -656,6 +657,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);
-@@ -666,12 +668,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};
-
-+#if defined(OPENSSL_FIPS)
- 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/sql-common/client.cc b/sql-common/client.cc
-index 1316d54a7..554970378 100644
---- a/sql-common/client.cc
-+++ b/sql-common/client.cc
-@@ -8019,6 +8019,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
- return 1;
- break;
- case MYSQL_OPT_SSL_FIPS_MODE: {
-+#if defined(OPENSSL_FIPS)
- char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
- ENSURE_EXTENSIONS_PRESENT(&mysql->options);
- mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
-@@ -8030,6 +8031,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 83643f76a..dfdc23ab7 100644
---- a/sql/mysqld.cc
-+++ b/sql/mysqld.cc
-@@ -5134,12 +5134,14 @@ static void init_ssl() {
- }
-
- static int init_ssl_communication() {
-+#if defined(OPENSSL_FIPS)
- 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 3b8473bd1..c22c38305 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));
-
-+#if defined(OPENSSL_FIPS)
- 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,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
- return false;
- }
- }
-+#endif
-
-+#if defined(OPENSSL_FIPS)
- static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
-+#else
-+static const char *ssl_fips_mode_names[] = {"OFF", 0};
-+#endif
- static Sys_var_enum Sys_ssl_fips_mode(
- "ssl_fips_mode",
- "SSL FIPS mode (applies only for OpenSSL); "
-+#if defined(OPENSSL_FIPS)
- "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),
-+#if defined(OPENSSL_FIPS)
-+ 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/viosslfactories.cc b/vio/viosslfactories.cc
-index c25117bd0..11b466bcf 100644
---- a/vio/viosslfactories.cc
-+++ b/vio/viosslfactories.cc
-@@ -472,6 +472,7 @@ void ssl_start() {
- }
- }
-
-+#if defined(OPENSSL_FIPS)
- /**
- 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.32.0
-
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch
deleted file mode 100644
index da1907db4633..000000000000
--- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch
+++ /dev/null
@@ -1,313 +0,0 @@
-From d5bedd07c111676695270cdf35d23f9026a78113 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Tue, 22 Jun 2021 23:56:54 +0200
-Subject: [PATCH 6/6] Add OpenSSL 3.0.0 support
-
-Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
----
- cmake/ssl.cmake | 59 +++++++++++++------
- mysys/my_md5.cc | 2 +
- .../xcom_network_provider_ssl_native_lib.cc | 4 ++
- plugin/x/client/xconnection_impl.cc | 4 ++
- sql-common/client.cc | 2 +
- sql/mysqld.cc | 2 +
- sql/sys_vars.cc | 18 +++++-
- vio/viosslfactories.cc | 6 ++
- 8 files changed, 78 insertions(+), 19 deletions(-)
-
-diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
-index 293281cf1..4732d8bf4 100644
---- a/cmake/ssl.cmake
-+++ b/cmake/ssl.cmake
-@@ -205,34 +205,59 @@ MACRO (MYSQL_CHECK_SSL)
- NAMES crypto libcrypto libeay32
- HINTS ${OPENSSL_ROOT_DIR}/lib)
-
-- IF(OPENSSL_INCLUDE_DIR)
-+ IF(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
- # Verify version number. Version information looks like:
- # #define OPENSSL_VERSION_NUMBER 0x1000103fL
- # Encoded as MNNFFPPS: major minor fix patch status
- FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
- OPENSSL_VERSION_NUMBER
-- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
-- )
-- STRING(REGEX REPLACE
-- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
-- OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-- )
-- STRING(REGEX REPLACE
-- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
-- OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-- )
-- STRING(REGEX REPLACE
-- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
-- OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
- )
-+
-+ IF(OPENSSL_VERSION_NUMBER)
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
-+ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
-+ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
-+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
-+ )
-+ ELSE()
-+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
-+ OPENSSL_VERSION_STR
-+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\\.([0-9])+\\.([0-9])+\".*"
-+ )
-+
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+)\\.[0-9]+\\.[0-9]+\".*$" "\\1"
-+ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_STR}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_STR[\t ]+\"[0-9]+\\.([0-9]+)\\.[0-9]+\".*$" "\\1"
-+ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_STR}"
-+ )
-+ STRING(REGEX REPLACE
-+ "^.*OPENSSL_VERSION_STR[\t ]+\"[0-9]+\\.[0-9]+\\.([0-9]+)\".*$" "\\1"
-+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_STR}"
-+ )
-+ ENDIF()
- ENDIF()
-- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
-+
-+ INCLUDE(CheckSymbolExists)
-+
-+ 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
-@@ -296,8 +321,6 @@ MACRO (MYSQL_CHECK_SSL)
- MESSAGE(STATUS "OPENSSL_MINOR_VERSION = ${OPENSSL_MINOR_VERSION}")
- MESSAGE(STATUS "OPENSSL_FIX_VERSION = ${OPENSSL_FIX_VERSION}")
-
-- INCLUDE(CheckSymbolExists)
--
- CMAKE_PUSH_CHECK_STATE()
- SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
- CHECK_SYMBOL_EXISTS(SHA512_DIGEST_LENGTH "openssl/sha.h"
-diff --git a/mysys/my_md5.cc b/mysys/my_md5.cc
-index 86203619f..37ed3c8b2 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;
-+#if defined(OPENSSL_FIPS)
- 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/network/xcom_network_provider_ssl_native_lib.cc b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc
-index 8d4af3c04..de67c9e7c 100644
---- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc
-+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc
-@@ -316,6 +316,7 @@ error:
- return 1;
- }
-
-+#if defined(OPENSSL_FIPS)
- #define OPENSSL_ERROR_LENGTH 512
- static int configure_ssl_fips_mode(const int fips_mode) {
- int rc = -1;
-@@ -339,6 +340,7 @@ static int configure_ssl_fips_mode(const int fips_mode) {
- EXIT:
- return rc;
- }
-+#endif
-
- static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
- const char *ca_path) {
-@@ -478,12 +480,14 @@ int Xcom_network_provider_ssl_library::xcom_init_ssl(
- int verify_server = SSL_VERIFY_NONE;
- int verify_client = SSL_VERIFY_NONE;
-
-+#if defined(OPENSSL_FIPS)
- if (configure_ssl_fips_mode(
- Network_provider_manager::getInstance().xcom_get_ssl_fips_mode()) !=
- 1) {
- G_ERROR("Error setting the ssl fips mode");
- goto error;
- }
-+#endif
-
- SSL_library_init();
- SSL_load_error_strings();
-diff --git a/plugin/x/client/xconnection_impl.cc b/plugin/x/client/xconnection_impl.cc
-index aaf37a1b3..753944889 100644
---- a/plugin/x/client/xconnection_impl.cc
-+++ b/plugin/x/client/xconnection_impl.cc
-@@ -617,6 +617,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
- return XError(CR_SSL_CONNECTION_ERROR, buffer);
- }
-
-+#if defined(OPENSSL_FIPS)
- /**
- Set fips mode in openssl library,
- When we set fips mode ON/STRICT, it will perform following operations:
-@@ -656,6 +657,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);
-@@ -666,12 +668,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};
-
-+#if defined(OPENSSL_FIPS)
- 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/sql-common/client.cc b/sql-common/client.cc
-index 5de2a1fb9..102e663d9 100644
---- a/sql-common/client.cc
-+++ b/sql-common/client.cc
-@@ -8286,6 +8286,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
- return 1;
- break;
- case MYSQL_OPT_SSL_FIPS_MODE: {
-+#if defined(OPENSSL_FIPS)
- char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
- ENSURE_EXTENSIONS_PRESENT(&mysql->options);
- mysql->options.extension->ssl_fips_mode =
-@@ -8298,6 +8299,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 8105d4b73..b580f1c4d 100644
---- a/sql/mysqld.cc
-+++ b/sql/mysqld.cc
-@@ -5292,12 +5292,14 @@ static void init_ssl() {
- }
-
- static int init_ssl_communication() {
-+#if defined(OPENSSL_FIPS)
- 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 4592e4bbb..320f458fd 100644
---- a/sql/sys_vars.cc
-+++ b/sql/sys_vars.cc
-@@ -4799,6 +4799,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));
-
-+#if defined(OPENSSL_FIPS)
- 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) {
-@@ -4809,15 +4810,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
- return false;
- }
- }
-+#endif
-
-+#if defined(OPENSSL_FIPS)
- static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
-+#else
-+static const char *ssl_fips_mode_names[] = {"OFF", 0};
-+#endif
- static Sys_var_enum Sys_ssl_fips_mode(
- "ssl_fips_mode",
- "SSL FIPS mode (applies only for OpenSSL); "
-+#if defined(OPENSSL_FIPS)
- "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),
-+#if defined(OPENSSL_FIPS)
-+ 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/viosslfactories.cc b/vio/viosslfactories.cc
-index 618be1511..672fc74ca 100644
---- a/vio/viosslfactories.cc
-+++ b/vio/viosslfactories.cc
-@@ -472,6 +472,7 @@ void ssl_start() {
- }
- }
-
-+#if defined(OPENSSL_FIPS)
- /**
- 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
-
- /**
- Toggle FIPS mode, to see whether it is available with the current SSL library.
-@@ -532,12 +534,16 @@ uint get_fips_mode() { return FIPS_mode(); }
- @retval non-zero: FIPS is supported.
- */
- int test_ssl_fips_mode(char *err_string) {
-+#if defined(OPENSSL_FIPS)
- int ret = FIPS_mode_set(FIPS_mode() == 0 ? 1 : 0);
- unsigned long err = (ret == 0) ? ERR_get_error() : 0;
-
- if (err != 0) {
- ERR_error_string_n(err, err_string, OPENSSL_ERROR_LENGTH - 1);
- }
-+#else
-+ int ret = 0;
-+#endif
- return ret;
- }
-
---
-2.34.0
-
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch
new file mode 100644
index 000000000000..34961b8ad9e2
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch
@@ -0,0 +1,49 @@
+# Musl doesn't have res_n* functions so we are falling back to the not
+# thread safe ones. Patch made with help from developer Fabian Groffen
+# <grobian@gentoo.org>.
+#
+# Closes: https://bugs.gentoo.org/761352
+# See also: https://github.com/mysql/mysql-server/pull/385
+# See also: https://bugs.mysql.com/bug.php?id=106034
+--- a/libmysql/CMakeLists.txt
++++ b/libmysql/CMakeLists.txt
+@@ -423,6 +423,19 @@ IF(HAS_WARN_FLAG)
+ )
+ ENDIF()
+
++check_symbol_exists(res_ninit "resolv.h" HAVE_RES_NINIT_FUNCTION)
++check_symbol_exists(res_nsearch "resolv.h" HAVE_RES_NSEARCH_FUNCTION)
++check_symbol_exists(res_nclose "resolv.h" HAVE_RES_NCLOSE_FUNCTION)
++IF (HAVE_RES_NINIT_FUNCTION)
++ add_compile_definitions(HAVE_RES_NINIT)
++ENDIF(HAVE_RES_NINIT_FUNCTION)
++IF (HAVE_RES_NSEARCH_FUNCTION)
++ add_compile_definitions(HAVE_RES_NSEARCH)
++ENDIF(HAVE_RES_NSEARCH_FUNCTION)
++IF (HAVE_RES_NCLOSE_FUNCTION)
++ add_compile_definitions(HAVE_RES_NCLOSE)
++ENDIF(HAVE_RES_NCLOSE_FUNCTION)
++
+ # Verify that libmysql_api_test runs OK
+ ADD_CUSTOM_COMMAND(TARGET libmysql_api_test POST_BUILD
+ COMMAND libmysql_api_test
+--- a/libmysql/dns_srv.cc
++++ b/libmysql/dns_srv.cc
+@@ -37,6 +37,17 @@
+ #include <netdb.h>
+ #include <resolv.h>
+
++/* we don't have anything else but the non-thread-safe variants */
++#if !defined(HAVE_RES_NINIT)
++#define res_ninit(X) (void)X
++#endif
++#if !defined(HAVE_RES_NSEARCH)
++#define res_nsearch(X,D,I,S,B,L) res_search(D,I,S,B,L)
++#endif
++#if !defined(HAVE_RES_NCLOSE)
++#define res_nclose(X) (void)X
++#endif
++
+ // POSIX version
+
+ static bool get_dns_srv(Dns_srv_data &data, const char *dnsname, int &error) {
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.32-musl.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.32-musl.patch
new file mode 100644
index 000000000000..252c5eeda32e
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.32-musl.patch
@@ -0,0 +1,25 @@
+https://github.com/mysql/mysql-server/pull/454
+
+From c875f049cb3571da1b9b5bcae50caccc5ee47cfb Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Fri, 7 Apr 2023 12:47:51 -0700
+Subject: [PATCH] sql/memory: Fix the musl build
+
+_SC_LEVEL1_DCACHE_LINESIZE is not specific to linux, but to glibc.
+---
+ sql/memory/aligned_atomic.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sql/memory/aligned_atomic.h b/sql/memory/aligned_atomic.h
+index d13d45b9deea..bd19c0cf4d6f 100644
+--- a/sql/memory/aligned_atomic.h
++++ b/sql/memory/aligned_atomic.h
+@@ -76,7 +76,7 @@ static inline size_t _cache_line_size() {
+ return line_size;
+ }
+
+-#elif defined(__linux__)
++#elif defined(__GLIBC__)
+ static inline size_t _cache_line_size() {
+ long size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
+ if (size == -1) return 64;
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.22.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.22.ebuild
deleted file mode 100644
index 0cd2c65693f6..000000000000
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.22.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# 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 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}] )
- 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
-)
-
-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-connector-c/mysql-connector-c-8.0.23-r1.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.23-r1.ebuild
deleted file mode 100644
index d90ed6a38415..000000000000
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.23-r1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-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/"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/mysql/mysql-server.git"
-
- inherit git-r3
-else
- SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86"
-
- S="${WORKDIR}/mysql-${PV}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0/21"
-IUSE="ldap 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}] )
- 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 )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.22-always-build-decompress-utilities.patch
- "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
-)
-
-src_prepare() {
- sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "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_src_prepare
-}
-
-multilib_src_configure() {
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- local mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -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_src_configure
-}
-
-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-connector-c/mysql-connector-c-8.0.25-r1.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.25-r1.ebuild
deleted file mode 100644
index fa385e807a46..000000000000
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.25-r1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib flag-o-matic
-
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://dev.mysql.com/downloads/"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/mysql/mysql-server.git"
-
- inherit git-r3
-else
- SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
- S="${WORKDIR}/mysql-${PV}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0/21"
-IUSE="ldap 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}] )
- 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 )
-
-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.25-add-OpenSSL-3.0.0-support.patch
-)
-
-src_prepare() {
- sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "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_src_prepare
-}
-
-multilib_src_configure() {
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- local mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -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_src_configure
-}
-
-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-connector-c/mysql-connector-c-8.0.25.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.25.ebuild
deleted file mode 100644
index a8126e853fd8..000000000000
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.25.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib flag-o-matic
-
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://dev.mysql.com/downloads/"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/mysql/mysql-server.git"
-
- inherit git-r3
-else
- SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
-
- S="${WORKDIR}/mysql-${PV}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0/21"
-IUSE="ldap 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}] )
- 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 )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.22-always-build-decompress-utilities.patch
- "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
-)
-
-src_prepare() {
- sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "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_src_prepare
-}
-
-multilib_src_configure() {
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- local mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -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_src_configure
-}
-
-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-connector-c/mysql-connector-c-8.0.26.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.26.ebuild
deleted file mode 100644
index fa385e807a46..000000000000
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.26.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib flag-o-matic
-
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://dev.mysql.com/downloads/"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/mysql/mysql-server.git"
-
- inherit git-r3
-else
- SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
- S="${WORKDIR}/mysql-${PV}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0/21"
-IUSE="ldap 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}] )
- 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 )
-
-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.25-add-OpenSSL-3.0.0-support.patch
-)
-
-src_prepare() {
- sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "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_src_prepare
-}
-
-multilib_src_configure() {
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- local mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -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_src_configure
-}
-
-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-connector-c/mysql-connector-c-8.0.27.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild
index d15743a0a393..7e872e2d3d73 100644
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.27.ebuild
+++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild
@@ -1,14 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
inherit cmake-multilib flag-o-matic
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
DESCRIPTION="C client library for MariaDB/MySQL"
HOMEPAGE="https://dev.mysql.com/downloads/"
@@ -18,7 +14,7 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
else
SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
S="${WORKDIR}/mysql-${PV}"
fi
@@ -28,29 +24,34 @@ SLOT="0/21"
IUSE="ldap static-libs"
RDEPEND="
- >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}]
+ >=app-arch/lz4-1.9.4:=[${MULTILIB_USEDEP}]
app-arch/zstd:=[${MULTILIB_USEDEP}]
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ dev-libs/openssl:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.13:=[${MULTILIB_USEDEP}]
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
- 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"
+RDEPEND+="
+ !<dev-db/mysql-5.6.45-r1
+ !=dev-db/mysql-5.7.23*
+ !=dev-db/mysql-5.7.24*
+ !=dev-db/mysql-5.7.25*
+ !=dev-db/mysql-5.7.26-r0
+ !=dev-db/mysql-5.7.27-r0
+ !<dev-db/percona-server-5.7.26.29-r1
+"
DOCS=( README )
+# Wrap the config script
+MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+
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.27-add-OpenSSL-3.0.0-support.patch
+ "${FILESDIR}"/${PN}-8.0.27-res_n.patch
+ "${FILESDIR}"/${PN}-8.0.32-musl.patch
)
src_prepare() {
@@ -83,8 +84,6 @@ src_prepare() {
}
multilib_src_configure() {
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
# Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
append-cxxflags -std=c++17
@@ -96,6 +95,8 @@ multilib_src_configure() {
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
-DENABLED_LOCAL_INFILE=ON
-DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
+ # Automagically uses LLD with not using LTO (bug #710272, #775845)
+ -DUSE_LD_LLD=OFF
-DWITH_LZ4=system
-DWITH_NUMA=OFF
-DWITH_SSL=system
@@ -105,12 +106,16 @@ multilib_src_configure() {
-DSHARED_LIB_PATCH_VERSION="0"
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DWITHOUT_SERVER=ON
+ -DWITH_BUILD_ID=OFF
)
cmake_src_configure
}
multilib_src_install_all() {
+ # Not a GNU info file, more like a tiny README.
+ rm "${ED}"/usr/share/info/mysql.info || die
+
doman \
man/my_print_defaults.1 \
man/perror.1 \
diff --git a/dev-db/mysql-init-scripts/files/conf.d-2.0 b/dev-db/mysql-init-scripts/files/conf.d-2.0
index cecb9a940f14..843b6fe93095 100644
--- a/dev-db/mysql-init-scripts/files/conf.d-2.0
+++ b/dev-db/mysql-init-scripts/files/conf.d-2.0
@@ -63,7 +63,7 @@ STOP_TIMEOUT=120
# Or from NFS? P.S. This is not a good idea in most cases, but does have some
# valid usage cases, so we provide the option.
-#rc_need="nfsmount"
+#rc_need="nfsclient"
# Should any one of the instances satisfy the requirement for MySQL coming up?
# By default, we say no.
diff --git a/dev-db/mysql-init-scripts/files/init.d-2.3 b/dev-db/mysql-init-scripts/files/init.d-2.3
index f587e26f7322..1216ac9a67c3 100644
--- a/dev-db/mysql-init-scripts/files/init.d-2.3
+++ b/dev-db/mysql-init-scripts/files/init.d-2.3
@@ -1,12 +1,12 @@
#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
extra_commands="checkconfig"
extra_stopped_commands="bootstrap_galera"
description_checkconfig="Verify the server's configuration"
-description_boostrap_galera="Start a new Galera cluster with this server as the initial node"
+description_bootstrap_galera="Start a new Galera cluster with this server as the initial node"
depend() {
use net.lo
@@ -47,7 +47,7 @@ bootstrap_galera() {
start() {
# Check for old conf.d variables that mean migration was not yet done.
- set | egrep -sq '^(mysql_slot_|MYSQL_BLOG_PID_FILE|STOPTIMEOUT)'
+ set | grep -Esq '^(mysql_slot_|MYSQL_BLOG_PID_FILE|STOPTIMEOUT)'
rc=$?
# Yes, MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING is a hidden variable.
# It does have a use in testing, as it is possible to build a config file
diff --git a/dev-db/mysql-init-scripts/files/init.d-s6-2.3 b/dev-db/mysql-init-scripts/files/init.d-s6-2.3
index 5bf62e3ef937..4222de898125 100644
--- a/dev-db/mysql-init-scripts/files/init.d-s6-2.3
+++ b/dev-db/mysql-init-scripts/files/init.d-s6-2.3
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
depend() {
@@ -41,7 +41,7 @@ extra_commands="checkconfig"
extra_stopped_commands="bootstrap_galera"
description_checkconfig="Verify the server's configuration"
-description_boostrap_galera="Start a new Galera cluster with this server as the initial node"
+description_bootstrap_galera="Start a new Galera cluster with this server as the initial node"
supervisor=s6
name=$(mysql_svcname)
s6_service_timeout_stop="$((1000*${STOP_TIMEOUT:-120}))"
diff --git a/dev-db/mysql-init-scripts/files/init.d-supervise-2.3 b/dev-db/mysql-init-scripts/files/init.d-supervise-2.3
index d0cbb312ccac..fa7cba8d45c4 100644
--- a/dev-db/mysql-init-scripts/files/init.d-supervise-2.3
+++ b/dev-db/mysql-init-scripts/files/init.d-supervise-2.3
@@ -1,12 +1,12 @@
#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
extra_commands="checkconfig"
-extra_stopped_commands="boostrap_galera"
+extra_stopped_commands="bootstrap_galera"
description_checkconfig="Verify the server's configuration"
-description_boostrap_galera="Start a new Galera cluster with this server as the initial node"
+description_bootstrap_galera="Start a new Galera cluster with this server as the initial node"
depend() {
use net.lo
@@ -44,7 +44,7 @@ bootstrap_galera() {
start() {
# Check for old conf.d variables that mean migration was not yet done.
- set | egrep -sq '^(mysql_slot_|MYSQL_BLOG_PID_FILE|STOPTIMEOUT)'
+ set | grep -Esq '^(mysql_slot_|MYSQL_BLOG_PID_FILE|STOPTIMEOUT)'
rc=$?
# Yes, MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING is a hidden variable.
# It does have a use in testing, as it is possible to build a config file
diff --git a/dev-db/mysql-init-scripts/files/mysql.conf b/dev-db/mysql-init-scripts/files/mysql.conf
deleted file mode 100644
index 74cd5f836e76..000000000000
--- a/dev-db/mysql-init-scripts/files/mysql.conf
+++ /dev/null
@@ -1 +0,0 @@
-d /var/run/mysqld 0755 mysql mysql -
diff --git a/dev-db/mysql-init-scripts/files/mysql.conf-r1 b/dev-db/mysql-init-scripts/files/mysql.conf-r1
new file mode 100644
index 000000000000..6883dc798881
--- /dev/null
+++ b/dev-db/mysql-init-scripts/files/mysql.conf-r1
@@ -0,0 +1 @@
+d /run/mysqld 0755 mysql mysql -
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r3.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r8.ebuild
index 17ede9b10e24..ce3110eecafa 100644
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r3.ebuild
+++ b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r8.ebuild
@@ -1,20 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit systemd s6 tmpfiles
-DESCRIPTION="Gentoo MySQL init scripts."
+DESCRIPTION="Gentoo MySQL init scripts"
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI=""
+# Need to set S due to PMS saying we need it existing, but no SRC_URI
+S=${WORKDIR}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE=""
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-DEPEND=""
# This _will_ break with MySQL 5.0, 4.x, 3.x
# It also NEEDS openrc for the save_options/get_options builtins.
# The s6 support was added after openrc 0.16.2
@@ -26,45 +25,42 @@ RDEPEND="
!prefix? (
acct-group/mysql acct-user/mysql
)
- "
-# Need to set S due to PMS saying we need it existing, but no SRC_URI
-S=${WORKDIR}
+"
src_install() {
- newconfd "${FILESDIR}/conf.d-2.0" "mysql"
+ newconfd "${FILESDIR}"/conf.d-2.0 mysql
# s6 init scripts
if use amd64 || use x86 ; then
- newconfd "${FILESDIR}/conf.d-2.0" "mysql-s6"
- newinitd "${FILESDIR}/init.d-s6-2.3" "mysql-s6"
- s6_install_service mysql "${FILESDIR}/run-s6"
- s6_install_service mysql/log "${FILESDIR}/log-s6"
+ newconfd "${FILESDIR}"/conf.d-2.0 mysql-s6
+ newinitd "${FILESDIR}"/init.d-s6-2.3 mysql-s6
+ s6_install_service mysql "${FILESDIR}"/run-s6
+ s6_install_service mysql/log "${FILESDIR}"/log-s6
fi
- newinitd "${FILESDIR}/init.d-2.3" "mysql"
- newinitd "${FILESDIR}/init.d-supervise-2.3" "mysql-supervise"
+ newinitd "${FILESDIR}"/init.d-2.3 mysql
+ newinitd "${FILESDIR}"/init.d-supervise-2.3 mysql-supervise
# systemd unit installation
exeinto /usr/libexec
doexe "${FILESDIR}"/mysqld-wait-ready
- systemd_newunit "${FILESDIR}/mysqld-v2.service" "mysqld.service"
- systemd_newunit "${FILESDIR}/mysqld_at-v2.service" "mysqld@.service"
- dotmpfiles "${FILESDIR}/mysql.conf"
+ systemd_newunit "${FILESDIR}"/mysqld-v2.service mysqld.service
+ systemd_newunit "${FILESDIR}"/mysqld_at-v2.service mysqld@.service
+ newtmpfiles "${FILESDIR}"/mysql.conf-r1 mysql.conf
insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate.mysql-2.3" "mysql"
+ newins "${FILESDIR}"/logrotate.mysql-2.3 mysql
}
pkg_postinst() {
tmpfiles_process mysql.conf
+
if use amd64 || use x86 ; then
- elog ""
elog "To use the mysql-s6 script, you need to install the optional sys-apps/s6 package."
elog "If you wish to use s6 logging support, comment out the log-error setting in your my.cnf"
+ elog
fi
- elog ""
elog "Starting with version 10.1.8, MariaDB includes an improved systemd unit named mariadb.service"
elog "You should prefer that unit over this package's mysqld.service."
- einfo ""
}
diff --git a/dev-db/mysql-super-smack/Manifest b/dev-db/mysql-super-smack/Manifest
deleted file mode 100644
index 04d531521671..000000000000
--- a/dev-db/mysql-super-smack/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST super-smack-1.3.tar.gz 155375 BLAKE2B aabcd6ab6c7da0e847c734bd57b7228a0c37f41aac789e63a8285b5a0fb43360101728ff6a2dc84b63cf9c0b5361770aa909382f9e2f50abdc2ea1e8407f835b SHA512 5343fa78bdf483c1019c9e25d1fdb15581342d49b863a536eb1cf8c38bde5641fdf135fe5a8ec87f74051fd9766b2f5e4f09f963afe2eb1cd7ea41edfa260920
diff --git a/dev-db/mysql-super-smack/files/mysql-super-smack-1.2.destdir.patch b/dev-db/mysql-super-smack/files/mysql-super-smack-1.2.destdir.patch
deleted file mode 100644
index 02399905a11e..000000000000
--- a/dev-db/mysql-super-smack/files/mysql-super-smack-1.2.destdir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- super-smack-1.2/Makefile.am.orig 2004-02-23 19:57:22.000000000 -0800
-+++ super-smack-1.2/Makefile.am 2004-02-23 19:57:40.000000000 -0800
-@@ -23,8 +23,8 @@
- DATADIR= @DATADIR@
-
- install-data-local:
-- $(mkinstalldirs) $(SMACKS_DIR) $(DATADIR)
-- cp -rp $(srcdir)/smacks/* $(SMACKS_DIR)
-+ $(mkinstalldirs) $(DESTDIR)$(SMACKS_DIR) $(DESTDIR)$(DATADIR)
-+ cp -rp $(srcdir)/smacks/* $(DESTDIR)$(SMACKS_DIR)
-
-
- dist-hook:
diff --git a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-automake-1.13.patch b/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-automake-1.13.patch
deleted file mode 100644
index 6cf69580b887..000000000000
--- a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-automake-1.13.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-diff -aurwN a/configure.ac b/configure.ac
---- a/configure.ac 2014-06-20 14:43:52.744753334 -0400
-+++ b/configure.ac 2014-06-20 14:59:51.263609319 -0400
-@@ -16,9 +16,9 @@
-
- # Process this file with autoconf to produce a configure script.
-
--AC_INIT()
-+AC_INIT([super-smack], [1.1])
- AM_CONFIG_HEADER(config.h)
--AM_INIT_AUTOMAKE(super-smack, 1.1)
-+AM_INIT_AUTOMAKE
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-
- # Checks for programs.
-@@ -31,6 +31,14 @@
- AM_PROG_LEX
- AC_PROG_YACC
-
-+AH_TEMPLATE([HAVE_CRYPT], [Define if we have a crypt()])
-+AH_TEMPLATE([HAVE_MYSQL], [MySQL Support])
-+AH_TEMPLATE([HAVE_ORACLE], [PostgreSQL Support])
-+AH_TEMPLATE([HAVE_PGSQL], [Oracle Support])
-+AH_TEMPLATE([SMACK_DATADIR], [Sample .smack data files])
-+
-+AC_CONFIG_MACRO_DIRS([m4])
-+
- # get super-smack datadir
- AC_ARG_WITH(datadir,
- [ --with-datadir=DIR Specify default smack datadir],
-diff -aurwN a/m4/crypt.m4 b/m4/crypt.m4
---- a/m4/crypt.m4 1969-12-31 19:00:00.000000000 -0500
-+++ b/m4/crypt.m4 2014-06-20 15:06:42.289976907 -0400
-@@ -0,0 +1,5 @@
-+AC_DEFUN([AC_FUNC_CRYPT], [
-+ AC_CHECK_LIB(crypt, crypt)
-+ AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_CRYPT))
-+])
-+
-diff -aruwN a/m4/lex.m4 b/m4/lex.m4
---- a/m4/lex.m4 1969-12-31 19:00:00.000000000 -0500
-+++ b/m4/lex.m4 2014-06-20 16:51:23.548854098 -0400
-@@ -0,0 +1,6 @@
-+AC_DEFUN([AM_PROG_LEX],
-+[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
-+AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
-+AC_PROG_LEX
-+AC_DECL_YYTEXT])
-+
-diff -aurwN a/m4/libz.m4 b/m4/libz.m4
---- a/m4/libz.m4 1969-12-31 19:00:00.000000000 -0500
-+++ b/m4/libz.m4 2014-06-20 15:06:24.260569878 -0400
-@@ -0,0 +1,4 @@
-+AC_DEFUN([AC_LIB_Z], [
-+ AC_CHECK_LIB(z, compress)
-+])
-+
-diff -aurwN a/m4/mysql.m4 b/m4/mysql.m4
---- a/m4/mysql.m4 1969-12-31 19:00:00.000000000 -0500
-+++ b/m4/mysql.m4 2014-06-20 15:10:48.291892456 -0400
-@@ -0,0 +1,76 @@
-+#serial 1
-+AC_DEFUN([AC_LIB_MYSQL], [
-+ AC_ARG_WITH(mysql-lib,
-+ [ --with-mysql-lib=DIR Look for MySQL client library in DIR],
-+ mysql_lib=$withval, mysql_lib="")
-+
-+ if test "x$want_mysql" = "xyes"
-+ then
-+ AC_MSG_CHECKING([for libmysqlclient])
-+ AC_MSG_RESULT()
-+
-+ mysql_ok=no
-+
-+ SAVE_LIBS=$LIBS
-+
-+ mysql_lib="$mysql_lib /usr/lib /usr/lib/mysql \
-+ /usr/local/lib /usr/local/lib/mysql \
-+ /usr/local/mysql/lib"
-+
-+ for dir in $mysql_lib; do
-+ if test "x$mysql_found" != "xyes"
-+ then
-+ if test -f "$dir/libmysqlclient.so" ;
-+ then
-+ LIBS="-L$dir $SAVE_LIBS $LIBZ_LIB"
-+ MYSQL_LIB="-L$dir -lmysqlclient $LIBZ_LIB"
-+ AC_SUBST(MYSQL_LIB)
-+ AC_CHECK_LIB(mysqlclient, mysql_real_connect,
-+ mysql_ok=yes, mysql_ok=no)
-+ fi
-+ fi
-+ done
-+
-+ if test "x$mysql_ok" != "xyes"
-+ then
-+ AC_MSG_ERROR([Could not find libmysqlclient in '$mysql_lib'])
-+ fi
-+ fi
-+])
-+
-+AC_DEFUN([AC_HEADER_MYSQL], [
-+ AC_ARG_WITH(mysql-include,
-+ [ --with-mysql-include=DIR
-+ Look for MySQL include files in DIR],
-+ mysql_include=$withval, mysql_include="")
-+
-+ if test "x$want_mysql" = "xyes"
-+ then
-+ AC_MSG_CHECKING([for mysql.h])
-+ AC_MSG_RESULT()
-+
-+ mysql_found=no
-+
-+ mysql_include="$mysql_include /usr/include /usr/include/mysql \
-+ /usr/local/include /usr/local/include/mysql \
-+ /usr/local/mysql/include"
-+
-+ for dir in $mysql_include; do
-+ if test "x$mysql_found" != "xyes"
-+ then
-+ if test -f "$dir/mysql.h"
-+ then
-+ MYSQL_INCLUDE="-I$dir"
-+ AC_SUBST(MYSQL_INCLUDE)
-+ mysql_found=yes
-+ fi
-+ fi
-+ done
-+
-+ if test "x$mysql_found" != "xyes"
-+ then
-+ AC_MSG_ERROR([Could not find mysql.h in '$mysql_include'])
-+ fi
-+ fi
-+])
-+
-diff -aurwN a/m4/oracle.m4 b/m4/oracle.m4
---- a/m4/oracle.m4 1969-12-31 19:00:00.000000000 -0500
-+++ b/m4/oracle.m4 2014-06-20 15:05:05.543169365 -0400
-@@ -0,0 +1,10 @@
-+AC_DEFUN([AC_LIB_ORACLE], [
-+ ORACLE_LIB=""
-+ AC_SUBST(ORACLE_LIB)
-+])
-+
-+AC_DEFUN([AC_HEADER_ORACLE], [
-+ ORACLE_INCLUDE=""
-+ AC_SUBST(ORACLE_INCLUDE)
-+])
-+
-diff -aurwN a/m4/postgresql.m4 b/m4/postgresql.m4
---- a/m4/postgresql.m4 1969-12-31 19:00:00.000000000 -0500
-+++ b/m4/postgresql.m4 2014-06-20 15:06:09.311064874 -0400
-@@ -0,0 +1,75 @@
-+AC_DEFUN([AC_LIB_PGSQL], [
-+ AC_ARG_WITH(pgsql-lib,
-+ [ --with-pgsql-lib=DIR Look for PostgreSQL client library in DIR],
-+ pgsql_lib=$withval, pgsql_lib="")
-+
-+ if test "x$want_pgsql" = "xyes"
-+ then
-+ AC_MSG_CHECKING([for libpq])
-+ AC_MSG_RESULT()
-+
-+ pgsql_ok=no
-+
-+ SAVE_LIBS=$LIBS
-+
-+ pgsql_lib="$pgsql_lib /usr/lib /usr/lib/pgsql \
-+ /usr/local/lib /usr/local/lib/pgsql \
-+ /usr/local/pgsql/lib"
-+
-+ for dir in $pgsql_lib; do
-+ if test "x$pgsql_found" != "xyes"
-+ then
-+ if test -f "$dir/libpq.so"
-+ then
-+ LIBS="-L$dir $SAVE_LIBS"
-+ PGSQL_LIB="-L$dir -lpq"
-+ AC_SUBST(PGSQL_LIB)
-+ AC_CHECK_LIB(pq, PQconnectdb,
-+ pgsql_ok=yes, pgsql_ok=no)
-+ fi
-+ fi
-+ done
-+
-+ if test "x$pgsql_ok" != "xyes"
-+ then
-+ AC_MSG_ERROR([Could not find libpq in '$pgsql_lib'])
-+ fi
-+ fi
-+])
-+
-+AC_DEFUN([AC_HEADER_PGSQL], [
-+ AC_ARG_WITH(pgsql-include,
-+ [ --with-pgsql-include=DIR
-+ Look for PostgreSQL include files in DIR],
-+ pgsql_include=$withval, pgsql_include="")
-+
-+ if test "x$want_pgsql" = "xyes"
-+ then
-+ AC_MSG_CHECKING([for libpq-fe.h])
-+ AC_MSG_RESULT()
-+
-+ pgsql_found=no
-+
-+ pgsql_include="$pgsql_include /usr/include /usr/include/pgsql \
-+ /usr/local/include /usr/local/include/pgsql \
-+ /usr/local/pgsql/include"
-+
-+ for dir in $pgsql_include; do
-+ if test "x$pgsql_found" != "xyes"
-+ then
-+ if test -f "$dir/libpq-fe.h"
-+ then
-+ PGSQL_INCLUDE="-I$dir"
-+ AC_SUBST(PGSQL_INCLUDE)
-+ pgsql_found=yes
-+ fi
-+ fi
-+ done
-+
-+ if test "x$pgsql_found" != "xyes"
-+ then
-+ AC_MSG_ERROR([Could not find libpq-fe.h in '$pgsql_include'])
-+ fi
-+ fi
-+])
-+
-diff -aurwN a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am 2014-06-20 14:37:35.266956252 -0400
-+++ b/src/Makefile.am 2014-06-20 15:12:40.278227315 -0400
-@@ -16,7 +16,8 @@
-
- # Process this file with automake to create Makefile.in
-
--INCLUDES = @MYSQL_INCLUDE@ @PGSQL_INCLUDE@ @ORACLE_INCLUDE@
-+AM_CPPFLAGS = @MYSQL_INCLUDE@ @PGSQL_INCLUDE@ @ORACLE_INCLUDE@
-+BUILT_SOURCES = super-smack-yacc.hh
-
- noinst_PROGRAMS=test-dictionary test-client test_tcp_client
- bin_PROGRAMS=super-smack super-smack-gen-data
-diff -aurN a/src/super-smack-lex.ll b/src/super-smack-lex.ll
---- a/src/super-smack-lex.ll 2003-05-14 21:08:34.000000000 -0400
-+++ b/src/super-smack-lex.ll 2014-06-24 08:56:05.970614176 -0400
-@@ -6,7 +6,7 @@
- #include <ctype.h>
- #include "query.h"
- #include "parse.h"
-- #include "super-smack-yacc.h"
-+ #include "super-smack-yacc.hh"
-
- static string q_str = "";
- %}
-
diff --git a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-gen-data.patch b/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-gen-data.patch
deleted file mode 100644
index 37abfe35ec97..000000000000
--- a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-gen-data.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -Nuar super-smack-1.3.orig/smacks/select-key.smack super-smack-1.3/smacks/select-key.smack
---- super-smack-1.3.orig/smacks/select-key.smack 2005-05-30 03:04:38.000000000 -0700
-+++ super-smack-1.3/smacks/select-key.smack 2008-11-13 22:27:48.125627179 -0800
-@@ -24,7 +24,7 @@
- min_rows "90000"; // the table must have at least that many rows
- data_file "words.dat"; // if the table is empty, load the data from
- //this file
-- gen_data_file "gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d";
-+ gen_data_file "super-smack-gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d";
- // if the file above does not exist, generate it with the above shell command
- // you can replace this command with anything that prints comma-delimited
- // data to stdout, just make sure you have the right number of columns
-diff -Nuar super-smack-1.3.orig/smacks/update-select.smack super-smack-1.3/smacks/update-select.smack
---- super-smack-1.3.orig/smacks/update-select.smack 2005-05-30 03:04:51.000000000 -0700
-+++ super-smack-1.3/smacks/update-select.smack 2008-11-13 22:27:45.070167829 -0800
-@@ -24,7 +24,7 @@
- min_rows "90000"; // the table must have at least that many rows
- data_file "words.dat"; // if the table is empty, load the data from
- //this file
-- gen_data_file "gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d";
-+ gen_data_file "super-smack-gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d";
- // if the file above does not exist, generate it with the above command
- }
-
-diff -Nuar super-smack-1.3.orig/src/Makefile.am super-smack-1.3/src/Makefile.am
---- super-smack-1.3.orig/src/Makefile.am 2001-02-24 03:44:30.000000000 -0800
-+++ super-smack-1.3/src/Makefile.am 2008-11-13 22:27:37.693573246 -0800
-@@ -19,7 +19,7 @@
- INCLUDES = @MYSQL_INCLUDE@ @PGSQL_INCLUDE@ @ORACLE_INCLUDE@
-
- noinst_PROGRAMS=test-dictionary test-client test_tcp_client
--bin_PROGRAMS=super-smack gen-data
-+bin_PROGRAMS=super-smack super-smack-gen-data
- test_dictionary_SOURCES=test-dictionary.cc \
- dictionary.cc dictionary.h \
- die.cc die.h \
-@@ -57,7 +57,7 @@
- tcp_client.h tcp_client.cc
- super_smack_LDADD = @MYSQL_LIB@ @PGSQL_LIB@ @ORACLE_LIB@
-
--gen_data_SOURCES=gen-data.cc die.cc die.h
-+super_smack_gen_data_SOURCES=gen-data.cc die.cc die.h
-
- # yacc needs to generate a y.tab.h
- YFLAGS = -d
diff --git a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3.amd64.patch b/dev-db/mysql-super-smack/files/mysql-super-smack-1.3.amd64.patch
deleted file mode 100644
index c2c5db0c56f0..000000000000
--- a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3.amd64.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- supesmack-1.3/src/query.cc.orig 2005-04-30 14:51:29.000000000 +0100
-+++ supesmack-1.3/src/query.cc 2006-08-15 22:06:06.000000000 +0100
-@@ -197,7 +197,7 @@
- {
- string s((*i).first);
- int str_len = (*i).first.length();
-- if((unsigned)p + str_len + 3 *sizeof(int) < (unsigned)p_end )
-+ if((unsigned long)p + str_len + 3 *sizeof(int) < (unsigned long)p_end )
- {
- *p++ = (char) str_len;
- const char* q_type_name = s.c_str();
-@@ -216,7 +216,7 @@
- die(0, "report buffer overflow -- too many query types");
- }
-
-- len = (unsigned)p - (unsigned)buf;
-+ len = (unsigned long)p - (unsigned long)buf;
- *(buf) = num_recs;
-
- if(write(fd, buf, len) != len)
diff --git a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3.gcc4.3.patch b/dev-db/mysql-super-smack/files/mysql-super-smack-1.3.gcc4.3.patch
deleted file mode 100644
index ec99b5da2217..000000000000
--- a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3.gcc4.3.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/src/dictionary.h.orig 2008-10-31 19:12:51.000000000 +0100
-+++ b/src/dictionary.h 2008-10-31 19:13:12.000000000 +0100
-@@ -23,6 +23,7 @@
-
- #include <string>
- #include <vector>
-+#include <cstring>
- #include <time.h>
- #include <stdlib.h>
diff --git a/dev-db/mysql-super-smack/metadata.xml b/dev-db/mysql-super-smack/metadata.xml
deleted file mode 100644
index ee3ef09ebf87..000000000000
--- a/dev-db/mysql-super-smack/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person"><email>robbat2@gentoo.org</email></maintainer>
-<maintainer type="project">
-<email>mysql-bugs@gentoo.org</email>
-<name>MySQL</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-db/mysql-super-smack/mysql-super-smack-1.3-r4.ebuild b/dev-db/mysql-super-smack/mysql-super-smack-1.3-r4.ebuild
deleted file mode 100644
index 453fcaa21ab9..000000000000
--- a/dev-db/mysql-super-smack/mysql-super-smack-1.3-r4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOMAKE="1.13"
-
-inherit autotools libtool
-
-MY_PN="super-smack"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="Benchmarking, stress testing, and load generation tool for MySQL & PostGreSQL"
-HOMEPAGE="http://vegan.net/tony/supersmack/"
-SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-IUSE="+mysql postgres"
-REQUIRED_USE="|| ( mysql postgres )"
-
-COMMON_DEPEND="sys-libs/zlib:=
- mysql? ( dev-db/mysql-connector-c:= )
- postgres? ( dev-db/postgresql:*[server] )"
-DEPEND="${COMMON_DEPEND} sys-devel/bison sys-devel/flex"
-RDEPEND="${COMMON_DEPEND} mysql? ( virtual/mysql )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.2.destdir.patch
- "${FILESDIR}"/${PN}-1.3.amd64.patch
- "${FILESDIR}"/${PN}-1.3.gcc4.3.patch
- "${FILESDIR}"/${PN}-1.3-gen-data.patch
- "${FILESDIR}"/${PN}-1.3-automake-1.13.patch
-)
-DOCS=( CHANGES INSTALL MANUAL README TUTORIAL )
-
-src_prepare() {
- # Clean up files so eautoreconf does not pick up any
- # deprecated autotools macros.
- rm acinclude.m4 aclocal.m4 acconfig.h config.status config.h || die
- mv configure.in configure.ac || die
- export CXXFLAGS+=" -std=gnu++98"
- default
- eautoreconf
- elibtoolize --patch-only
-}
-
-src_configure() {
- local myeconfargs=(
- $(usex mysql --with-mysql "")
- $(usex postgres --with-pgsql "")
- --with-datadir=/var/tmp/${MY_PN}
- --with-smacks-dir=/usr/share/${MY_PN}
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- keepdir /var/tmp/${MY_PN}
-}
-
-pkg_postinst() {
- elog "The gen-data binary is now installed as super-smack-gen-data"
-}
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index 45aa0fa826bf..89f6c6141073 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -1,3 +1,2 @@
-DIST antlr-4.9.1-complete.jar 2100605 BLAKE2B 6fcdc184900cd30e42b3e1b6f56bcccbf1d3c975edc8475b92b9c0779568148f711e9bcbb77859d8fbff2d31f362a9b562847b9b9ece03c8c4b7792341fab57e SHA512 a01815324c15fbff9cb917fa2cdef85aabf34c77730913026257e92c195d11f059c73a1579ffa74616b76b5aba34fd6074b19e1de8f2f3bec1c55cd950f4947b
-DIST mysql-workbench-community-8.0.26-src.tar.gz 19282576 BLAKE2B 4b05d42a10ad3cc88d6447ff5ed1344ac8ef75564e2b69a55f603930f3ff75cd9ac00fd82b6b7339bdbf9524a593fadc32070c6cb5f77e9eeb6ad8e24cc59e7c SHA512 33b28b74b5c7d75c7b3c017cdebc48f3453d0aed2e8ebb20052e462479d0147e164d409e040ab8d1828c2209ad3bc41ab9684e91f86769bf7c1fa0ee117e888c
-DIST mysql-workbench-community-8.0.27-src.tar.gz 19282580 BLAKE2B 53069dbf26f1ba5975a9b28cf96cae660db8654dd60e5f7cdf112db48e7d4fd41beeb74a9ff870ae38b2d651de4ed7edffec32ba3eb8914bb329ff414ec7e7d4 SHA512 827d7abb8e04b0ec4a730eac163b4e2b62f5cde25d7326b4cb95b5f924b1e7c5bc87b1a8ca64dbab59232f4dd042b41cb1e53b97a9484549d0d6c2b7c8a14741
+DIST antlr-4.11.1-complete.jar 3547867 BLAKE2B 24e9799a402302fd13ebd91028a8e3b8141af50b446bc06bb4df3f7619cad956e9b681c0908b870a1f9d6701049e89099906cdc6038dc007984b19f7a8cc756b SHA512 a445bb71e4470ffa7bbb382a873fe5c5737b96b2c68b57593c1151ed9944ec701ce0c299ea5c3b593bd33916d384d598e2538a9b0b11b41c77a399beca4aab88
+DIST mysql-workbench-community-8.0.36-src.tar.gz 27419906 BLAKE2B 47ab5c64b5beee712c9227cdb5c46a6863d830ef75983e0e56702e0b08370b9118b301d0c34ba95180bef2fe0b01ae24791337c9e1922cd412a37f057906027a SHA512 953f072414abb8c236ffccb8a4439dcd4c5eb76ff07f5ca276c35e8cf6102ef73292412fc70113a167f34bd998603ef22b59038ae06cf84d2f0440769c1d9689
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-8.0.33-gcc13.patch b/dev-db/mysql-workbench/files/mysql-workbench-8.0.33-gcc13.patch
new file mode 100644
index 000000000000..7fbbc145d4bf
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-8.0.33-gcc13.patch
@@ -0,0 +1,40 @@
+--- mysql-workbench-community-8.0.33-src/library/forms/mforms/mforms.h.orig 2023-06-30 14:43:47.056539087 +0300
++++ mysql-workbench-community-8.0.33-src/library/forms/mforms/mforms.h 2023-06-30 14:44:11.500537735 +0300
+@@ -61,6 +61,7 @@
+ *
+ */
+
++#include <cstdint>
+ #include "mforms/view.h"
+ #include "mforms/form.h"
+ #include "mforms/button.h"
+--- mysql-workbench-community-8.0.33-src/library/cdbc/src/driver_manager.h.orig 2023-06-30 14:51:19.804514044 +0300
++++ mysql-workbench-community-8.0.33-src/library/cdbc/src/driver_manager.h 2023-06-30 14:51:30.333513462 +0300
+@@ -27,6 +27,7 @@
+ #include "cppdbc_public_interface.h"
+
+ #include <cppconn/driver.h>
++#include <cstdint>
+ #include <memory>
+ #include <set>
+
+--- mysql-workbench-community-8.0.33-src/library/forms/mforms/treeview.h.orig 2023-06-30 17:08:50.534057671 +0300
++++ mysql-workbench-community-8.0.33-src/library/forms/mforms/treeview.h 2023-06-30 17:10:33.945051951 +0300
+@@ -23,6 +23,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <mforms/view.h>
+
+ /**
+--- mysql-workbench-community-8.0.33-src/backend/wbpublic/sqlide/sqlide_generics_private.h.orig 2023-06-30 17:51:48.242915090 +0300
++++ mysql-workbench-community-8.0.33-src/backend/wbpublic/sqlide/sqlide_generics_private.h 2023-06-30 17:52:26.461912976 +0300
+@@ -24,6 +24,7 @@
+ #ifndef _SQLIDE_GENERICS_PRIVATE_H_
+ #define _SQLIDE_GENERICS_PRIVATE_H_
+
++#include <cstdint>
+ #include "wbpublic_public_interface.h"
+ #include <sqlite/database_exception.hpp>
+ #include <sqlite/result.hpp>
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch b/dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch
new file mode 100644
index 000000000000..e3ee9aa099f0
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/923020
+https://github.com/mysql/mysql-workbench/pull/43
+
+From 8f8917671ab5a06f842a340f31c6d4ec7634147a Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sat, 27 Jan 2024 22:51:15 +0200
+Subject: [PATCH] Fix support for libxml2-2.12 with its api and header changes
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/library/grt/src/grt.h
++++ b/library/grt/src/grt.h
+@@ -34,6 +34,7 @@
+ #include <vector>
+ #include <stdexcept>
+ #include <boost/function.hpp>
++#include <libxml/tree.h>
+ #include <libxml/xmlmemory.h>
+ #include "base/threading.h"
+ #include <string>
+--- a/library/grt/src/unserializer.cpp
++++ b/library/grt/src/unserializer.cpp
+@@ -401,7 +401,11 @@ ValueRef internal::Unserializer::unserialize_xmldata(const char *data, size_t si
+ xmlDocPtr doc = xmlReadMemory(data, (int)size, NULL, NULL, XML_PARSE_NOENT);
+
+ if (!doc) {
++#if LIBXML_VERSION >= 21200
++ const xmlError* error = xmlGetLastError();
++#else
+ xmlErrorPtr error = xmlGetLastError();
++#endif
+
+ if (error)
+ throw std::runtime_error(base::strfmt("Could not parse XML data. Line %d, %s", error->line, error->message));
diff --git a/dev-db/mysql-workbench/metadata.xml b/dev-db/mysql-workbench/metadata.xml
index 5afcc9dfd017..2ad1914fcf6c 100644
--- a/dev-db/mysql-workbench/metadata.xml
+++ b/dev-db/mysql-workbench/metadata.xml
@@ -5,6 +5,6 @@
<email>graaff@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">antlr/website-antlr3</remote-id>
+ <remote-id type="github">mysql/mysql-workbench</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.27.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.27.ebuild
deleted file mode 100644
index 6ce9aed7c684..000000000000
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.27.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GCONF_DEBUG="no"
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-PYTHON_REQ_USE="sqlite"
-
-ANTLR_VERSION=4.9.1
-
-inherit gnome2 flag-o-matic python-single-r1 cmake
-
-MY_P="${PN}-community-${PV}-src"
-
-DESCRIPTION="MySQL Workbench"
-HOMEPAGE="https://www.mysql.com/products/workbench/"
-SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz
- https://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# glibc: deprecated mutex functions, removed in 2.36.0
-CDEPEND="${PYTHON_DEPS}
- app-crypt/libsecret
- dev-libs/glib:2
- dev-cpp/antlr-cpp:4
- dev-cpp/atkmm:*
- dev-cpp/pangomm:1.4
- >=dev-cpp/glibmm-2.14:2
- dev-cpp/gtkmm:3.0
- dev-libs/atk
- >=net-libs/libssh-0.8.5[server]
- x11-libs/pango
- x11-libs/gtk+:3
- gnome-base/libglade:2.0
- >=x11-libs/cairo-1.5.12[glib,svg]
- >=dev-libs/rapidjson-1.1.0
- dev-libs/libsigc++:2
- >=dev-libs/boost-1.55.0[nls]
- >=dev-cpp/ctemplate-0.95
- >=dev-libs/libxml2-2.6.2:2
- dev-libs/libzip
- dev-libs/libpcre[cxx]
- >=sci-libs/gdal-1.11.1-r1
- virtual/opengl
- || ( sys-fs/e2fsprogs dev-libs/ossp-uuid )
- dev-libs/tinyxml[stl]
- >=dev-db/mysql-connector-c++-1.1.8 =dev-db/mysql-connector-c++-1*
- dev-db/vsqlite++
- || ( dev-db/libiodbc dev-db/unixODBC )
- dev-python/pexpect
- >=dev-python/paramiko-1.7.4
-"
-
-RDEPEND="${CDEPEND}
- app-admin/sudo
- >=sys-apps/net-tools-1.60_p20120127084908"
-
-DEPEND="${CDEPEND}
- dev-lang/swig
- virtual/jre
- virtual/pkgconfig"
-
-S="${WORKDIR}"/"${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
- "${FILESDIR}/${PN}-8.0.19-mysql-connector-8.patch"
-)
-
-src_unpack() {
- unpack ${PN}-community-${PV}-src.tar.gz
-}
-
-src_prepare() {
- ## remove hardcoded CXXFLAGS
- sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
- ## And avoid -Werror
- sed -i -e 's/-Werror//' CMakeLists.txt || die
- ## Fix doc install directory
- sed -i -e "/WB_INSTALL_DOC_DIR/ s/mysql-workbench/${P}/ ; /WB_INSTALL_DOC_DIR/ s/-community//" CMakeLists.txt || die
-
- ## package is very fragile...
- strip-flags
-
- cmake_src_prepare
-}
-
-src_configure() {
- if has_version dev-db/libiodbc ; then
- IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config"
- fi
-
- append-cxxflags -std=c++11
- ANTLR_JAR_PATH="${DISTDIR}/antlr-${ANTLR_VERSION}-complete.jar"
- local mycmakeargs=(
- -DWITH_ANTLR_JAR=${ANTLR_JAR_PATH}
- -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
- -DIODBC_INCLUDE_PATH="/usr/include/iodbc"
- ${IODBC}
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
- )
- cmake_src_configure
-}
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.26-r1.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.36.ebuild
index 1dd1c744a64d..bb6113df89ed 100644
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.26-r1.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.36.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GCONF_DEBUG="no"
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{10,11} )
PYTHON_REQ_USE="sqlite"
-ANTLR_VERSION=4.9.1
+ANTLR_VERSION=4.11.1
inherit gnome2 flag-o-matic python-single-r1 cmake
@@ -28,31 +28,29 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
CDEPEND="${PYTHON_DEPS}
app-crypt/libsecret
dev-libs/glib:2
- dev-cpp/antlr-cpp:4
+ >=dev-cpp/antlr-cpp-4.11.1:4
dev-cpp/atkmm:*
dev-cpp/pangomm:1.4
>=dev-cpp/glibmm-2.14:2
dev-cpp/gtkmm:3.0
- dev-libs/atk
- >=net-libs/libssh-0.8.5[server]
+ >=net-libs/libssh-0.9.5[server]
x11-libs/pango
x11-libs/gtk+:3
- gnome-base/libglade:2.0
- >=x11-libs/cairo-1.5.12[glib,svg]
+ >=x11-libs/cairo-1.5.12[glib,svg(+)]
>=dev-libs/rapidjson-1.1.0
dev-libs/libsigc++:2
- >=dev-libs/boost-1.55.0[nls]
+ dev-libs/boost[nls]
>=dev-cpp/ctemplate-0.95
>=dev-libs/libxml2-2.6.2:2
dev-libs/libzip
dev-libs/libpcre[cxx]
- >=sci-libs/gdal-1.11.1-r1
+ >=sci-libs/gdal-1.11.1-r1:=
virtual/opengl
|| ( sys-fs/e2fsprogs dev-libs/ossp-uuid )
dev-libs/tinyxml[stl]
- >=dev-db/mysql-connector-c++-1.1.8 =dev-db/mysql-connector-c++-1*
+ >=dev-db/mysql-connector-c++-8.0.27-r1[legacy(-)]
dev-db/vsqlite++
- || ( dev-db/libiodbc dev-db/unixODBC )
+ || ( dev-db/libiodbc >=dev-db/unixODBC-2.3.11 )
dev-python/pexpect
>=dev-python/paramiko-1.7.4
"
@@ -63,7 +61,7 @@ RDEPEND="${CDEPEND}
DEPEND="${CDEPEND}
dev-lang/swig
- virtual/jre
+ >=virtual/jre-11
virtual/pkgconfig"
S="${WORKDIR}"/"${MY_P}"
@@ -71,6 +69,8 @@ S="${WORKDIR}"/"${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
"${FILESDIR}/${PN}-8.0.19-mysql-connector-8.patch"
+ "${FILESDIR}/${PN}-8.0.33-gcc13.patch"
+ "${FILESDIR}/${PN}-8.0.36-libxml2-2.12-support.patch"
)
src_unpack() {
@@ -96,6 +96,10 @@ src_configure() {
IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config"
fi
+ if has_version dev-db/unixODBC ; then
+ UNIXODBC="-DUNIXODBC_CONFIG_PATH=/usr/bin/odbc_config"
+ fi
+
append-cxxflags -std=c++11
ANTLR_JAR_PATH="${DISTDIR}/antlr-${ANTLR_VERSION}-complete.jar"
local mycmakeargs=(
@@ -103,6 +107,7 @@ src_configure() {
-DLIB_INSTALL_DIR="/usr/$(get_libdir)"
-DIODBC_INCLUDE_PATH="/usr/include/iodbc"
${IODBC}
+ ${UNIXODBC}
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
-DPYTHON_LIBRARY="$(python_get_library_path)"
-DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index e922b317d818..3efcb891c8b1 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -1,22 +1,11 @@
-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-5.7.34-patches-01.tar.xz 6676 BLAKE2B b925880bfbb991fcba81964ff658a2ecab38da637a6093270a724ab8e405ab092d5fb9684f53f44d001e34287366df234b841d9ebcae62d49becdb93a3c3e324 SHA512 80a89f4b4a7ecc04f3115c6aaa0b0013e38c2813fa6dea095e826ef3944298715a48e0deacb691d23526b1524b207c83176290faea2461d3fcd94edabe3d8943
-DIST mysql-5.7.34-patches-02.tar.xz 6408 BLAKE2B fdb36247832b6282af94ce2f61b5dd77f6b45f9efca4b438ecd5fed8d810d9d51547d0ae3de085e7f5dcc8795b4bc4f1210902495b92859e1d5aec3048256ef3 SHA512 f0513eb7f0c9e415aa972a53af668939934ea4f4fa438f468f32a46ccc2aa3b84ba8edd999e4786256ada34851ad64c81e9dd0e36c2a21da641987dfd18635c3
-DIST mysql-5.7.35-patches-01.tar.xz 6408 BLAKE2B ddead9d6f5570f23433ffaef0188a8e93c0220b3d59ae24b870927e9e5908619f357725c1ab2d16905f39dd9d5f6cd23d3aabf6a1df2abdc865683f603912b8f SHA512 6374536299c691fd12a3f8b7cd27291e6f3b0b6d159284b2866caaed6a7f124439c16e659e6da5aae9e72d613de2a1e1b80066c961e122e90ad644e9a32633cc
DIST mysql-5.7.36-patches-01.tar.xz 6396 BLAKE2B ed9783f207d40fc220992c4193bdd8e96523f69414daa756f1f30306c1aedff9e96216ba2294a4c41eefbaf39c8bb37784bf1e7cce656c93f829c9cf0682fa6d SHA512 b0fbd41ebb2d32067e6c81707dffa91fece2d368f4b2fa47951492936509972d425b64d7613748c42b31cf9ba9dab697efeff70debe7268855a90d322d3f3158
-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-8.0.25-patches-01.tar.xz 3604 BLAKE2B 09cccab204c30d16bdc374bcd01d4a8e6298955f86f479b8e287aab74fb6bd9857547e360be725dfc66acb56e1bb5665277d340761d0110a8823763ad4d2d1f4 SHA512 6d90a34a20e9cbc7e7a9b5b63a1408f33ac8523f2be6c9ab6d9ad7589c3ded83c87e460d782d4d8c33f11b337151fd8db994099e371260ecf204933e844eb50e
-DIST mysql-8.0.25-patches-02.tar.xz 6456 BLAKE2B c9c1020a505ebcee836f8dc3bbe540ff924a0174daf36c37b852df267a81919d37581d1c9be037d52cdcd34c27c5c34d3f0af6160857b22d8ab4d8ece37798e0 SHA512 3c3726b397f3a6fb1d84396bb571b4903a167c9a47273b9d5996949e1d3febc96d3528bfa8dfaeea073a245051ae10c983f2ad258268babc91649563ce3cfc00
-DIST mysql-8.0.26-patches-01.tar.xz 6980 BLAKE2B 5fc86125b622ac978dc7ec3d6954a1d366315a57b6f56ca8dade9ad4a255b4b793ad33736404b29ab2db12f726897f014aeec9232dc52954087e7533d0f593d2 SHA512 00e6478716cf857b8ab768ec481dc1e7d809db17a9d899a52822f61dcc18797e87c0eecfafb1bb9065895c1b261c03c87fe0593b59dc86fb40853b0c660c9bfb
-DIST mysql-8.0.27-patches-02.tar.xz 7204 BLAKE2B 1a3548f8b48b63a1d38cd9826f8ed2daf3d396276e8887e0a02a73fb91e544e1d0f1da9560351f03d3345d2ea5e8f61e5a9df2bce80558143bd3bc2558372232 SHA512 86c660d67d883fb84e6a38c39994bc30669c18b1d5bdedf908f112c7ebb59f0acf23903e6a81f01de1e6862a8cb779c7b537659ff18b090306eacf668dea47f8
-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-5.7.34.tar.gz 52891142 BLAKE2B 986fe106d73495ea9acb837f699ef2b1ffd123d9728b61da42f990d670569f1f7c12dc0a8611c3a7b6e3ed7be9fc277e1a977fa6c6d06f7d156a2f492951d9c7 SHA512 4eab7e90477b75643df743d806d5abcfb56572a2aa003a354980287c9148209f4fb7f0158ba969fb0462c32e49fcb4cf2a79f0330ab1bd2b243725dbf6f31d6d
-DIST mysql-boost-5.7.35.tar.gz 52959014 BLAKE2B 02cbc2201176773516479636ab40828a98bbc6bc1e90060e36d36af5c20a84b4b415d6e467328890ecff044834c81458fff8b717fd8942196dcf35e0ae85f298 SHA512 2469c8e13a236aee327bc0828804ba189e3abf78b6e0b3ef65b2343210f9c0cd5313d18b57ae3b76ca1487dc1d70854c8a12e6da61a6fffbce95854dcc792482
-DIST mysql-boost-5.7.36.tar.gz 52968383 BLAKE2B 4d5e4fcf8d56f4a1d1d54ee889d432ee3265f55ff9c0ecf6fe216e67790a49ed052b94457680daef4cb42df29f14db7b0e678e0f0443c20b7e2324c772c24313 SHA512 a95580efd5b87776ee7f1aae9b50d50d88c70a48c16e7a2d8c6ada0b1cadc5ec6074a859291a65caa1b50a00e08a9e350df342bb0c6ef74edaf21055331c081b
-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-boost-8.0.25.tar.gz 290265324 BLAKE2B 5393a2a2525a886d9ece19777deae01e6c0b24b9ff5a0a5ffb9075740ed912d0df59a165b6ec9ceb60c7c28f3062cda5cceb4da3a8280f42549984c846f1ce5c SHA512 af653ccff66a9d87221b46ad4f7bcc629700549f758998b9a7fb22e4573b9495a28624e031f016f9ad8fe0dfcf481b82f1ffe224aa48c2d45531570026b26081
-DIST mysql-boost-8.0.26.tar.gz 291285918 BLAKE2B 6198ca8982a8c9df7e6ee4df5e2c1e0d64d2eb4d83cb7265317b58d55f6787c3240c8e40d196f2326ff3d66926ad7dab0705edd92e5a82881ce6ddb7f0c510b9 SHA512 63d47cb52407a816dc9f4330b99924624dfee46e57e7fdce19eff32909dd9e23251e2439d1807b002a1661b547173222c77465a3ca4dbb312414a84927809cfc
+DIST mysql-8.0.27-patches-03.tar.xz 9864 BLAKE2B 03136477a97a5bff0c5f1cbc7921a77d9b36e148e94f80463f00f0efd1a6859af4595f9cf15aa492bce043fdc9d6c6328bd64102f8b0127eacbc7795b1785ecb SHA512 8c00c8fef2b01389f59138eaa29399d8a9ce7930b6bdfb7689d1d7bf14a32fbb10a2b8dbe91933b805899ef3af0cf0bda704d4be14249991b381054bcc496058
+DIST mysql-8.0.31-patches-01.tar.xz 5464 BLAKE2B c067bf311c83d4aa0f48d56621997bc58820fa0b41bd708eae04b0b54b89d549c5c1b84ca93adcbbdcb008199510ea667a12b1bcd44bf6b6df02062b4551d0a2 SHA512 95af6bb5aa0c407f0a1014f33523608b0df0797fd7fbdbba8a19985258a7c04788d7587c8f67cd1745284522c58297931c8827e31f77e8c89baaeff71a5e0ddc
+DIST mysql-8.0.34-patches-01.tar.xz 9304 BLAKE2B e80dd1fab00fb183e0b980763a9b6c3b879357b776b2acc9709527e5d6e2549f801835936433e55fcde2820201edb3dead5d95f31ef617ef9542d2a0bd95efca SHA512 1ac196d609fabd9c978bc8dd3564a45f0d681c292215d8979604d7e402c622d70a1c66ed191ded081c597042298c43154a9bb09bb4566e7fe97991f67d91d999
+DIST mysql-8.0.36-patches-01.tar.xz 10768 BLAKE2B d9b9c6f170e08eee249bbef77713116ad2f1bd05d638f908011c8be406548b9a87a5189d440147c76ac8aef8058d3fdf25d754191a52fef786812ddd6a2409dd SHA512 3f6af0f17e2ded2ec5cc9b0001062bda061e51a17f4f2d1f1fb604590de026a70bd21cecdff28e05adb1b89356fec1c1b33bc9c848e8a20186412d8547452305
+DIST mysql-boost-5.7.41.tar.gz 53266489 BLAKE2B 7201d6c53cf711bd121464fc85260e1799f7195f45706b91f3cb8d605fe2bd2639d532b4045a336645a553d9b0b1131cc45140a19483902e5dc37d3e2479b6f5 SHA512 88e1cc4864616ed92880a3f02285763aac2ddfc1cdeeff07e1502c97bbdfd31c9ed9d02f8f6381a352857a85241e4e4eb6bc0d978e3928a68ef49362f670482a
DIST mysql-boost-8.0.27.tar.gz 292184025 BLAKE2B 177209f3c62b0326ca9d021c751a701dec84c1b15c946ab0a68b1b4cf0620468eb3a1df77a918284007a0fde1aaa6a9767d0baed57936612813ef583df51c35e SHA512 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891
+DIST mysql-boost-8.0.31.tar.gz 334504577 BLAKE2B 0506472c732351a1055be9bbd81212e95280ae464af95cb5b579777dd8fad4634b099fa2830c3095066daf8c586f1d8cd2316e7268fb0d2577dd706c595c9102 SHA512 87b1678de8c2fd640fd6f3ae58266ea63fe240578330e3296d0e5fc209bbe9b0c22996214b6ca4cce8c0d9cc2f9897f4e6723d835b33fc4342983c82929c3d96
+DIST mysql-boost-8.0.32.tar.gz 436207624 BLAKE2B 8a75fd6fe12d4f870622b3386118737b8f17d116df625ef6187647c870d456823543e0a1e9aa05fff53313c3872df1df23add2508ec735bb7972718fc1e90539 SHA512 937e0d0350cb583bb4de15b080f08ed92b253a6d7c09f13a028855dae154fc84f0c95fb082b818b2fa6fa792cd2d9db8d7dc7a20a2a0d3d2b6839fbd2c821b44
+DIST mysql-boost-8.0.34.tar.gz 439550780 BLAKE2B f50701b7e97e6cec21d6ce0f80f07a8df68a14c637a67841c06f578be8ed01d216dcb3b859a29f1befd4223b99e60675d6fa70f4b227bf6af81804e2c43161d4 SHA512 e5e79ac6870c214cf62c8e2830106d60e09d2e6df30654b84bb5d26864b4eabe777468a223e6ee4c1e22b7f6ec086c73e85e3f4c1fa66912b0e59b606ab46cd6
+DIST mysql-boost-8.0.36.tar.gz 438154682 BLAKE2B 066c9dd7f2804ad29808c3bfcf5eae53466f7c40cf1386a9c1f26a0b45dcc3eda8d9618de36e8008e5e4d58b726d6c8ca85aec8d1eda8981f5a49e495b32f046 SHA512 a6c1c009a322b7e7aa2aa607573060414c847c77d48f44a24058ffb89673621f2ebbcc1a4448fa841a87ff721159cc8eaf44a57721c7dc233c130691c16a9d4a
diff --git a/dev-db/mysql/files/mysql-8.0.27-gcc12.patch b/dev-db/mysql/files/mysql-8.0.27-gcc12.patch
new file mode 100644
index 000000000000..f4ecb59273a6
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.27-gcc12.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/840990
+https://bugs.gentoo.org/852737
+--- a/client/logger.cc
++++ b/client/logger.cc
+@@ -27,6 +27,7 @@
+ #include <time.h>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+
+ using namespace std;
+
+--- a/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
++++ b/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
+@@ -25,6 +25,7 @@
+ #include <cstring>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+ #include <sstream>
+
+ #include <m_string.h>
+
+--- a/router/src/harness/include/mysql/harness/net_ts/executor.h
++++ b/router/src/harness/include/mysql/harness/net_ts/executor.h
+@@ -35,6 +35,7 @@
+ #include <stdexcept> // logic_error
+ #include <thread>
+ #include <type_traits> // decay_t, enable_if
++#include <utility>
+ #include <unordered_map>
+
+ #include "my_compiler.h"
diff --git a/dev-db/mysql/files/mysql-8.0.31-build-tmpdir-nodefault.patch b/dev-db/mysql/files/mysql-8.0.31-build-tmpdir-nodefault.patch
new file mode 100644
index 000000000000..f0f4a392b44d
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.31-build-tmpdir-nodefault.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/878951
+--- a/cmake/info_macros.cmake.in 2022-09-13 12:15:16.000000000 -0400
++++ b/cmake/info_macros.cmake.in 2022-11-01 00:12:06.270464679 -0400
+@@ -175,7 +175,7 @@
+ IF(HAVE_BUILD_ID_SUPPORT AND NOT WITHOUT_SERVER)
+ FILE(APPEND ${INFO_BIN} "\n===== BUILD ID =====\n")
+ EXECUTE_PROCESS(COMMAND
+- ${MYSQLD_EXECUTABLE} --help
++ ${MYSQLD_EXECUTABLE} --no-defaults --help
+ OUTPUT_VARIABLE mysqld_help
+ RESULT_VARIABLE mysqld_help_result
+ ERROR_VARIABLE mysqld_help_error
diff --git a/dev-db/mysql/files/mysql-8.0.32-gcc13.patch b/dev-db/mysql/files/mysql-8.0.32-gcc13.patch
new file mode 100644
index 000000000000..e7ec0603bbea
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.32-gcc13.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/895818
+https://github.com/mysql/mysql-server/pull/456
+
+From 2e5614c4ec50c60fbadbd57f213c1c7d6b959be9 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Wed, 12 Apr 2023 16:16:13 +0300
+Subject: [PATCH] sql/binlog/group_commit: include header for std::uint64_t
+
+GCC 13 changed default header dependencies for C++ necessitating
+including cstdint explicitly.
+--- a/sql/binlog/group_commit/bgc_ticket.h
++++ b/sql/binlog/group_commit/bgc_ticket.h
+@@ -23,6 +23,7 @@
+ #ifndef BINLOG_BCG_TICKET_H
+ #define BINLOG_BCG_TICKET_H
+
++#include <cstdint>
+ #include <functional>
+ #include <limits>
+ #include <memory>
+
diff --git a/dev-db/mysql/files/mysql-8.0.36-boost-clang-fix.patch b/dev-db/mysql/files/mysql-8.0.36-boost-clang-fix.patch
new file mode 100644
index 000000000000..31a2946a41ed
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.36-boost-clang-fix.patch
@@ -0,0 +1,76 @@
+From 50a1eae942effb0a9b90724323ef8f2a67e7984a Mon Sep 17 00:00:00 2001
+From: Peter Dimov <pdimov@gmail.com>
+Date: Wed, 16 Nov 2022 10:43:31 +0200
+Subject: [PATCH] Change mpl::integral_c to boost::integral_constant to avoid
+ Clang 16 errors when constructing out of range enums (refs #24,
+ https://github.com/boostorg/mpl/issues/69)
+
+--- a/boost/boost_1_77_0/boost/numeric/conversion/detail/int_float_mixture.hpp
++++ b/boost/boost_1_77_0/boost/numeric/conversion/detail/int_float_mixture.hpp
+@@ -16,15 +16,15 @@
+ #include "boost/numeric/conversion/int_float_mixture_enum.hpp"
+ #include "boost/numeric/conversion/detail/meta.hpp"
+
+-#include "boost/mpl/integral_c.hpp"
++#include "boost/type_traits/integral_constant.hpp"
+
+ namespace boost { namespace numeric { namespace convdetail
+ {
+ // Integral Constants for 'IntFloatMixture'
+- typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
+- typedef mpl::integral_c<int_float_mixture_enum, integral_to_float> int2float_c ;
+- typedef mpl::integral_c<int_float_mixture_enum, float_to_integral> float2int_c ;
+- typedef mpl::integral_c<int_float_mixture_enum, float_to_float> float2float_c ;
++ typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
++ typedef boost::integral_constant<int_float_mixture_enum, integral_to_float> int2float_c ;
++ typedef boost::integral_constant<int_float_mixture_enum, float_to_integral> float2int_c ;
++ typedef boost::integral_constant<int_float_mixture_enum, float_to_float> float2float_c ;
+
+ // Metafunction:
+ //
+--- a/boost/boost_1_77_0/boost/numeric/conversion/detail/sign_mixture.hpp
++++ b/boost/boost_1_77_0/boost/numeric/conversion/detail/sign_mixture.hpp
+@@ -16,15 +16,15 @@
+ #include "boost/numeric/conversion/sign_mixture_enum.hpp"
+ #include "boost/numeric/conversion/detail/meta.hpp"
+
+-#include "boost/mpl/integral_c.hpp"
++#include "boost/type_traits/integral_constant.hpp"
+
+ namespace boost { namespace numeric { namespace convdetail
+ {
+ // Integral Constants for 'SignMixture'
+- typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
+- typedef mpl::integral_c<sign_mixture_enum, signed_to_signed> sig2sig_c ;
+- typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned> sig2unsig_c ;
+- typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed> unsig2sig_c ;
++ typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
++ typedef boost::integral_constant<sign_mixture_enum, signed_to_signed> sig2sig_c ;
++ typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned> sig2unsig_c ;
++ typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed> unsig2sig_c ;
+
+ // Metafunction:
+ //
+--- a/boost/boost_1_77_0/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
++++ b/boost/boost_1_77_0/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
+@@ -15,15 +15,15 @@
+ #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
+ #include "boost/numeric/conversion/detail/meta.hpp"
+
+-#include "boost/mpl/integral_c.hpp"
++#include "boost/type_traits/integral_constant.hpp"
+
+ namespace boost { namespace numeric { namespace convdetail
+ {
+ // Integral Constants for 'UdtMixture'
+- typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
+- typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt> builtin2udt_c ;
+- typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin> udt2builtin_c ;
+- typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt> udt2udt_c ;
++ typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
++ typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt> builtin2udt_c ;
++ typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin> udt2builtin_c ;
++ typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt> udt2udt_c ;
+
+ // Metafunction:
+ //
diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml
index d24d13207210..8cf9fbadca70 100644
--- a/dev-db/mysql/metadata.xml
+++ b/dev-db/mysql/metadata.xml
@@ -1,25 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
-<!--
-Please note that this list is shared between the following packages:
-dev-db/mysql
-dev-db/mariadb
--->
-<use>
- <flag name="cjk">Add CJK support for InnoDB fulltext search using <pkg>app-text/mecab</pkg></flag>
- <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
- <flag name="experimental">Build experimental features aka "rapid" plugins</flag>
- <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
- <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
- <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
- <flag name="router">Build the MySQL router program</flag>
- <flag name="server">Build the server program</flag>
- <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name="test">Install upstream testsuites for end use.</flag>
-</use>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <!--
+ Please note that this list is shared between the following packages:
+ dev-db/mysql
+ dev-db/mariadb
+ -->
+ <use>
+ <flag name="cjk">Add CJK support for InnoDB fulltext search using <pkg>app-text/mecab</pkg></flag>
+ <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
+ <flag name="experimental">Build experimental features aka "rapid" plugins</flag>
+ <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
+ <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
+ <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
+ <flag name="router">Build the MySQL router program</flag>
+ <flag name="server">Build the server program</flag>
+ <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-debug/systemtap</pkg></flag>
+ <flag name="test">Install upstream testsuites for end use.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mysql/mysql-server</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mysql/mysql-5.7.32.ebuild b/dev-db/mysql/mysql-5.7.32.ebuild
deleted file mode 100644
index c68d1e4cd86d..000000000000
--- a/dev-db/mysql/mysql-5.7.32.ebuild
+++ /dev/null
@@ -1,1230 +0,0 @@
-# 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.32-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 numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test"
-
-RESTRICT="!test? ( 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?]
- >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?]
- )
- !client-libs? (
- dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
- >=sys-libs/zlib-1.2.3:0=
- >=dev-libs/openssl-1.0.0: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
-
- 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 \
- ; 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.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_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-5.7.33.ebuild b/dev-db/mysql/mysql-5.7.33.ebuild
deleted file mode 100644
index 6a24a16ccfe2..000000000000
--- a/dev-db/mysql/mysql-5.7.33.ebuild
+++ /dev/null
@@ -1,1236 +0,0 @@
-# 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 numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test"
-
-RESTRICT="!test? ( 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?]
- >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?]
- )
- !client-libs? (
- dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
- >=sys-libs/zlib-1.2.3:0=
- >=dev-libs/openssl-1.0.0: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
-
- 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-5.7.34-r1.ebuild b/dev-db/mysql/mysql-5.7.34-r1.ebuild
deleted file mode 100644
index 239a883dba68..000000000000
--- a/dev-db/mysql/mysql-5.7.34-r1.ebuild
+++ /dev/null
@@ -1,1262 +0,0 @@
-# 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.34-patches-02.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 numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test"
-
-RESTRICT="!test? ( 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?]
- >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?]
- )
- !client-libs? (
- dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
- >=sys-libs/zlib-1.2.3:0=
- >=dev-libs/openssl-1.0.0: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
-
- 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
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # 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
-
- # >=dev-libs/openssl-3 defaults to security level 1 which disallow
- # TLSv1/1.1 but tests will require TLSv1/1.1.
- einfo "Set OpenSSL configuration for test suite ..."
- cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
- openssl_conf = default_conf
-
- [default_conf]
- ssl_conf = ssl_sect
-
- [ssl_sect]
- system_default = system_default_sect
-
- [system_default_sect]
- CipherString = DEFAULT@SECLEVEL=0
- EOF
-
- local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
-
- # 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-5.7.34.ebuild b/dev-db/mysql/mysql-5.7.34.ebuild
deleted file mode 100644
index 6a6d053d9b44..000000000000
--- a/dev-db/mysql/mysql-5.7.34.ebuild
+++ /dev/null
@@ -1,1239 +0,0 @@
-# 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.34-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 numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test"
-
-RESTRICT="!test? ( 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?]
- >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?]
- )
- !client-libs? (
- dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
- >=sys-libs/zlib-1.2.3:0=
- >=dev-libs/openssl-1.0.0: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
-
- 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
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # 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-5.7.35.ebuild b/dev-db/mysql/mysql-5.7.35.ebuild
deleted file mode 100644
index 6415ac60efcc..000000000000
--- a/dev-db/mysql/mysql-5.7.35.ebuild
+++ /dev/null
@@ -1,1293 +0,0 @@
-# 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.35-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 numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test"
-
-RESTRICT="!test? ( 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?]
- >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?]
- )
- !client-libs? (
- dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
- >=sys-libs/zlib-1.2.3:0=
- >=dev-libs/openssl-1.0.0: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
-
- 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
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # 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.alter_kill \
- innodb.innodb-multiple-tablespaces \
- 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-3" ; then
- # >=dev-libs/openssl-3 defaults to security level 1 which disallow
- # TLSv1/1.1 but tests will require TLSv1/1.1.
- einfo "Set OpenSSL configuration for test suite ..."
- cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
- openssl_conf = default_conf
-
- [ req ]
- default_bits = 2048
- default_keyfile = privkey.pem
- distinguished_name = req_distinguished_name
-
- [ req_distinguished_name ]
- countryName = Country Name (2 letter code)
- countryName_default = AU
- countryName_min = 2
- countryName_max = 2
-
- stateOrProvinceName = State or Province Name (full name)
- stateOrProvinceName_default = Some-State
-
- localityName = Locality Name (eg, city)
-
- 0.organizationName = Organization Name (eg, company)
- 0.organizationName_default = Internet Widgits Pty Ltd
-
- organizationalUnitName = Organizational Unit Name (eg, section)
-
- commonName = Common Name (e.g. server FQDN or YOUR name)
- commonName_max = 64
-
- emailAddress = Email Address
- emailAddress_max = 64
-
- [default_conf]
- ssl_conf = ssl_sect
-
- [ssl_sect]
- system_default = system_default_sect
-
- [system_default_sect]
- CipherString = DEFAULT@SECLEVEL=0
- EOF
-
- local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
- 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-5.7.36-r1.ebuild b/dev-db/mysql/mysql-5.7.41.ebuild
index 53dd2931b101..3efb6229af13 100644
--- a/dev-db/mysql/mysql-5.7.36-r1.ebuild
+++ b/dev-db/mysql/mysql-5.7.41.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -11,9 +11,9 @@ inherit check-reqs cmake flag-o-matic linux-info \
# Patch version
PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-5.7.36-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
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/${PN}-boost-${PV}.tar.gz
+ https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz
+ http://downloads.mysql.com/archives/MySQL-$(ver_cut 1-2)/${PN}-boost-${PV}.tar.gz
${PATCH_SET}"
HOMEPAGE="https://www.mysql.com/"
@@ -27,7 +27,7 @@ RESTRICT="!test? ( 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"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-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
@@ -63,7 +63,7 @@ COMMON_DEPEND="
)
numa? ( sys-process/numactl )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
"
@@ -71,7 +71,7 @@ DEPEND="
${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
dev-libs/protobuf
- virtual/yacc
+ app-alternatives/yacc
server? (
dev-libs/libevent:=[ssl]
experimental? ( net-libs/rpcsvc-proto )
@@ -246,7 +246,6 @@ src_prepare() {
rm -rv \
"${S}"/extra/protobuf \
"${S}"/extra/libevent \
- "${S}"/zlib \
|| die
# Don't clash with dev-db/mysql-connector-c
@@ -262,6 +261,9 @@ src_prepare() {
}
src_configure() {
+ # Filter LTO for legacy branch with ODR violations (bug #855242)
+ filter-lto
+
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
@@ -290,7 +292,7 @@ multilib_src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
+ local mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
@@ -1147,7 +1149,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mysql/mysql-8.0.22.ebuild b/dev-db/mysql/mysql-8.0.22.ebuild
deleted file mode 100644
index 7ba23d865dfb..000000000000
--- a/dev-db/mysql/mysql-8.0.22.ebuild
+++ /dev/null
@@ -1,1156 +0,0 @@
-# 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.22-patches-02.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 numa +perl profiling
- router selinux +server tcmalloc test"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )
- cjk? ( server )
- jemalloc? ( server )
- numa? ( server )
- profiling? ( server )
- router? ( server )
- tcmalloc? ( server )"
-
-# -ppc, -riscv for bug #761715
-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=
- >=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.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.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/mysql/mysql-8.0.23.ebuild b/dev-db/mysql/mysql-8.0.23.ebuild
deleted file mode 100644
index 2ad3f320946d..000000000000
--- a/dev-db/mysql/mysql-8.0.23.ebuild
+++ /dev/null
@@ -1,1158 +0,0 @@
-# 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 numa +perl profiling
- router selinux +server tcmalloc test"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )
- cjk? ( server )
- jemalloc? ( server )
- numa? ( server )
- profiling? ( server )
- router? ( server )
- tcmalloc? ( server )"
-
-# -ppc, -riscv for bug #761715
-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=
- >=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/mysql/mysql-8.0.27.ebuild b/dev-db/mysql/mysql-8.0.27-r1.ebuild
index be17938dfdd9..fb831d0ded5e 100644
--- a/dev-db/mysql/mysql-8.0.27.ebuild
+++ b/dev-db/mysql/mysql-8.0.27-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -12,12 +12,12 @@ MY_PV="${PV//_pre*}"
MY_P="${PN}-${MY_PV}"
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-8.0.27-patches-02.tar.xz"
+PATCH_SET=( https://dev.gentoo.org/~{whissi,dlan}/dist/mysql/${P}-patches-03.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}"
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz
+ https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz
+ http://downloads.mysql.com/archives/MySQL-$(ver_cut 1-2)/${PN}-boost-${MY_PV}.tar.gz
+ ${PATCH_SET[@]}"
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
@@ -37,7 +37,7 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
tcmalloc? ( server )"
# -ppc, -riscv for bug #761715
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 -riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips -ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-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
@@ -53,7 +53,7 @@ COMMON_DEPEND="
>=dev-libs/openssl-1.0.0:0=
server? (
dev-libs/icu:=
- dev-libs/libevent:=[ssl,threads]
+ dev-libs/libevent:=[ssl,threads(+)]
>=dev-libs/protobuf-3.8:=
net-libs/libtirpc:=
cjk? ( app-text/mecab:= )
@@ -70,7 +70,7 @@ COMMON_DEPEND="
DEPEND="
${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- virtual/yacc
+ app-alternatives/yacc
server? ( net-libs/rpcsvc-proto )
test? (
acct-group/mysql acct-user/mysql
@@ -170,6 +170,7 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mysql-patches
+ eapply "${FILESDIR}"/${PN}-8.0.27-gcc12.patch
# Avoid rpm call which would trigger sandbox, #692368
sed -i \
@@ -201,7 +202,7 @@ src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
+ local mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
@@ -237,15 +238,10 @@ src_configure() {
-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 )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
@@ -1084,7 +1080,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mysql/mysql-8.0.26.ebuild b/dev-db/mysql/mysql-8.0.31-r2.ebuild
index 7667bc29e608..854e55432dfc 100644
--- a/dev-db/mysql/mysql-8.0.26.ebuild
+++ b/dev-db/mysql/mysql-8.0.31-r2.ebuild
@@ -1,33 +1,33 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs cmake flag-o-matic linux-info \
- multiprocessing prefix toolchain-funcs
+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.26-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}"
+PATCH_SET=( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-01.tar.xz )
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://downloads.mysql.com/archives/MySQL-$(ver_cut 1-2)/${PN}-boost-${MY_PV}.tar.gz"
+SRC_URI+=" ${PATCH_SET[@]}"
+# 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"
+
LICENSE="GPL-2"
SLOT="8.0"
-IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling
- router selinux +server tcmalloc test"
-
+# -ppc, -riscv for bug #761715
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips -ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling router selinux +server tcmalloc test"
RESTRICT="!test? ( test )"
-
REQUIRED_USE="?? ( tcmalloc jemalloc )
cjk? ( server )
jemalloc? ( server )
@@ -36,14 +36,7 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
router? ( server )
tcmalloc? ( server )"
-# -ppc, -riscv for bug #761715
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 -riscv ~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
+# Be warned, *DEPEND are version-dependent
# These are used for both runtime and compiletime
COMMON_DEPEND="
>=app-arch/lz4-0_p131:=
@@ -53,7 +46,7 @@ COMMON_DEPEND="
>=dev-libs/openssl-1.0.0:0=
server? (
dev-libs/icu:=
- dev-libs/libevent:=[ssl,threads]
+ dev-libs/libevent:=[ssl,threads(+)]
>=dev-libs/protobuf-3.8:=
net-libs/libtirpc:=
cjk? ( app-text/mecab:= )
@@ -70,7 +63,7 @@ COMMON_DEPEND="
DEPEND="
${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- virtual/yacc
+ app-alternatives/yacc
server? ( net-libs/rpcsvc-proto )
test? (
acct-group/mysql acct-user/mysql
@@ -94,6 +87,11 @@ RDEPEND="
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+PATCHES=(
+ "${WORKDIR}"/mysql-patches
+ "${FILESDIR}"/mysql-8.0.31-build-tmpdir-nodefault.patch
+)
+
mysql_init_vars() {
: ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
: ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
@@ -109,7 +107,7 @@ mysql_init_vars() {
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use server ; then
- CHECKREQS_DISK_BUILD="2G"
+ CHECKREQS_DISK_BUILD="3G"
if has test $FEATURES ; then
CHECKREQS_DISK_BUILD="9G"
@@ -122,7 +120,7 @@ pkg_pretend() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
- CHECKREQS_DISK_BUILD="2G"
+ CHECKREQS_DISK_BUILD="3G"
if has test ${FEATURES} ; then
CHECKREQS_DISK_BUILD="9G"
@@ -169,8 +167,6 @@ src_unpack() {
}
src_prepare() {
- eapply "${WORKDIR}"/mysql-patches
-
# Avoid rpm call which would trigger sandbox, #692368
sed -i \
-e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
@@ -195,22 +191,19 @@ src_configure() {
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
- append-cxxflags -felide-constructors
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ local mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usev !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}
@@ -223,8 +216,10 @@ src_configure() {
-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
@@ -237,20 +232,16 @@ src_configure() {
# 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 )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
@@ -354,12 +345,12 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
- # Run CTest (test-units)
- cmake_src_test
- retstatus_unit=$?
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
@@ -394,6 +385,7 @@ src_test() {
local -a disabled_tests
disabled_tests+=( "auth_sec.atomic_rename_user;103512;Depends on user running test" )
disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" )
+ disabled_tests+=( "auth_sec.openssl_without_fips;94718;Known test failure" )
disabled_tests+=( "gis.geometry_class_attri_prop;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.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" )
@@ -404,6 +396,7 @@ src_test() {
disabled_tests+=( "gis.spatial_operators_intersection;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.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.st_symdifference;5452;Known rounding error with latest AMD processors (PS)" )
disabled_tests+=( "innodb.alter_kill;0;Known test failure -- no upstream bug yet" )
disabled_tests+=( "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
disabled_tests+=( "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
@@ -529,10 +522,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
@@ -1088,7 +1080,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mysql/mysql-8.0.25-r1.ebuild b/dev-db/mysql/mysql-8.0.32-r2.ebuild
index 9a4e4b01dc9a..4f6fa4715c82 100644
--- a/dev-db/mysql/mysql-8.0.25-r1.ebuild
+++ b/dev-db/mysql/mysql-8.0.32-r2.ebuild
@@ -1,33 +1,33 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs cmake flag-o-matic linux-info \
- multiprocessing prefix toolchain-funcs
+inherit check-reqs cmake edo 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.25-patches-02.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}"
+PATCH_SET=( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-8.0.31-patches-01.tar.xz )
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://downloads.mysql.com/archives/MySQL-$(ver_cut 1-2)/${PN}-boost-${MY_PV}.tar.gz"
+SRC_URI+=" ${PATCH_SET[@]}"
+# 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"
+
LICENSE="GPL-2"
SLOT="8.0"
-IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling
- router selinux +server tcmalloc test"
-
+# -ppc, -riscv for bug #761715
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips -ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling router selinux +server tcmalloc test"
RESTRICT="!test? ( test )"
-
REQUIRED_USE="?? ( tcmalloc jemalloc )
cjk? ( server )
jemalloc? ( server )
@@ -36,51 +36,44 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
router? ( server )
tcmalloc? ( server )"
-# -ppc, -riscv for bug #761715
-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
+# Be warned, *DEPEND are version-dependent
# These are used for both runtime and compiletime
COMMON_DEPEND="
- >=app-arch/lz4-0_p131:=
+ >=app-arch/lz4-1.9.4:=
app-arch/zstd:=
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- >=dev-libs/openssl-1.0.0:0=
+ >=dev-libs/openssl-1.0.0:=
+ sys-libs/ncurses:=
+ >=sys-libs/zlib-1.2.13:=
server? (
dev-libs/icu:=
- dev-libs/libevent:=[ssl,threads]
+ dev-libs/libevent:=[ssl,threads(+)]
>=dev-libs/protobuf-3.8:=
net-libs/libtirpc:=
cjk? ( app-text/mecab:= )
- jemalloc? ( dev-libs/jemalloc:0= )
+ jemalloc? ( dev-libs/jemalloc:= )
kernel_linux? (
- dev-libs/libaio:0=
- sys-process/procps:0=
+ dev-libs/libaio:=
+ sys-process/procps:=
)
numa? ( sys-process/numactl )
- tcmalloc? ( dev-util/google-perftools:0= )
+ tcmalloc? ( dev-util/google-perftools:= )
)
"
-
DEPEND="
${COMMON_DEPEND}
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- virtual/yacc
+ app-alternatives/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/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 )
@@ -89,11 +82,15 @@ RDEPEND="
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 )"
+PATCHES=(
+ "${WORKDIR}"/mysql-patches
+ "${FILESDIR}"/${PN}-8.0.32-gcc13.patch
+)
+
mysql_init_vars() {
: ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
: ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
@@ -109,9 +106,9 @@ mysql_init_vars() {
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use server ; then
- CHECKREQS_DISK_BUILD="2G"
+ CHECKREQS_DISK_BUILD="3G"
- if has test $FEATURES ; then
+ if has test ${FEATURES} ; then
CHECKREQS_DISK_BUILD="9G"
fi
@@ -122,7 +119,7 @@ pkg_pretend() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
- CHECKREQS_DISK_BUILD="2G"
+ CHECKREQS_DISK_BUILD="3G"
if has test ${FEATURES} ; then
CHECKREQS_DISK_BUILD="9G"
@@ -136,8 +133,9 @@ pkg_setup() {
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 [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] ; then
+ die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+ fi
if use latin1 ; then
# Upstream only supports tests with default charset
@@ -145,17 +143,15 @@ pkg_setup() {
fi
fi
- if use kernel_linux ; then
- if use numa ; then
- linux-info_get_any_version
+ if use kernel_linux && use numa ; then
+ linux-info_get_any_version
- local CONFIG_CHECK="~NUMA"
+ 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"
+ 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
+ check_extra_config
fi
use server && check-reqs_pkg_setup
@@ -169,8 +165,6 @@ src_unpack() {
}
src_prepare() {
- eapply "${WORKDIR}"/mysql-patches
-
# Avoid rpm call which would trigger sandbox, #692368
sed -i \
-e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
@@ -195,22 +189,29 @@ src_configure() {
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
- append-cxxflags -felide-constructors
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
+
+ # Broken with FORTIFY_SOURCE=3
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ # bug #891259
+ if tc-enables-fortify-source ; then
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
# debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ local mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usev !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}
@@ -223,8 +224,10 @@ src_configure() {
-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
@@ -237,20 +240,16 @@ src_configure() {
# 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 )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
@@ -338,28 +337,29 @@ src_configure() {
}
# Official test instructions:
-# ulimit -n 16500 && \
-# USE='perl server' \
-# FEATURES='test userpriv' \
-# ebuild mysql-X.X.XX.ebuild \
-# digest clean package
+# ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' \
+# ebuild mysql-X.X.XX.ebuild digest clean test install
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"
+ 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=$?
+ einfo "Official test instructions:"
+ einfo "ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' ebuild ..."
+
+ if ! use server ; then
+ ewarn "Skipping server tests due to minimal build!"
+ return 0
+ fi
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
@@ -369,85 +369,130 @@ src_test() {
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.
+ # and fs.aio-max-nr settings. In addition, tests like main.multi_update
+ # are known to hit timeouts when the 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
+ einfo "Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ einfo "to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
MTR_PARALLEL=4
fi
else
einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
fi
- # >=dev-libs/openssl-3 defaults to security level 1 which disallow
- # TLSv1/1.1 but tests will require TLSv1/1.1.
- einfo "Set OpenSSL configuration for test suite ..."
- cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
- openssl_conf = default_conf
-
- [default_conf]
- ssl_conf = ssl_sect
-
- [ssl_sect]
- system_default = system_default_sect
-
- [system_default_sect]
- CipherString = DEFAULT@SECLEVEL=0
- EOF
-
- local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
-
- # create directories because mysqladmin might run out of order
+ # 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;103512;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.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- 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.subquery_sj_mat_bka_nobnl;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+=( "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware")
- 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+=( "rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch;0;Unstable test" )
- 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+" )
+ touch "${T}/disabled.def" || die
+
+ local -a disabled_tests=(
+ "auth_sec.atomic_rename_user;103512;Depends on user running test"
+ "auth_sec.keyring_file_data_qa;0;Won't work with user privileges"
+ "auth_sec.openssl_without_fips;94718;Known test failure"
+
+ "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.st_symdifference;5452;Known rounding error with latest AMD processors (PS)"
+
+ "innodb.alter_kill;0;Known test failure -- no upstream bug yet"
+
+ "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.gis-precise;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.mysql_load_data_local_dir;0;Known test failure -- no upstream bug yet"
+ "main.select_icp_mrr;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_mat_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware"
+
+ "rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch;0;Unstable test"
+ "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure"
+ "rpl_gtid.rpl_multi_source_mtr_includes;0;Known failure - no upstream bug yet"
+
+ "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware"
+
+ "x.connection;0;Known failure - no upstream bug yet"
+ "x.message_compressed_payload;0;False positive caused by protobuff-3.11+"
+ "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" )
+ # No need to force dep app-arch/zip for one test
+ disabled_tests+=(
+ "innodb.discarded_partition_create;0;Requires app-arch/zip"
+ "innodb.partition_upgrade_create;0;Requires app-arch/zip"
+ )
fi
if has_version ">=dev-libs/openssl-3" ; then
- # no need to force dep app-arch/zip for one test
+ # >=dev-libs/openssl-3 defaults to security level 1 which disallow
+ # TLSv1/1.1 but tests will require TLSv1/1.1.
+ einfo "Set OpenSSL configuration for test suite ..."
+
+ cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
+ openssl_conf = default_conf
+
+ [ req ]
+ default_bits = 2048
+ default_keyfile = privkey.pem
+ distinguished_name = req_distinguished_name
+
+ [ req_distinguished_name ]
+ countryName = Country Name (2 letter code)
+ countryName_default = AU
+ countryName_min = 2
+ countryName_max = 2
+
+ stateOrProvinceName = State or Province Name (full name)
+ stateOrProvinceName_default = Some-State
+
+ localityName = Locality Name (eg, city)
+
+ 0.organizationName = Organization Name (eg, company)
+ 0.organizationName_default = Internet Widgits Pty Ltd
+
+ organizationalUnitName = Organizational Unit Name (eg, section)
+
+ commonName = Common Name (e.g. server FQDN or YOUR name)
+ commonName_max = 64
+
+ emailAddress = Email Address
+ emailAddress_max = 64
+
+ [default_conf]
+ ssl_conf = ssl_sect
+
+ [ssl_sect]
+ system_default = system_default_sect
+
+ [system_default_sect]
+ CipherString = DEFAULT@SECLEVEL=0
+ EOF
+
+ local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
+
disabled_tests+=( "x.connection_tls_version;0;Not compatible with OpenSSL 3.x error messages" )
fi
@@ -466,14 +511,14 @@ src_test() {
# 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."
+ 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."
+ 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
@@ -485,7 +530,7 @@ src_test() {
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"
+ nonfatal edo 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
@@ -495,16 +540,18 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
src_install() {
cmake_src_install
+ # Not a GNU info file, more like a tiny README.
+ rm "${ED}"/usr/share/info/mysql.info || die
+
# Make sure the vars are correctly initialized
mysql_init_vars
@@ -1054,7 +1101,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mysql/mysql-8.0.25.ebuild b/dev-db/mysql/mysql-8.0.34.ebuild
index 57a120868df3..2b86120d9b9a 100644
--- a/dev-db/mysql/mysql-8.0.25.ebuild
+++ b/dev-db/mysql/mysql-8.0.34.ebuild
@@ -1,31 +1,31 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit check-reqs cmake flag-o-matic linux-info \
- multiprocessing prefix toolchain-funcs
+inherit check-reqs cmake edo 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.25-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}"
+PATCH_SET=( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-8.0.34-patches-01.tar.xz )
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://downloads.mysql.com/archives/MySQL-$(ver_cut 1-2)/${PN}-boost-${MY_PV}.tar.gz"
+SRC_URI+=" ${PATCH_SET[@]}"
+# 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"
+
LICENSE="GPL-2"
SLOT="8.0"
-IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling
- router selinux +server tcmalloc test"
-
+# -ppc for bug #761715
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling router selinux +server tcmalloc test"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc )
@@ -36,47 +36,44 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
router? ( server )
tcmalloc? ( server )"
-# -ppc, -riscv for bug #761715
-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
+# Be warned, *DEPEND are version-dependent
# 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=
- >=dev-libs/openssl-1.0.0:0=
+ >=app-arch/lz4-1.9.4:=
+ >=app-arch/zstd-1.2.0:=
+ >=dev-libs/openssl-1.0.0:=
+ sys-libs/ncurses:=
+ >=sys-libs/zlib-1.2.13:=
server? (
dev-libs/icu:=
- dev-libs/libevent:=[ssl,threads]
- >=dev-libs/protobuf-3.8:=
+ dev-libs/libevent:=[ssl,threads(+)]
net-libs/libtirpc:=
cjk? ( app-text/mecab:= )
- jemalloc? ( dev-libs/jemalloc:0= )
+ jemalloc? ( dev-libs/jemalloc:= )
kernel_linux? (
- dev-libs/libaio:0=
- sys-process/procps:0=
+ dev-libs/libaio:=
+ sys-process/procps:=
)
numa? ( sys-process/numactl )
- tcmalloc? ( dev-util/google-perftools:0= )
+ tcmalloc? ( dev-util/google-perftools:= )
)
"
-DEPEND="${COMMON_DEPEND}
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- virtual/yacc
+DEPEND="
+ ${COMMON_DEPEND}
+ app-alternatives/yacc
server? ( net-libs/rpcsvc-proto )
test? (
acct-group/mysql acct-user/mysql
+ dev-perl/Expect
dev-perl/JSON
)
"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+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 )
@@ -89,6 +86,10 @@ RDEPEND="${COMMON_DEPEND}
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+PATCHES=(
+ "${WORKDIR}"/mysql-patches
+)
+
mysql_init_vars() {
: ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
: ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
@@ -104,9 +105,9 @@ mysql_init_vars() {
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use server ; then
- CHECKREQS_DISK_BUILD="2G"
+ CHECKREQS_DISK_BUILD="3G"
- if has test $FEATURES ; then
+ if has test ${FEATURES} ; then
CHECKREQS_DISK_BUILD="9G"
fi
@@ -117,7 +118,7 @@ pkg_pretend() {
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
- CHECKREQS_DISK_BUILD="2G"
+ CHECKREQS_DISK_BUILD="3G"
if has test ${FEATURES} ; then
CHECKREQS_DISK_BUILD="9G"
@@ -131,8 +132,9 @@ pkg_setup() {
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 [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] ; then
+ die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+ fi
if use latin1 ; then
# Upstream only supports tests with default charset
@@ -140,17 +142,15 @@ pkg_setup() {
fi
fi
- if use kernel_linux ; then
- if use numa ; then
- linux-info_get_any_version
+ if use kernel_linux && use numa ; then
+ linux-info_get_any_version
- local CONFIG_CHECK="~NUMA"
+ 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"
+ 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
+ check_extra_config
fi
use server && check-reqs_pkg_setup
@@ -164,8 +164,6 @@ src_unpack() {
}
src_prepare() {
- eapply "${WORKDIR}"/mysql-patches
-
# Avoid rpm call which would trigger sandbox, #692368
sed -i \
-e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
@@ -190,22 +188,30 @@ src_configure() {
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
- append-cxxflags -felide-constructors
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
+
+ # Broken with FORTIFY_SOURCE=3
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ # bug #891259
+ if tc-enables-fortify-source ; then
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
- CMAKE_BUILD_TYPE="RelWithDebInfo"
+ if has sandbox ${FEATURES} ; then
+ # bug #823656
+ append-cppflags -DGTEST_NO_DEATH_TEST=1
+ fi
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ local mycmakeargs=(
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
+
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
@@ -218,8 +224,13 @@ src_configure() {
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
+
+ -DROUTER_INSTALL_LOGROTATEDIR="${EPREFIX}/etc/logrotate.d"
+ -DROUTER_INSTALL_DOCDIR="share/doc/${PF}"
+
-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
@@ -228,24 +239,28 @@ src_configure() {
-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 )
+ if use debug; then
+ # Debug build type used extensively to add preprocessor definitions
+ local -x CMAKE_BUILD_TYPE="Debug"
+ else
+ # debug hack wrt #497532
+ mycmakeargs+=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )"
+ )
+ fi
+
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
@@ -292,7 +307,8 @@ src_configure() {
-DWITH_DEBUG=$(usex debug)
-DWITH_MECAB=$(usex cjk system OFF)
-DWITH_LIBEVENT=system
- -DWITH_PROTOBUF=system
+ # Cannot handle protobuf >23 bug #912797
+ -DWITH_PROTOBUF=bundled
-DWITH_NUMA=$(usex numa ON OFF)
)
@@ -333,93 +349,101 @@ src_configure() {
}
# Official test instructions:
-# ulimit -n 16500 && \
-# USE='perl server' \
-# FEATURES='test userpriv' \
-# ebuild mysql-X.X.XX.ebuild \
-# digest clean package
+# ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' \
+# ebuild mysql-X.X.XX.ebuild digest clean test install
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"
+ 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=$?
+ einfo "Official test instructions:"
+ einfo "ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' ebuild ..."
- # 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}'"
+ if ! use server ; then
+ ewarn "Skipping server tests due to minimal build!"
+ return 0
fi
- # create directories because mysqladmin might run out of order
+ # Ensure that parallel runs don't die
+ local -x MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ local -x MTR_PARALLEL=${MTR_PARALLEL:-$(makeopts_jobs)}
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+
+ # Disable unit tests, run them separately with eclass defaults
+ local -x MTR_UNIT_TESTS=0
+
+ # 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;103512;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.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- 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.subquery_sj_mat_bka_nobnl;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+=( "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware")
- 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+" )
+ touch "${T}/disabled.def" || die
+
+ local -a disabled_tests=(
+ "auth_sec.atomic_rename_user;103512;Depends on user running test"
+ "auth_sec.keyring_file_data_qa;0;Won't work with user privileges"
+ "auth_sec.openssl_without_fips;94718;Known test failure"
+
+ "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.st_symdifference;5452;Known rounding error with latest AMD processors (PS)"
+
+ "innodb.alter_kill;0;Known test failure -- no upstream bug yet"
+
+ "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.gis-precise;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.mysql_load_data_local_dir;0;Known test failure -- no upstream bug yet"
+ "main.select_icp_mrr;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_mat_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_all_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware"
+
+ "rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch;0;Unstable test"
+ "rpl_gtid.rpl_multi_source_mtr_includes;97844;Unstable test"
+ "main.partition_datatype;0;Unstable test"
+
+ "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware"
+
+ "x.connection;0;Known failure - no upstream bug yet"
+ "main.slow_log;0;Known failure - no upstream bug yet"
+ )
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" )
+ # No need to force dep app-arch/zip for one test
+ disabled_tests+=(
+ "innodb.discarded_partition_create;0;Requires app-arch/zip"
+ "innodb.partition_upgrade_create;0;Requires app-arch/zip"
+ )
fi
local test_infos_str test_infos_arr
@@ -434,17 +458,45 @@ src_test() {
done
unset test_infos_str test_infos_arr
+ local -a CMAKE_SKIP_TESTS=(
+ # timing test, can be unreliable
+ "routertest_harness_net_ts_timer"
+
+ # Could not get local host address: Name or service not known(errno: -2)
+ "routertest_component_bootstrap"
+ "routertest_component_bootstrap_account"
+ "routertest_component_bootstrap_clusterset"
+ "routertest_component_config_overwrites"
+ "routertest_component_rest_api_enable"
+ "routertest_component_routing"
+ "routertest_component_sd_notify"
+ "routertest_component_state_file"
+ "routertest_integration_routing_direct"
+ "routertest_integration_routing_reuse"
+ "routertest_integration_routing_sharing"
+ "routertest_integration_routing_sharing_constrained_pools"
+ "routertest_integration_routing_sharing_restart"
+
+ # FIXME: suffers from broken DEATH_TESTS's
+ "routertest_router_certificate_generator"
+
+ # TODO: ???
+ "pfs_host-oom"
+ "pfs_user-oom"
+ "pfs"
+ )
+
# 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."
+ 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."
+ 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
@@ -456,7 +508,13 @@ src_test() {
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"
+ # Enable force restart to ensure success when tests don't cleanup sufficiently.
+ # Anything touching gtid_executed is negatively affected if you have unlucky ordering
+ nonfatal edo perl mysql-test-run.pl \
+ --force --force-restart \
+ --vardir="${T}/var-tests" --tmpdir="${T}/tmp-tests" \
+ --skip-test=tokudb --skip-test-list="${T}/disabled.def" \
+ --retry-failure=0
retstatus_tests=$?
popd &>/dev/null || die
@@ -466,10 +524,11 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
+
+ cmake_src_test
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
@@ -1025,7 +1084,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/mysql/mysql-8.0.36.ebuild b/dev-db/mysql/mysql-8.0.36.ebuild
new file mode 100644
index 000000000000..91b033ef3d2f
--- /dev/null
+++ b/dev-db/mysql/mysql-8.0.36.ebuild
@@ -0,0 +1,1271 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs cmake edo flag-o-matic linux-info multiprocessing prefix
+
+MY_PV="${PV//_pre*}"
+MY_P="${PN}-${MY_PV}"
+
+# Patch version
+PATCH_SET=( https://github.com/parona-source/mysql-server/releases/download/mysql-8.0.36-patches-01/mysql-8.0.36-patches-01.tar.xz )
+
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+HOMEPAGE="https://www.mysql.com/"
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://downloads.mysql.com/archives/MySQL-$(ver_cut 1-2)/${PN}-boost-${MY_PV}.tar.gz"
+SRC_URI+=" ${PATCH_SET[@]}"
+# 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"
+
+LICENSE="GPL-2"
+SLOT="8.0"
+# -ppc for bug #761715
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling router selinux +server tcmalloc test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )
+ cjk? ( server )
+ jemalloc? ( server )
+ numa? ( server )
+ profiling? ( server )
+ router? ( server )
+ tcmalloc? ( server )"
+
+# Be warned, *DEPEND are version-dependent
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ >=app-arch/lz4-1.9.4:=
+ >=app-arch/zstd-1.2.0:=
+ >=dev-libs/openssl-1.0.0:=
+ sys-libs/ncurses:=
+ >=sys-libs/zlib-1.2.13:=
+ server? (
+ dev-libs/icu:=
+ dev-libs/libevent:=[ssl,threads(+)]
+ net-libs/libtirpc:=
+ cjk? ( app-text/mecab:= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ kernel_linux? (
+ dev-libs/libaio:=
+ sys-process/procps
+ )
+ numa? ( sys-process/numactl )
+ tcmalloc? ( dev-util/google-perftools:= )
+ )
+"
+
+# https://bugs.gentoo.org/623962
+# tests set TZ for tests leading to failures on musl if sys-libs/timezone-data isnt installed
+DEPEND="
+ ${COMMON_DEPEND}
+ app-alternatives/yacc
+ server? ( net-libs/rpcsvc-proto )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/Expect
+ dev-perl/JSON
+ sys-libs/timezone-data
+ )
+"
+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 )"
+
+PATCHES=(
+ "${WORKDIR}"/mysql-patches
+ # Needed due to bundled boost-1.77, this fix is included in boost-1.81
+ "${FILESDIR}"/mysql-8.0.36-boost-clang-fix.patch
+)
+
+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="10G"
+
+ if use elibc_musl; then
+ # <parona@protonmail.com> i've seen it take 17GB on musl with FEATURES="test" USE="perl server"
+ CHECKREQS_DISK_BUILD="18G"
+ fi
+ 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="10G"
+
+ if use elibc_musl; then
+ # <parona@protonmail.com> i've seen it take 17GB on musl with FEATURES="test" USE="perl server"
+ CHECKREQS_DISK_BUILD="18G"
+ fi
+
+ # 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)
+ if [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] ; then
+ die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+ fi
+
+ 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 && 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
+
+ use server && check-reqs_pkg_setup
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
+}
+
+src_prepare() {
+ # 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]"
+
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
+
+ if has sandbox ${FEATURES} ; then
+ # bug #823656
+ append-cppflags -DGTEST_NO_DEATH_TEST=1
+ fi
+
+ local mycmakeargs=(
+ -Wno-dev # less noise
+
+ -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"
+
+ -DROUTER_INSTALL_LOGROTATEDIR="${EPREFIX}/etc/logrotate.d"
+ -DROUTER_INSTALL_DOCDIR="share/doc/${PF}"
+
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+
+ # Enables -Werror
+ -DMYSQL_MAINTAINER_MODE=OFF
+
+ # Causes issues on musl bug #922808
+ -DWITH_BUILD_ID=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
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+
+ -DWITH_CURL=system
+ -DWITH_BOOST="${S}/boost"
+ -DWITH_ROUTER=$(usex router ON OFF)
+ )
+
+ if use debug; then
+ # Debug build type used extensively to add preprocessor definitions
+ local -x CMAKE_BUILD_TYPE="Debug"
+ else
+ # debug hack wrt #497532
+ mycmakeargs+=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )"
+ )
+ fi
+
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
+ else
+ mycmakeargs+=( -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
+ # Cannot handle protobuf >23 bug #912797
+ -DWITH_PROTOBUF=bundled
+ -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 test install
+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_tests
+
+ einfo "Official test instructions:"
+ einfo "ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' ebuild ..."
+
+ if ! use server ; then
+ ewarn "Skipping server tests due to minimal build!"
+ return 0
+ fi
+
+ # Ensure that parallel runs don't die
+ local -x MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ local -x MTR_PARALLEL=${MTR_PARALLEL:-$(makeopts_jobs)}
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+
+ # Disable unit tests, run them separately with eclass defaults
+ local -x MTR_UNIT_TESTS=0
+
+ # Increase test timeouts
+ # bug #923649
+ # https://github.com/gentoo/gentoo/pull/35002#issuecomment-1926101030
+ local -x MTR_SUITE_TIMEOUT=$(( 60 * 40 )) # minutes
+ local -x MTR_TESTCASE_TIMEOUT=60 # minutes
+
+ # Include config for tests, this is for scenarios where mysql wasn't installed previously or if the
+ # configuration was from an older version.
+ sed \
+ -e "s/@GENTOO_PORTAGE_EPREFIX@/${EPREFIX}/" \
+ -e "s/@DATADIR@/${MY_DATADIR}/" \
+ "${FILESDIR}"/my.cnf-8.0.distro-client \
+ "${FILESDIR}"/my.cnf-8.0.distro-server \
+ > "${T}"/my.cnf || die
+ local -X PATH_CONFIG_FILE="${T}/my.cnf"
+
+ # 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" || die
+
+ local -a disabled_tests=(
+ "auth_sec.atomic_rename_user;103512;Depends on user running test"
+ "auth_sec.keyring_file_data_qa;0;Won't work with user privileges"
+ "auth_sec.openssl_without_fips;94718;Known test failure"
+
+ "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.st_symdifference;5452;Known rounding error with latest AMD processors (PS)"
+
+ "innodb.alter_kill;0;Known test failure -- no upstream bug yet"
+
+ "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.gis-precise;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.mysql_load_data_local_dir;0;Known test failure -- no upstream bug yet"
+ "main.select_icp_mrr;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_mat_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_all_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware"
+
+ "rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch;0;Unstable test"
+ "rpl_gtid.rpl_multi_source_mtr_includes;97844;Unstable test"
+ "main.partition_datatype;0;Unstable test"
+
+ "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware"
+
+ "x.connection;0;Known failure - no upstream bug yet"
+ "main.slow_log;0;Known failure - no upstream bug yet"
+
+ "sys_vars.build_id_basic;0;Requires -DWITH_BUILD_ID=ON"
+ )
+
+ 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"
+ "innodb.partition_upgrade_create;0;Requires app-arch/zip"
+ )
+ fi
+
+ if has_version ">=dev-libs/openssl-3.2" ; then
+ # https://bugs.mysql.com/bug.php?id=113258
+ disabled_tests+=(
+ "rpl.rpl_tlsv13;0;CCM8 ciphers have a lower security level with OpenSSL 3.2"
+ "auth_sec.wl15800_ciphers_tlsv13;0;CCM8 ciphers have a lower security level with OpenSSL 3.2"
+ )
+ fi
+
+ if use debug; then
+ disabled_tests+=(
+ "innodb.dblwr_unencrypt;0;Known test failure -- no upstream bug yet"
+ )
+ 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
+
+ local -a CMAKE_SKIP_TESTS=(
+ # timing test, can be unreliable
+ "routertest_harness_net_ts_timer"
+
+ # Could not get local host address: Name or service not known(errno: -2)
+ "routertest_component_bootstrap"
+ "routertest_component_bootstrap_account"
+ "routertest_component_bootstrap_clusterset"
+ "routertest_component_config_overwrites"
+ "routertest_component_rest_api_enable"
+ "routertest_component_routing"
+ "routertest_component_sd_notify"
+ "routertest_component_state_file"
+ "routertest_integration_routing_direct"
+ "routertest_integration_routing_reuse"
+ "routertest_integration_routing_sharing"
+ "routertest_integration_routing_sharing_constrained_pools"
+ "routertest_integration_routing_sharing_restart"
+
+ # TODO: ???
+ "pfs_host-oom"
+ "pfs_user-oom"
+ "pfs"
+ )
+
+ if use debug; then
+ CMAKE_SKIP_TESTS+=(
+ # binary_log::transaction::compression::Payload_event_buffer_istream::~Payload_event_buffer_istream(): Assertion `!m_outstanding_error' failed.
+ "payload_event_buffer_istream"
+ )
+ 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
+ # Enable force restart to ensure success when tests don't cleanup sufficiently.
+ # Anything touching gtid_executed is negatively affected if you have unlucky ordering
+ nonfatal edo perl mysql-test-run.pl \
+ --force --force-restart \
+ --vardir="${T}/var-tests" --tmpdir="${T}/tmp-tests" \
+ --skip-test=tokudb --skip-test-list="${T}/disabled.def" \
+ --retry-failure=0 --max-test-fail=0
+ 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_tests} -eq 0 ]] || failures="${failures} tests"
+
+ cmake_src_test
+
+ [[ -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}"
+ grep -E -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 4558c232abf5..6f2a4fd61356 100644
--- a/dev-db/mysqltuner/Manifest
+++ b/dev-db/mysqltuner/Manifest
@@ -1 +1 @@
-DIST mysqltuner-1.7.21.tar.gz 223961 BLAKE2B 1307afc2a73b40330817fe0c0b834a537b14caed1125acbdc5a03e98787321ffbbfb84ba0a2077adb0fa49c0e2df947dc0062d2218866c689fbfd903776f7fbd SHA512 2b5d8a7cc3f0ebe3a481cd77e395ead37ec037f0a9b9649bbf450215bc83f4049a297d86b171c7e2e7d51b3fbe381069310f13d3b8152f5a90e05a9efbabd4dc
+DIST mysqltuner-2.5.2.tar.gz 5132683 BLAKE2B 439559c05ed9daad6f21fc90f91b3b39619ca2012a719eca3ba4b5d8cb2d963fb8bc10b0ea2855052ca5716fc98aa62f35bd0288380dceb79c1832150fe7f2a8 SHA512 9fe3d77636e3779ca2ab5f93cd7c480d651f6c26f4e6271adfcee6012aa423579f124ce6858bbf7142b2967f30bc0f0517b5d82ad2a35ecc004b1b621d0bee45
diff --git a/dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch b/dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch
new file mode 100644
index 000000000000..d32ea2751978
--- /dev/null
+++ b/dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch
@@ -0,0 +1,107 @@
+From ca10ec741100501aa8190d129263b86104c08222 Mon Sep 17 00:00:00 2001
+From: Jean-Marie Renouard <jmrenouard@gmail.com>
+Date: Tue, 6 Feb 2024 18:35:38 +0100
+Subject: [PATCH] Adding shebang comment for auto execution
+
+---
+ mysqltuner.pl | 1 +
+ v2.5.2.txt | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 82 insertions(+)
+ create mode 100644 v2.5.2.txt
+
+diff --git a/mysqltuner.pl b/mysqltuner.pl
+index 3a755318..2006e20d 100755
+--- a/mysqltuner.pl
++++ b/mysqltuner.pl
+@@ -1,3 +1,4 @@
++#!/bin/env perl
+ # mysqltuner.pl - Version 2.5.2
+ # High Performance MySQL Tuning Script
+ # Copyright (C) 2015-2023 Jean-Marie Renouard - jmrenouard@gmail.com
+diff --git a/v2.5.2.txt b/v2.5.2.txt
+new file mode 100644
+index 00000000..b8e4d854
+--- /dev/null
++++ b/v2.5.2.txt
+@@ -0,0 +1,81 @@
++commit 4fdd80139269691828c0a27ff583b2ee49987451
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Tue Feb 6 18:00:04 2024 +0100
++
++ Generate CVE list at 2024-02-06T17:59:02+01:00
++
++commit dd2ed7264295a6d328c59c7c395eeb9be933fdde
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Tue Feb 6 17:58:57 2024 +0100
++
++ Indenting mysqltuner at 2024-02-06T17:58:52+01:00
++
++commit 30d1d9ecc61393ec807d2596ef8b5e178a4b52cd
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Tue Feb 6 17:58:35 2024 +0100
++
++ Generate 2.5.2 sub version at 2024-02-06T17:58:35+01:00
++
++commit b3a776576e7e568143797d62b754d9f992ffd1db
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Sun Feb 4 00:34:49 2024 +0100
++
++ Two separate garb install script with or without SSL
++
++commit 27525ca922a74d1df5c53c4d3ed1a1f07029919c
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Sun Feb 4 00:31:54 2024 +0100
++
++ Fix issue in Buffer Pool instead of Log Buffer Pool
++
++commit 65b1c138a56157774d8d98f93741a42054b3f4c6
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Thu Jan 18 05:38:00 2024 +0100
++
++ #741 false positive in log error detection
++
++commit 56d16e168efe85ba4a93b93800c50b42cdd32aee
++Merge: 3fd633b b608da0
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Wed Jan 17 18:35:27 2024 +0100
++
++ Merge pull request #745 from FabioPedretti/master
++
++ Enable color by default when running on a terminal
++
++commit b608da0fb1a8ad3200b5857a4ef6e6706934ab46
++Author: Fabio Pedretti <pedretti.fabio@gmail.com>
++Date: Thu Jan 11 11:27:25 2024 +0100
++
++ Enable color by default when running on a terminal
++
++commit 3fd633b507d48e7505c28aab8dc48d73f028f8da
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Fri Dec 1 00:46:15 2023 +0100
++
++ Generate 2.5.0 minor version at 2023-12-01T00:45:45+01:00
++
++commit 77699b72ae2e12f948aff622dd8194c9dbec9e09
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Fri Dec 1 00:45:34 2023 +0100
++
++ Suggest incrementing log_buffer_size to improve InnoDB Write Log efficiency.
++ #462
++
++commit c20bcbf8f0c00f9e900a880559ac95688ec9b1dc
++Merge: b10cdb7 01a1e53
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Thu Nov 30 21:51:53 2023 +0100
++
++ Merge pull request #744 from paskal/remove_innodb_stats_on_metadata
++
++ Remove innodb_stats_on_metadata mentions in Readme
++
++commit 01a1e5336487e8464d655a4a8a1d51af0ebd38ee
++Author: Dmitry Verkhoturov <paskal.07@gmail.com>
++Date: Thu Nov 30 15:59:51 2023 +0100
++
++ remove innodb_stats_on_metadata mentions in Readme
++
++ That flag is off by default, starting with MySQL 5.7, and the tool
++ itself reports it in the "Performance Metrics" section.
diff --git a/dev-db/mysqltuner/metadata.xml b/dev-db/mysqltuner/metadata.xml
index 115e9d64a669..070d028f5266 100644
--- a/dev-db/mysqltuner/metadata.xml
+++ b/dev-db/mysqltuner/metadata.xml
@@ -1,5 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ MySQLTuner is a script written in Perl that will assist
+ you with your MySQL configuration and make recommendations
+ for increased performance and stability.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/major/MySQLTuner-perl/issues</bugs-to>
+ <remote-id type="github">major/MySQLTuner-perl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mysqltuner/mysqltuner-1.7.21-r1.ebuild b/dev-db/mysqltuner/mysqltuner-1.7.21-r1.ebuild
deleted file mode 100644
index 7898a62e97b5..000000000000
--- a/dev-db/mysqltuner/mysqltuner-1.7.21-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN=MySQLTuner-perl
-
-DESCRIPTION="MySQLTuner is a high-performance MySQL tuning script"
-HOMEPAGE="https://github.com/major/MySQLTuner-perl"
-SRC_URI="https://github.com/major/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-lang/perl
- virtual/perl-Getopt-Long"
-
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-DOCS=( USAGE.md CONTRIBUTING.md INTERNALS.md basic_passwords.txt vulnerabilities.csv )
-
-src_install() {
- einstalldocs
-
- newbin "${PN}.pl" "${PN}"
-
- # Passwords and vulnerabilities are meant to be fed
- # to the script uncompressed.
- docompress -x "/usr/share/doc/${PF}/basic_passwords.txt" "/usr/share/doc/${PF}/vulnerabilities.csv"
-}
diff --git a/dev-db/mysqltuner/mysqltuner-2.5.2.ebuild b/dev-db/mysqltuner/mysqltuner-2.5.2.ebuild
new file mode 100644
index 000000000000..0fe8e0faba42
--- /dev/null
+++ b/dev-db/mysqltuner/mysqltuner-2.5.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="MySQLTuner-perl"
+
+DESCRIPTION="Makes recommendations for increased performance and stability for MySQL"
+HOMEPAGE="https://github.com/major/MySQLTuner-perl"
+SRC_URI="https://github.com/major/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ dev-lang/perl
+ virtual/perl-Getopt-Long
+"
+
+PATCHES=( "${FILESDIR}/${PN}-2.5.2-missing-shebang.patch" )
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ newbin mysqltuner.pl mysqltuner
+ dodoc {CONTRIBUTING,INTERNALS,USAGE}.md
+ einstalldocs
+
+ # Passwords and vulnerabilities are meant to be fed to the script uncompressed.
+ dodoc basic_passwords.txt vulnerabilities.csv
+ docompress -x "/usr/share/doc/${PF}/basic_passwords.txt" "/usr/share/doc/${PF}/vulnerabilities.csv"
+}
diff --git a/dev-db/mytop/mytop-1.9.1.ebuild b/dev-db/mytop/mytop-1.9.1-r1.ebuild
index 004f5b3371ee..71c49ce78347 100644
--- a/dev-db/mytop/mytop-1.9.1.ebuild
+++ b/dev-db/mytop/mytop-1.9.1-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+DIST_TEST="do"
inherit perl-module
DESCRIPTION="mytop - a top clone for mysql"
@@ -12,24 +13,23 @@ SRC_URI="http://www.mysqlfanboy.com/mytop-3/${P}.tar.gz"
LICENSE="GPL-2"
KEYWORDS="~alpha amd64 ppc sparc x86"
SLOT="0"
-IUSE=""
-RDEPEND="dev-perl/DBD-mysql
- virtual/perl-Getopt-Long
+RDEPEND="
+ dev-perl/DBD-mysql
dev-perl/TermReadKey
+ virtual/perl-Getopt-Long
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes"
-DEPEND="${RDEPEND}
- >=sys-apps/sed-4"
+DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}/${PN}-1.9.1-global-status.patch"
- "${FILESDIR}/${PN}-1.9.1-queries-vs-questions-mysql-5.0.76.patch"
- )
-SRC_TEST="do"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.1-global-status.patch
+ "${FILESDIR}"/${PN}-1.9.1-queries-vs-questions-mysql-5.0.76.patch
+)
src_install() {
perl-module_src_install
- sed -i -r\
+ sed -i -r \
-e "s|socket( +)=> '',|socket\1=> '/var/run/mysqld/mysqld.sock',|g" \
- "${D}"/usr/bin/mytop
+ "${ED}"/usr/bin/mytop || die
}
diff --git a/dev-db/ocp/Manifest b/dev-db/ocp/Manifest
index ea45fabd60b9..7ce94fa57a9d 100644
--- a/dev-db/ocp/Manifest
+++ b/dev-db/ocp/Manifest
@@ -1,2 +1 @@
-DIST ocp-0.2.tar.gz 144968 BLAKE2B 495b2af182768a0c18b08350fb77b09964be52afd72f3ff610ed6a0a54905b116744c93c6261986ca48a0a0c56fd23fd2d15d1919f4c8a4ff8b55ebe532efa07 SHA512 0ff132a368a615c2a8e8ecb391da138ce9fd52d638de82e5a4d1c9ec3340b117c9c4d8f971ee86724664f93b4073b189407c3c19a0c22c961922145d30221c85
DIST ocp-0.3.tar.gz 156447 BLAKE2B 0c7f8743fe4ae46c3b9d95847e39c51fd1b829af9e9a7e87f3b7a59ab146a89ccf0913bebc3b1c0ef985b0faf24152756dc73f243217e4d2dcf8013de342ed27 SHA512 1af862f21cc3572344d26b6765a93e4e9c8744e01d550a36647afbe690886717e3fb1d8264832563161d65d04c41fe183dd8b518320df959fd3aa4ebbe602d38
diff --git a/dev-db/ocp/ocp-0.2.ebuild b/dev-db/ocp/ocp-0.2.ebuild
deleted file mode 100644
index 3745af1f5a87..000000000000
--- a/dev-db/ocp/ocp-0.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic
-
-DESCRIPTION="Oracle copy tool"
-HOMEPAGE="https://github.com/maxsatula/ocp"
-
-if [[ ${PV} == *9999 ]]; then
- EGIT_REPO_URI="https://github.com/maxsatula/ocp.git"
- EGIT_BRANCH="develop"
- inherit git-r3 autotools
-else
- SRC_URI="https://github.com/maxsatula/ocp/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-db/oracle-instantclient-basic
- dev-libs/popt
- sys-libs/zlib"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- if [[ ${PV} == *9999 ]] ; then
- eautoreconf
- fi
-}
-
-src_configure() {
- append-ldflags $(no-as-needed)
- default
-}
diff --git a/dev-db/ocp/ocp-0.3.ebuild b/dev-db/ocp/ocp-0.3.ebuild
index 5c6591bf5df3..baeb53e6decb 100644
--- a/dev-db/ocp/ocp-0.3.ebuild
+++ b/dev-db/ocp/ocp-0.3.ebuild
@@ -1,15 +1,17 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="Oracle copy tool"
HOMEPAGE="https://github.com/maxsatula/ocp"
+inherit toolchain-funcs
+
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/maxsatula/ocp.git"
EGIT_BRANCH="develop"
- inherit git-r3 autotools
+ inherit autotools git-r3
else
SRC_URI="https://github.com/maxsatula/ocp/releases/download/v${PV}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
@@ -27,6 +29,10 @@ DEPEND="
dev-db/oracle-instantclient[sdk]
${RDEPEND}"
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
src_prepare() {
default
diff --git a/dev-db/ocp/ocp-9999.ebuild b/dev-db/ocp/ocp-9999.ebuild
index 5c6591bf5df3..baeb53e6decb 100644
--- a/dev-db/ocp/ocp-9999.ebuild
+++ b/dev-db/ocp/ocp-9999.ebuild
@@ -1,15 +1,17 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="Oracle copy tool"
HOMEPAGE="https://github.com/maxsatula/ocp"
+inherit toolchain-funcs
+
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/maxsatula/ocp.git"
EGIT_BRANCH="develop"
- inherit git-r3 autotools
+ inherit autotools git-r3
else
SRC_URI="https://github.com/maxsatula/ocp/releases/download/v${PV}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
@@ -27,6 +29,10 @@ DEPEND="
dev-db/oracle-instantclient[sdk]
${RDEPEND}"
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
src_prepare() {
default
diff --git a/dev-db/opendbx/Manifest b/dev-db/opendbx/Manifest
index bed49d750703..fa478c56f9f0 100644
--- a/dev-db/opendbx/Manifest
+++ b/dev-db/opendbx/Manifest
@@ -1,3 +1 @@
-DIST libopendbx-1.5.0.tar.gz 583894 BLAKE2B c427bf8d79df6b83d0ce940d974625bd9b54e49e502f864d244a780185b6321f84a6b779e09b603a71ca26549844001268f0357169e9a74e742b9c2668e4b3ec SHA512 7e4e9b8c62fd981276f6747f8184d7e34d743b866bfd76c8126a16371b50dc682177fd563212333d2dbebe2128d0b1527fc69029833329ba8cc0311308fa9bb5
-DIST opendbx-1.4.5.tar.gz 582915 BLAKE2B 7a11947f73ba3a3d407fecf7600589b64a6a80b82f24720ae613d1dc7044e7efe3af8fe273c0cdb043923af2cee1913766054eff3267243345b89c6977124be6 SHA512 e46289f9a7eb8b6e4084863834f8c4ca080eb3343b5f9d5837c476bab0a39e798a6364c8648f9fb53e52ab60cae57749b9f7e9bd23cb95b8ff21160f1bf4247e
DIST opendbx-1.4.6.tar.gz 587514 BLAKE2B 0a6c983ac1ebdc3ad9390185938f32e13ba9ff2ced6d41390421e1e3a1e9eb639a85d89da7ce2dd67f05fd2fcaebb2f53146f43678e548511403d8cdc4de88da SHA512 dd6d53d29157057dbf4e273fd82c7694e8bc626d3409d6ab9c25627a0fec96418326550fa8004b5341facdc4cd8aae12516224e8bb84e2562482885780ff0e55
diff --git a/dev-db/opendbx/metadata.xml b/dev-db/opendbx/metadata.xml
index e11df474b918..85e4ed814fa2 100644
--- a/dev-db/opendbx/metadata.xml
+++ b/dev-db/opendbx/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>alicef@gentoo.org</email>
- <name>Alice Ferrazzi</name>
-</maintainer>
+<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-db/opendbx/opendbx-1.4.5-r1.ebuild b/dev-db/opendbx/opendbx-1.4.5-r1.ebuild
deleted file mode 100644
index d62eda3c5e8c..000000000000
--- a/dev-db/opendbx/opendbx-1.4.5-r1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic
-
-DESCRIPTION="OpenDBX - A database abstraction layer"
-HOMEPAGE="https://www.linuxnetworks.de/doc/index.php/OpenDBX"
-SRC_URI="https://www.linuxnetworks.de/opendbx/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="firebird +mysql oracle postgres sqlite"
-RESTRICT="firebird? ( bindist )"
-
-RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( dev-db/sqlite:3 )
- oracle? ( dev-db/oracle-instantclient-basic )
- firebird? ( dev-db/firebird )"
-DEPEND="${RDEPEND} app-doc/doxygen app-text/docbook2X"
-
-REQUIRED_USE="|| ( firebird mysql oracle postgres sqlite )"
-
-PATCHES=( "${FILESDIR}/${PN}-doxy.patch" )
-
-pkg_setup() {
- if use oracle && [[ ! -d ${ORACLE_HOME} ]]
- then
- die "Oracle support requested, but ORACLE_HOME not set to a valid directory!"
- fi
-}
-
-src_configure() {
- local backends=""
-
- use firebird && backends="${backends} firebird"
- use mysql && backends="${backends} mysql"
- use oracle && backends="${backends} oracle"
- use postgres && backends="${backends} pgsql"
- use sqlite && backends="${backends} sqlite3"
-
- use mysql && append-cppflags -I/usr/include/mysql
- use firebird && append-cppflags -I/opt/firebird/include
-
- if use oracle ; then
- # Traditionally, OCI header files are provided in:
- append-cppflags -I"${ORACLE_HOME}"/rdbms/public
- # But newer versions merged them with additional SDKs:
- append-cppflags -I"${ORACLE_HOME}"/sdk/include
- # Depending on the client package ORACLE_HOME refers to,
- # we need to find the libraries in varying locations:
- # - gentoo instantclient has multilib (dev-db/oracle-instantclient)
- append-ldflags -L"${ORACLE_HOME}"/$(get_libdir)
- # - vanilla full client lacks multilib (LINUX*_client{,_home}.zip)
- append-ldflags -L"${ORACLE_HOME}"/lib
- # - vanilla instantclient lacks libdir (instantclient-*.zip)
- append-ldflags -L"${ORACLE_HOME}"
- fi
-
- # bug #788304
- append-cxxflags -std=c++14
-
- econf --with-backends="${backends}"
-}
-
-src_compile() {
- # bug #322221
- emake -j1
-}
-
-src_install() {
- emake -j1 install DESTDIR="${D}"
- dodoc AUTHORS ChangeLog README
-
- rm -f "${D}"/usr/$(get_libdir)/opendbx/*.{a,la}
-}
diff --git a/dev-db/opendbx/opendbx-1.4.6-r2.ebuild b/dev-db/opendbx/opendbx-1.4.6-r2.ebuild
deleted file mode 100644
index 7ba0179bedaa..000000000000
--- a/dev-db/opendbx/opendbx-1.4.6-r2.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic
-
-DESCRIPTION="OpenDBX - A database abstraction layer"
-HOMEPAGE="https://www.linuxnetworks.de/doc/index.php/OpenDBX"
-SRC_URI="https://www.linuxnetworks.de/opendbx/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="firebird +mysql oracle postgres sqlite"
-RESTRICT="firebird? ( bindist )"
-
-RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( dev-db/sqlite:3 )
- oracle? ( dev-db/oracle-instantclient-basic )
- firebird? ( dev-db/firebird )"
-DEPEND="${RDEPEND} app-doc/doxygen app-text/docbook2X"
-
-REQUIRED_USE="|| ( firebird mysql oracle postgres sqlite )"
-
-PATCHES=( "${FILESDIR}/${PN}-doxy.patch" )
-
-pkg_setup() {
- if use oracle && [[ ! -d ${ORACLE_HOME} ]]
- then
- die "Oracle support requested, but ORACLE_HOME not set to a valid directory!"
- fi
-}
-
-src_configure() {
- local backends=""
-
- use firebird && backends="${backends} firebird"
- use mysql && backends="${backends} mysql"
- use oracle && backends="${backends} oracle"
- use postgres && backends="${backends} pgsql"
- use sqlite && backends="${backends} sqlite3"
-
- use mysql && append-cppflags -I/usr/include/mysql
- use firebird && append-cppflags -I/opt/firebird/include
-
- if use oracle ; then
- # Traditionally, OCI header files are provided in:
- append-cppflags -I"${ORACLE_HOME}"/rdbms/public
- # But newer versions merged them with additional SDKs:
- append-cppflags -I"${ORACLE_HOME}"/sdk/include
- # Depending on the client package ORACLE_HOME refers to,
- # we need to find the libraries in varying locations:
- # - gentoo instantclient has multilib (dev-db/oracle-instantclient)
- append-ldflags -L"${ORACLE_HOME}"/$(get_libdir)
- # - vanilla full client lacks multilib (LINUX*_client{,_home}.zip)
- append-ldflags -L"${ORACLE_HOME}"/lib
- # - vanilla instantclient lacks libdir (instantclient-*.zip)
- append-ldflags -L"${ORACLE_HOME}"
- fi
-
- # bug #788304
- append-cxxflags -std=c++14
-
- econf --with-backends="${backends}"
-}
-
-src_compile() {
- # bug #322221
- emake -j1
-}
-
-src_install() {
- emake -j1 install DESTDIR="${D}"
- dodoc AUTHORS ChangeLog README
-
- rm -f "${D}"/usr/$(get_libdir)/opendbx/*.{a,la}
-}
diff --git a/dev-db/opendbx/opendbx-1.4.6-r3.ebuild b/dev-db/opendbx/opendbx-1.4.6-r6.ebuild
index 30ade850db94..2f84c093e8fa 100644
--- a/dev-db/opendbx/opendbx-1.4.6-r3.ebuild
+++ b/dev-db/opendbx/opendbx-1.4.6-r6.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
inherit autotools flag-o-matic
@@ -11,27 +11,36 @@ SRC_URI="https://www.linuxnetworks.de/opendbx/download/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="firebird +man +mysql oracle postgres sqlite"
-RESTRICT="firebird? ( bindist )"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="firebird +man +mysql oracle postgres sqlite test"
+# The test programs need manual/interactive use.
+RESTRICT="
+ firebird? ( bindist )
+ !test? ( test )
+ test
+"
+REQUIRED_USE="|| ( firebird mysql oracle postgres sqlite )"
RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
postgres? ( dev-db/postgresql:* )
sqlite? ( dev-db/sqlite:3 )
- oracle? ( dev-db/oracle-instantclient-basic )
+ oracle? ( dev-db/oracle-instantclient[sdk] )
firebird? ( dev-db/firebird )"
-DEPEND="${RDEPEND}
- man? ( app-doc/doxygen
- app-text/docbook2X )"
-
-REQUIRED_USE="|| ( firebird mysql oracle postgres sqlite )"
-
-PATCHES=( "${FILESDIR}/${PN}-doxy.patch"
- "${FILESDIR}/${PN}-man-optional.patch" )
+DEPEND="${RDEPEND}"
+BDEPEND="
+ man? (
+ app-text/doxygen
+ app-text/docbook2X
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-doxy.patch"
+ "${FILESDIR}/${PN}-man-optional.patch"
+)
pkg_setup() {
- if use oracle && [[ ! -d ${ORACLE_HOME} ]]
- then
+ if use oracle && [[ ! -d ${ORACLE_HOME} ]]; then
die "Oracle support requested, but ORACLE_HOME not set to a valid directory!"
fi
}
@@ -50,8 +59,8 @@ src_configure() {
use postgres && backends="${backends} pgsql"
use sqlite && backends="${backends} sqlite3"
- use mysql && append-cppflags -I/usr/include/mysql
- use firebird && append-cppflags -I/opt/firebird/include
+ use mysql && append-cppflags -I"${ESYSROOT}"/usr/include/mysql
+ use firebird && append-cppflags -I"${ESYSROOT}"/opt/firebird/include
if use oracle ; then
# Traditionally, OCI header files are provided in:
@@ -71,7 +80,10 @@ src_configure() {
# bug #788304
append-cxxflags -std=c++14
- econf --with-backends="${backends}" --enable-manpages="$(usex man yes no)"
+ econf \
+ --with-backends="${backends}" \
+ --enable-manpages="$(usex man yes no)" \
+ $(use_enable test)
}
src_compile() {
diff --git a/dev-db/opendbx/opendbx-1.5.0-r2.ebuild b/dev-db/opendbx/opendbx-1.5.0-r2.ebuild
deleted file mode 100644
index 75d65ca1fe3b..000000000000
--- a/dev-db/opendbx/opendbx-1.5.0-r2.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic
-
-MY_PN="lib${PN}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="OpenDBX - A database abstraction layer"
-HOMEPAGE="https://www.linuxnetworks.de/doc/index.php/OpenDBX"
-SRC_URI="https://www.linuxnetworks.de/opendbx/download/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~x64-solaris"
-IUSE="firebird +mysql oracle postgres sqlite"
-RESTRICT="firebird? ( bindist )"
-
-RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( dev-db/sqlite:3 )
- oracle? ( dev-db/oracle-instantclient-basic )
- firebird? ( dev-db/firebird )"
-DEPEND="${RDEPEND} app-doc/doxygen app-text/docbook2X"
-
-S="${WORKDIR}"/${MY_P}
-
-REQUIRED_USE="|| ( firebird mysql oracle postgres sqlite )"
-
-PATCHES=( "${FILESDIR}/${PN}-doxy.patch" )
-
-pkg_setup() {
- if use oracle && [[ ! -d ${ORACLE_HOME} ]]
- then
- die "Oracle support requested, but ORACLE_HOME not set to a valid directory!"
- fi
-}
-
-src_configure() {
- local backends=""
-
- use firebird && backends="${backends} firebird"
- use mysql && backends="${backends} mysql"
- use oracle && backends="${backends} oracle"
- use postgres && backends="${backends} pgsql"
- use sqlite && backends="${backends} sqlite3"
-
- use mysql && append-cppflags -I/usr/include/mysql
- use firebird && append-cppflags -I/opt/firebird/include
-
- if use oracle ; then
- # Traditionally, OCI header files are provided in:
- append-cppflags -I"${ORACLE_HOME}"/rdbms/public
- # But newer versions merged them with additional SDKs:
- append-cppflags -I"${ORACLE_HOME}"/sdk/include
- # Depending on the client package ORACLE_HOME refers to,
- # we need to find the libraries in varying locations:
- # - gentoo instantclient has multilib (dev-db/oracle-instantclient)
- append-ldflags -L"${ORACLE_HOME}"/$(get_libdir)
- # - vanilla full client lacks multilib (LINUX*_client{,_home}.zip)
- append-ldflags -L"${ORACLE_HOME}"/lib
- # - vanilla instantclient lacks libdir (instantclient-*.zip)
- append-ldflags -L"${ORACLE_HOME}"
- fi
-
- econf --with-backends="${backends}"
-}
-
-src_compile() {
- # bug #322221
- emake -j1
-}
-
-src_install() {
- emake -j1 install DESTDIR="${D}"
- dodoc AUTHORS ChangeLog README
-
- rm -f "${D}"/usr/$(get_libdir)/opendbx/*.{a,la}
-}
diff --git a/dev-db/oracle-instantclient-basic/metadata.xml b/dev-db/oracle-instantclient-basic/metadata.xml
deleted file mode 100644
index 115e9d64a669..000000000000
--- a/dev-db/oracle-instantclient-basic/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-12.ebuild b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-12.ebuild
deleted file mode 100644
index e377ea56810f..000000000000
--- a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-12.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Transition package moving to single ${CATEGORY}/oracle-instantclient package"
-HOMEPAGE="https://bugs.gentoo.org/show_bug.cgi?id=524922#c12"
-SRC_URI=""
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=">=dev-db/oracle-instantclient-12[sdk]"
diff --git a/dev-db/oracle-instantclient-jdbc/oracle-instantclient-jdbc-12.ebuild b/dev-db/oracle-instantclient-jdbc/oracle-instantclient-jdbc-12.ebuild
deleted file mode 100644
index 2768c076665b..000000000000
--- a/dev-db/oracle-instantclient-jdbc/oracle-instantclient-jdbc-12.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Transition package moving to single ${CATEGORY}/oracle-instantclient package"
-HOMEPAGE="https://bugs.gentoo.org/show_bug.cgi?id=524922#c12"
-SRC_URI=""
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="
- >=dev-db/oracle-instantclient-basic-12
- >=dev-db/oracle-instantclient-12[jdbc]
-"
diff --git a/dev-db/oracle-instantclient-odbc/metadata.xml b/dev-db/oracle-instantclient-odbc/metadata.xml
deleted file mode 100644
index 115e9d64a669..000000000000
--- a/dev-db/oracle-instantclient-odbc/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-db/oracle-instantclient-odbc/oracle-instantclient-odbc-12.ebuild b/dev-db/oracle-instantclient-odbc/oracle-instantclient-odbc-12.ebuild
deleted file mode 100644
index 0b1a3fb696e5..000000000000
--- a/dev-db/oracle-instantclient-odbc/oracle-instantclient-odbc-12.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Transition package moving to single ${CATEGORY}/oracle-instantclient package"
-HOMEPAGE="https://bugs.gentoo.org/show_bug.cgi?id=524922#c12"
-SRC_URI=""
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="
- >=dev-db/oracle-instantclient-basic-12
- >=dev-db/oracle-instantclient-12[odbc]
-"
diff --git a/dev-db/oracle-instantclient-sqlplus/metadata.xml b/dev-db/oracle-instantclient-sqlplus/metadata.xml
deleted file mode 100644
index 115e9d64a669..000000000000
--- a/dev-db/oracle-instantclient-sqlplus/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-db/oracle-instantclient-sqlplus/oracle-instantclient-sqlplus-12.ebuild b/dev-db/oracle-instantclient-sqlplus/oracle-instantclient-sqlplus-12.ebuild
deleted file mode 100644
index b0eb59d9bb6e..000000000000
--- a/dev-db/oracle-instantclient-sqlplus/oracle-instantclient-sqlplus-12.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Transition package moving to single ${CATEGORY}/oracle-instantclient package"
-HOMEPAGE="https://bugs.gentoo.org/show_bug.cgi?id=524922#c12"
-SRC_URI=""
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="
- >=dev-db/oracle-instantclient-basic-12
- >=dev-db/oracle-instantclient-12[sqlplus]
-"
diff --git a/dev-db/oracle-instantclient/Manifest b/dev-db/oracle-instantclient/Manifest
index 9397aa443e4c..b2d2676606de 100644
--- a/dev-db/oracle-instantclient/Manifest
+++ b/dev-db/oracle-instantclient/Manifest
@@ -1,91 +1,35 @@
-DIST instantclient-basic-linux-18.3.0.0.0dbru.zip 67930600 BLAKE2B 70d9c54a8df66859d40e4374cd3073613fbf3656850373ada6c9707a7076e0d0749e3b1a84e2d46d18643f80020ecf8c525224433c946946787388dc3f57c79c SHA512 3e1bda593c14d14942c7bf8393111792df01bc9d5a15ae0b4010bd29d71bda4ab044dca6741d00185976c70790fc24b5221afc436d33abe6277e7513cb8bd859
DIST instantclient-basic-linux-19.11.0.0.0dbru.zip 70336706 BLAKE2B 061f6abc83bab7f2e6712e33274783f96caee3d97629d39cacd925af658f737a072207449468e05f89672bcfc7ff98f81d7d9c92a8f844664ce97b4c6afabf27 SHA512 da4db9c64c0f92c2b78cc6b26ff710e3330e937395d62942625921401042af27fdf80d25eb3748c97f4281442ddb72f3ddc5f68171a89ae289f3d2f492c56ef7
-DIST instantclient-basic-linux-19.3.0.0.0dbru.zip 69597591 BLAKE2B 4ac954c027a83c1a05b502203f1465bb29bb4e58486a98bec7848d9ae0bed6835fdc6bb5f889cc9dadc815d47e5e06258c11a6ab1fd045bd7a878858f3d1164b SHA512 d9a7c664cae598344ec7b9e9c43def9626dcc0d54d478843a5145dfb3dad5df51121c5b2e9f4bb48a240611981f7721441344649d1f267b667356271ac778beb
-DIST instantclient-basic-linux-19.5.0.0.0dbru.zip 69646008 BLAKE2B ad598da8040473e54b5134373c9a091c8fba3e13c7a1b4fe0d6b07cad36003236494432c246e79e9b09ab1cd7e38f0c5582b7db14d1d9860c8026aab26fcd5ea SHA512 1b6e7983469cc8873b17f1753ab147d6c23d7c664f2971a603910130526aeb60b0de9180fbccc01f7c952888c80afdfd7a090058e934b269c4a0a1aa9096388c
-DIST instantclient-basic-linux-19.6.0.0.0dbru.zip 69922395 BLAKE2B b8eb7f1f56ab8eff9a08098e65fe38f52f72951602917e2eaa30cdef4f6968f831deeeda16c89cdde5d2a0d443f5dc4aca773abaf614e66fa581da1a4757d717 SHA512 4782cf41ff9da3d52ffe021e7c20bf2d1fce6075edb74e765899268b60005468e8353bf3147cbbc07ae03a7a0f06828e9ef37b00a8492aacc349c3b57ce32f3f
DIST instantclient-basic-linux-21.3.0.0.0.zip 74751697 BLAKE2B f9b29d1c98a55946670ce6a5c674f2c9e6a8d6152b0f4d335f41ad9479b0a2bcf9ba791aeba894161c64c5e088b458506c068d4ece386956158cb09f27f91b07 SHA512 b8599ebe0cf867336b1dfb4edb974b934ed29e96aa7b7a866b93c8d8271c8dfacc693b884a9e422272098e09b4c5a2d6badb11fffb57b43ca4eb15907878bb99
-DIST instantclient-basic-linux.x64-18.3.0.0.0dbru.zip 72794506 BLAKE2B 22db5d69d48c33061db72bdc050e081ec24152c5e4655505c7f75407646f5ffa140aa51f4638ad8e7c5628476bb44358cb061b2d228ab1e36cd9464e49fcf1f6 SHA512 92e607e1711b24ddf10f11ecd3b389795acc544a567a95cb62b624e5913ad11a1707699b5df659f5fb33dae5cd56700036644e643c7edbe51e7a67e57a152ecc
-DIST instantclient-basic-linux.x64-18.5.0.0.0dbru.zip 72902980 BLAKE2B 23fd9885309507183758cf817b0d68342633ad08eb627f4136b967cf38e1910cefa905f17ffea7c929fafe2232eca71ee66a15153f202eb0d03236a1b21cdc30 SHA512 10e6f91dfe07ee4788a5f70ce65affe141061e7b1d6ea0eab6583bd2aed47d7281824e91da2103c53f15e49f02b94add8c3d524494cd4eacded90b2d1cc8743b
DIST instantclient-basic-linux.x64-19.11.0.0.0dbru.zip 75943090 BLAKE2B 6e081d22af1161d1505847c6918cc618f92810d7803f2bb13b3c58f2e8c5bb3aa70d2006fbd1fcc193d3719ecf224c3541f3dc5c5ccfc6105a10c54c51ddd2c9 SHA512 0f7242a1becb062b6c55202587360895529e7ec277b0e41e27466dc01caf4b97cf0a256d0ccb9b71fb86b4802d9c427e0428f0419260b609d94472f89f7f33e6
-DIST instantclient-basic-linux.x64-19.3.0.0.0dbru.zip 75106438 BLAKE2B d3738c6a92251c75bf39afa996eecfeb9052c6cb6a8cd2080755c8108559257c4aaf660b6a12a1127228122836c85d15d84bb322d49921184ec67ee32ffbfddc SHA512 13ddda55c88fe72e761d9b9ce5bc5ccda4df0bd5ca6237efed34e6dfebf10866b116f3aa7eaf023a73458406584a4e57ecde825bf996fc0e844c030e4d8a3bba
-DIST instantclient-basic-linux.x64-19.5.0.0.0dbru.zip 75169949 BLAKE2B a2f63542408a26b52389734282268cc471b4e995242ce53a52bcbfdb7eb7174bca06f26c1d2291dfd797dab860c18c56f38e4a930486436de36f171ab30093a3 SHA512 7860d27392c4601969a480199f263fbda0f0952a2dcab36efcbdf501568b624c6219d4966a8ff4936b6657b865fd9130f5fdab6bdceec2a45f54fe448f94db4e
-DIST instantclient-basic-linux.x64-19.6.0.0.0dbru.zip 75462547 BLAKE2B c75747d3e03e1dbd8031dad41486261a74ae16b414f0e888b1596dfac752e7ed3bf04379b1b48a6107648fbd8de0207ebbfe306bbced2b5b9f5f6502c11ac4f0 SHA512 41dd2b7645f231a9c8a3e69e75bd679e8c9ad4e772777849b4a44f80c18a70ece92d400c3369de917c897bd2e4b9c59fa73fe36b5559831e508ab65965f9e278
+DIST instantclient-basic-linux.x64-21.13.0.0.0dbru.zip 83761712 BLAKE2B d7922bb6372bfb5a2c251f373ebf84130ec235ec95fa83a347aadf325f90f3be746de5c031035af7496ba728d75269434137090eb538790149ed051b23ebd63a SHA512 e2cf006fc542917367dbcf82287ac3a4614a5238d2d2dcf8f998fc0b91b3a3177aa2296bdbbea277d68dfe523f72ed32a2bca7dbc113a16bdaf5fe7982742aa3
DIST instantclient-basic-linux.x64-21.3.0.0.0.zip 79375865 BLAKE2B 2215829c6f7df463d0cd1108755976eb5cc6d4fdf41201687236131151d2068a9e3c8762bfdac65ce2890c57cdb2fea6684e6012d836f232a8ff3cb93223deec SHA512 812dd6bb3a3c24b87e40a3df0c2a0dcfe1b5e27524b8e1622c533d8561cd4d674e9d90b8e66f571ee21bf3d1e152092ee986b6ff226d51674f1253f1ffb97ae4
-DIST instantclient-jdbc-linux-18.3.0.0.0dbru.zip 1574763 BLAKE2B 2ddbb6a6d61c3b6bc3e37b40f786dd86f5efadcf8cbe5b58dec2631b92ebae25065cb29f87ceed9a1f426ada094a9c0ef1887f8ea7b70e66527e9b75e11f213e SHA512 96298e579b6b5a81ae2ef679d6bf9a18f8bd08c33981d0a5b836c20710dc07d15d7964895a3d66c01075a20720d333f766ac439dc4f3867edac473e020eaf065
DIST instantclient-jdbc-linux-19.11.0.0.0dbru.zip 1577534 BLAKE2B 954049186c80028567f5ec0bb30aa28f6d9092d8c8be7cfef67f94e397dc26b935cfbbf75bee3b32e56c3697fb5a7e3181f9948ef91177af68c648e102a7db77 SHA512 5717137a6ebf28669347dd6f03f61b7242a332b927b55502b9019d108714c77e3dd31894f6d5260df6553604b0255b657aed46b63262db9f2e7153c067387e0e
-DIST instantclient-jdbc-linux-19.3.0.0.0dbru.zip 1577507 BLAKE2B 2347eb36b1dbe7552753be35b2656edbb43140768379abb8e5c94be7fb3f66fa139becb332d328d8e7f0b7f0b4e32d86703d1760dba36f53471a5b6b3c9b2341 SHA512 66c60f97994a1f45b0ef9e1600da6de319476a6ec4f6a0c9a04516d86e9d89fde1cdfd3bbd8279df125f96326f52875a1daef2ecbb6525fa26482eb637133205
-DIST instantclient-jdbc-linux-19.5.0.0.0dbru.zip 1577511 BLAKE2B 59ecabee9e38d98aa9627a01fc5f3fab9c6c3afc44d8f44c7f231b8e2582852be06761fc03ccad0c7041d1910bd4d914aa6a7e494697844efbc1e62cf95bdd00 SHA512 d1198ece5e6bfc9ca8becfad4990246bc31c53d24f7fec886da979eaece60d53211ab3a6e792f9c8adbe866e3c4b990bfcce1e9ccd4271bf2e036b701a32d7c6
-DIST instantclient-jdbc-linux-19.6.0.0.0dbru.zip 1577514 BLAKE2B 8c8e9e762fdd1a3369aa668d4afeaf23c05100f4e74732b02d47b1056163aaf7d7f96fe51685f02ffe94aa730b4bc3c24f930af9739dfb8ca192b3e64003e73f SHA512 f57d7d3597f3c89396f2b185746ecd72e291c2db6e733adbd51bac32879390395bd3dfa3ac648a8f78aa472b767a8685d090ac49f85c2f68686b6a85fb138b27
DIST instantclient-jdbc-linux-21.3.0.0.0.zip 1578398 BLAKE2B 42fbcd9946ff87f438297751febcaef4d361d36ac9d6538bc52f988f98c51531efb3a2721ba5c3859bf7f8e9092667704c206cc373d6ad099c1e6048077b3662 SHA512 3bb62dbe0738f6800945858acf56780d8049af0d6c6466e926c7173deaecf3dcd277f9a7e57f3b89aef08e73a585b57eded7175809ddf8a53402523ba392c1d5
-DIST instantclient-jdbc-linux.x64-18.3.0.0.0dbru.zip 1575572 BLAKE2B bb9d5ad0064b547a7152d4f9b170c646105b4a0731596fe381f7a2c63b720e36cc5a93eea59ea71aa3405999d972cf962a74063350c468a8d114ad28f5a0be0c SHA512 70ebece929cb11f34fdcb6aea75af3679f22d0b838c3d256d4c7c0249977423625b1244a54ca504b51d24e2f178b1784571e185574cd3db34c2cda8128298b60
-DIST instantclient-jdbc-linux.x64-18.5.0.0.0dbru.zip 1578269 BLAKE2B 88047325934da02e81e907c9c4caee540cb06da7d7c08562e90781c2f6004940ba20131d971018fe237cc09cfef010fdf6f912b2309006396315ad67c17b10b6 SHA512 e46a4326f61863a63be333bd588571bc037edd2de1f2462b799e17c65ca8556aeaf42e2eed3a7226bf8c89479b4a723fc6cf6582a65b5ee8a827ffdad1c06bc8
DIST instantclient-jdbc-linux.x64-19.11.0.0.0dbru.zip 1578059 BLAKE2B f5db4ab8b4424d21bb685b43012f71a228fdf1444e055b44dcf029b3beeefcca96aaddc496ac5912d4b337ec5d2bbd959df6083c18f7921811e996a2d73e5af6 SHA512 b2f906ae887f0421ff2edb80a70d0ede1fa624792e45ebfd205ade3f24dcd3cbc596c3ee64c39d7143810a2a11fafc649ad46cb5549d519dd3a1ffb7476fb537
-DIST instantclient-jdbc-linux.x64-19.3.0.0.0dbru.zip 1578033 BLAKE2B 18c9fcca1282c316c67bf86258154d94a26d81779c1d36e782dd55d91fbaf40f03f1e403db9beefe114a27f09fd3d2bcfc643cf3e9a02ae68a5bc3d2eee51c16 SHA512 58813681a74286a7f080f729e3a237584a091487401af08619e2b4349323bf3def8cce22eb550d8ee5675e9a4c7ddddab8fa493bdd8c89981aff3ef0f65d1eb3
-DIST instantclient-jdbc-linux.x64-19.5.0.0.0dbru.zip 1578023 BLAKE2B 2919f4d5a304d16b284151c620134dfcb934251a35837aba2286bb9e1b1e79179642c4331a19994d0fde55ec2859dfd5a7a56167f2b07cd0939f5c85e9448721 SHA512 c62793038b154a10dbff738e31d9e0af4e7dd0435aa51b1839e49be528d8a7b567447b735d400c3327a28cace5b9e22b92d4d9eec0eec0ce77e9f6d7831007d0
-DIST instantclient-jdbc-linux.x64-19.6.0.0.0dbru.zip 1578022 BLAKE2B d7fc065f6cdd7d1856651f295762565f8c826e5e74c350287f8fb325b622dcbcab04f1bdb9b68e67a458b1ae1c26275f2926c9f98b61da00040a6c31c854329b SHA512 68824d2e4f4881da7653ddf6e09e7d32aeb53dc5e59b90647c33706f09081debc27b517714ee5af2af3ce25ee53ca664a17c5ca7e4695038a3bea1db82236071
+DIST instantclient-jdbc-linux.x64-21.13.0.0.0dbru.zip 1579013 BLAKE2B 3a3623fdddd8612c64ad42347c3272923753937d137f6af44b1211540dff0df495793caeb069ea1eb731e25d022728c2dca41eae8123af81070ffb30b509ef68 SHA512 634fdabfa4a2a90b436ff6fbe7227c0667a035a86aa51bb8d1ce3bb9b6a62a8285d3845cc58d29b5ec0a53c66c0314f63fff9412de8b25f4837428ad7863e9c4
DIST instantclient-jdbc-linux.x64-21.3.0.0.0.zip 1578995 BLAKE2B 9913c62abe55d5c5ebe7e9feeb9051b7833d33e3a7bc8b96667336d2ecb8bd8766d268f2eef2f2de247b0edf1d3abb65c56316a3d11b14ebcf782a3c75ed332e SHA512 8d2b7344c99ec0744e147c899e252f34fd29b7dff49b2bbe5497836130fd8e9d01f874b33ddaf7a8cca442d62eb7da56ed547120ffd409bb4731a9b56166bb42
-DIST instantclient-odbc-linux-18.3.0.0.0dbru.zip 605026 BLAKE2B 2f7808ef2706c65d1c876e44e7b831ea0629a218347f34dd4b81cce192b45b78b26c9e164b179232b1fceeeeb5f84d807ac6bef1f36fd7d077e620bbb6c093eb SHA512 370d3f34c57e33909642f18104de8b48c2ab0fd1cf679087f8601720ebc1097f64caceb118010b9e8d2f7207cef04210b22a36824de747683c3a1162ccb4f09e
DIST instantclient-odbc-linux-19.11.0.0.0dbru.zip 600428 BLAKE2B b4bcb4131bab1fac2650bee8cf1db4f389e89bbf0e310f9df2a9f1ce29ebf35f8056e350175ceb406e82bd077825cb4e6ad405c5ec00929f2db2630e99630006 SHA512 9a21c2dc06b6e1c4ae7305ce248cbfe45e4ad830a48f3e088be11065471beda002fd5a6bcca71f5095ad70186d742bddffc82bdb79a4368e89c59bfd3f04af4b
-DIST instantclient-odbc-linux-19.3.0.0.0dbru.zip 600586 BLAKE2B ec76518290f306f41305b12da317ad6de8a73f5049ca6e06fb0e4197ecc9dc8f9855c469fa36e309615a749150580d3ff89a35bfe5878c6441fe4f6218ce3410 SHA512 77aa6c1c5f5a93b86e4e529656ab1b2eaa1e008e343d17193a074e758fc270a5b12d641a959c51b00d5cbc7a2b562c590e662701e66e295d218995ff266f005b
-DIST instantclient-odbc-linux-19.5.0.0.0dbru.zip 600590 BLAKE2B 6bfa2fa4e8e7ff5f2ea25c21ecacef97e9a1e403504d101a7c516b51eff814b5ee5dad36dcbb68be07324f560f3126ebd932e54b4834766cd8cc6f5705939da2 SHA512 bcb832d1d2011139cbc6afa68c34a5d747478db0b719c12211068396367c240d93f594f7533009b4a876484bf1894deec44a16cd5ca65ced353573d1068bb567
-DIST instantclient-odbc-linux-19.6.0.0.0dbru.zip 600498 BLAKE2B 0560d7038f0171428bca92ea78bcde6ae9169dde994d2cc4220f733ba9b7c198fbfa61db22f30f62a68ace44314c280976b0572ccf190d60bcc9c23a0ede3b60 SHA512 e6c1fd3f1545cf83da5ab9fc0781ee711434134d88836b045ec7ccf510a842a773b76365177aecd7ccc711a3aa6ec753dad94fa637c9df5bff22089babe7d824
DIST instantclient-odbc-linux-21.3.0.0.0.zip 760101 BLAKE2B 68a96fa5e24f5d44f64eabfd142280d620423f15fff62b10094b4425b520a2a31ba54fe6bce2d723700d38ce5a579d31a1c49ef6928eb6f4e342c7c8d98a49aa SHA512 e2e4cf126652580bf2d8f8ace7694881382b745a7adfabbba0c3e6fddcbb9ca7e300b0d18b19c8da029ca8f33c5f8f95baa141da20659ba49c9a8e6f4848b2db
-DIST instantclient-odbc-linux.x64-18.3.0.0.0dbru.zip 648825 BLAKE2B 1e96b87802c9ccc7d5f6ae2fdab501004e6fe8d4e155503bb983c82cdbfff729263e541689f4c2dbeeabfdd1037f0a97191e3a50842a8488a3267f24fec6b43d SHA512 23ad10a834fd92007147f8a7ad95dd9df4fbd5b786f7e2bb9afd6a12101fb934a40daa81ade914d8d0f59872591a1ae29438f23229b3767ed4ea3ff7cc730f66
-DIST instantclient-odbc-linux.x64-18.5.0.0.0dbru.zip 651470 BLAKE2B c5e7d794137fafb97ecb5fb647a640e59490270787c16f972882c03b34c4f404717f6f87e8501252f415a85b8d92031bba9910eb034c92c4f7fac37f66a3fe43 SHA512 b9e066af00b263b348f1e7a26dbf5672f01be79115bd75a47e2cff95f32fb412a8d03736e1c5ac663847a2d75ea5606cdb1fc27434f7690120c462f8eb15a6cf
DIST instantclient-odbc-linux.x64-19.11.0.0.0dbru.zip 638686 BLAKE2B c9fa1b8988d85870bb4c2d9cb5c34c1572079c36a51da0ef726250f03ca0b53dbc19990582358011f099ca183d6148f8110cf80c1a17917549f6e38be503f706 SHA512 7d92ff08ea48de0e981cadad15a3c392749b3e20331b25f00f2f96ef7cc11a9802408f18dbfbf36366b0122d6c8fd256d43297c3bd87b4304b0479b1593e35fc
-DIST instantclient-odbc-linux.x64-19.3.0.0.0dbru.zip 638697 BLAKE2B 2a9077243a4718c7af4abc2c36b7ca3e2993acb904dd9873c91bf8c0010ebaf18d6864a6b488eaa3a66d6fa42f83d099367533dad65d228db6e21e2b4e23a6df SHA512 dc148301d7e0ce7d74d90619f4f6aa03a26d61033d36803de7623ad64ddd5da1b34e24704ec1cf948ec341ba91e96c1bc08a5b62da79555d248f245ae75e776d
-DIST instantclient-odbc-linux.x64-19.5.0.0.0dbru.zip 638692 BLAKE2B 6ab7357ee95d806ab60de2da2a82414aa2f5f0e7527cc4f44a4028a52a01abb334ac8c4076e5f26a6d0444943e46f6c1da7843d31ff7b1c1a9d31cf13a017c9b SHA512 ac145a24ed2a2287d28c45e16f87509786f044588443b470e4155351576bc5a7d94c845f6af38a58f1a5bd82a57a4b69a8719f46cc85b1f0c4173ab3ee927fbb
-DIST instantclient-odbc-linux.x64-19.6.0.0.0dbru.zip 638654 BLAKE2B ae618640b281852e48bb5c3bb6776c7445e824d98fa96c1308f71bfbf7ac81b65119af31a92c1909e2243956ad0457c21060618265bbb78aa1be8c008ce2fc32 SHA512 f0f02c067ec1250402dde3959de527fa7b85709c225a974c6867be5d24471e8da744a1707f52183987ea91e55c69fdc92459ce7b9979ee1ad1f4604963a7dac9
+DIST instantclient-odbc-linux.x64-21.13.0.0.0dbru.zip 798628 BLAKE2B 1cc41d2f1538924debbe0ee04c251abda45be769097103c8782c946772e8ab3c3734f443b5d910d29a308e9a3470fb1c72f5e72b208e347164f8fd44cabe1d5f SHA512 65551dbe35c5ac5bd709973147ef3a1a6cead8f21f4a5675cad6b8b5fc670f0eb0c897fcdeb2f421b1005c1c2763e3c4090c81fa73122f146411a27cdfbdd042
DIST instantclient-odbc-linux.x64-21.3.0.0.0.zip 798599 BLAKE2B d020c68895dbb59e53e2e7ebc599e9016dee123dc03d3ce5f9263e721fa7664ecc6fc8b49b0b498a87b0d24bf74e79854edd66c2b2e7a9367be8e1e9c2cbe159 SHA512 0bf756458f3a856bbe6942d1f4bc30a7261ce3da7524ab8b71f77d9f367767ad75e8ed83e4de18bed1eb8d597f2aa0efe0c713a2e407e801e7ce3f83e152361b
-DIST instantclient-precomp-linux-18.3.0.0.0dbru.zip 5200252 BLAKE2B 1d3613de34ccd61fd7c3795170d6d012491bc2c045c39f39db716ac7ce2e68e7e8da84c5b95afa8e50afb97d2fcad8e469f25627b9ec570f58f0b167a2f2348e SHA512 f783b6f346cc4848567a1b7284a93d1bf20a9555fa9cbfd57597b3856444969653cc6d6c3c3e710da6775d39d2efa6399b9e91f4f7458de43b0a404f4f693dd0
DIST instantclient-precomp-linux-19.11.0.0.0dbru.zip 5194893 BLAKE2B cbfda89f2f97728234aa3aa58d13289be66db0127f1e73675ea2fae348d8dff28e86b85b0a5a8f372dc155a07d6aa71f2096ef5b3cdc3082ca80c107fac06f4b SHA512 196ea51fc11d59212e274669e623d86cd91c6a8d7425cab5a08044d216b118ef2e4597e0c2a904579f35de87b5fb87f9d6a6eeab927af5878c3a7e1e504730b5
-DIST instantclient-precomp-linux-19.3.0.0.0dbru.zip 5183647 BLAKE2B 79a37d25e5731978911d643bdd19c0b0f1f66b153ed7164358fe2038a987594a73a8aacbc2fd8c542557a099e52931666cc9df5d5fb1af30e3fd365378fd505b SHA512 a6f7d7f82d657bb32431aa81c4dfa1fb3ea31aaa6df9781e19fc78c2ef25bf168420c95e3d9fa8f4aa3912afd3fc98eaa45f63a28ddaa091c4e50360802735b3
-DIST instantclient-precomp-linux-19.5.0.0.0dbru.zip 5184902 BLAKE2B d9dd690b9aef42bb1c358540dd57357ab78b7f2c13014e017d70116a41a20f4d9a520436a8eaa46e007802ca49f8383853c832fadbc50ddc8e6119a491b0c880 SHA512 5cd41a92485fed47ca9297ae27078cb0eb6d3b4c4f7f348908e6d199ce8255617948637a362f1984bd75346e12d28f25ccdf7df1c376b669f9e7b57a9ee97cc9
-DIST instantclient-precomp-linux-19.6.0.0.0dbru.zip 5187123 BLAKE2B 29d0b54cf0575c242a3a8e742dca9771bacfb43870fa8a7c9ea6a15f51d951634b2c464c5e5b87cb0dbd63f95098812c0ed11edfb6999bd50155199aa3a6106a SHA512 2443ec5940f0bdcc151c913c42de58b0f30c052c8cfc13edd82771420d8393b6332d92a0cfa52afb8937e555624e871e3a2c0494c23770724c44081ea29fe353
DIST instantclient-precomp-linux-21.3.0.0.0.zip 5290951 BLAKE2B 3df4c41019315119d63ec780b9ae23d48823ecb2b9aa61a923c87c3e1f30fd97266030bbbc898d59b402931e02e8b3dcedfb6b96bd41381b583da2b380526f5d SHA512 b1fb267c373410c3c24fbdc4102b3395beaf0609ec3439f730a31ba43c5f2e1b276ce6e7df04de0d542c211dfef3ecadfccfe33f1472653feb42fb25a9dc700a
-DIST instantclient-precomp-linux.x64-18.3.0.0.0dbru.zip 6403554 BLAKE2B bd8e1b3de4b8c12214ea066be22f7ca18133e62e1d9a70b2710578e967204561cdcc9f719f8c1310e19e94baca367e0aa8c482e637b2f13a51781328b229be92 SHA512 292322eb07e3707cf469cea8390636fb2fae99a50b3b900a9c43b5808ce741cb708541820de5e9aa9c341290ad5015be32d968c43e1a14aebf97dd5fd04fc925
-DIST instantclient-precomp-linux.x64-18.5.0.0.0dbru.zip 6401804 BLAKE2B 9098fa6966023e4cc48e9c4fe60aef5e7c4d15a5200fcf92716fc224fa741cb6bd41bbe58a1820ab4c4c95b5be2faee8f0d85dcf6d5c0f14c51943fd67b32856 SHA512 e44ddacecbcc7311f59490116fe44f0d9b303c0a669d9ecf43926bb5627b0a767400bd51e8ec1162d088ff52022d2fa0d2f4e9d83e7efc0e40b0c02679c1b109
DIST instantclient-precomp-linux.x64-19.11.0.0.0dbru.zip 6254880 BLAKE2B 0035623721a12c096a38ee64bc41465682214763f123ce9c529c61b6081c6de54bd7835f8b4ef07dca5eafda5354a77fa589c7c54cde412e1bdd4f313e58b3bb SHA512 d322b7896992cef8e48cc48acc68a5730d2a04ba0af5130eafa6ada79b64b16a4bd8cfaa02a28587d0871713579a5215ff46162499cd1f422252ef8dab61b7ab
-DIST instantclient-precomp-linux.x64-19.3.0.0.0dbru.zip 6225945 BLAKE2B 1a17f20b7147496047f31cfeee56efb74c7daface1c7e6bab2a67258d410723b9e70b771fa9df9e16c2c27c831e97d538a69854e565ebd313f528a7f57a2f358 SHA512 6db99e0df10d439e93813ecdb27e5961232ab64a480b6aa0ee5e00a43e08bae2ade64b2abb60cad58e3139609f81835bde53d91ab35dedf427d3122d65c184b6
-DIST instantclient-precomp-linux.x64-19.5.0.0.0dbru.zip 6226878 BLAKE2B 5f1606d5e9bb8900b4181e781b270d6dc28b72def6f77edfb8ba241ca4b955c9f9fd2b61b8f4c97eb20845ae3397af7be8a574f175095b68478f299220f2332e SHA512 a4b200444efa597ee66b858f3eefd135fc36f038502301f9a1636ffdb6955c1bfca1fad278b57a0dad2fc90979eed4750d9ef631b64ed65495d5c600ea36cbb6
-DIST instantclient-precomp-linux.x64-19.6.0.0.0dbru.zip 6229434 BLAKE2B 9d0f5ee6f18fe7d9caf80765e8367d72c2336c7022e9fe35ddd284e13229280652c1daf816d14556f614c256a594e92dad35736a56e4d8ba535b68a47d63dda7 SHA512 ea98cf319c1c5937e2e95acfb474c83897a595e804dd3e2a3698a4584e37aa54f2b59e6990f4f9b1c947d8a39ef24e502037d85178ff02e84ee76c4f794952d8
+DIST instantclient-precomp-linux.x64-21.13.0.0.0dbru.zip 6389884 BLAKE2B 81921e1fb2cda680c1eafca4edc82c69fcb1afe2d573cdfefdd24fd50568cedf3c3992542486aad5acac083679221a14696c19ea6fc016ec8d0c7c8cb1cf7349 SHA512 1552723385e502bafa39853e12781cea3ef5d7a5407040fd8bf6ee878d1246dc8f976192861f60dbd71da1c854271953f98604d707393ce688b1fc726245f88e
DIST instantclient-precomp-linux.x64-21.3.0.0.0.zip 6386663 BLAKE2B fea4e0465330d4309791f9ca58ae169b1ff2cd1f17b003210aab1fe4faa92d6e48ee20bbf7d84f44f437bf5297c69c9c2b5a2e3cfb687c8010f8ba75bb928c9f SHA512 8235236175f35d4634005249ccbe0ea5dec4078fd795545184578cefbb8d45663731c507baac4a952fb9603272aa3ff58197eb23801894bbd240cf5736460d57
-DIST instantclient-sdk-linux-18.3.0.0.0dbru.zip 927121 BLAKE2B 5b53d759cb82c854d67b9bebaffb07e442b62d13367e5acf19af2dec4dbca2ba3ee50c83f89cf6e865121ad039227d898e74fecf43439610254eb43a429422a0 SHA512 6e4ccafb69d047b96dbda2f493c175f005b593472ea3c9a75fed758d2f12d970509d58b32d94f7a59b3d0402a87efaa754e6487af9cde01f7211f0145434c6c9
DIST instantclient-sdk-linux-19.11.0.0.0dbru.zip 933913 BLAKE2B 08cb6c94cd152f58fe9e52874b40dec56a6f7d3c9913122303b46f75ae2df0e13fff1a375136b6fffabe9ee7a7d844a2b95b1be380b6d957338b09a15c9fe83a SHA512 8d7aff3d066f423021a5babda86b1b378333966fd892146bf46a967495180fc099e9766deab27d81735fee845ab43ee48d8815fd96a73e3a235c4fde74952e40
-DIST instantclient-sdk-linux-19.3.0.0.0dbru.zip 932301 BLAKE2B 6c5cfe55a651b9364da3f24d5739813e1b8165fad6434b7a09da2acdeddda408ab4fb37aa34851a537a000a4a7718fbe41ccf8b5fd51aa1bb4fd2e8ec0db33f9 SHA512 8dda8500ffa9eac966f54818d1c19b7d8b878f09c0664e03cfcc8ee8e5b061de566e6b411d15c5db58ef0e97374c2311d16fffd6b4c124dc06bdfd8fa8916b7b
-DIST instantclient-sdk-linux-19.5.0.0.0dbru.zip 932492 BLAKE2B 35a8cf7186c754c957738a6a1f815f11a523fe7100ade7ceb646976f5ddea90aa0ca9ff435600f36cad774d7d72a96d9305c7344d8cf8639d84f41611bfd05f7 SHA512 9f9cf54d09b807ba9d3c96bf242aac293b95a9d4b19100cd64a5e84769db0b9541fea09de57a98b76d0500c68fbf2ef660a415c780812ae7b693064484e43ada
-DIST instantclient-sdk-linux-19.6.0.0.0dbru.zip 932525 BLAKE2B c27b3f474372fd2a08b811c519cf0bbad6197c26407e6a90006ac21ad153a2af68ef6a33b7e7ed28439e2a6481df36e37663faeb314ccc4d08e3ff76ea1e23bc SHA512 ecad27fb94d22aaa6ef797dadbeac4eb4275b7ce904c3e5759342fec73d2d2131d41abf17fbef0a6bdc55a5f78e78d6dba70507db819a3ffa9c4213a8e494614
DIST instantclient-sdk-linux-21.3.0.0.0.zip 1000869 BLAKE2B 3e3f01da8218dad9de699b587ecd37dc465bd5779c7d6919149bcd947e9e9575d35727fe7d1251db8df12214a399b665c62be9e790dbaeaa895b2442ffcdd8fd SHA512 dd88433810e5b72d96747e57b34f7880607fdd0250d04972afed9a9f20c27ce1b74d7030b4de60e03621f98117b7ee93062c6c750b5c2dd104668a0afd45cd47
-DIST instantclient-sdk-linux.x64-18.3.0.0.0dbru.zip 927118 BLAKE2B 9c6cd889843552cee3e84566d9c1b29369b1e7b20a01fac65676a33d6196b042a4c34cd2df8cf1ec5c8664a403e44e6a283f42912b7e056e093c744bd24ec24f SHA512 c9e1493601ec70541e437ded748f3be24deaa3f1037884fd003907bbab38b3099aef12dda1b9845c3eb3ce3827f743696f5ebe6d8dffe7974088c1329528b729
-DIST instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip 929988 BLAKE2B 942f99fbea74e253a0be1677cfe40d79a26cb7a6442631d626648a65aa4f20b730e4f1ff13effcce5c4befd2ce50ab038f88b61c6f05ccad262568b209b3048f SHA512 7adc9e315c7c8784e4648a97fa54e03eb26a05b7b35a1f5cf1105898701b31fdc22f0011b1ae192752adcf3ec9798ba635bb9a9a5d4bc768a9a519c3564a9375
DIST instantclient-sdk-linux.x64-19.11.0.0.0dbru.zip 933906 BLAKE2B 7d15f4c5a53708fd311ca75c35db5cf1241070217c21acf05f181ad07259135fd64eeb8f84582ce1faa6bbdd9c3fc29c07e44d82ff60fe1bbb9acaf7f70612c3 SHA512 d964612f0bb571c5c1fe78d14f861b2189d917d23e9be936faa637d5a2f8b530dc93a1ae0130346b70897bd1382f23953ff3e7f3163a580b7c6058675ac5fcf2
-DIST instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip 932294 BLAKE2B 26ea1ce34209c1dc92101e211f009ecd20cfdad4d88e946844cbd1f2b1f4365c7dd273e7079be1dc807c38393035847e47800d65b0ecebb3a705cc6cac092a0d SHA512 ec3527a8371bb9644f4912b8190cfde53bf2afd8bf2ec7376bad97dc4d4b37f010a5e0d30567e2398f51c07affeeb15515347df095587a9cff84ef657b7e8c6e
-DIST instantclient-sdk-linux.x64-19.5.0.0.0dbru.zip 932481 BLAKE2B 6a62e3c2a2889b5534133882c47aefc957c3e261c0ba7c161baed32657de0d15317356719ed9b354919fec8936dfb99044b707e83ae5ecd9d3359955e6de0005 SHA512 0f6521cc2c0430d15efe80fcece7b802146418591ae52b062f3571a85a60a8d8912b8d484e36360bc7428c0fe1e18043fac5bc7b3d484cdca9737931c1e72ffc
-DIST instantclient-sdk-linux.x64-19.6.0.0.0dbru.zip 932514 BLAKE2B 8388f312a3790cd9bd7307fae8226867eae159a93099d418f430101b6b87ab9d081c74f1d31f2fa8f33e50bf3e643bcc21aae57dbc6e913fc4178ab6688e3f44 SHA512 a47d1a2d99419c383e1cb4ab236beb35d067552e6f88eba65fe38e26ce8afc2d45c0ca482b1f9f1c38337678880d60f8b73a72a5137b06c984bc930bc05c48d9
+DIST instantclient-sdk-linux.x64-21.13.0.0.0dbru.zip 1001591 BLAKE2B 36f3c40da230b66edc9c9462020f6070b7610ea55d20ffc0f2ef3e1729a4ed09edf0d105136939bd6d30ac5a5323fd43efe7327214d7b9d39480fdb553f1480e SHA512 b0d040e0d4e0dc59a35efed58162ec9cb8b1c0440a7d499bffca2da11c9a62ecf91ad5ac840bb5f35da1bbadb552bee757b0cffd8fef71dfadf44ff5f52ce4c3
DIST instantclient-sdk-linux.x64-21.3.0.0.0.zip 1000777 BLAKE2B b593e3ef880a22d712a4e2b0c51f2f68e5d9ab6c3e4124b32de643eab7d3b41b6d5eb46f4ac98af743d90343d29975760048af5b7be0919c40a9b84217b31939 SHA512 5372c151a5b45bb2cdf80c47ea65b4d8ad849cc5a50818917484b952e03c344f2d7f1896a13d51ad9daf7fa9c43226aa011dca03161d6976375f239f782bdd23
-DIST instantclient-sqlplus-linux-18.3.0.0.0dbru.zip 881315 BLAKE2B 787dd43ffaadd493d8cb3a9a8bbd160f75c51ad07e16d8eb7631e8368b4a8bfe9e574326837724b3573705e1c309cbe0bf364c1b98660534b05f5d72d28b1b11 SHA512 9087e5654143c9da3499fb7f1b8a15b04433cacc0d96257519788b3cd12a0aa480b37fa37fbe55a2f40940ea8da1eeae9881712a87d5942e142c0f29b580e54d
DIST instantclient-sqlplus-linux-19.11.0.0.0dbru.zip 884155 BLAKE2B f681321cc43646af74eda4d6da102587123e0f3fb423d978066f014c4729ed046806f9c49cae6928704b4993459089e8d8c1ab4fb1aab912cd6fa7ee27382fe3 SHA512 1f4bc70b070c9a0597f1433913018021e87a7b059784a56e47842afd8a501039def6591f4e7a009f3f4598f23c45aa807578a74082174862ecb444b1855f7b22
-DIST instantclient-sqlplus-linux-19.3.0.0.0dbru.zip 883462 BLAKE2B c3891a6ea525add3030372bb96b57e31b3a2743dd5bddbf12d4e2d43b7732b244c265a15423ae48d93db609f37a449233c8c16f5fd7c1d345b6ef42c217bb8d2 SHA512 521b80d47320b4ea51a68bee8f05fa51fa5e74690e62817d1fdb5471eaed577cad6bd5364e18fa5c18dc0cf56b99e33b62488a93c176d860e471ce2a7e9facca
-DIST instantclient-sqlplus-linux-19.5.0.0.0dbru.zip 883548 BLAKE2B 43f6896f392b5d765506e7220ca74372603760dadd89a430a9e840afe85575c911ce326a5ced1b634d240a279491fb54a3df39f2289c30f736f3a70541dafb06 SHA512 eababf946085a114a91065b03a0d36a03b5d8442f0029b13dc95f698c086e8aaea64184d9a899b36ecec0f24943d0340aba400cb3fdd52f93367ecca76ccfcbe
-DIST instantclient-sqlplus-linux-19.6.0.0.0dbru.zip 883975 BLAKE2B f4b5949159bd9df48b3749c6119f3188e011598795fcdf3f0164b7a04e19c0899acfe11411678577e67aa79cd209d7da5aac1cfcb4ced9b1e96b709415bc9821 SHA512 72e4ea40c02be6b1c41729e4fad404a8dc53dacb31ca027e44a4152b83972e2ffe41c68c3682e7da8bf35bf9eafff0fc964da0f24097dc9b5cf4c247a952c025
DIST instantclient-sqlplus-linux-21.3.0.0.0.zip 909623 BLAKE2B 181da5e352dfea2ee1d87e138601f8b84ae2df278deb1c205bf25e5958a32da13252c8455a8aeb9941de2fc3752fd0510c53f196e8755bedae24e704cb4197a3 SHA512 e4417bccf0abbbfe16fce06b1a18c6e4f58ede1b87a1ab6407f74e3b926aa9d9b4d390c881bd578f95ed4fec6980e8b28cb9f624b8480e1ffac6dc599dcf49a7
-DIST instantclient-sqlplus-linux.x64-18.3.0.0.0dbru.zip 915778 BLAKE2B 8d93e462568a5bf5a294a5abcf0a0e30c08e9eef18c01a79b8f716261efbeb14a286d1058ddfa278108daeb49b74a3e296efa83291d7bc03f4ad35428c946701 SHA512 878ac2cf58aaa8cb237779fcd04378c95d738fd444eddd5745838fa86e8cd60f1c2be49f0f4fc3d4b16dca652fe66681ac0907a4aeddec1d9433e63d2f4e5db6
-DIST instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip 918469 BLAKE2B 14efa748e7a892334610fa7a615c56b07e25873d5761408b9cac642af11ae2d97062b8014e4c7dee06dc37676d7c9d1a409d80f50b9d162210e073c1c4ef67d5 SHA512 8c2866ad092893647086adc554c7fab3c9bdc5429c9e0715d68717065fe12f106d228a2f241fe76bdc677a4adfa6eb01b0d866fab2bebbb1491a087a4b9d4a50
DIST instantclient-sqlplus-linux.x64-19.11.0.0.0dbru.zip 911265 BLAKE2B 78215f683458147792be3182eaf9edfde5943e8e470a7bcbe09c82c298df709bc7cdf919e349a9130b8d6313f2f8a1d04ad9b5b3c5ad91d49802ad14c3f15515 SHA512 dd1343ae49917a031cbd8d757d11da46354f157f46dd651afcde09b4b74a9e02008c6370eabf6bd313190629944cc075d6fbd893b491ad3505b7a05dbeecd963
-DIST instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip 910409 BLAKE2B e05c8dd3c545842989a2650013ff7ac8b06b41bef07efcd312ff66c51929942e3336bc9bd9a53a197088433b2cdbcb5bfbf4b2f4e1a40d68cfe559207737446e SHA512 34320712009ea724edd71f04bb72dd58fb99d34b1a357e238c04c9a55c7120eafc8c675558755a85587c7e75801dde2a7f8fc54795dd7e3e61568f8cf27d791d
-DIST instantclient-sqlplus-linux.x64-19.5.0.0.0dbru.zip 910437 BLAKE2B dc204e6dfc4ab8d22720067b6238ffff773a5db6522b2066306bbbfa8645cc62f952126b2f4bc548dc0096695914d7ca44c7b299f59a609c363739fca1be76e6 SHA512 83a8b7004585ea3a31f7abd55615c983963b3df2ed030e54057ab897442b38ce41fe66c2754ad034b37c588090fe478549db371b809e457846ca537b25b2fdb8
-DIST instantclient-sqlplus-linux.x64-19.6.0.0.0dbru.zip 910905 BLAKE2B c1bed01f662ba15b80b6fb4bfb461bbdb7033183d7bf60823b1a6d6aeb7ecab4cd68c1cc889c61f11f5173c13d617494e7922fd84fb5757bf08396175c3ff68e SHA512 6140a8b9fbd78e2d199063dd70e441737079c54d4ed115a404a77ca2cd7503babf059b7c9ade5605dc2c5ffd9e058ac26a9e159f47f252e1399afb51608f8ce0
+DIST instantclient-sqlplus-linux.x64-21.13.0.0.0dbru.zip 936856 BLAKE2B b4217412ed0b6f2d5cdff92c4e35a1bde119afaf0e6a5eb543d9b916a6d88fd358ee3396a4cddf2a5bd32252119a20047feaa6118cb086c6b0efc282f51ad080 SHA512 963535debcb8f811b0e2d5da03fdd7024ee6d8963d8d0450721b351a420042e1d3948fb4423dea0b6a3f7f4196ab054a99c202586adf73362640316b7a7171af
DIST instantclient-sqlplus-linux.x64-21.3.0.0.0.zip 936305 BLAKE2B b6021f3ab3badb282f1a13a93beee6caa093b905efe6a647cc8ec9ea84eb3f7de4d9885692fd8d965608ba89964d13b5427af0f8710711f673ec97c528a6063c SHA512 9c6e87b4d319fc2bc35b2bd492b9608023d0f90b6230a66c75d9cd4d9fdea9b5dab178751cd188f9d1368f639d40f342ef1c71773dc4f9e9d8a199f4b46deaee
-DIST instantclient-tools-linux-18.3.0.0.0dbru.zip 1042756 BLAKE2B 1b1af7abb50b6977e0dd4bc0f2b5e89534cf5bffe216dbe553063761470c45f330f4a72ece428a3e0dc8162cebad3cf0ffa628f4b3879bc434ecda7b7b07570f SHA512 b809b83e2e7dbe19c13611c1eb819fa4648a127ddc8a97abaa794213c7f4b6d28b70956aac4f331389d088c6fccc998d0eda8dc39f2dedc338f3baf03bc3ceac
DIST instantclient-tools-linux-19.11.0.0.0dbru.zip 1020021 BLAKE2B e2a615e0ffb4608af05931a8b49406c85db5d549761319c7116395fae206fe6cc0cf56b49e6c3968419e63616f2d07ad6ec3ed70c862fb2394b8dc0ce9f6dbb0 SHA512 255593c1e62a11f41793619c856d316815d77fa83cc9efee1d5366dc86b32e9909b042f7ac81ad693aafb8c34cdcc8faa7eebf816a90d037d36ce461df33f469
-DIST instantclient-tools-linux-19.3.0.0.0dbru.zip 1018792 BLAKE2B e24a264d59a4e29b8dcf56dfd09c80571612f465c8e2e91514c076553f27a0b07e66bb2ac0f3fcd6150c8a04ba861de04576e45ca1c03d173149296c029b8fcb SHA512 33103d934dec1bb6e34fb3f15cbbfba2ceec724334ca89bc55df3953779b3f4d45d70e7c9d1734481f366bb2e7e8ab58bef063415571acdf07022f193558ed54
-DIST instantclient-tools-linux-19.5.0.0.0dbru.zip 1018855 BLAKE2B 273d2abbee9d1a54d4ee4c1aa69c66fb7e8df97892ae66406ecbd941a4bcd2e5cc592d39b9d92856b4d211d8aa7361d39c0d5e875505fa5aabc39fa724df0347 SHA512 39e143a03ea428e84d5b124ed00edebb1d5de2b5a69f7614b171ae4e67d6fc7d2638a943fca78a52d0b548b6d300b30143b532604bcfc00f362100a0ac01795d
-DIST instantclient-tools-linux-19.6.0.0.0dbru.zip 1018444 BLAKE2B a29a10a7a98c8c8939263122dfba8fab3fe1101d48693c78cd75a5cecaecbc9a9f57319a13b09a8f87559c2e00e7205f17b6e01711213bd11c5db4914c853ed3 SHA512 ae7402555f61c2badeffb0cb5f2979142ea2e6b54c26d9b3a803b4babc14d176d3c787902b0323bc84dd5d9b273a4653d30e32d1578ac8e152e7280839e9dea6
DIST instantclient-tools-linux-21.3.0.0.0.zip 1083935 BLAKE2B e0caed4063d3322322beea599053fc40f1e08470d03c4bbe7cb5b46e5f4ba4759d313ea714806facd35d24924cb83e6d9d7d3a44bcf1da62c6c80d0321f33ce9 SHA512 301c126a3d2fefe36400c2287515ff6716a68a3273ae1450393d04509447d68e3bd2cc0412c5c078923421ff80534c3fa56123df61fbf92ea42965e3eed80bce
-DIST instantclient-tools-linux.x64-18.3.0.0.0dbru.zip 1142609 BLAKE2B 5c915bd940b7bfaa42429710685cfafc5f0189607da2d789f4aaada2bc9d3365ad8e9ee31cc209830fa54b406ffe4b9b2fc2b5e0b6819ff176f7dbb566117a79 SHA512 2c198d9e723b39f7b512217eb08557dfa3c9ae32858acd882df8b9b24beecffe6b44eb089b50341edf01d7e4c0514d4b3de4aa06fa9185aa0538855963c174a4
-DIST instantclient-tools-linux.x64-18.5.0.0.0dbru.zip 1143747 BLAKE2B af5e70e1add6ca2042a213b5038a805ea3d6074703d5a677798684f60f681d6f7b642154d87a02fe973b5b12295ea9ef6f64c45836ceee66ce67d4e4498417b6 SHA512 7bbacdb1fa062c40b2389599ab522b02d63e68731d461fe45446685642b932ee741b8c9e0fde189d8f741db4131f6ac72c8124612e8668a00f90ed7c594fff50
DIST instantclient-tools-linux.x64-19.11.0.0.0dbru.zip 1085194 BLAKE2B 321e1cd7704f6a5ad33a9ca0eed35feb4d8e4a3ac2b5a5d11f992569f0024ae8ef5b8fb42b02d627ee4a81d2ae9170367ba7107e0f975f89d189c576eef45edd SHA512 d355b0a457ede28b20004b4709ada5bb2c2c8a72a20a19df07bc4fb8607f78ed4d24bbf07a9f2157873b544de7a43406faa27374a0f2d6a47d63f36478e97d3e
-DIST instantclient-tools-linux.x64-19.3.0.0.0dbru.zip 1085243 BLAKE2B abcdf61f01e2bc67610043f1a66015050908f2c09f6aa8b615fd9e8b19a94a161d20b372119bc1bfc1a8ca8511a3859f67c48a39a3c2509fa326a350d7614721 SHA512 33df3a1c19d55ba94e0851bb4eaa83e0bfa72a132de2f5b98bb2a1b0528abee319b20211c7f08719c58250579506cda5c1f4de726f7b1e7c1c484dcb3986e43b
-DIST instantclient-tools-linux.x64-19.5.0.0.0dbru.zip 1085242 BLAKE2B 8d540be2f491d5c5a5e36808332e2a0d28092cb450dff6293851644ea11b8de0f376c87d2cfeea383d0f636e33ed196a89740e3d1ec060b75dc96bd291e18319 SHA512 fde38a0c935be334c96de339f84bbdc15ec956c753395a7a29c2b0d16c301e1fd0accb3d5fdc44082adf36934a7f6a1a2bae7a035d47c949337339bdec615d76
-DIST instantclient-tools-linux.x64-19.6.0.0.0dbru.zip 1083396 BLAKE2B ee38d11929aa76788777b7f5315c56e3ae1df32af210fbbc91c9d45c9b608598b865d9a1c60534c00c54daa8f638cc89fcd22f16212f99d624b9a39e2325c289 SHA512 0ff7dbaa402a417bc389eb15aa1c199fa39bdbc43bce5757213edc2f2b0f9b1fd40f90e2dfd929312e8cf82fb128dc5adc1dc78cd9767cf2028724f9239d3bc8
+DIST instantclient-tools-linux.x64-21.13.0.0.0dbru.zip 1150015 BLAKE2B f0263bd528e26658e4ee2f79365d3d891dcb25ef156486a3d39dc4aa819d77784e4638ab970375c9a85604f404930d8cd939a20f6adbcc8d9652bbfac74d91b0 SHA512 8b62c07ceeef342da835ba0d58802beecff366cb89142547732b368f8757e3017eaead4746816f37cbbe0ef053df8de2cadc4f6bed9307b92b15a27bf1523dc3
DIST instantclient-tools-linux.x64-21.3.0.0.0.zip 1149632 BLAKE2B 3ad6ee973f813733e48c58f9a18d1dad321f9fb886d9460c2bc8f9d766d5a021722b34d9d9ea0ffb7a8466a38f5cf816bc55767b668e5cb5ee59b549fe4fc4ca SHA512 4c47b51f4801cab6d71a201c12ddb7a30616050584630107968a50457d4eca0e92f3344505bdd8f36481924a21a508d476c9f26ed111bad846f4a8feab98110d
diff --git a/dev-db/oracle-instantclient/files/21.13.0.0.0-makefile.patch b/dev-db/oracle-instantclient/files/21.13.0.0.0-makefile.patch
new file mode 100644
index 000000000000..907d43494bf7
--- /dev/null
+++ b/dev-db/oracle-instantclient/files/21.13.0.0.0-makefile.patch
@@ -0,0 +1,22 @@
+diff --color -Naru a/sdk/demo/demo.mk b/sdk/demo/demo.mk
+--- a/sdk/demo/demo.mk 2021-08-22 17:20:17.232777697 +0200
++++ b/sdk/demo/demo.mk 2021-08-22 17:24:49.800783794 +0200
+@@ -43,10 +43,15 @@
+ CC=/opt/SunProd/SUNWspro6.1/bin/CC
+ cc=/opt/SunProd/SUNWspro6.1/bin/cc
+
+-ICINCHOME=../
+-ICLIBHOME=../../
++ifeq ($(BUILD32),T)
++LIBDIR=lib
++else
++LIBDIR=lib64
++endif
++ICINCHOME=$(ORACLE_HOME)/include
++ICLIBHOME=$(ORACLE_HOME)/$(LIBDIR)
+ ICLIBPATH=-L$(ICLIBHOME)
+-CCINCLUDES=-I$(ICINCHOME)include
++CCINCLUDES=-I$(ICINCHOME)
+
+ THREADLIBS=-lthread
+ CCLIB=$(ICLIBPATH) -locci -lclntsh $(THREADLIBS)
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild
deleted file mode 100644
index be381a5a3460..000000000000
--- a/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit pax-utils multilib-minimal
-
-DESCRIPTION="Oracle 18c Instant Client with SDK"
-HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html"
-
-MY_SOVER=18.1 # the library soname found in the zip files
-
-IUSE="jdbc odbc precomp +sdk +sqlplus tools"
-REQUIRED_USE="precomp? ( sdk )"
-
-MY_PVM=$(ver_cut 1-2)
-MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
-
-MY_PV=$(ver_cut 1-4)
-MY_PVP=$(ver_cut 5) # p2
-
-MY_PLAT_x86="Linux x86"
-MY_BITS_x86=32
-MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
-MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
-MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
-MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
-MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
-MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
-MY_A_x86_tools="${MY_A_x86/basic/tools}"
-
-MY_PLAT_amd64="Linux x86-64"
-MY_BITS_amd64=64
-MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
-MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
-MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
-MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
-MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}"
-MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}"
-MY_A_amd64_tools="${MY_A_amd64/basic/tools}"
-
-if [[ ${MY_PVP} == p* ]]
-then
- MY_PVP=-${MY_PVP#p}
- # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip
- MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip"
- MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
-fi
-
-SRC_URI="
- abi_x86_32? (
- ${MY_A_x86}
- jdbc? ( ${MY_A_x86_jdbc} )
- odbc? ( ${MY_A_x86_odbc} )
- precomp? ( ${MY_A_x86_precomp} )
- !abi_x86_64? (
- sdk? ( ${MY_A_x86_sdk} )
- sqlplus? ( ${MY_A_x86_sqlplus} )
- tools? ( ${MY_A_x86_tools} )
- ) )
- abi_x86_64? (
- ${MY_A_amd64}
- jdbc? ( ${MY_A_amd64_jdbc} )
- odbc? ( ${MY_A_amd64_odbc} )
- precomp? ( ${MY_A_amd64_precomp} )
- sdk? ( ${MY_A_amd64_sdk} )
- sqlplus? ( ${MY_A_amd64_sqlplus} )
- tools? ( ${MY_A_amd64_tools} )
- )
-"
-
-LICENSE="OTN"
-SLOT="0/${MY_SOVER}"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="fetch splitdebug"
-
-DEPEND="app-arch/unzip"
-RDEPEND="
- >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
-"
-
-S="${WORKDIR}/${MY_P}"
-
-QA_PREBUILT="usr/lib*/oracle/client/*/*"
-
-set_my_abivars() {
- if multilib_is_native_abi; then
- MY_WORKDIR="${WORKDIR}"
- MY_S="${S}"
- else
- MY_WORKDIR="${WORKDIR}/${ABI}"
- MY_S="${MY_WORKDIR}/${MY_P}"
- fi
-
- local abi=${ABI}
- [[ ${abi} == 'default' ]] && abi=${ARCH}
- MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
- MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
- MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile
- MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc} # jdbc distfile
- MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc} # odbc distfile
- MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp} # precomp distfile
- MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk} # sdk distfile
- MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus} # sqlplus distfile
- MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools} # tools distfile
-
- [[ -n ${MY_PLAT} ]]
-}
-
-oic_distfile_status() {
- : # We must not access DISTDIR in pkg_* phase, bug#612966.
-# Not removing this lines yet, we may eventually specify this feature.
-# if [[ -r ${DISTDIR}/${1} ]]; then
-# echo "already here"
-# else
-# echo "still absent"
-# fi
-}
-
-pkg_nofetch() {
- eerror "Please go to"
- eerror " ${HOMEPAGE//overview/downloads}"
- eerror " and download"
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- eerror "Instant Client for ${MY_PLAT}"
- # convenient ordering like Linux x86-64 download site
- eerror " Basic: $(oic_distfile_status ${MY_A}) ${MY_A}"
- use sqlplus && multilib_is_native_abi &&
- eerror " SQL*Plus: $(oic_distfile_status ${MY_A_sqlplus}) ${MY_A_sqlplus}"
- use tools && multilib_is_native_abi &&
- eerror " Tools: $(oic_distfile_status ${MY_A_tools}) ${MY_A_tools}"
- use sdk && multilib_is_native_abi &&
- eerror " SDK: $(oic_distfile_status ${MY_A_sdk}) ${MY_A_sdk}"
- use jdbc &&
- eerror " JDBC: $(oic_distfile_status ${MY_A_jdbc}) ${MY_A_jdbc}"
- use odbc &&
- eerror " ODBC: $(oic_distfile_status ${MY_A_odbc}) ${MY_A_odbc}"
- use precomp &&
- eerror " Precompiler: $(oic_distfile_status ${MY_A_precomp}) ${MY_A_precomp}"
- done
- eerror "After downloading these files (for *all* shown architectures),"
- eerror "put them in your DISTDIR filesystem directory."
-}
-
-src_unpack() {
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- mkdir -p "${MY_WORKDIR}" || die
- cd "${MY_WORKDIR}" || die
- unpack ${MY_A}
- use jdbc && unpack ${MY_A_jdbc}
- use odbc && unpack ${MY_A_odbc}
- use precomp && unpack ${MY_A_precomp}
- if multilib_is_native_abi; then
- use sdk && unpack ${MY_A_sdk}
- use sqlplus && unpack ${MY_A_sqlplus}
- use tools && unpack ${MY_A_tools}
- fi
- done
-}
-
-src_prepare() {
- local PATCHES=()
- if use precomp; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
- # Not supporting COBOL for now
- rm -f sdk/demo/*procob*
- fi
- if use sdk; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
- rm sdk/include/ldap.h || die #299562
- fi
- default
-}
-
-# silence configure&compile messages from multilib-minimal
-src_configure() { :; }
-src_compile() { :; }
-
-src_install() {
- # all content goes here without version number, bug#578402
- local oracle_home=/usr/$(get_libdir)/oracle/client
- local oracle_home_to_root=../../../.. # for dosym
- local ldpath=
-
- local ABI
- for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
- do
- if ! set_my_abivars; then
- elog "Skipping unsupported ABI ${ABI}."
- continue
- fi
- einfo "Installing runtime for ${MY_PLAT} ..."
-
- cd "${MY_S}" || die
-
- # shared libraries
- into "${oracle_home}"
- dolib.so lib*$(get_libname)*
- use precomp && dolib.a cobsqlintf.o
-
- # ensure to be linkable
- [[ -e libocci$(get_libname) ]] ||
- dosym libocci$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
- [[ -e libclntsh$(get_libname) ]] ||
- dosym libclntsh$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
-
- # java archives
- insinto "${oracle_home}"/$(get_libdir)
- doins *.jar
-
- # runtime library path
- ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
-
- # Vanilla filesystem layout does not support multilib
- # installation, so we need to move the libs into the
- # ABI specific libdir. However, ruby-oci8 build system
- # detects an instantclient along the shared libraries,
- # and does expect the sdk right there.
- use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
-
- eend $?
- done
-
- local DOCS=( BASIC_README )
- local HTML_DOCS=()
- local paxbins=( adrci genezi uidrvci )
- local scripts=()
-
- if use jdbc; then
- DOCS+=( JDBC_README )
- fi
- if use odbc; then
- DOCS+=( ODBC_README )
- HTML_DOCS+=( help )
- scripts+=( odbc_update_ini.sh )
- fi
- if use precomp; then
- DOCS+=( PRECOMP_README )
- paxbins+=( sdk/proc )
- # Install pcscfg.cfg into /etc/oracle, as the user probably
- # wants to add the include path for the compiler headers
- # here and we do not want this to be overwritten.
- insinto /etc/oracle
- doins precomp/admin/pcscfg.cfg
- sed -i -e "s%^sys_include=.*%sys_include=(${oracle_home}/include,${EPREFIX}/usr/include)%" \
- "${ED}"/etc/oracle/pcscfg.cfg || die
- dosym ../../${oracle_home_to_root}/etc/oracle/pcscfg.cfg "${oracle_home}/precomp/admin/pcscfg.cfg"
- dosym ../.."${oracle_home}"/bin/proc /usr/bin/proc
- # Not supporting COBOL for now
- # paxbins+=( sdk/{procob,rtsora} )
- # doins precomp/admin/pcbcfg.cfg
- fi
- if use sdk; then
- einfo "Installing SDK ..."
- DOCS+=( sdk/SDK_README )
- scripts+=( sdk/ott )
- insinto "${oracle_home}"/$(get_libdir)
- doins sdk/ottclasses.zip
- insinto "${oracle_home}"/sdk
- doins -r sdk/{admin,demo,include}
- # Some build systems simply expect ORACLE_HOME/include.
- dosym sdk/include "${oracle_home}"/include
- # Some build systems do not know the instant client,
- # expecting headers in rdbms/public, see bug#669316.
- # Additionally, some (probably older ruby-oci8) do
- # require rdbms/public to be a real directory.
- insinto "${oracle_home}"/rdbms/public
- doins -r sdk/include/*
- # Others (like the DBD::Oracle perl module) know the Oracle
- # eXpress Edition's client, parsing an rdbms/demo/demo_xe.mk.
- dosym ../../sdk/demo/demo.mk "${oracle_home}"/rdbms/demo/demo_xe.mk
- # And some do expect /usr/include/oracle/<ver>/client/include,
- # querying 'sqlplus' for the version number, also see bug#652096.
- dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
- eend $?
- fi
- if use sqlplus; then
- DOCS+=( SQLPLUS_README )
- paxbins+=( sqlplus )
- insinto "${oracle_home}"/sqlplus/admin
- doins glogin.sql
- dosym ../.."${oracle_home}"/bin/sqlplus /usr/bin/sqlplus
- fi
- if use tools; then
- DOCS+=( TOOLS_README )
- paxbins+=( exp expdp imp impdp sqlldr wrc )
- fi
-
- einfo "Installing binaries for ${MY_PLAT} ..."
- into "${oracle_home}"
- dobin ${paxbins[*]} ${scripts[*]}
- pushd "${ED}${oracle_home}/bin" >/dev/null || die
- pax-mark -c ${paxbins[*]#*/} || die
- popd >/dev/null || die
- eend $?
-
- einstalldocs
-
- # create path for tnsnames.ora
- insinto /etc/oracle
- doins "${FILESDIR}"/tnsnames.ora.sample
-
- # Add OCI libs to library path
- {
- echo "# ${EPREFIX}/etc/env.d/50${PN}"
- echo "# Do not edit this file, but 99${PN} instead"
- echo
- echo "ORACLE_HOME=${EPREFIX}${oracle_home}"
- echo "LDPATH=${ldpath}"
- echo "TNS_ADMIN=${EPREFIX}/etc/oracle/"
- } > "${T}"/50${PN}
-
- doenvd "${T}"/50${PN}
-
- # ensure ORACLE_HOME/lib exists
- [[ -e ${ED}${oracle_home}/lib/. ]] ||
- dosym $(get_libdir) "${oracle_home#/}"/lib
-}
-
-pkg_preinst() {
- if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then
- cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die
- else
- {
- echo "# ${EPREFIX}/etc/env.d/99${PN}"
- echo "# Configure system-wide defaults for your Oracle Instant Client here"
- echo
- echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")"
- echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")"
- echo "#NLS_LANG="
- } > "${ED}/etc/env.d/99${PN}"
- fi
-}
-
-pkg_postinst() {
- elog "${P} does not provide an sqlnet.ora"
- elog "configuration file, redirecting oracle diagnostics for database-"
- elog "and network-issues into ~USER/oradiag_USER/ instead."
- elog "It should be safe to ignore this message in sqlnet.log there:"
- elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []"
- elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference."
- elog "If you want to directly analyse low-level debug info or don't want"
- elog "to see it at all, so you really need an sqlnet.ora file, please"
- elog "consult http://search.oracle.com/search/search?q=sqlnet.ora"
- elog ""
- elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default,"
- elog "put your tnsnames.ora there or configure TNS_ADMIN"
- elog "to point to your user specific configuration."
- if use precomp; then
- elog ""
- elog "The proc precompiler uses the system library headers, which in"
- elog "turn include the headers of the used compiler."
- elog "To make proc work, please add the compiler header path of your"
- elog "preferred compiler to sys_include in:"
- elog " ${EPREFIX}/etc/oracle/pcscfg.cfg"
- elog "Remember to update this setting when you switch or update the"
- elog "compiler."
- elog "For gcc, the headers are usually found in a path matching the"
- elog "following pattern:"
- elog " ${EPREFIX}/usr/lib/gcc/*/*/include"
- elog "The exact details depend on the architecture and the version of"
- elog "the compiler to be used."
- fi
- ewarn "Please re-source your shell settings for ORACLE_HOME"
- ewarn " changes, such as: source ${EPREFIX}/etc/profile"
-}
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild
deleted file mode 100644
index 4ca68f907d32..000000000000
--- a/dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild
+++ /dev/null
@@ -1,368 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit pax-utils multilib-minimal
-
-DESCRIPTION="Oracle 18c Instant Client with SDK"
-HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html"
-
-MY_SOVER=18.1 # the library soname found in the zip files
-
-IUSE="jdbc odbc precomp +sdk +sqlplus tools"
-REQUIRED_USE="precomp? ( sdk )"
-
-MY_PVM=$(ver_cut 1-2)
-MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
-
-MY_PV=$(ver_cut 1-4)
-MY_PVP=$(ver_cut 5) # p2
-
-MY_PLAT_x86="Linux x86"
-MY_BITS_x86=32
-MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
-MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
-MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
-MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
-MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
-MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
-MY_A_x86_tools="${MY_A_x86/basic/tools}"
-
-MY_PLAT_amd64="Linux x86-64"
-MY_BITS_amd64=64
-MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
-MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
-MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
-MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
-MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}"
-MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}"
-MY_A_amd64_tools="${MY_A_amd64/basic/tools}"
-
-if [[ ${MY_PVP} == p* ]]
-then
- MY_PVP=-${MY_PVP#p}
- # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip
- MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip"
- MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
-fi
-
-SRC_URI="
- abi_x86_64? (
- ${MY_A_amd64}
- jdbc? ( ${MY_A_amd64_jdbc} )
- odbc? ( ${MY_A_amd64_odbc} )
- precomp? ( ${MY_A_amd64_precomp} )
- sdk? ( ${MY_A_amd64_sdk} )
- sqlplus? ( ${MY_A_amd64_sqlplus} )
- tools? ( ${MY_A_amd64_tools} )
- )
-"
-
-LICENSE="OTN"
-SLOT="0/${MY_SOVER}"
-KEYWORDS="~amd64"
-RESTRICT="fetch splitdebug"
-
-DEPEND="app-arch/unzip"
-RDEPEND="
- >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
-"
-
-S="${WORKDIR}/${MY_P}"
-
-QA_PREBUILT="usr/lib*/oracle/client/*/*"
-
-set_my_abivars() {
- if multilib_is_native_abi; then
- MY_WORKDIR="${WORKDIR}"
- MY_S="${S}"
- else
- MY_WORKDIR="${WORKDIR}/${ABI}"
- MY_S="${MY_WORKDIR}/${MY_P}"
- fi
-
- local abi=${ABI}
- [[ ${abi} == 'default' ]] && abi=${ARCH}
- MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
- MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
- MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile
- MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc} # jdbc distfile
- MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc} # odbc distfile
- MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp} # precomp distfile
- MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk} # sdk distfile
- MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus} # sqlplus distfile
- MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools} # tools distfile
-
- [[ -n ${MY_PLAT} ]]
-}
-
-oic_distfile_status() {
- : # We must not access DISTDIR in pkg_* phase, bug#612966.
-# Not removing this lines yet, we may eventually specify this feature.
-# if [[ -r ${DISTDIR}/${1} ]]; then
-# echo "already here"
-# else
-# echo "still absent"
-# fi
-}
-
-pkg_nofetch() {
- eerror "Please go to"
- eerror " ${HOMEPAGE//overview/downloads}"
- eerror " and download"
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- eerror "Instant Client for ${MY_PLAT}"
- # convenient ordering like Linux x86-64 download site
- eerror " Basic: $(oic_distfile_status ${MY_A}) ${MY_A}"
- use sqlplus && multilib_is_native_abi &&
- eerror " SQL*Plus: $(oic_distfile_status ${MY_A_sqlplus}) ${MY_A_sqlplus}"
- use tools && multilib_is_native_abi &&
- eerror " Tools: $(oic_distfile_status ${MY_A_tools}) ${MY_A_tools}"
- use sdk && multilib_is_native_abi &&
- eerror " SDK: $(oic_distfile_status ${MY_A_sdk}) ${MY_A_sdk}"
- use jdbc &&
- eerror " JDBC: $(oic_distfile_status ${MY_A_jdbc}) ${MY_A_jdbc}"
- use odbc &&
- eerror " ODBC: $(oic_distfile_status ${MY_A_odbc}) ${MY_A_odbc}"
- use precomp &&
- eerror " Precompiler: $(oic_distfile_status ${MY_A_precomp}) ${MY_A_precomp}"
- done
- eerror "After downloading these files (for *all* shown architectures),"
- eerror "put them in your DISTDIR filesystem directory."
-}
-
-src_unpack() {
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- mkdir -p "${MY_WORKDIR}" || die
- cd "${MY_WORKDIR}" || die
- unpack ${MY_A}
- use jdbc && unpack ${MY_A_jdbc}
- use odbc && unpack ${MY_A_odbc}
- use precomp && unpack ${MY_A_precomp}
- if multilib_is_native_abi; then
- use sdk && unpack ${MY_A_sdk}
- use sqlplus && unpack ${MY_A_sqlplus}
- use tools && unpack ${MY_A_tools}
- fi
- done
-}
-
-src_prepare() {
- local PATCHES=()
- if use precomp; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
- # Not supporting COBOL for now
- rm -f sdk/demo/*procob*
- fi
- if use sdk; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
- rm sdk/include/ldap.h || die #299562
- fi
- default
-}
-
-# silence configure&compile messages from multilib-minimal
-src_configure() { :; }
-src_compile() { :; }
-
-src_install() {
- # all content goes here without version number, bug#578402
- local oracle_home=/usr/$(get_libdir)/oracle/client
- local oracle_home_to_root=../../../.. # for dosym
- local ldpath=
-
- local ABI
- for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
- do
- if ! set_my_abivars; then
- elog "Skipping unsupported ABI ${ABI}."
- continue
- fi
- einfo "Installing runtime for ${MY_PLAT} ..."
-
- cd "${MY_S}" || die
-
- # shared libraries
- into "${oracle_home}"
- dolib.so lib*$(get_libname)*
- use precomp && dolib.a cobsqlintf.o
-
- # ensure to be linkable
- [[ -e libocci$(get_libname) ]] ||
- dosym libocci$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
- [[ -e libclntsh$(get_libname) ]] ||
- dosym libclntsh$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
-
- # java archives
- insinto "${oracle_home}"/$(get_libdir)
- doins *.jar
-
- # runtime library path
- ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
-
- # Vanilla filesystem layout does not support multilib
- # installation, so we need to move the libs into the
- # ABI specific libdir. However, ruby-oci8 build system
- # detects an instantclient along the shared libraries,
- # and does expect the sdk right there.
- use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
-
- eend $?
- done
-
- local DOCS=( BASIC_README )
- local HTML_DOCS=()
- local paxbins=( adrci genezi uidrvci )
- local scripts=()
-
- if use jdbc; then
- DOCS+=( JDBC_README )
- fi
- if use odbc; then
- DOCS+=( ODBC_README )
- HTML_DOCS+=( help )
- scripts+=( odbc_update_ini.sh )
- fi
- if use precomp; then
- DOCS+=( PRECOMP_README )
- paxbins+=( sdk/proc )
- # Install pcscfg.cfg into /etc/oracle, as the user probably
- # wants to add the include path for the compiler headers
- # here and we do not want this to be overwritten.
- insinto /etc/oracle
- doins precomp/admin/pcscfg.cfg
- sed -i -e "s%^sys_include=.*%sys_include=(${oracle_home}/include,${EPREFIX}/usr/include)%" \
- "${ED}"/etc/oracle/pcscfg.cfg || die
- dosym ../../${oracle_home_to_root}/etc/oracle/pcscfg.cfg "${oracle_home}/precomp/admin/pcscfg.cfg"
- dosym ../.."${oracle_home}"/bin/proc /usr/bin/proc
- # Not supporting COBOL for now
- # paxbins+=( sdk/{procob,rtsora} )
- # doins precomp/admin/pcbcfg.cfg
- fi
- if use sdk; then
- einfo "Installing SDK ..."
- DOCS+=( SDK_README )
- scripts+=( sdk/ott )
- insinto "${oracle_home}"/$(get_libdir)
- doins sdk/ottclasses.zip
- insinto "${oracle_home}"/sdk
- doins -r sdk/{admin,demo,include}
- # Some build systems simply expect ORACLE_HOME/include.
- dosym sdk/include "${oracle_home}"/include
- # Some build systems do not know the instant client,
- # expecting headers in rdbms/public, see bug#669316.
- # Additionally, some (probably older ruby-oci8) do
- # require rdbms/public to be a real directory.
- insinto "${oracle_home}"/rdbms/public
- doins -r sdk/include/*
- # Others (like the DBD::Oracle perl module) know the Oracle
- # eXpress Edition's client, parsing an rdbms/demo/demo_xe.mk.
- dosym ../../sdk/demo/demo.mk "${oracle_home}"/rdbms/demo/demo_xe.mk
- # And some do expect /usr/include/oracle/<ver>/client/include,
- # querying 'sqlplus' for the version number, also see bug#652096.
- dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
- eend $?
- fi
- if use sqlplus; then
- DOCS+=( SQLPLUS_README )
- paxbins+=( sqlplus )
- insinto "${oracle_home}"/sqlplus/admin
- doins glogin.sql
- dosym ../.."${oracle_home}"/bin/sqlplus /usr/bin/sqlplus
- fi
- if use tools; then
- DOCS+=( TOOLS_README )
- paxbins+=( exp expdp imp impdp sqlldr wrc )
- fi
-
- einfo "Installing binaries for ${MY_PLAT} ..."
- into "${oracle_home}"
- dobin ${paxbins[*]} ${scripts[*]}
- pushd "${ED}${oracle_home}/bin" >/dev/null || die
- pax-mark -c ${paxbins[*]#*/} || die
- popd >/dev/null || die
- eend $?
-
- einstalldocs
-
- # create path for tnsnames.ora
- insinto /etc/oracle
- doins "${FILESDIR}"/tnsnames.ora.sample
-
- # Add OCI libs to library path
- {
- echo "# ${EPREFIX}/etc/env.d/50${PN}"
- echo "# Do not edit this file, but 99${PN} instead"
- echo
- echo "ORACLE_HOME=${EPREFIX}${oracle_home}"
- echo "LDPATH=${ldpath}"
- echo "TNS_ADMIN=${EPREFIX}/etc/oracle/"
- } > "${T}"/50${PN}
-
- doenvd "${T}"/50${PN}
-
- # ensure ORACLE_HOME/lib exists
- [[ -e ${ED}${oracle_home}/lib/. ]] ||
- dosym $(get_libdir) "${oracle_home#/}"/lib
-}
-
-pkg_preinst() {
- if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then
- cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die
- else
- {
- echo "# ${EPREFIX}/etc/env.d/99${PN}"
- echo "# Configure system-wide defaults for your Oracle Instant Client here"
- echo
- echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")"
- echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")"
- echo "#NLS_LANG="
- } > "${ED}/etc/env.d/99${PN}"
- fi
-}
-
-pkg_postinst() {
- elog "${P} does not provide an sqlnet.ora"
- elog "configuration file, redirecting oracle diagnostics for database-"
- elog "and network-issues into ~USER/oradiag_USER/ instead."
- elog "It should be safe to ignore this message in sqlnet.log there:"
- elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []"
- elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference."
- elog "If you want to directly analyse low-level debug info or don't want"
- elog "to see it at all, so you really need an sqlnet.ora file, please"
- elog "consult http://search.oracle.com/search/search?q=sqlnet.ora"
- elog ""
- elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default,"
- elog "put your tnsnames.ora there or configure TNS_ADMIN"
- elog "to point to your user specific configuration."
- if use precomp; then
- elog ""
- elog "The proc precompiler uses the system library headers, which in"
- elog "turn include the headers of the used compiler."
- elog "To make proc work, please add the compiler header path of your"
- elog "preferred compiler to sys_include in:"
- elog " ${EPREFIX}/etc/oracle/pcscfg.cfg"
- elog "Remember to update this setting when you switch or update the"
- elog "compiler."
- elog "For gcc, the headers are usually found in a path matching the"
- elog "following pattern:"
- elog " ${EPREFIX}/usr/lib/gcc/*/*/include"
- elog "The exact details depend on the architecture and the version of"
- elog "the compiler to be used."
- fi
- ewarn "Please re-source your shell settings for ORACLE_HOME"
- ewarn " changes, such as: source ${EPREFIX}/etc/profile"
-}
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild
index 1e100305629e..cef395201617 100644
--- a/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild
+++ b/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -72,16 +72,13 @@ SRC_URI="
LICENSE="OTN"
SLOT="0/${MY_SOVER}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RESTRICT="mirror splitdebug test"
DEPEND="app-arch/unzip"
RDEPEND="
>=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
+ sys-libs/glibc
odbc? ( dev-db/unixODBC )
"
@@ -163,7 +160,7 @@ src_install() {
elog "Skipping unsupported ABI ${ABI}."
continue
fi
- einfo "Installing runtime for ${MY_PLAT} ..."
+ ebegin "Installing runtime for ${MY_PLAT}"
cd "${MY_S}" || die
@@ -227,7 +224,7 @@ src_install() {
# doins precomp/admin/pcbcfg.cfg
fi
if use sdk; then
- einfo "Installing SDK ..."
+ ebegin "Installing SDK"
DOCS+=( SDK_README )
scripts+=( sdk/ott )
insinto "${oracle_home}"/$(get_libdir)
@@ -262,7 +259,7 @@ src_install() {
paxbins+=( exp expdp imp impdp sqlldr wrc )
fi
- einfo "Installing binaries for ${MY_PLAT} ..."
+ ebegin "Installing binaries for ${MY_PLAT}"
into "${oracle_home}"
dobin ${paxbins[*]} ${scripts[*]}
pushd "${ED}${oracle_home}/bin" >/dev/null || die
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-19.3.0.0-r1.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-19.3.0.0-r1.ebuild
deleted file mode 100644
index e4c7cf4d8670..000000000000
--- a/dev-db/oracle-instantclient/oracle-instantclient-19.3.0.0-r1.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit pax-utils multilib-minimal
-
-DESCRIPTION="Oracle 18c Instant Client with SDK"
-HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html"
-
-MY_SOVER=18.1 # the library soname found in the zip files
-
-IUSE="jdbc odbc precomp +sdk +sqlplus tools"
-REQUIRED_USE="precomp? ( sdk )"
-
-MY_PVM=$(ver_cut 1-2)
-MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
-
-MY_PV=$(ver_cut 1-4)
-MY_PVP=$(ver_cut 5) # p2
-
-MY_PLAT_x86="Linux x86"
-MY_BITS_x86=32
-MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
-MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
-MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
-MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
-MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
-MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
-MY_A_x86_tools="${MY_A_x86/basic/tools}"
-
-MY_PLAT_amd64="Linux x86-64"
-MY_BITS_amd64=64
-MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
-MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
-MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
-MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
-MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}"
-MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}"
-MY_A_amd64_tools="${MY_A_amd64/basic/tools}"
-
-if [[ ${MY_PVP} == p* ]]
-then
- MY_PVP=-${MY_PVP#p}
- # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip
- MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip"
- MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
-fi
-
-SRC_URI="
- abi_x86_32? (
- ${MY_A_x86}
- jdbc? ( ${MY_A_x86_jdbc} )
- odbc? ( ${MY_A_x86_odbc} )
- precomp? ( ${MY_A_x86_precomp} )
- !abi_x86_64? (
- sdk? ( ${MY_A_x86_sdk} )
- sqlplus? ( ${MY_A_x86_sqlplus} )
- tools? ( ${MY_A_x86_tools} )
- ) )
- abi_x86_64? (
- ${MY_A_amd64}
- jdbc? ( ${MY_A_amd64_jdbc} )
- odbc? ( ${MY_A_amd64_odbc} )
- precomp? ( ${MY_A_amd64_precomp} )
- sdk? ( ${MY_A_amd64_sdk} )
- sqlplus? ( ${MY_A_amd64_sqlplus} )
- tools? ( ${MY_A_amd64_tools} )
- )
-"
-
-LICENSE="OTN"
-SLOT="0/${MY_SOVER}"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="fetch splitdebug"
-
-DEPEND="app-arch/unzip"
-RDEPEND="
- >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
-"
-
-S="${WORKDIR}/${MY_P}"
-
-QA_PREBUILT="usr/lib*/oracle/client/*/*"
-
-set_my_abivars() {
- if multilib_is_native_abi; then
- MY_WORKDIR="${WORKDIR}"
- MY_S="${S}"
- else
- MY_WORKDIR="${WORKDIR}/${ABI}"
- MY_S="${MY_WORKDIR}/${MY_P}"
- fi
-
- local abi=${ABI}
- [[ ${abi} == 'default' ]] && abi=${ARCH}
- MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
- MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
- MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile
- MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc} # jdbc distfile
- MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc} # odbc distfile
- MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp} # precomp distfile
- MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk} # sdk distfile
- MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus} # sqlplus distfile
- MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools} # tools distfile
-
- [[ -n ${MY_PLAT} ]]
-}
-
-oic_distfile_status() {
- : # We must not access DISTDIR in pkg_* phase, bug#612966.
-# Not removing this lines yet, we may eventually specify this feature.
-# if [[ -r ${DISTDIR}/${1} ]]; then
-# echo "already here"
-# else
-# echo "still absent"
-# fi
-}
-
-pkg_nofetch() {
- eerror "Please go to"
- eerror " ${HOMEPAGE//overview/downloads}"
- eerror " and download"
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- eerror "Instant Client for ${MY_PLAT}"
- # convenient ordering like Linux x86-64 download site
- eerror " Basic: $(oic_distfile_status ${MY_A}) ${MY_A}"
- use sqlplus && multilib_is_native_abi &&
- eerror " SQL*Plus: $(oic_distfile_status ${MY_A_sqlplus}) ${MY_A_sqlplus}"
- use tools && multilib_is_native_abi &&
- eerror " Tools: $(oic_distfile_status ${MY_A_tools}) ${MY_A_tools}"
- use sdk && multilib_is_native_abi &&
- eerror " SDK: $(oic_distfile_status ${MY_A_sdk}) ${MY_A_sdk}"
- use jdbc &&
- eerror " JDBC: $(oic_distfile_status ${MY_A_jdbc}) ${MY_A_jdbc}"
- use odbc &&
- eerror " ODBC: $(oic_distfile_status ${MY_A_odbc}) ${MY_A_odbc}"
- use precomp &&
- eerror " Precompiler: $(oic_distfile_status ${MY_A_precomp}) ${MY_A_precomp}"
- done
- eerror "After downloading these files (for *all* shown architectures),"
- eerror "put them in your DISTDIR filesystem directory."
-}
-
-src_unpack() {
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- mkdir -p "${MY_WORKDIR}" || die
- cd "${MY_WORKDIR}" || die
- unpack ${MY_A}
- use jdbc && unpack ${MY_A_jdbc}
- use odbc && unpack ${MY_A_odbc}
- use precomp && unpack ${MY_A_precomp}
- if multilib_is_native_abi; then
- use sdk && unpack ${MY_A_sdk}
- use sqlplus && unpack ${MY_A_sqlplus}
- use tools && unpack ${MY_A_tools}
- fi
- done
-}
-
-src_prepare() {
- local PATCHES=()
- if use precomp; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
- # Not supporting COBOL for now
- rm -f sdk/demo/*procob*
- fi
- if use sdk; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
- rm sdk/include/ldap.h || die #299562
- fi
- default
-}
-
-# silence configure&compile messages from multilib-minimal
-src_configure() { :; }
-src_compile() { :; }
-
-src_install() {
- # all content goes here without version number, bug#578402
- local oracle_home=/usr/$(get_libdir)/oracle/client
- local oracle_home_to_root=../../../.. # for dosym
- local ldpath=
-
- local ABI
- for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
- do
- if ! set_my_abivars; then
- elog "Skipping unsupported ABI ${ABI}."
- continue
- fi
- einfo "Installing runtime for ${MY_PLAT} ..."
-
- cd "${MY_S}" || die
-
- # shared libraries
- into "${oracle_home}"
- dolib.so lib*$(get_libname)*
- use precomp && dolib.a cobsqlintf.o
-
- # ensure to be linkable
- [[ -e libocci$(get_libname) ]] ||
- dosym libocci$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
- [[ -e libclntsh$(get_libname) ]] ||
- dosym libclntsh$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
-
- # java archives
- insinto "${oracle_home}"/$(get_libdir)
- doins *.jar
-
- # runtime library path
- ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
-
- # Vanilla filesystem layout does not support multilib
- # installation, so we need to move the libs into the
- # ABI specific libdir. However, ruby-oci8 build system
- # detects an instantclient along the shared libraries,
- # and does expect the sdk right there.
- use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
-
- eend $?
- done
-
- local DOCS=( BASIC_README )
- local HTML_DOCS=()
- local paxbins=( adrci genezi uidrvci )
- local scripts=()
-
- if use jdbc; then
- DOCS+=( JDBC_README )
- fi
- if use odbc; then
- DOCS+=( ODBC_README )
- HTML_DOCS+=( help )
- scripts+=( odbc_update_ini.sh )
- fi
- if use precomp; then
- DOCS+=( PRECOMP_README )
- paxbins+=( sdk/proc )
- # Install pcscfg.cfg into /etc/oracle, as the user probably
- # wants to add the include path for the compiler headers
- # here and we do not want this to be overwritten.
- insinto /etc/oracle
- doins precomp/admin/pcscfg.cfg
- sed -i -e "s%^sys_include=.*%sys_include=(${oracle_home}/sdk/include,${EPREFIX}/usr/include)%" \
- "${ED}"/etc/oracle/pcscfg.cfg || die
- dosym ../../${oracle_home_to_root}/etc/oracle/pcscfg.cfg "${oracle_home}/precomp/admin/pcscfg.cfg"
- dosym ../.."${oracle_home}"/bin/proc /usr/bin/proc
- # Not supporting COBOL for now
- # paxbins+=( sdk/{procob,rtsora} )
- # doins precomp/admin/pcbcfg.cfg
- fi
- if use sdk; then
- einfo "Installing SDK ..."
- DOCS+=( SDK_README )
- scripts+=( sdk/ott )
- insinto "${oracle_home}"/$(get_libdir)
- doins sdk/ottclasses.zip
- insinto "${oracle_home}"/sdk
- doins -r sdk/{admin,demo,include}
- # Some build systems simply expect ORACLE_HOME/include.
- dosym sdk/include "${oracle_home}"/include
- # Some build systems do not know the instant client,
- # expecting headers in rdbms/public, see bug#669316.
- # Additionally, some (probably older ruby-oci8) do
- # require rdbms/public to be a real directory.
- insinto "${oracle_home}"/rdbms/public
- doins -r sdk/include/*
- # Others (like the DBD::Oracle perl module) know the Oracle
- # eXpress Edition's client, parsing an rdbms/demo/demo_xe.mk.
- dosym ../../sdk/demo/demo.mk "${oracle_home}"/rdbms/demo/demo_xe.mk
- # And some do expect /usr/include/oracle/<ver>/client/include,
- # querying 'sqlplus' for the version number, also see bug#652096.
- dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
- eend $?
- fi
- if use sqlplus; then
- DOCS+=( SQLPLUS_README )
- paxbins+=( sqlplus )
- insinto "${oracle_home}"/sqlplus/admin
- doins glogin.sql
- dosym ../.."${oracle_home}"/bin/sqlplus /usr/bin/sqlplus
- fi
- if use tools; then
- DOCS+=( TOOLS_README )
- paxbins+=( exp expdp imp impdp sqlldr wrc )
- fi
-
- einfo "Installing binaries for ${MY_PLAT} ..."
- into "${oracle_home}"
- dobin ${paxbins[*]} ${scripts[*]}
- pushd "${ED}${oracle_home}/bin" >/dev/null || die
- pax-mark -c ${paxbins[*]#*/} || die
- popd >/dev/null || die
- eend $?
-
- einstalldocs
-
- # create path for tnsnames.ora
- insinto /etc/oracle
- doins "${FILESDIR}"/tnsnames.ora.sample
-
- # Add OCI libs to library path
- {
- echo "# ${EPREFIX}/etc/env.d/50${PN}"
- echo "# Do not edit this file, but 99${PN} instead"
- echo
- echo "ORACLE_HOME=${EPREFIX}${oracle_home}"
- echo "LDPATH=${ldpath}"
- echo "TNS_ADMIN=${EPREFIX}/etc/oracle/"
- } > "${T}"/50${PN}
-
- doenvd "${T}"/50${PN}
-
- # ensure ORACLE_HOME/lib exists
- [[ -e ${ED}${oracle_home}/lib/. ]] ||
- dosym $(get_libdir) "${oracle_home#/}"/lib
-}
-
-pkg_preinst() {
- if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then
- cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die
- else
- {
- echo "# ${EPREFIX}/etc/env.d/99${PN}"
- echo "# Configure system-wide defaults for your Oracle Instant Client here"
- echo
- echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")"
- echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")"
- echo "#NLS_LANG="
- } > "${ED}/etc/env.d/99${PN}"
- fi
-}
-
-pkg_postinst() {
- elog "${P} does not provide an sqlnet.ora"
- elog "configuration file, redirecting oracle diagnostics for database-"
- elog "and network-issues into ~USER/oradiag_USER/ instead."
- elog "It should be safe to ignore this message in sqlnet.log there:"
- elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []"
- elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference."
- elog "If you want to directly analyse low-level debug info or don't want"
- elog "to see it at all, so you really need an sqlnet.ora file, please"
- elog "consult http://search.oracle.com/search/search?q=sqlnet.ora"
- elog ""
- elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default,"
- elog "put your tnsnames.ora there or configure TNS_ADMIN"
- elog "to point to your user specific configuration."
- if use precomp; then
- elog ""
- elog "The proc precompiler uses the system library headers, which in"
- elog "turn include the headers of the used compiler."
- elog "To make proc work, please add the compiler header path of your"
- elog "preferred compiler to sys_include in:"
- elog " ${EPREFIX}/etc/oracle/pcscfg.cfg"
- elog "Remember to update this setting when you switch or update the"
- elog "compiler."
- elog "For gcc, the headers are usually found in a path matching the"
- elog "following pattern:"
- elog " ${EPREFIX}/usr/lib/gcc/*/*/include"
- elog "The exact details depend on the architecture and the version of"
- elog "the compiler to be used."
- fi
- ewarn "Please re-source your shell settings for ORACLE_HOME"
- ewarn " changes, such as: source ${EPREFIX}/etc/profile"
-}
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-19.5.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-19.5.0.0.ebuild
deleted file mode 100644
index 1c15ce7dd481..000000000000
--- a/dev-db/oracle-instantclient/oracle-instantclient-19.5.0.0.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit pax-utils multilib-minimal
-
-DESCRIPTION="Oracle 18c Instant Client with SDK"
-HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html"
-
-MY_SOVER=19.1 # the library soname found in the zip files
-
-IUSE="jdbc odbc precomp +sdk +sqlplus tools"
-REQUIRED_USE="precomp? ( sdk )"
-
-MY_PVM=$(ver_cut 1-2)
-MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
-
-MY_PV=$(ver_cut 1-4)
-MY_PVP=$(ver_cut 5) # p2
-
-MY_PLAT_x86="Linux x86"
-MY_BITS_x86=32
-MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
-MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
-MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
-MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
-MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
-MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
-MY_A_x86_tools="${MY_A_x86/basic/tools}"
-
-MY_PLAT_amd64="Linux x86-64"
-MY_BITS_amd64=64
-MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
-MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
-MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
-MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
-MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}"
-MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}"
-MY_A_amd64_tools="${MY_A_amd64/basic/tools}"
-
-if [[ ${MY_PVP} == p* ]]
-then
- MY_PVP=-${MY_PVP#p}
- # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip
- MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip"
- MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
-fi
-
-SRC_URI="
- abi_x86_32? (
- ${MY_A_x86}
- jdbc? ( ${MY_A_x86_jdbc} )
- odbc? ( ${MY_A_x86_odbc} )
- precomp? ( ${MY_A_x86_precomp} )
- !abi_x86_64? (
- sdk? ( ${MY_A_x86_sdk} )
- sqlplus? ( ${MY_A_x86_sqlplus} )
- tools? ( ${MY_A_x86_tools} )
- ) )
- abi_x86_64? (
- ${MY_A_amd64}
- jdbc? ( ${MY_A_amd64_jdbc} )
- odbc? ( ${MY_A_amd64_odbc} )
- precomp? ( ${MY_A_amd64_precomp} )
- sdk? ( ${MY_A_amd64_sdk} )
- sqlplus? ( ${MY_A_amd64_sqlplus} )
- tools? ( ${MY_A_amd64_tools} )
- )
-"
-
-LICENSE="OTN"
-SLOT="0/${MY_SOVER}"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="fetch splitdebug"
-
-DEPEND="app-arch/unzip"
-RDEPEND="
- >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
-"
-
-S="${WORKDIR}/${MY_P}"
-
-QA_PREBUILT="usr/lib*/oracle/client/*/*"
-
-set_my_abivars() {
- if multilib_is_native_abi; then
- MY_WORKDIR="${WORKDIR}"
- MY_S="${S}"
- else
- MY_WORKDIR="${WORKDIR}/${ABI}"
- MY_S="${MY_WORKDIR}/${MY_P}"
- fi
-
- local abi=${ABI}
- [[ ${abi} == 'default' ]] && abi=${ARCH}
- MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
- MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
- MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile
- MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc} # jdbc distfile
- MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc} # odbc distfile
- MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp} # precomp distfile
- MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk} # sdk distfile
- MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus} # sqlplus distfile
- MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools} # tools distfile
-
- [[ -n ${MY_PLAT} ]]
-}
-
-oic_distfile_status() {
- : # We must not access DISTDIR in pkg_* phase, bug#612966.
-# Not removing this lines yet, we may eventually specify this feature.
-# if [[ -r ${DISTDIR}/${1} ]]; then
-# echo "already here"
-# else
-# echo "still absent"
-# fi
-}
-
-pkg_nofetch() {
- eerror "Please go to"
- eerror " ${HOMEPAGE//overview/downloads}"
- eerror " and download"
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- eerror "Instant Client for ${MY_PLAT}"
- # convenient ordering like Linux x86-64 download site
- eerror " Basic: $(oic_distfile_status ${MY_A}) ${MY_A}"
- use sqlplus && multilib_is_native_abi &&
- eerror " SQL*Plus: $(oic_distfile_status ${MY_A_sqlplus}) ${MY_A_sqlplus}"
- use tools && multilib_is_native_abi &&
- eerror " Tools: $(oic_distfile_status ${MY_A_tools}) ${MY_A_tools}"
- use sdk && multilib_is_native_abi &&
- eerror " SDK: $(oic_distfile_status ${MY_A_sdk}) ${MY_A_sdk}"
- use jdbc &&
- eerror " JDBC: $(oic_distfile_status ${MY_A_jdbc}) ${MY_A_jdbc}"
- use odbc &&
- eerror " ODBC: $(oic_distfile_status ${MY_A_odbc}) ${MY_A_odbc}"
- use precomp &&
- eerror " Precompiler: $(oic_distfile_status ${MY_A_precomp}) ${MY_A_precomp}"
- done
- eerror "After downloading these files (for *all* shown architectures),"
- eerror "put them in your DISTDIR filesystem directory."
-}
-
-src_unpack() {
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- mkdir -p "${MY_WORKDIR}" || die
- cd "${MY_WORKDIR}" || die
- unpack ${MY_A}
- use jdbc && unpack ${MY_A_jdbc}
- use odbc && unpack ${MY_A_odbc}
- use precomp && unpack ${MY_A_precomp}
- if multilib_is_native_abi; then
- use sdk && unpack ${MY_A_sdk}
- use sqlplus && unpack ${MY_A_sqlplus}
- use tools && unpack ${MY_A_tools}
- fi
- done
-}
-
-src_prepare() {
- local PATCHES=()
- if use precomp; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
- # Not supporting COBOL for now
- rm -f sdk/demo/*procob*
- fi
- if use sdk; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
- rm sdk/include/ldap.h || die #299562
- fi
- default
-}
-
-# silence configure&compile messages from multilib-minimal
-src_configure() { :; }
-src_compile() { :; }
-
-src_install() {
- # all content goes here without version number, bug#578402
- local oracle_home=/usr/$(get_libdir)/oracle/client
- local oracle_home_to_root=../../../.. # for dosym
- local ldpath=
-
- local ABI
- for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
- do
- if ! set_my_abivars; then
- elog "Skipping unsupported ABI ${ABI}."
- continue
- fi
- einfo "Installing runtime for ${MY_PLAT} ..."
-
- cd "${MY_S}" || die
-
- # shared libraries
- into "${oracle_home}"
- dolib.so lib*$(get_libname)*
- use precomp && dolib.a cobsqlintf.o
-
- # ensure to be linkable
- [[ -e libocci$(get_libname) ]] ||
- dosym libocci$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
- [[ -e libclntsh$(get_libname) ]] ||
- dosym libclntsh$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
-
- # java archives
- insinto "${oracle_home}"/$(get_libdir)
- doins *.jar
-
- # runtime library path
- ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
-
- # Vanilla filesystem layout does not support multilib
- # installation, so we need to move the libs into the
- # ABI specific libdir. However, ruby-oci8 build system
- # detects an instantclient along the shared libraries,
- # and does expect the sdk right there.
- use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
-
- eend $?
- done
-
- local DOCS=( BASIC_README )
- local HTML_DOCS=()
- local paxbins=( adrci genezi uidrvci )
- local scripts=()
-
- if use jdbc; then
- DOCS+=( JDBC_README )
- fi
- if use odbc; then
- DOCS+=( ODBC_README )
- HTML_DOCS+=( help )
- scripts+=( odbc_update_ini.sh )
- fi
- if use precomp; then
- DOCS+=( PRECOMP_README )
- paxbins+=( sdk/proc )
- # Install pcscfg.cfg into /etc/oracle, as the user probably
- # wants to add the include path for the compiler headers
- # here and we do not want this to be overwritten.
- insinto /etc/oracle
- doins precomp/admin/pcscfg.cfg
- sed -i -e "s%^sys_include=.*%sys_include=(${oracle_home}/sdk/include,${EPREFIX}/usr/include)%" \
- "${ED}"/etc/oracle/pcscfg.cfg || die
- dosym ../../${oracle_home_to_root}/etc/oracle/pcscfg.cfg "${oracle_home}/precomp/admin/pcscfg.cfg"
- dosym ../.."${oracle_home}"/bin/proc /usr/bin/proc
- # Not supporting COBOL for now
- # paxbins+=( sdk/{procob,rtsora} )
- # doins precomp/admin/pcbcfg.cfg
- fi
- if use sdk; then
- einfo "Installing SDK ..."
- DOCS+=( SDK_README )
- scripts+=( sdk/ott )
- insinto "${oracle_home}"/$(get_libdir)
- doins sdk/ottclasses.zip
- insinto "${oracle_home}"/sdk
- doins -r sdk/{admin,demo,include}
- # Some build systems simply expect ORACLE_HOME/include.
- dosym sdk/include "${oracle_home}"/include
- # Some build systems do not know the instant client,
- # expecting headers in rdbms/public, see bug#669316.
- # Additionally, some (probably older ruby-oci8) do
- # require rdbms/public to be a real directory.
- insinto "${oracle_home}"/rdbms/public
- doins -r sdk/include/*
- # Others (like the DBD::Oracle perl module) know the Oracle
- # eXpress Edition's client, parsing an rdbms/demo/demo_xe.mk.
- dosym ../../sdk/demo/demo.mk "${oracle_home}"/rdbms/demo/demo_xe.mk
- # And some do expect /usr/include/oracle/<ver>/client/include,
- # querying 'sqlplus' for the version number, also see bug#652096.
- dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
- eend $?
- fi
- if use sqlplus; then
- DOCS+=( SQLPLUS_README )
- paxbins+=( sqlplus )
- insinto "${oracle_home}"/sqlplus/admin
- doins glogin.sql
- dosym ../.."${oracle_home}"/bin/sqlplus /usr/bin/sqlplus
- fi
- if use tools; then
- DOCS+=( TOOLS_README )
- paxbins+=( exp expdp imp impdp sqlldr wrc )
- fi
-
- einfo "Installing binaries for ${MY_PLAT} ..."
- into "${oracle_home}"
- dobin ${paxbins[*]} ${scripts[*]}
- pushd "${ED}${oracle_home}/bin" >/dev/null || die
- pax-mark -c ${paxbins[*]#*/} || die
- popd >/dev/null || die
- eend $?
-
- einstalldocs
-
- # create path for tnsnames.ora
- insinto /etc/oracle
- doins "${FILESDIR}"/tnsnames.ora.sample
-
- # Add OCI libs to library path
- {
- echo "# ${EPREFIX}/etc/env.d/50${PN}"
- echo "# Do not edit this file, but 99${PN} instead"
- echo
- echo "ORACLE_HOME=${EPREFIX}${oracle_home}"
- echo "LDPATH=${ldpath}"
- echo "TNS_ADMIN=${EPREFIX}/etc/oracle/"
- } > "${T}"/50${PN}
-
- doenvd "${T}"/50${PN}
-
- # ensure ORACLE_HOME/lib exists
- [[ -e ${ED}${oracle_home}/lib/. ]] ||
- dosym $(get_libdir) "${oracle_home#/}"/lib
-}
-
-pkg_preinst() {
- if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then
- cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die
- else
- {
- echo "# ${EPREFIX}/etc/env.d/99${PN}"
- echo "# Configure system-wide defaults for your Oracle Instant Client here"
- echo
- echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")"
- echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")"
- echo "#NLS_LANG="
- } > "${ED}/etc/env.d/99${PN}"
- fi
-}
-
-pkg_postinst() {
- elog "${P} does not provide an sqlnet.ora"
- elog "configuration file, redirecting oracle diagnostics for database-"
- elog "and network-issues into ~USER/oradiag_USER/ instead."
- elog "It should be safe to ignore this message in sqlnet.log there:"
- elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []"
- elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference."
- elog "If you want to directly analyse low-level debug info or don't want"
- elog "to see it at all, so you really need an sqlnet.ora file, please"
- elog "consult http://search.oracle.com/search/search?q=sqlnet.ora"
- elog ""
- elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default,"
- elog "put your tnsnames.ora there or configure TNS_ADMIN"
- elog "to point to your user specific configuration."
- if use precomp; then
- elog ""
- elog "The proc precompiler uses the system library headers, which in"
- elog "turn include the headers of the used compiler."
- elog "To make proc work, please add the compiler header path of your"
- elog "preferred compiler to sys_include in:"
- elog " ${EPREFIX}/etc/oracle/pcscfg.cfg"
- elog "Remember to update this setting when you switch or update the"
- elog "compiler."
- elog "For gcc, the headers are usually found in a path matching the"
- elog "following pattern:"
- elog " ${EPREFIX}/usr/lib/gcc/*/*/include"
- elog "The exact details depend on the architecture and the version of"
- elog "the compiler to be used."
- fi
- ewarn "Please re-source your shell settings for ORACLE_HOME"
- ewarn " changes, such as: source ${EPREFIX}/etc/profile"
-}
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-19.6.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-19.6.0.0.ebuild
deleted file mode 100644
index 1c15ce7dd481..000000000000
--- a/dev-db/oracle-instantclient/oracle-instantclient-19.6.0.0.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit pax-utils multilib-minimal
-
-DESCRIPTION="Oracle 18c Instant Client with SDK"
-HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html"
-
-MY_SOVER=19.1 # the library soname found in the zip files
-
-IUSE="jdbc odbc precomp +sdk +sqlplus tools"
-REQUIRED_USE="precomp? ( sdk )"
-
-MY_PVM=$(ver_cut 1-2)
-MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
-
-MY_PV=$(ver_cut 1-4)
-MY_PVP=$(ver_cut 5) # p2
-
-MY_PLAT_x86="Linux x86"
-MY_BITS_x86=32
-MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
-MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
-MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
-MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
-MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
-MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
-MY_A_x86_tools="${MY_A_x86/basic/tools}"
-
-MY_PLAT_amd64="Linux x86-64"
-MY_BITS_amd64=64
-MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
-MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
-MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
-MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
-MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}"
-MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}"
-MY_A_amd64_tools="${MY_A_amd64/basic/tools}"
-
-if [[ ${MY_PVP} == p* ]]
-then
- MY_PVP=-${MY_PVP#p}
- # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip
- MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip"
- MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
-fi
-
-SRC_URI="
- abi_x86_32? (
- ${MY_A_x86}
- jdbc? ( ${MY_A_x86_jdbc} )
- odbc? ( ${MY_A_x86_odbc} )
- precomp? ( ${MY_A_x86_precomp} )
- !abi_x86_64? (
- sdk? ( ${MY_A_x86_sdk} )
- sqlplus? ( ${MY_A_x86_sqlplus} )
- tools? ( ${MY_A_x86_tools} )
- ) )
- abi_x86_64? (
- ${MY_A_amd64}
- jdbc? ( ${MY_A_amd64_jdbc} )
- odbc? ( ${MY_A_amd64_odbc} )
- precomp? ( ${MY_A_amd64_precomp} )
- sdk? ( ${MY_A_amd64_sdk} )
- sqlplus? ( ${MY_A_amd64_sqlplus} )
- tools? ( ${MY_A_amd64_tools} )
- )
-"
-
-LICENSE="OTN"
-SLOT="0/${MY_SOVER}"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="fetch splitdebug"
-
-DEPEND="app-arch/unzip"
-RDEPEND="
- >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
-"
-
-S="${WORKDIR}/${MY_P}"
-
-QA_PREBUILT="usr/lib*/oracle/client/*/*"
-
-set_my_abivars() {
- if multilib_is_native_abi; then
- MY_WORKDIR="${WORKDIR}"
- MY_S="${S}"
- else
- MY_WORKDIR="${WORKDIR}/${ABI}"
- MY_S="${MY_WORKDIR}/${MY_P}"
- fi
-
- local abi=${ABI}
- [[ ${abi} == 'default' ]] && abi=${ARCH}
- MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
- MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
- MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile
- MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc} # jdbc distfile
- MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc} # odbc distfile
- MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp} # precomp distfile
- MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk} # sdk distfile
- MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus} # sqlplus distfile
- MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools} # tools distfile
-
- [[ -n ${MY_PLAT} ]]
-}
-
-oic_distfile_status() {
- : # We must not access DISTDIR in pkg_* phase, bug#612966.
-# Not removing this lines yet, we may eventually specify this feature.
-# if [[ -r ${DISTDIR}/${1} ]]; then
-# echo "already here"
-# else
-# echo "still absent"
-# fi
-}
-
-pkg_nofetch() {
- eerror "Please go to"
- eerror " ${HOMEPAGE//overview/downloads}"
- eerror " and download"
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- eerror "Instant Client for ${MY_PLAT}"
- # convenient ordering like Linux x86-64 download site
- eerror " Basic: $(oic_distfile_status ${MY_A}) ${MY_A}"
- use sqlplus && multilib_is_native_abi &&
- eerror " SQL*Plus: $(oic_distfile_status ${MY_A_sqlplus}) ${MY_A_sqlplus}"
- use tools && multilib_is_native_abi &&
- eerror " Tools: $(oic_distfile_status ${MY_A_tools}) ${MY_A_tools}"
- use sdk && multilib_is_native_abi &&
- eerror " SDK: $(oic_distfile_status ${MY_A_sdk}) ${MY_A_sdk}"
- use jdbc &&
- eerror " JDBC: $(oic_distfile_status ${MY_A_jdbc}) ${MY_A_jdbc}"
- use odbc &&
- eerror " ODBC: $(oic_distfile_status ${MY_A_odbc}) ${MY_A_odbc}"
- use precomp &&
- eerror " Precompiler: $(oic_distfile_status ${MY_A_precomp}) ${MY_A_precomp}"
- done
- eerror "After downloading these files (for *all* shown architectures),"
- eerror "put them in your DISTDIR filesystem directory."
-}
-
-src_unpack() {
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- mkdir -p "${MY_WORKDIR}" || die
- cd "${MY_WORKDIR}" || die
- unpack ${MY_A}
- use jdbc && unpack ${MY_A_jdbc}
- use odbc && unpack ${MY_A_odbc}
- use precomp && unpack ${MY_A_precomp}
- if multilib_is_native_abi; then
- use sdk && unpack ${MY_A_sdk}
- use sqlplus && unpack ${MY_A_sqlplus}
- use tools && unpack ${MY_A_tools}
- fi
- done
-}
-
-src_prepare() {
- local PATCHES=()
- if use precomp; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
- # Not supporting COBOL for now
- rm -f sdk/demo/*procob*
- fi
- if use sdk; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
- rm sdk/include/ldap.h || die #299562
- fi
- default
-}
-
-# silence configure&compile messages from multilib-minimal
-src_configure() { :; }
-src_compile() { :; }
-
-src_install() {
- # all content goes here without version number, bug#578402
- local oracle_home=/usr/$(get_libdir)/oracle/client
- local oracle_home_to_root=../../../.. # for dosym
- local ldpath=
-
- local ABI
- for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
- do
- if ! set_my_abivars; then
- elog "Skipping unsupported ABI ${ABI}."
- continue
- fi
- einfo "Installing runtime for ${MY_PLAT} ..."
-
- cd "${MY_S}" || die
-
- # shared libraries
- into "${oracle_home}"
- dolib.so lib*$(get_libname)*
- use precomp && dolib.a cobsqlintf.o
-
- # ensure to be linkable
- [[ -e libocci$(get_libname) ]] ||
- dosym libocci$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
- [[ -e libclntsh$(get_libname) ]] ||
- dosym libclntsh$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
-
- # java archives
- insinto "${oracle_home}"/$(get_libdir)
- doins *.jar
-
- # runtime library path
- ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
-
- # Vanilla filesystem layout does not support multilib
- # installation, so we need to move the libs into the
- # ABI specific libdir. However, ruby-oci8 build system
- # detects an instantclient along the shared libraries,
- # and does expect the sdk right there.
- use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
-
- eend $?
- done
-
- local DOCS=( BASIC_README )
- local HTML_DOCS=()
- local paxbins=( adrci genezi uidrvci )
- local scripts=()
-
- if use jdbc; then
- DOCS+=( JDBC_README )
- fi
- if use odbc; then
- DOCS+=( ODBC_README )
- HTML_DOCS+=( help )
- scripts+=( odbc_update_ini.sh )
- fi
- if use precomp; then
- DOCS+=( PRECOMP_README )
- paxbins+=( sdk/proc )
- # Install pcscfg.cfg into /etc/oracle, as the user probably
- # wants to add the include path for the compiler headers
- # here and we do not want this to be overwritten.
- insinto /etc/oracle
- doins precomp/admin/pcscfg.cfg
- sed -i -e "s%^sys_include=.*%sys_include=(${oracle_home}/sdk/include,${EPREFIX}/usr/include)%" \
- "${ED}"/etc/oracle/pcscfg.cfg || die
- dosym ../../${oracle_home_to_root}/etc/oracle/pcscfg.cfg "${oracle_home}/precomp/admin/pcscfg.cfg"
- dosym ../.."${oracle_home}"/bin/proc /usr/bin/proc
- # Not supporting COBOL for now
- # paxbins+=( sdk/{procob,rtsora} )
- # doins precomp/admin/pcbcfg.cfg
- fi
- if use sdk; then
- einfo "Installing SDK ..."
- DOCS+=( SDK_README )
- scripts+=( sdk/ott )
- insinto "${oracle_home}"/$(get_libdir)
- doins sdk/ottclasses.zip
- insinto "${oracle_home}"/sdk
- doins -r sdk/{admin,demo,include}
- # Some build systems simply expect ORACLE_HOME/include.
- dosym sdk/include "${oracle_home}"/include
- # Some build systems do not know the instant client,
- # expecting headers in rdbms/public, see bug#669316.
- # Additionally, some (probably older ruby-oci8) do
- # require rdbms/public to be a real directory.
- insinto "${oracle_home}"/rdbms/public
- doins -r sdk/include/*
- # Others (like the DBD::Oracle perl module) know the Oracle
- # eXpress Edition's client, parsing an rdbms/demo/demo_xe.mk.
- dosym ../../sdk/demo/demo.mk "${oracle_home}"/rdbms/demo/demo_xe.mk
- # And some do expect /usr/include/oracle/<ver>/client/include,
- # querying 'sqlplus' for the version number, also see bug#652096.
- dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
- eend $?
- fi
- if use sqlplus; then
- DOCS+=( SQLPLUS_README )
- paxbins+=( sqlplus )
- insinto "${oracle_home}"/sqlplus/admin
- doins glogin.sql
- dosym ../.."${oracle_home}"/bin/sqlplus /usr/bin/sqlplus
- fi
- if use tools; then
- DOCS+=( TOOLS_README )
- paxbins+=( exp expdp imp impdp sqlldr wrc )
- fi
-
- einfo "Installing binaries for ${MY_PLAT} ..."
- into "${oracle_home}"
- dobin ${paxbins[*]} ${scripts[*]}
- pushd "${ED}${oracle_home}/bin" >/dev/null || die
- pax-mark -c ${paxbins[*]#*/} || die
- popd >/dev/null || die
- eend $?
-
- einstalldocs
-
- # create path for tnsnames.ora
- insinto /etc/oracle
- doins "${FILESDIR}"/tnsnames.ora.sample
-
- # Add OCI libs to library path
- {
- echo "# ${EPREFIX}/etc/env.d/50${PN}"
- echo "# Do not edit this file, but 99${PN} instead"
- echo
- echo "ORACLE_HOME=${EPREFIX}${oracle_home}"
- echo "LDPATH=${ldpath}"
- echo "TNS_ADMIN=${EPREFIX}/etc/oracle/"
- } > "${T}"/50${PN}
-
- doenvd "${T}"/50${PN}
-
- # ensure ORACLE_HOME/lib exists
- [[ -e ${ED}${oracle_home}/lib/. ]] ||
- dosym $(get_libdir) "${oracle_home#/}"/lib
-}
-
-pkg_preinst() {
- if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then
- cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die
- else
- {
- echo "# ${EPREFIX}/etc/env.d/99${PN}"
- echo "# Configure system-wide defaults for your Oracle Instant Client here"
- echo
- echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")"
- echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")"
- echo "#NLS_LANG="
- } > "${ED}/etc/env.d/99${PN}"
- fi
-}
-
-pkg_postinst() {
- elog "${P} does not provide an sqlnet.ora"
- elog "configuration file, redirecting oracle diagnostics for database-"
- elog "and network-issues into ~USER/oradiag_USER/ instead."
- elog "It should be safe to ignore this message in sqlnet.log there:"
- elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []"
- elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference."
- elog "If you want to directly analyse low-level debug info or don't want"
- elog "to see it at all, so you really need an sqlnet.ora file, please"
- elog "consult http://search.oracle.com/search/search?q=sqlnet.ora"
- elog ""
- elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default,"
- elog "put your tnsnames.ora there or configure TNS_ADMIN"
- elog "to point to your user specific configuration."
- if use precomp; then
- elog ""
- elog "The proc precompiler uses the system library headers, which in"
- elog "turn include the headers of the used compiler."
- elog "To make proc work, please add the compiler header path of your"
- elog "preferred compiler to sys_include in:"
- elog " ${EPREFIX}/etc/oracle/pcscfg.cfg"
- elog "Remember to update this setting when you switch or update the"
- elog "compiler."
- elog "For gcc, the headers are usually found in a path matching the"
- elog "following pattern:"
- elog " ${EPREFIX}/usr/lib/gcc/*/*/include"
- elog "The exact details depend on the architecture and the version of"
- elog "the compiler to be used."
- fi
- ewarn "Please re-source your shell settings for ORACLE_HOME"
- ewarn " changes, such as: source ${EPREFIX}/etc/profile"
-}
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-19.6.0.0-r1.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-21.13.0.0.0.ebuild
index cbfb452074c6..405f63eaceca 100644
--- a/dev-db/oracle-instantclient/oracle-instantclient-19.6.0.0-r1.ebuild
+++ b/dev-db/oracle-instantclient/oracle-instantclient-21.13.0.0.0.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit pax-utils multilib-minimal
+inherit pax-utils
-DESCRIPTION="Oracle 18c Instant Client with SDK"
+DESCRIPTION="Oracle 21c Instant Client with SDK"
HOMEPAGE="https://www.oracle.com/database/technologies/instant-client.html"
-MY_SOVER=19.1 # the library soname found in the zip files
+MY_SOVER=21.1 # the library soname found in the zip files
IUSE="jdbc odbc precomp +sdk +sqlplus tools"
REQUIRED_USE="precomp? ( sdk )"
@@ -16,23 +16,23 @@ REQUIRED_USE="precomp? ( sdk )"
MY_PVM=$(ver_cut 1-2)
MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
-MY_PV=$(ver_cut 1-4)
MY_PVP=$(ver_cut 5) # p2
-MY_URI="https://download.oracle.com/otn_software/linux/instantclient/$(ver_rs 1-4 '' $(ver_cut 1-4))"
-MY_PLAT_x86="Linux x86"
-MY_BITS_x86=32
-MY_A_x86="${MY_URI}/${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
-MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
-MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
-MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
-MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
-MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
-MY_A_x86_tools="${MY_A_x86/basic/tools}"
+MY_URI="https://download.oracle.com/otn_software/linux/instantclient/$(ver_rs 1-5 '' $(ver_cut 1-5))"
+
+# MY_PLAT_x86="Linux x86"
+# MY_BITS_x86=32
+# MY_A_x86="${MY_URI}/${PN/oracle-/}-basic-linux-${PV}.zip"
+# MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
+# MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
+# MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
+# MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
+# MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
+# MY_A_x86_tools="${MY_A_x86/basic/tools}"
MY_PLAT_amd64="Linux x86-64"
MY_BITS_amd64=64
-MY_A_amd64="${MY_URI}/${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
+MY_A_amd64="${MY_URI}/${PN/oracle-}-basic-linux.x64-${PV}dbru.zip"
MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
@@ -48,18 +48,19 @@ then
MY_A_amd64_odbc="${MY_URI}/${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
fi
+#SRC_URI="
+# x86? (
+# ${MY_A_x86}
+# jdbc? ( ${MY_A_x86_jdbc} )
+# odbc? ( ${MY_A_x86_odbc} )
+# precomp? ( ${MY_A_x86_precomp} )
+# !abi_x86_64? (
+# sdk? ( ${MY_A_x86_sdk} )
+# sqlplus? ( ${MY_A_x86_sqlplus} )
+# tools? ( ${MY_A_x86_tools} )
+# ) )
SRC_URI="
- abi_x86_32? (
- ${MY_A_x86}
- jdbc? ( ${MY_A_x86_jdbc} )
- odbc? ( ${MY_A_x86_odbc} )
- precomp? ( ${MY_A_x86_precomp} )
- !abi_x86_64? (
- sdk? ( ${MY_A_x86_sdk} )
- sqlplus? ( ${MY_A_x86_sqlplus} )
- tools? ( ${MY_A_x86_tools} )
- ) )
- abi_x86_64? (
+ amd64? (
${MY_A_amd64}
jdbc? ( ${MY_A_amd64_jdbc} )
odbc? ( ${MY_A_amd64_odbc} )
@@ -72,74 +73,52 @@ SRC_URI="
LICENSE="OTN"
SLOT="0/${MY_SOVER}"
-KEYWORDS="amd64 x86"
+KEYWORDS="~amd64"
RESTRICT="mirror splitdebug test"
-DEPEND="app-arch/unzip"
RDEPEND="
- >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
+ >=dev-libs/libaio-0.3.109-r5
+ odbc? ( dev-db/unixODBC )
"
+BDEPEND="app-arch/unzip"
S="${WORKDIR}/${MY_P}"
QA_PREBUILT="usr/lib*/oracle/client/*/*"
-set_my_abivars() {
- if multilib_is_native_abi; then
- MY_WORKDIR="${WORKDIR}"
- MY_S="${S}"
- else
- MY_WORKDIR="${WORKDIR}/${ABI}"
- MY_S="${MY_WORKDIR}/${MY_P}"
- fi
-
- local abi=${ABI}
- [[ ${abi} == 'default' ]] && abi=${ARCH}
- MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
- MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
- MY_A=MY_A_${abi} ; MY_A=${!MY_A##*/} # runtime distfile
- MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc##*/} # jdbc distfile
- MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc##*/} # odbc distfile
- MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp##*/} # precomp distfile
- MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk##*/} # sdk distfile
- MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus##*/} # sqlplus distfile
- MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools##*/} # tools distfile
-
- [[ -n ${MY_PLAT} ]]
-}
-
src_unpack() {
- local ABI
- for ABI in $(multilib_get_enabled_abis)
- do
- set_my_abivars || continue
- mkdir -p "${MY_WORKDIR}" || die
- cd "${MY_WORKDIR}" || die
- unpack ${MY_A}
- use jdbc && unpack ${MY_A_jdbc}
- use odbc && unpack ${MY_A_odbc}
- use precomp && unpack ${MY_A_precomp}
- if multilib_is_native_abi; then
- use sdk && unpack ${MY_A_sdk}
- use sqlplus && unpack ${MY_A_sqlplus}
- use tools && unpack ${MY_A_tools}
- fi
- done
+ local ABI=${ARCH}
+ MY_WORKDIR="${WORKDIR}"
+ MY_S="${S}"
+ MY_PLAT=MY_PLAT_${ABI} ; MY_PLAT=${!MY_PLAT} # platform name
+ MY_BITS=MY_BITS_${ABI} ; MY_BITS=${!MY_BITS} # platform bitwidth
+ MY_A=MY_A_${ABI} ; MY_A=${!MY_A##*/} # runtime distfile
+ MY_A_jdbc=MY_A_${ABI}_jdbc ; MY_A_jdbc=${!MY_A_jdbc##*/} # jdbc distfile
+ MY_A_odbc=MY_A_${ABI}_odbc ; MY_A_odbc=${!MY_A_odbc##*/} # odbc distfile
+ MY_A_precomp=MY_A_${ABI}_precomp; MY_A_precomp=${!MY_A_precomp##*/} # precomp distfile
+ MY_A_sdk=MY_A_${ABI}_sdk ; MY_A_sdk=${!MY_A_sdk##*/} # sdk distfile
+ MY_A_sqlplus=MY_A_${ABI}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus##*/} # sqlplus distfile
+ MY_A_tools=MY_A_${ABI}_tools ; MY_A_tools=${!MY_A_tools##*/} # tools distfile
+
+ mkdir -p "${MY_WORKDIR}" || die
+ cd "${MY_WORKDIR}" || die
+ unpack ${MY_A}
+ use jdbc && unpack ${MY_A_jdbc}
+ use odbc && unpack ${MY_A_odbc}
+ use precomp && unpack ${MY_A_precomp}
+ use sdk && unpack ${MY_A_sdk}
+ use sqlplus && unpack ${MY_A_sqlplus}
+ use tools && unpack ${MY_A_tools}
}
src_prepare() {
local PATCHES=()
if use precomp; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
# Not supporting COBOL for now
rm -f sdk/demo/*procob*
fi
if use sdk; then
- PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
+ PATCHES+=( "${FILESDIR}"/21.13.0.0.0-makefile.patch )
rm sdk/include/ldap.h || die #299562
fi
default
@@ -155,46 +134,38 @@ src_install() {
local oracle_home_to_root=../../../.. # for dosym
local ldpath=
- local ABI
- for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
- do
- if ! set_my_abivars; then
- elog "Skipping unsupported ABI ${ABI}."
- continue
- fi
- einfo "Installing runtime for ${MY_PLAT} ..."
-
- cd "${MY_S}" || die
-
- # shared libraries
- into "${oracle_home}"
- dolib.so lib*$(get_libname)*
- use precomp && dolib.a cobsqlintf.o
-
- # ensure to be linkable
- [[ -e libocci$(get_libname) ]] ||
- dosym libocci$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
- [[ -e libclntsh$(get_libname) ]] ||
- dosym libclntsh$(get_libname ${MY_SOVER}) \
- "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
-
- # java archives
- insinto "${oracle_home}"/$(get_libdir)
- doins *.jar
+ local ABI=${ARCH}
- # runtime library path
- ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
+ einfo "Installing runtime for ${MY_PLAT} ..."
- # Vanilla filesystem layout does not support multilib
- # installation, so we need to move the libs into the
- # ABI specific libdir. However, ruby-oci8 build system
- # detects an instantclient along the shared libraries,
- # and does expect the sdk right there.
- use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
+ cd "${MY_S}" || die
- eend $?
- done
+ # shared libraries
+ into "${oracle_home}"
+ dolib.so lib*.so*
+ use precomp && dolib.a cobsqlintf.o
+
+ # ensure to be linkable
+ [[ -e libocci.so ]] ||
+ dosym libocci.so.${MY_SOVER} \
+ "${oracle_home}"/$(get_libdir)/libocci.so
+ [[ -e libclntsh.so ]] ||
+ dosym libclntsh.so.${MY_SOVER} \
+ "${oracle_home}"/$(get_libdir)/libclntsh.so
+
+ # java archives
+ insinto "${oracle_home}"/$(get_libdir)
+ doins *.jar
+
+ # runtime library path
+ ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
+
+ # Vanilla filesystem layout does not support multilib
+ # installation, so we need to move the libs into the
+ # ABI specific libdir. However, ruby-oci8 build system
+ # detects an instantclient along the shared libraries,
+ # and does expect the sdk right there.
+ use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
local DOCS=( BASIC_README )
local HTML_DOCS=()
@@ -247,7 +218,6 @@ src_install() {
# And some do expect /usr/include/oracle/<ver>/client/include,
# querying 'sqlplus' for the version number, also see bug#652096.
dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
- eend $?
fi
if use sqlplus; then
DOCS+=( SQLPLUS_README )
@@ -267,7 +237,6 @@ src_install() {
pushd "${ED}${oracle_home}/bin" >/dev/null || die
pax-mark -c ${paxbins[*]#*/} || die
popd >/dev/null || die
- eend $?
einstalldocs
@@ -288,8 +257,8 @@ src_install() {
doenvd "${T}"/50${PN}
# ensure ORACLE_HOME/lib exists
- [[ -e ${ED}${oracle_home}/lib/. ]] ||
- dosym $(get_libdir) "${oracle_home#/}"/lib
+# [[ -e ${ED}${oracle_home}/lib/. ]] ||
+# dosym $(get_libdir) "${oracle_home#/}"/lib
}
pkg_preinst() {
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild
index 232fbe4a0f7f..0c981eca0af2 100644
--- a/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild
+++ b/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -71,16 +71,13 @@ SRC_URI="
LICENSE="OTN"
SLOT="0/${MY_SOVER}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RESTRICT="mirror splitdebug test"
DEPEND="app-arch/unzip"
RDEPEND="
>=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
- !<dev-db/oracle-instantclient-basic-12
- !<dev-db/oracle-instantclient-odbc-12
- !<dev-db/oracle-instantclient-jdbc-12
- !<dev-db/oracle-instantclient-sqlplus-12
+ sys-libs/glibc
odbc? ( dev-db/unixODBC )
"
@@ -161,7 +158,7 @@ src_install() {
elog "Skipping unsupported ABI ${ABI}."
continue
fi
- einfo "Installing runtime for ${MY_PLAT} ..."
+ ebegin "Installing runtime for ${MY_PLAT}"
cd "${MY_S}" || die
@@ -225,7 +222,7 @@ src_install() {
# doins precomp/admin/pcbcfg.cfg
fi
if use sdk; then
- einfo "Installing SDK ..."
+ ebegin "Installing SDK"
DOCS+=( SDK_README )
scripts+=( sdk/ott )
insinto "${oracle_home}"/$(get_libdir)
@@ -260,7 +257,7 @@ src_install() {
paxbins+=( exp expdp imp impdp sqlldr wrc )
fi
- einfo "Installing binaries for ${MY_PLAT} ..."
+ ebegin "Installing binaries for ${MY_PLAT}"
into "${oracle_home}"
dobin ${paxbins[*]} ${scripts[*]}
pushd "${ED}${oracle_home}/bin" >/dev/null || die
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index 534ab19c2607..6b0b0a608769 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -1,5 +1,3 @@
DIST boost_1_73_0.tar.bz2 109247910 BLAKE2B 5995ff6ca21f45988b187b94bf743795cca97531baa8355f488be0987b9426289dd85d6ce25b7eb03ccd690109f05ba56252a95bca50505ad9cd66f4e0e234e8 SHA512 86c296511c0766145097625a62bf099c3d155284d250ad6e528e788bc90b2945838498dfe473c6c6c78d1694b6fba8e19f7dee0d064a043841e6231603fff668
-DIST percona-server-8.0.25-15.tar.gz 531072362 BLAKE2B aa6867a8ac72325596393723cf8735329f638cfe11f790c7690dc5f45dcf01f99f9f999c551b2ad6b9f287f8763e8b262fef7c9327b82882493b576acd8d7a69 SHA512 500fc4ab5d275d7d1d2b048920d22d725074450d9f356b4ea739a4c276bfe767db76e2b52a358867d77805ef288cfdb80ab6e230bfa77a84b97536bf153c443f
-DIST percona-server-8.0.25.15-patches-01.tar.xz 7624 BLAKE2B b06495859f3df546bc42e69ec77007a335103020313524ed728309764fea8ca2ea6f246938852ab2fb5ea12b4d901af5ebb9abff4d99b7e56d6ffd501d10bd38 SHA512 69b2d478046666d7c5dbffe662f4e000fd1c2c8789bcaeea72b8bb229ad85d8cd54a293c74440f93c56dc07a06143553ff989711787e6cd610a8e23bb353a1df
DIST percona-server-8.0.26-16.tar.gz 532328971 BLAKE2B bef32f7a26261f3b0d89bd9b95b826101e2e84c662ce2200a2d9d8a612d949804d233905db71bfab5aa04458e7773231659d67ea09e08e68df8ef5eca4391f39 SHA512 9ae60e2d81dfaabc214692cd0919c2fc3ba698bd0a399e42df662766c1d67714f6f3cfe6416019b26e7866bc59b78d99fc5767f64ede1ca8e5a344995c1ff4c0
DIST percona-server-8.0.26.16-patches-01.tar.xz 8144 BLAKE2B 28a4eaec657c09a6f8290b654dd5316d44a4cbf94e418edee3754742f21df56a058de9332c15abbb7c8bbd3ed6fc63e48e6c5fa77524dccf44ff1d5a89085a6b SHA512 4a128a89abc1f48582b0c6ab841643fa0b7e018eaa32414e775705cd1e8c2dcacecd334face9db33775ca3a2a862528e1cc7f2bfd8b259b7367f0f2ebdee52c4
diff --git a/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch b/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch
new file mode 100644
index 000000000000..d465e94effed
--- /dev/null
+++ b/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/842168
+https://bugs.gentoo.org/853085
+https://bugs.gentoo.org/855170
+--- a/client/logger.cc
++++ b/client/logger.cc
+@@ -27,6 +27,7 @@
+ #include <time.h>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+
+ using namespace std;
+
+--- a/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
++++ b/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
+@@ -25,6 +25,7 @@
+ #include <cstring>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+ #include <sstream>
+
+ #include <m_string.h>
+--- a/plugin/auth_ldap/src/connection.cc
++++ b/plugin/auth_ldap/src/connection.cc
+@@ -1,6 +1,7 @@
+ #include "plugin/auth_ldap/include/connection.h"
+
+ #include <iostream>
++#include <iterator>
+ #include <regex>
+
+ #include "plugin/auth_ldap/include/plugin_log.h"
+diff --git a/router/src/harness/include/mysql/harness/net_ts/executor.h b/router/src/harness/include/mysql/harness/net_ts/executor.h
+index 5cf514b..ec61168 100644
+--- a/router/src/harness/include/mysql/harness/net_ts/executor.h
++++ b/router/src/harness/include/mysql/harness/net_ts/executor.h
+@@ -36,6 +36,7 @@
+ #include <thread>
+ #include <type_traits> // decay_t, enable_if
+ #include <unordered_map>
++#include <utility>
+
+ #include "mysql/harness/net_ts/netfwd.h"
+ #include "mysql/harness/stdx/type_traits.h" // conjunction, void_t
diff --git a/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-13.patch b/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-13.patch
new file mode 100644
index 000000000000..ce5844dfe9d5
--- /dev/null
+++ b/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-13.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/895700
+--- a/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_logging.h
++++ b/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_logging.h
+@@ -24,6 +24,7 @@
+ #define GCS_LOGGING_INCLUDED
+
+ #include <atomic>
++#include <cstdint>
+ #include <string>
+
+ #include "plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_types.h"
+--- a/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_types.h
++++ b/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_types.h
+@@ -23,6 +23,7 @@
+ #ifndef GCS_TYPES_INCLUDED
+ #define GCS_TYPES_INCLUDED
+
++#include <cstdint>
+ #include <map>
+ #include <string>
+ #include <vector>
+--- a/plugin/x/src/interface/document_id_generator.h
++++ b/plugin/x/src/interface/document_id_generator.h
+@@ -26,6 +26,7 @@
+ #define PLUGIN_X_SRC_INTERFACE_DOCUMENT_ID_GENERATOR_H_
+
+ #include <cstdio>
++#include <cstdint>
+ #include <string>
+
+ namespace xpl {
+--- a/sql/dd/impl/sdi.h
++++ b/sql/dd/impl/sdi.h
+@@ -23,6 +23,7 @@
+ #ifndef DD__SDI_INCLUDED
+ #define DD__SDI_INCLUDED
+
++#include <cstdint>
+ #include <functional>
+ #include "my_compiler.h"
+ #include "sql/dd/sdi_fwd.h" // RJ_Document
diff --git a/dev-db/percona-server/metadata.xml b/dev-db/percona-server/metadata.xml
index f237cfbc6d1a..f83d7bb2f364 100644
--- a/dev-db/percona-server/metadata.xml
+++ b/dev-db/percona-server/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
+<!-- maintainer-needed -->
<use>
<flag name="cjk">Add CJK support for InnoDB fulltext search using <pkg>app-text/mecab</pkg></flag>
<flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
@@ -16,4 +13,7 @@
<flag name="tokudb">Add support for TokuDB storage engine</flag>
<flag name="tokudb-backup-plugin">Builds the TokuDB backup plugin</flag>
</use>
+<upstream>
+ <remote-id type="github">percona/percona-server</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-db/percona-server/percona-server-8.0.25.15.ebuild b/dev-db/percona-server/percona-server-8.0.25.15.ebuild
deleted file mode 100644
index a6db5af0b52e..000000000000
--- a/dev-db/percona-server/percona-server-8.0.25.15.ebuild
+++ /dev/null
@@ -1,1273 +0,0 @@
-# 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_BOOST_VERSION="1.73.0"
-MY_PV=$(ver_rs 3 '-')
-MY_PV="${MY_PV//_pre*}"
-MY_PN="Percona-Server"
-MY_P="${PN}-${MY_PV}"
-MY_MAJOR_PV=$(ver_cut 1-2)
-MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/${MY_MAJOR_PV}/"
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/percona-server/${PN}-8.0.25.15-patches-01.tar.xz"
-
-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
- ${PATCH_SET}
-"
-
-HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server https://github.com/percona/percona-server"
-DESCRIPTION="Fully compatible, enhanced and open source drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="8.0"
-IUSE="cjk cracklib debug jemalloc latin1 ldap numa pam +perl profiling
- rocksdb router selinux +server tcmalloc test tokudb tokudb-backup-plugin"
-
-RESTRICT="!test? ( 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 -riscv ~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=
- >=dev-libs/openssl-1.0.0:0=
- server? (
- dev-libs/icu:=
- dev-libs/libevent:=[ssl,threads]
- >=dev-libs/protobuf-3.8:=
- net-libs/libtirpc:=
- net-misc/curl:=
- cjk? ( app-text/mecab:= )
- ldap? (
- dev-libs/cyrus-sasl
- net-nds/openldap
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kernel_linux? (
- dev-libs/libaio:0=
- sys-process/procps:0=
- )
- numa? ( sys-process/numactl )
- pam? ( sys-libs/pam:0= )
- 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/mysql !dev-db/mysql-cluster
- !dev-db/percona-server:0
- !dev-db/percona-server: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="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
-}
-
-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
-
- 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 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
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # 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="${WORKDIR}/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION})"
- -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_AUTHENTICATION_LDAP=$(usex ldap system OFF)
- -DWITH_COREDUMPER=OFF
- -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)
- -DWITH_PAM=$(usex pam)
- )
-
- 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
- -DWITH_ROCKSDB=$(usex rocksdb 1 0)
- -DWITH_TOKUDB=$(usex tokudb 1 0)
- )
- 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;103512;Depends on user running test" )
- disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" )
- disabled_tests+=( "gis.geometry_class_attri_prop;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.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" )
- disabled_tests+=( "gis.spatial_analysis_functions_buffer;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_analysis_functions_distance;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_operators_intersection;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.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" )
- disabled_tests+=( "group_replication.gr_ssl_options2;0;Sporadic failing test" )
- disabled_tests+=( "innodb.alter_kill;0;Known test failure -- no upstream bug yet" )
- disabled_tests+=( "innodb.percona_changed_page_bmp_flush;6807;False positive on Gentoo (PS)" )
- disabled_tests+=( "innodb.percona_changed_page_bmp_log_resize;0;Sporadic failing test" )
- disabled_tests+=( "innodb.percona_log_encrypt_change_mk;6039;False positive on Gentoo (PS)" )
- disabled_tests+=( "innodb.percona_log_encrypt_change_rk;6805;False positive on Gentoo (PS)" )
- disabled_tests+=( "innodb.percona_log_encrypt_failure;0;Requires proper keyring setup" )
- disabled_tests+=( "innodb.upgrade_orphan;0;Sporadic failing test" )
- disabled_tests+=( "main.coredump;0;Known test failure" )
- disabled_tests+=( "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.myisam-blob;0;Sporadic failing test" )
- disabled_tests+=( "main.mysql_load_data_local_dir;7416;Known test failure" )
- disabled_tests+=( "main.mysqlpump_basic_lz4;6042;Extra tool output causes false positive" )
- disabled_tests+=( "main.ssl_bug75311;5996;Known test failure" )
- disabled_tests+=( "main.ssl_san;6808;False positive on IPv6-enabled hosts" )
- disabled_tests+=( "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
- disabled_tests+=( "main.subquery_sj_mat_bka_nobnl;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;6804;Known rounding error with latest AMD processors" )
- disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" )
- disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Know failure - no upstream bug yet" )
- disabled_tests+=( "sys_vars.innodb_sys_tablespace_encrypt_basic;7415;Known test failure" )
- disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware" )
- disabled_tests+=( "x.message_compressed_payload;0;False positive caused by protobuff-3.11+" )
- disabled_tests+=( "x.message_protobuf_nested;6803;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
-
- if has_version ">=dev-libs/openssl-3" ; then
- # >=dev-libs/openssl-3 defaults to security level 1 which disallow
- # TLSv1/1.1 but tests will require TLSv1/1.1.
- einfo "Set OpenSSL configuration for test suite ..."
- cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
- openssl_conf = default_conf
-
- [ req ]
- default_bits = 2048
- default_keyfile = privkey.pem
- distinguished_name = req_distinguished_name
-
- [ req_distinguished_name ]
- countryName = Country Name (2 letter code)
- countryName_default = AU
- countryName_min = 2
- countryName_max = 2
-
- stateOrProvinceName = State or Province Name (full name)
- stateOrProvinceName_default = Some-State
-
- localityName = Locality Name (eg, city)
-
- 0.organizationName = Organization Name (eg, company)
- 0.organizationName_default = Internet Widgits Pty Ltd
-
- organizationalUnitName = Organizational Unit Name (eg, section)
-
- commonName = Common Name (e.g. server FQDN or YOUR name)
- commonName_max = 64
-
- emailAddress = Email Address
- emailAddress_max = 64
-
- [default_conf]
- ssl_conf = ssl_sect
-
- [ssl_sect]
- system_default = system_default_sect
-
- [system_default_sect]
- CipherString = DEFAULT@SECLEVEL=0
- EOF
-
- local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
-
- disabled_tests+=( "x.connection_tls_version;0;Not compatible with OpenSSL 3.x error messages" )
- 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
-
- if [[ -z "${MTR_VAULT_TOKEN}" ]] ; then
- local impossible_test
- for impossible_test in \
- encryption.default_table_encryption_var \
- keyring_vault.innodb_online_alter_encryption \
- keyring_vault.innodb_row_log_encryption \
- keyring_vault.install_keyring_vault \
- keyring_vault.keyring_udf \
- keyring_vault.keyring_vault_config \
- keyring_vault.keyring_vault_config_qa \
- keyring_vault.keyring_vault_timeout \
- keyring_vault.key_rotation_qa \
- keyring_vault.rpl_key_rotation \
- keyring_vault.table_encrypt_2 \
- keyring_vault.table_encrypt_2_directory \
- keyring_vault.table_encrypt_2_keyring \
- keyring_vault.table_encrypt_5 \
- keyring_vault.table_encrypt_5_directory \
- keyring_vault.table_encrypt_kill \
- keyring_vault.temp_table_encrypt_keyring_vault \
- main.persisted_variables \
- ; do
- _disable_test "${impossible_test}" "0" "MTR_VAULT_TOKEN is not set"
- done
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- 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/percona-server/percona-server-8.0.26.16.ebuild b/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild
index 9098b344ce11..ebf0aeb32043 100644
--- a/dev-db/percona-server/percona-server-8.0.26.16.ebuild
+++ b/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -41,14 +41,15 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
router? ( server )
tcmalloc? ( server )"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 -riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 -riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-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
+# Be warned, *DEPEND are version-dependent
# These are used for both runtime and compiletime
+# openldap < dep for bug #835647 (we need ldap_r)
COMMON_DEPEND="
>=app-arch/lz4-0_p131:=
app-arch/zstd:=
@@ -57,14 +58,14 @@ COMMON_DEPEND="
>=dev-libs/openssl-1.0.0:0=
server? (
dev-libs/icu:=
- dev-libs/libevent:=[ssl,threads]
+ dev-libs/libevent:=[ssl,threads(+)]
>=dev-libs/protobuf-3.8:=
net-libs/libtirpc:=
net-misc/curl:=
cjk? ( app-text/mecab:= )
ldap? (
dev-libs/cyrus-sasl
- net-nds/openldap
+ <net-nds/openldap-2.6:=
)
jemalloc? ( dev-libs/jemalloc:0= )
kernel_linux? (
@@ -78,7 +79,7 @@ COMMON_DEPEND="
"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- virtual/yacc
+ app-alternatives/yacc
server? ( net-libs/rpcsvc-proto )
test? (
acct-group/mysql acct-user/mysql
@@ -175,6 +176,8 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mysql-patches
+ eapply "${FILESDIR}"/${PN}-8.0.26.16-gcc-12.patch
+ eapply "${FILESDIR}"/${PN}-8.0.26.16-gcc-13.patch
# Avoid rpm call which would trigger sandbox, #692368
sed -i \
@@ -219,7 +222,7 @@ src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
- mycmakeargs=(
+ local mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
@@ -250,20 +253,16 @@ src_configure() {
# 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
+ -DUSE_LD_LLD=OFF
-DWITH_CURL=system
-DWITH_BOOST="${WORKDIR}/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION})"
-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 )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
@@ -1136,7 +1135,7 @@ pkg_config() {
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
+ grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
done
# Prepare timezones, see
diff --git a/dev-db/percona-toolkit/Manifest b/dev-db/percona-toolkit/Manifest
index 9d3b91d58985..62b4a28cf654 100644
--- a/dev-db/percona-toolkit/Manifest
+++ b/dev-db/percona-toolkit/Manifest
@@ -1,7 +1,4 @@
-DIST percona-toolkit-2.2.20.tar.gz 1431840 BLAKE2B 76565662b4037010f7e8de98316f568c2994f55d042ae3a21b80dc3b839444a11014b61db675cc21c149f26c3b7df52013d7b06c9c1127ec325dae2942a4e4c0 SHA512 f7a5f47e9ca05c43dcb80866a1eacd13066e1f036f4f58d51145fc6354ddc86dd6515a9aa33c8f736029800bf4c80f7ba5fcb9f1e6ac41653b3351597885f679
-DIST percona-toolkit-3.0.13.tar.gz 10855538 BLAKE2B 30dfbd3c56da64de10ce5d960a9b35b5729c7ea07ec8a40b97f2707af935e57d2291201926dae8794e623a2f60095502a5b97709d3343bd95318ab832f3a5ca5 SHA512 4f8050f3f3a43363c9ee1b15c161d60deafd443a0e057b7960881870d10d1fe0214b885e77b404f03081eb27adfa337e3adea26ca238efac753fb949272f36d3
-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
-DIST percona-toolkit-3.3.1.tar.gz 15348084 BLAKE2B 1bae3bc96144d23d51afca624b4ff4c7d5e118db857b5bf7721b8fa3fbc43e0ed87c52113e694e5defa0c70643a018ce1a7d2e437f097bac407344456f70ca1f SHA512 ee82613e15746820739042d34cf7cac0ba7e9f2825234ba39d7bfb8e0a52ab9b8d23ca47cb6a6afe2525c01f69fc81130a3be67b8a191c98d0d43e960a736cb0
+DIST percona-toolkit-3.5.3.tar.gz 14673470 BLAKE2B f0eeaaf20924a75ff68eb623d4027fd8402169bbd8479e91ec174638f20109cee33a3e93b19dd88cd860a3f572db7e0a645fb1bd96e63f52c5d261167ad5eae8 SHA512 80abe6fe1d690d8faff01d72918c5b5da188819389d0fafe8f88f23489b609aa9730b0c7c2b284eb057e0cc3ae8ccb5b83849b31ff61291d8ab75d58abcdf85f
+DIST percona-toolkit-3.5.5.tar.gz 14847253 BLAKE2B f26b88581b84a12fd2b353984b2dbfbf43056388a48821739e70f43a28f448fc7caea99bdb0f5284b91ce04436e0969da1eec85e66054bfc1e8ff2771dede6d2 SHA512 0fb367e2a967c1a459e2d8a70f3db6c75043caf4127c14472b2bdfdb89415286c9f52929e326fa4f402d73a4c3e95b4cf8b0ee0f0624e54e382e44eb653bfaf9
+DIST percona-toolkit-3.5.7-deps.tar.xz 108954608 BLAKE2B 788246531bdf3e1faa7d310fdd920b2fa42d9d82a75d730bb143047d0ce0c22d23ee86cf58bd646aae3dac503d88793040168be15fc74a7686979233a8d65dc1 SHA512 54a0698c5e3ae0fe30b6e253a31829db4c4656cccd48107126a5b99c148fe1ed9515d91e79784e1970569bfe8853d1b5cb74cf968dbc2d08e95aec6ef209659d
+DIST percona-toolkit-3.5.7.tar.gz 138784243 BLAKE2B a589c884348ad820ccadbb871ad85bf89a21ae49e8cea34fa019c61ab53302a5b7db03f01ae191138e15f61c77068388cb5d3863f360a7207d9f9075e9100385 SHA512 cfe232aa5b59d262242348ec18b676d0d8c7752dddadd1f027772346e02d329f5bc53b96dfdb82fbdb18524095f88ad0721e4b4c6ed611c727c0a5cde85998bd
diff --git a/dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch b/dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch
deleted file mode 100644
index 9865e1ba1a7a..000000000000
--- a/dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Source https://github.com/percona/percona-toolkit/pull/84
-Adapted to current version
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -1,7 +1,7 @@
- use ExtUtils::MakeMaker;
-
- WriteMakefile(
-- NAME => 'percona-toolkit',
-+ NAME => 'Percona::Toolkit',
- VERSION => '2.2.20',
- EXE_FILES => [ <bin/*> ],
- MAN1PODS => {
diff --git a/dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch b/dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch
deleted file mode 100644
index d6d38177b18f..000000000000
--- a/dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-archiver new/percona-toolkit-2.2.7/bin/pt-archiver
---- old/percona-toolkit-2.2.7/bin/pt-archiver 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-archiver 2014-05-21 18:13:49.148631547 +0200
-@@ -7465,8 +7465,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-config-diff new/percona-toolkit-2.2.7/bin/pt-config-diff
---- old/percona-toolkit-2.2.7/bin/pt-config-diff 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-config-diff 2014-05-21 18:13:38.012402960 +0200
-@@ -5563,8 +5563,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-deadlock-logger new/percona-toolkit-2.2.7/bin/pt-deadlock-logger
---- old/percona-toolkit-2.2.7/bin/pt-deadlock-logger 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-deadlock-logger 2014-05-21 18:11:18.923569703 +0200
-@@ -5332,8 +5332,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-diskstats new/percona-toolkit-2.2.7/bin/pt-diskstats
---- old/percona-toolkit-2.2.7/bin/pt-diskstats 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-diskstats 2014-05-21 18:11:04.041268359 +0200
-@@ -5468,8 +5468,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker new/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker
---- old/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker 2014-05-21 18:12:51.993462828 +0200
-@@ -5430,8 +5430,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-find new/percona-toolkit-2.2.7/bin/pt-find
---- old/percona-toolkit-2.2.7/bin/pt-find 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-find 2014-05-21 18:09:46.496705351 +0200
-@@ -4440,8 +4440,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-fk-error-logger new/percona-toolkit-2.2.7/bin/pt-fk-error-logger
---- old/percona-toolkit-2.2.7/bin/pt-fk-error-logger 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-fk-error-logger 2014-05-21 18:12:39.277202489 +0200
-@@ -4335,8 +4335,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-heartbeat new/percona-toolkit-2.2.7/bin/pt-heartbeat
---- old/percona-toolkit-2.2.7/bin/pt-heartbeat 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-heartbeat 2014-05-21 18:09:29.885373476 +0200
-@@ -6019,8 +6019,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-index-usage new/percona-toolkit-2.2.7/bin/pt-index-usage
---- old/percona-toolkit-2.2.7/bin/pt-index-usage 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-index-usage 2014-05-21 18:08:58.139739567 +0200
-@@ -7348,8 +7348,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-kill new/percona-toolkit-2.2.7/bin/pt-kill
---- old/percona-toolkit-2.2.7/bin/pt-kill 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-kill 2014-05-21 18:11:45.264103271 +0200
-@@ -7626,8 +7626,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-online-schema-change new/percona-toolkit-2.2.7/bin/pt-online-schema-change
---- old/percona-toolkit-2.2.7/bin/pt-online-schema-change 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-online-schema-change 2014-05-21 18:13:04.843724091 +0200
-@@ -11298,8 +11298,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-query-digest new/percona-toolkit-2.2.7/bin/pt-query-digest
---- old/percona-toolkit-2.2.7/bin/pt-query-digest 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-query-digest 2014-05-21 18:12:23.127872894 +0200
-@@ -16265,8 +16265,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-slave-delay new/percona-toolkit-2.2.7/bin/pt-slave-delay
---- old/percona-toolkit-2.2.7/bin/pt-slave-delay 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-slave-delay 2014-05-21 18:08:11.586811388 +0200
-@@ -4698,8 +4698,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-slave-restart new/percona-toolkit-2.2.7/bin/pt-slave-restart
---- old/percona-toolkit-2.2.7/bin/pt-slave-restart 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-slave-restart 2014-05-21 18:11:32.423843497 +0200
-@@ -5638,8 +5638,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-table-checksum new/percona-toolkit-2.2.7/bin/pt-table-checksum
---- old/percona-toolkit-2.2.7/bin/pt-table-checksum 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-table-checksum 2014-05-21 18:14:03.377924135 +0200
-@@ -12314,8 +12314,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-table-sync new/percona-toolkit-2.2.7/bin/pt-table-sync
---- old/percona-toolkit-2.2.7/bin/pt-table-sync 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-table-sync 2014-05-21 18:10:18.476350097 +0200
-@@ -12501,8 +12501,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-upgrade new/percona-toolkit-2.2.7/bin/pt-upgrade
---- old/percona-toolkit-2.2.7/bin/pt-upgrade 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-upgrade 2014-05-21 18:08:38.344342935 +0200
-@@ -11003,8 +11003,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-variable-advisor new/percona-toolkit-2.2.7/bin/pt-variable-advisor
---- old/percona-toolkit-2.2.7/bin/pt-variable-advisor 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-variable-advisor 2014-05-21 18:10:01.967017827 +0200
-@@ -5968,8 +5968,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
diff --git a/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch b/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch
deleted file mode 100644
index 0596365423f9..000000000000
--- a/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change
-index 7ecec11..afdd7dd 100755
---- a/bin/pt-online-schema-change
-+++ b/bin/pt-online-schema-change
-@@ -8948,15 +8948,6 @@ sub main {
- Quoter => $q,
- );
-
-- my $vp = VersionParser->new($cxn->dbh());
-- if ($vp->cmp('8.0.14') > -1 && $vp->flavor() !~ m/maria/i) {
-- my $msg = "There is an error in MySQL that makes the server to die when trying to ".
-- "rename a table with FKs. See https://bugs.mysql.com/bug.php?id=96145\n".
-- "Since pt-online-schema change needs to rename the old <-> new tables as the final " .
-- "step, and the requested table has FKs, it cannot be executed under the current MySQL version";
-- _die($msg, NO_MINIMUM_REQUIREMENTS);
-- }
--
- if ( ($alter_fk_method || '') eq 'none' ) {
- print "Not updating foreign keys because "
- . "--alter-foreign-keys-method=none. Foreign keys "
-@@ -9872,12 +9863,6 @@ sub main {
- }
- }
-
-- if ($vp->cmp('8.0') > -1 && $vp->flavor() !~ m/maria/i && $alter_fk_method eq 'drop_swap') {
-- my $msg = "--alter-foreign-keys-method=drop_swap doesn't work with MySQL 8.0+\n".
-- "See https://bugs.mysql.com/bug.php?id=89441";
-- _die($msg, INVALID_PARAMETERS);
-- }
--
- # --plugin hook
- if ( $plugin && $plugin->can('after_copy_rows') ) {
- $plugin->after_copy_rows();
diff --git a/dev-db/percona-toolkit/metadata.xml b/dev-db/percona-toolkit/metadata.xml
index 387c3afc606a..3d9fc0ee0daf 100644
--- a/dev-db/percona-toolkit/metadata.xml
+++ b/dev-db/percona-toolkit/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>Percona Toolkit, formerly Maatkit and Aspersa, formerly MySQL Toolkit,
is a collection of command-line utilities that provide missing
functionality for MySQL. Some of the tools implement lacking server
diff --git a/dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild b/dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild
deleted file mode 100644
index 7b08f6262ae9..000000000000
--- a/dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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}/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"
-
-src_prepare() {
- # Bug #501904 - CVE-2014-2029
- # sed -i -e '/^=item --\[no\]version-check/,/^default: yes/{/^default: yes/d}' bin/*
- eapply -p2 "${FILESDIR}"/${PN}-2.2.7-no-versioncheck.patch
- eapply -p1 "${FILESDIR}"/${PN}-2.2.20-fix-package-name.patch
-
- default
-}
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.0.9.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.0.9.ebuild
deleted file mode 100644
index 8cb91309b313..000000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.0.9.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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/*
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.7-no-versioncheck.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e "s/=> 'percona-toolkit',/=> 'Percona::Toolkit',/g" \
- Makefile.PL || die
-}
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild
deleted file mode 100644
index bc039dc30467..000000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 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
- "${FILESDIR}"/${PN}-3.1.0-drop-swap-gentoo-mariadb-fix.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e "s/=> 'percona-toolkit',/=> 'Percona::Toolkit',/g" \
- Makefile.PL || die
-}
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild
deleted file mode 100644
index 2baf33ca254c..000000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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-toolkit/percona-toolkit-3.0.13.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.5.3.ebuild
index 63fd079079bc..488a2c186226 100644
--- a/dev-db/percona-toolkit/percona-toolkit-3.0.13.ebuild
+++ b/dev-db/percona-toolkit/percona-toolkit-3.5.3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
inherit perl-module
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.5.5.ebuild
index 2baf33ca254c..6738557e2b53 100644
--- a/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild
+++ b/dev-db/percona-toolkit/percona-toolkit-3.5.5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit perl-module
@@ -11,7 +11,7 @@ SRC_URI="https://www.percona.com/downloads/${PN}/${PV}/source/tarball/${P}.tar.g
LICENSE="|| ( GPL-2 Artistic )"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
# Package warrants IUSE doc
IUSE=""
@@ -41,11 +41,3 @@ 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-toolkit/percona-toolkit-3.2.1.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.5.7.ebuild
index 90f65e5dffb6..40dc0b2abad8 100644
--- a/dev-db/percona-toolkit/percona-toolkit-3.2.1.ebuild
+++ b/dev-db/percona-toolkit/percona-toolkit-3.5.7.ebuild
@@ -1,17 +1,18 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit perl-module
+inherit go-module 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"
+SRC_URI="https://www.percona.com/downloads/${PN}/${PV}/source/tarball/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/releases/download/${P}/${P}-deps.tar.xz"
LICENSE="|| ( GPL-2 Artistic )"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~x86"
# Package warrants IUSE doc
IUSE=""
@@ -42,10 +43,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.0.10-slave-delay-fix.patch
)
-src_prepare() {
+src_install() {
default
-
- sed -i \
- -e "s/=> 'percona-toolkit',/=> 'Percona::Toolkit',/g" \
- Makefile.PL || die
+ dobin bin/*
}
diff --git a/dev-db/percona-xtrabackup-bin/Manifest b/dev-db/percona-xtrabackup-bin/Manifest
deleted file mode 100644
index 3f0ae5538c7a..000000000000
--- a/dev-db/percona-xtrabackup-bin/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST percona-xtrabackup-2.4.13-Linux-i686.libgcrypt20.tar.gz 85192746 BLAKE2B 7df4fee162587830a19499cd692d5e81ba67bb445ad0bea7bb93a9857bae5e4671740d01b817b6d04043abfd436ef88e0983dc7ab80d5d20426d9c05b470c79e SHA512 c2fa43aa4654cfcf06aa47ee20ee48e9b725aa3b0514419c5af5872d7ed37a971d5afe5aa4dc9475cf4d0738354a0ec35e6dd97a24ec00b2330465e94bafb365
-DIST percona-xtrabackup-2.4.13-Linux-x86_64.libgcrypt20.tar.gz 87985226 BLAKE2B 937518b96d948098f2026397947250fbe4952752cf6f83fee5fdda4031564916bbfa07cd77a5db5db16150d446593b52fd82d6ee919ceb9fb0fb41de2f6ca631 SHA512 824ad9e94c38d51291afa1c9f1b9114c88c2b777ac9e5eb41a523463355521233b682920940084f8771820ccad6bd2a9ca280f6397eebd99ca26995712e68007
diff --git a/dev-db/percona-xtrabackup-bin/metadata.xml b/dev-db/percona-xtrabackup-bin/metadata.xml
deleted file mode 100644
index 115e9d64a669..000000000000
--- a/dev-db/percona-xtrabackup-bin/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild b/dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild
deleted file mode 100644
index b35555d20dbf..000000000000
--- a/dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-MY_PN="${PN%-bin}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="MySQL hot backup software. non-blocking backups for InnoDB/XtraDB databases"
-HOMEPAGE="https://www.percona.com/software/percona-xtrabackup"
-SRC_URI="
- amd64? (
- https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/binary/tarball/${MY_P}-Linux-x86_64.libgcrypt20.tar.gz
- )
- x86? (
- https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/binary/tarball/${MY_P}-Linux-i686.libgcrypt20.tar.gz
- )"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-# NOTE: dev-perl/DBD-mysql still necessary, now for bin/xtrabackup?
-DEPEND=""
-RDEPEND="dev-libs/libaio
- dev-libs/libgcrypt:0/20
- dev-libs/libgpg-error
- dev-perl/DBD-mysql
- sys-libs/zlib
- sys-process/numactl
- || (
- sys-libs/libxcrypt[compat]
- sys-libs/glibc[crypt(+)]
- )
- !dev-db/percona-xtrabackup"
-
-QA_PREBUILT="usr/bin/*"
-
-src_unpack() {
- default
-
- if use amd64; then
- S="${WORKDIR}/${MY_P}-Linux-x86_64"
- elif use x86; then
- S="${WORKDIR}/${MY_P}-Linux-i686"
- fi
-}
-
-src_install() {
- # Two new tools with an old libcurl.so.3 dep...
- # TODO: Wait for a new release using libcurl.so.4
- # net-misc/curl dev-libs/libev
- # dobin bin/xbcloud{,_osenv}
-
- for tool in xbcrypt xbstream xtrabackup; do
- dobin bin/${tool}
- done
-
- for man in innobackupex xbcrypt xbstream xtrabackup; do
- doman man/man1/${man}.1
- done
-
- dosym xtrabackup /usr/bin/innobackupex
-}
-
-pkg_postinst() {
- ewarn "innobackupex got deprecated in 2.3.x series and is just a symlink to xtrabackup"
-}
diff --git a/dev-db/percona-xtrabackup/Manifest b/dev-db/percona-xtrabackup/Manifest
index b3ed6bca51c9..a349da217cfa 100644
--- a/dev-db/percona-xtrabackup/Manifest
+++ b/dev-db/percona-xtrabackup/Manifest
@@ -1,6 +1,2 @@
-DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae
-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.24.tar.gz 61985764 BLAKE2B 99531853b7e125bfe1d133d3dd902f3f68d50a6c127c09ac87652d70aee5c4d764ba7b102879bea0eb67c0a2f1a94633889786c0a7a1f6bc3f9ed54fe51a217d SHA512 de25639a6e204d2e4018c922ccbd5119c5696d03e0b445f81968b15c2179a46ae8844014e78aa89f6a0a3cd5aef20adc744c979926366673f78c347d6a4e0201
-DIST percona-xtrabackup-8.0.25-17.tar.gz 291581323 BLAKE2B 3860994ce969abc72378d29b32768c70ab4210f55400ad47d446b6e50b97fd6e90f124388663b02ba0e41fbb1c0ac4106c337861da46006442072591cfff2ba5 SHA512 f7186881c8422f6802efb813644c5721bb274db54afb591b58fe9ee1a084fba6546c7673f461b4d581c01ff0cbda588cb96b7fe21d669b3d9cbe3b5898288e08
-DIST percona-xtrabackup-8.0.26-18.tar.gz 294169182 BLAKE2B 250437badd9bcaea92b0f254fad27a775014f17215e764114bba3d1cf0882135127738a4db78349cb9d519e6a9b5bc015f04747ad8ebfc09245ebad3aa890400 SHA512 0cceb6758364c31167ef0b47176e1950273e80e5266b91e12353287dfae6e3a87382b29a466920e5e58add1f461295199a70bb070a225458ed8a7de844e012ea
+DIST boost_1_77_0.tar.bz2 110361537 BLAKE2B 106aeb09ec7705b595f2ca966a76c53c649eac6fac50d88c156862e0991c33c89a2f3a09edcbcb453fa44bf71cdde030b35d0a0889ad97b65f3a868cb877a532 SHA512 39b45c9b60bc5a2a4c669a4463d1272c1e093376b2fb374d7f20a84ea10a3e23bb04b335a735a83a04575731f874d9bff77e89acd947524b3fbbae1b26ae1f2f
+DIST percona-xtrabackup-8.0.30-23.tar.gz 338259133 BLAKE2B 3b73731497013aea6abae7d83cd96914cb5300dd867f6066514c71d68f8a1420227e33512a5f2faf082029ccd2c871394acbf43fb58c029472cbeb5605f354fc SHA512 acada88f3509526259281b7f9805fcabb31c5924eb50c5ed761b0813f89adda046b060a57825b6a49178171daec8b4388e99202ef9c9def4b2b0932e73b4d535
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.11-fix-gcc6-isystem.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.11-fix-gcc6-isystem.patch
deleted file mode 100644
index 4fed659cdae6..000000000000
--- a/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.11-fix-gcc6-isystem.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-Do not use -isystem to add headers, as they break GCC 6's header wrapping.
-See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129
-
-diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
-index dbf1c48..e5d7347 100644
---- a/client/CMakeLists.txt
-+++ b/client/CMakeLists.txt
-@@ -52,7 +52,7 @@ IF(NOT WITHOUT_SERVER)
- upgrade/program.cc
- )
- ADD_COMPILE_FLAGS(
-- upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
- TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core)
- ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema)
-diff --git a/client/base/CMakeLists.txt b/client/base/CMakeLists.txt
-index b206de7..91cce4c 100644
---- a/client/base/CMakeLists.txt
-+++ b/client/base/CMakeLists.txt
-@@ -49,7 +49,7 @@ ADD_COMPILE_FLAGS(
- mutex.cc
- mysql_query_runner.cc
- show_variable_query_extractor.cc
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- TARGET_LINK_LIBRARIES(client_base mysqlclient)
-diff --git a/client/dump/CMakeLists.txt b/client/dump/CMakeLists.txt
-index fdbb631..bae2ce7 100644
---- a/client/dump/CMakeLists.txt
-+++ b/client/dump/CMakeLists.txt
-@@ -50,7 +50,7 @@ IF(USING_LOCAL_BOOST)
-
- ADD_COMPILE_FLAGS(
- ${BOOST_LIB_SOURCES}
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- IF(HAVE_clock_gettime_IN_rt)
-@@ -145,7 +145,7 @@ TARGET_LINK_LIBRARIES(mysqlpump_lib
-
- ADD_COMPILE_FLAGS(
- ${MYSQLPUMP_LIB_SOURCES}
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- # Files that use Boost sources that trigger compilation warnings
-@@ -179,7 +179,7 @@ ADD_COMPILE_FLAGS(
- )
- MYSQL_ADD_EXECUTABLE(mysqlpump program.cc)
- ADD_COMPILE_FLAGS(
-- program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- TARGET_LINK_LIBRARIES(mysqlpump mysqlpump_lib ${LOCAL_BOOST_LIB})
-diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt
-index 44c1d26..dac03d9 100644
---- a/libmysqld/CMakeLists.txt
-+++ b/libmysqld/CMakeLists.txt
-@@ -123,7 +123,7 @@ ADD_COMPILE_FLAGS(
- ../sql/item_geofunc_setops.cc
- ../sql/item_json_func.cc
- ../sql/spatial.cc
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- ADD_COMPILE_FLAGS(
-diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
-index 1d1231f..9a35fa8 100644
---- a/sql/CMakeLists.txt
-+++ b/sql/CMakeLists.txt
-@@ -312,7 +312,7 @@ ADD_COMPILE_FLAGS(
- item_geofunc_setops.cc
- item_json_func.cc
- spatial.cc
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- ADD_COMPILE_FLAGS(
-diff --git a/unittest/gunit/CMakeLists.txt b/unittest/gunit/CMakeLists.txt
-index f0123b8..f2169f9 100644
---- a/unittest/gunit/CMakeLists.txt
-+++ b/unittest/gunit/CMakeLists.txt
-@@ -385,7 +385,7 @@ IF (MERGE_UNITTESTS)
- ENDIF()
- ADD_COMPILE_FLAGS(
- ${MERGE_SMALL_TESTS}
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
- # Fixes "C1128: number of sections exceeded object file format limit" in MSVC
- IF(WIN32)
-@@ -467,11 +467,11 @@ ENDIF(MERGE_UNITTESTS)
- ENDIF()
- ADD_COMPILE_FLAGS(
- bounded_queue-t.cc
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
- ADD_COMPILE_FLAGS(
- pump_object_filter-t.cc
-- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR}
-+ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- FOREACH(test ${SERVER_TESTS})
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.20-fix-gcc10.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.20-fix-gcc10.patch
deleted file mode 100644
index 8987082d1f9c..000000000000
--- a/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.20-fix-gcc10.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/sql/mysqld.cc b/sql/mysqld.cc
-index 3801448b..83098498 100644
---- a/sql/mysqld.cc
-+++ b/sql/mysqld.cc
-@@ -625,7 +625,7 @@ struct system_variables global_system_variables;
- struct system_variables max_system_variables;
- struct system_status_var global_status_var;
-
--MY_TMPDIR mysql_tmpdir_list;
-+extern MY_TMPDIR mysql_tmpdir_list;
- MY_BITMAP temp_pool;
-
- CHARSET_INFO *system_charset_info, *files_charset_info ;
-diff --git a/storage/innobase/xtrabackup/src/xbstream.c b/storage/innobase/xtrabackup/src/xbstream.c
-index 611f8c04..f0c57588 100644
---- a/storage/innobase/xtrabackup/src/xbstream.c
-+++ b/storage/innobase/xtrabackup/src/xbstream.c
-@@ -55,7 +55,7 @@ datasink_t datasink_xbstream;
- datasink_t datasink_compress;
- datasink_t datasink_tmpfile;
- datasink_t datasink_encrypt;
--datasink_t datasink_buffer;
-+extern datasink_t datasink_buffer;
-
- static run_mode_t opt_mode;
- static char * opt_directory = NULL;
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.6-remove-boost-version-check.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.6-remove-boost-version-check.patch
deleted file mode 100644
index 48a7fcc783f0..000000000000
--- a/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.6-remove-boost-version-check.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Remove Boost version check which makes using the
-system boost libraries close to impossible.
-
---- a/cmake/boost.cmake
-+++ b/cmake/boost.cmake
-@@ -262,13 +262,6 @@
- COULD_NOT_FIND_BOOST()
- ENDIF()
-
--IF(NOT BOOST_MINOR_VERSION EQUAL 59)
-- MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} "
-- "we need 59"
-- )
-- COULD_NOT_FIND_BOOST()
--ENDIF()
--
- MESSAGE(STATUS "BOOST_INCLUDE_DIR ${BOOST_INCLUDE_DIR}")
-
- # We have a limited set of patches/bugfixes here:
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.25-remove-rpm.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.25-remove-rpm.patch
deleted file mode 100644
index 9496e73d24c6..000000000000
--- a/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.25-remove-rpm.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -193,33 +193,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
-- )
-- EXECUTE_PROCESS(COMMAND ${MY_UNAME} -m
-- OUTPUT_VARIABLE MY_HOST_MACHINE_NAME
-- OUTPUT_STRIP_TRAILING_WHITESPACE
-- RESULT_VARIABLE MY_UNAME_MACHINE_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/files/percona-xtrabackup-8.0.30.23-gcc13.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.30.23-gcc13.patch
new file mode 100644
index 000000000000..cf13aba845a1
--- /dev/null
+++ b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.30.23-gcc13.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/895702
+--- a/components/keyrings/common/data/data.h
++++ b/components/keyrings/common/data/data.h
+@@ -23,6 +23,7 @@
+ #ifndef DATA_INCLUDED
+ #define DATA_INCLUDED
+
++#include <cstdint>
+ #include <functional>
+ #include <string>
+ #include "pfs_string.h"
+--- a/libbinlogevents/include/gtids/global.h
++++ b/libbinlogevents/include/gtids/global.h
+@@ -23,6 +23,7 @@
+ #ifndef CS_GTIDS_GLOBALS_INCLUDED
+ #define CS_GTIDS_GLOBALS_INCLUDED
+
++#include <cstdint>
+ #include <set>
+ #include <sstream>
+ #include "libbinlogevents/include/uuid.h"
+@@ -34,4 +35,4 @@ typedef binary_log::Uuid Uuid;
+
+ } // namespace binary_log::gtids
+
+-#endif
+\ No newline at end of file
++#endif
+--- a/sql/dd/impl/sdi.h
++++ b/sql/dd/impl/sdi.h
+@@ -23,6 +23,7 @@
+ #ifndef DD__SDI_INCLUDED
+ #define DD__SDI_INCLUDED
+
++#include <cstdint>
+ #include <functional>
+ #include "my_compiler.h"
+ #include "sql/dd/sdi_fwd.h" // RJ_Document
diff --git a/dev-db/percona-xtrabackup/metadata.xml b/dev-db/percona-xtrabackup/metadata.xml
index d7a33b9c5649..e3725b25700f 100644
--- a/dev-db/percona-xtrabackup/metadata.xml
+++ b/dev-db/percona-xtrabackup/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">percona/percona-xtrabackup</remote-id>
</upstream>
diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.15.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.15.ebuild
deleted file mode 100644
index 9e800bfb475a..000000000000
--- a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.15.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 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/XtraBackup/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.11-fix-gcc6-isystem.patch
-)
-
-src_prepare() {
- cmake_src_prepare
-
- # remove bundled libedit, libevent, zlib
- # just to be safe...
- # We keep lz4 directory because we use extra/lz4/xxhash.c in cmake/libutils.cmake
- rm -rv \
- cmd-line-utils/libedit \
- libevent \
- zlib || die
-}
-
-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=bundled # uses yassl, which isn't packaged
- -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-2.4.24.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.24.ebuild
deleted file mode 100644
index 0a907e2e0f33..000000000000
--- a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.24.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-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.25.17.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.25.17.ebuild
deleted file mode 100644
index 4c813b45c01f..000000000000
--- a/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.25.17.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# 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.25-remove-rpm.patch
-)
-
-S="${WORKDIR}/percona-xtrabackup-${MY_PV}"
-
-src_configure() {
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- local mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
- -DBUILD_SHARED_LIBS=OFF
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DINSTALL_PLUGINDIR=$(get_libdir)/${PN}/plugin
- -DWITH_BOOST="${WORKDIR}/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION})"
- -DWITH_MAN_PAGES=ON
- -DWITH_SYSTEM_LIBS=ON
- )
-
- 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}
-
- # cannot use dolib.so because helper would append libdir to target dir
- insinto /usr/$(get_libdir)/${PN}/plugin
- insopts -m 0755
- doins "${BUILD_DIR}"/plugin_output_directory/{keyring_file.so,keyring_vault.so}
-
- doman "${p}"/doc/source/build/man/*
-}
diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.30.23.ebuild
index 896af1ba69aa..c75845fa0b49 100644
--- a/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild
+++ b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.30.23.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
CMAKE_MAKEFILE_GENERATOR="emake"
-inherit cmake flag-o-matic
+inherit cmake
-MY_BOOST_VERSION="1.73.0"
+# TODO: just keep it unbundled...?
+MY_BOOST_VERSION="1.77.0"
MY_PV=$(ver_rs 3 '-')
MY_PV="${MY_PV//_pre*}"
MY_PN="Percona-XtraBackup"
@@ -17,12 +18,11 @@ 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
-"
+ https://boostorg.jfrog.io/artifactory/main/release/${MY_BOOST_VERSION}/source/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION}).tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
DEPEND="
app-arch/lz4:0=
@@ -32,6 +32,7 @@ DEPEND="
dev-libs/libedit
dev-libs/libev
dev-libs/libevent:0=
+ dev-libs/libfido2:=
dev-libs/libgcrypt:0=
dev-libs/libgpg-error
dev-libs/openssl:0=
@@ -49,10 +50,22 @@ RDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-8.0.26-remove-rpm.patch
+ "${FILESDIR}"/${PN}-8.0.30.23-gcc13.patch
)
S="${WORKDIR}/percona-xtrabackup-${MY_PV}"
+src_prepare() {
+ cmake_src_prepare
+
+ local bundled_boost_version=$(sed -En '/^SET\(BOOST_PACKAGE_NAME /{s/[^0-9.]//gp}' cmake/boost.cmake)
+ if [[ ${MY_BOOST_VERSION//./} != ${bundled_boost_version} ]] ; then
+ eerror "Source Boost version: ${bundled_boost_version}"
+ eerror "Ebuild Boost version: ${MY_BOOST_VERSION}"
+ die "Ebuild needs to fix MY_BOOST_VERSION!"
+ fi
+}
+
src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
diff --git a/dev-db/pg-gvm/Manifest b/dev-db/pg-gvm/Manifest
new file mode 100644
index 000000000000..fe0636597390
--- /dev/null
+++ b/dev-db/pg-gvm/Manifest
@@ -0,0 +1 @@
+DIST pg-gvm-22.6.4.tar.gz 39702 BLAKE2B d879f721c0d9d9d8f6942c889c37e37199671c5bb3fc4c5a38e5787d6f392c6c09bd5780907655445f9ad813e59e9d54242c1eac7fa513d4be71af8b85cc3790 SHA512 62ea4e982f6939f4eef0543209120fc7b1e0134630669c500289c9e68247b56dd861d802f93524a8eb4ad4c0585d38d11b8d3715cc2afc6e63cea5b6accd4bb6
diff --git a/dev-db/pg-gvm/files/README.gentoo b/dev-db/pg-gvm/files/README.gentoo
new file mode 100644
index 000000000000..1e751010d077
--- /dev/null
+++ b/dev-db/pg-gvm/files/README.gentoo
@@ -0,0 +1,10 @@
+To use the extension in a database create the extension using
+CREATE EXTENSION "pg-gvm";
+
+You can do this on the gvmd database running:
+
+root ~ # sudo -u postgres psql gvmd
+gvmd=> CREATE EXTENSION "pg-gvm";
+gvmd=> \q
+
+Please, read: https://github.com/greenbone/pg-gvm/#use-the-extension
diff --git a/dev-db/pg-gvm/metadata.xml b/dev-db/pg-gvm/metadata.xml
new file mode 100644
index 000000000000..807b4ad17d4f
--- /dev/null
+++ b/dev-db/pg-gvm/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>foti.giuseppe@gmail.com</email>
+ <name>Giuseppe Foti</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription lang="en">
+ Greenbone Library for ical functions. This library contains functionality for ical object manipulation.
+ This is a PostgreSQL server extension that adds several functions used by gvmd, e.g., iCalendar and host
+ range evaluation. In previous versions, of GVM these functions were managed directly by gvmd while
+ pg-gvm uses the extension management built into PostgreSQL.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">greenbone/pg-gvm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/pg-gvm/pg-gvm-22.6.4.ebuild b/dev-db/pg-gvm/pg-gvm-22.6.4.ebuild
new file mode 100644
index 000000000000..e4c533212b83
--- /dev/null
+++ b/dev-db/pg-gvm/pg-gvm-22.6.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake readme.gentoo-r1
+
+DESCRIPTION="Greenbone Library for helper functions in PostgreSQL"
+HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/pg-gvm"
+SRC_URI="https://github.com/greenbone/pg-gvm/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="amd64 ~x86"
+
+# Tests requires a running database that match up with the current
+# testing slot. Won't run from ${ED}, want's to install too early.
+RESTRICT="test"
+
+DEPEND="
+ >=dev-libs/glib-2.42:2
+ >=dev-libs/libical-1.0.0:=
+ >=net-analyzer/gvm-libs-22.6
+"
+
+RDEPEND="
+ ${DEPEND}
+ >=dev-db/postgresql-9.6:=[uuid]
+"
+
+src_install() {
+ cmake_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/dev-db/pgLatLon/Manifest b/dev-db/pgLatLon/Manifest
new file mode 100644
index 000000000000..54cdd07623a2
--- /dev/null
+++ b/dev-db/pgLatLon/Manifest
@@ -0,0 +1 @@
+DIST pgLatLon-v0.15.tar.gz 46667 BLAKE2B 7a5ff9b1c451d3fed69614198c06725d11d6ccb2265a8542a6602c1c77fb7a0a2044fffbe7cc0eafa10236813f113b3ff1a73aa159014bafaa7d49cbf4b21973 SHA512 9a6ced9d32e9868baba5bdb8677fd5800cea14af75ab2f2d99f6fda33e2cd85ac00c356dac4584386338c830b9ad0f4b8d7441f59f2b671505463e1895a655ef
diff --git a/dev-db/oracle-instantclient-jdbc/metadata.xml b/dev-db/pgLatLon/metadata.xml
index 115e9d64a669..8c0d75248cf7 100644
--- a/dev-db/oracle-instantclient-jdbc/metadata.xml
+++ b/dev-db/pgLatLon/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-db/pgLatLon/pgLatLon-0.15.ebuild b/dev-db/pgLatLon/pgLatLon-0.15.ebuild
new file mode 100644
index 000000000000..bfdc1c596f80
--- /dev/null
+++ b/dev-db/pgLatLon/pgLatLon-0.15.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MYP=${PN}-v${PV}
+
+DESCRIPTION="Spatial database extension for the PostgreSQL"
+HOMEPAGE="https://www.public-software-group.org/pgLatLon"
+SRC_URI="https://www.public-software-group.org/pub/projects/${PN}/v${PV}/${MYP}.tar.gz
+ https://dev.gentoo.org/~tupone/distfiles/${MYP}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="dev-db/postgresql:="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}
diff --git a/dev-db/pg_activity/Manifest b/dev-db/pg_activity/Manifest
index 98a2e3fac95c..4b17cda8ea28 100644
--- a/dev-db/pg_activity/Manifest
+++ b/dev-db/pg_activity/Manifest
@@ -1 +1 @@
-DIST pg_activity-2.2.1.tar.gz 279973 BLAKE2B fda51751d2d6e83eac1f9a731c085b0f37258a5aaf38116f2a90008554d6c8ce48cc615ee9b9a34ab9631b315dba6a763f634754e36b7b5590e08e3077878bb7 SHA512 8128dab29465b1521801a0abdbe242c08ee33aba63b6a29b04293e83383a66a302d96a1980afdc5e92b44aebb784f5b093f48dd22e3d2e703247f4f3408120e5
+DIST pg_activity-3.5.1.tar.gz 436863 BLAKE2B 8312b2145ba89b807fb5e4e76f8eb57ad1f33079735e1be4a6ef7614034bbfbbb428567e90d7b8a6bc16dd65af186a3f6742e09584cef6136a7f8b3763724806 SHA512 f44f1ca08a250e35c056441f11c19e3618fba82a36f367df211ceb5787983ff76d2637a155de80c998680f9c0f79d66fcb38873d1b04368e73b5a06e650789c5
diff --git a/dev-db/pg_activity/pg_activity-2.2.1.ebuild b/dev-db/pg_activity/pg_activity-3.5.1.ebuild
index 76fc218aadab..778d01d26dde 100644
--- a/dev-db/pg_activity/pg_activity-2.2.1.ebuild
+++ b/dev-db/pg_activity/pg_activity-3.5.1.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=( python3_{8..10} )
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -24,6 +26,7 @@ RDEPEND="
BDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
test? (
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
dev-python/psycopg:2[${PYTHON_USEDEP}]
)
"
diff --git a/dev-db/pg_top/metadata.xml b/dev-db/pg_top/metadata.xml
index 4a8730300bd9..d59836d0d4d5 100644
--- a/dev-db/pg_top/metadata.xml
+++ b/dev-db/pg_top/metadata.xml
@@ -9,4 +9,7 @@
pg_top is 'top' for PostgreSQL. It is derived from Unix Top. Similar to
top, pg_top allows you to monitor PostgreSQL processes.
</longdescription>
+ <upstream>
+ <remote-id type="gitlab">pg_top/pg_top</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/pg_top/pg_top-4.0.0-r1.ebuild b/dev-db/pg_top/pg_top-4.0.0-r3.ebuild
index cbb357c436a3..5f3dab62c30b 100644
--- a/dev-db/pg_top/pg_top-4.0.0-r1.ebuild
+++ b/dev-db/pg_top/pg_top-4.0.0-r3.ebuild
@@ -14,7 +14,10 @@ SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
-RDEPEND="dev-db/postgresql:="
+RDEPEND="dev-db/postgresql:=
+ dev-libs/libbsd
+ sys-libs/ncurses:=
+ virtual/libelf:="
DEPEND="${RDEPEND}"
DOCS=( HISTORY.rst README.rst TODO Y2K )
diff --git a/dev-db/pgadmin4/Manifest b/dev-db/pgadmin4/Manifest
deleted file mode 100644
index 57c96d5daaff..000000000000
--- a/dev-db/pgadmin4/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pgadmin4-4.29.tar.gz 35389494 BLAKE2B faaa84c0eee9c92ba483f4adffaf9e39e0c5f8ea21630a9ee8fad62aa833c88aa913df50c760be740afa0696aa1fbf1b6902a8b5bfd322822472f7d2dcb295e1 SHA512 2c7d20d10c96712f41621c2862a6a6222f6d6dad4a0b3e1aaf04744e65744460dcae4220f61b27785e02c82a624fa0793df2ea9d8e83ac0a6de048455929e615
-DIST pgadmin4-4.30.tar.gz 36490656 BLAKE2B 3e8e998b29b13ced40b38106a468d047dea92a0cc930150d153c473e78045278840f78b3bcbd41f20a5017e68c1980c05ccf734bf63d8f107e0e02c2df54162e SHA512 7ce12f65ce9dbfe4af9e92dd7f9327a05be8b8436ef495a0634043158417f3af5f457b88ee5422ede59f517c197668094454c6d7b7c33e255068479ce6ec13d9
diff --git a/dev-db/pgadmin4/files/pgadmin4.desktop b/dev-db/pgadmin4/files/pgadmin4.desktop
deleted file mode 100644
index e1697a620d5f..000000000000
--- a/dev-db/pgadmin4/files/pgadmin4.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=pgAdmin 4
-Exec=/usr/bin/pgAdmin4
-Icon=pgadmin4
-Type=Application
-Categories=Development;Database;
-MimeType=text/html
-DocPath=/usr/share/pgadmin4/docs/en_US/_build/html/index.html
-Comment=PostgreSQL Tools
-Keywords=database;db;sql;query;administration;development;
diff --git a/dev-db/pgadmin4/metadata.xml b/dev-db/pgadmin4/metadata.xml
deleted file mode 100644
index 028048e538df..000000000000
--- a/dev-db/pgadmin4/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>pgsql-bugs@gentoo.org</email>
- <name>PostgreSQL</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild b/dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild
deleted file mode 100644
index a6bd089b32fb..000000000000
--- a/dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="sqlite"
-inherit desktop python-single-r1 qmake-utils xdg
-
-DESCRIPTION="GUI administration and development platform for PostgreSQL"
-HOMEPAGE="https://www.pgadmin.org/"
-SRC_URI="https://ftp.postgresql.org/pub/pgadmin/${PN}/v${PV}/source/${P}.tar.gz"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test"
-
-# libsodium dep added because of 689678
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-libs/libsodium[-minimal]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtwidgets:5
-"
-DEPEND="${COMMON_DEPEND}
- doc? (
- $(python_gen_cond_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- ')
- )
- virtual/imagemagick-tools[png]
-"
-
-# In 4.25's requirement.txt, bcrypt is listed as <=3.17, but upstream's
-# git history shows this is just for compatibility with <python-3.6.
-# In 4.26's requirement.txt, cryptography is listed as <=3.0, but upstream's
-# git history shows this is just for compatibility with Windows.
-# 4.28; requirement.txt: Flask-Security was renamed to
-# Flask-Security-Too. This is still the same dev-python/flask-security.
-RDEPEND="${COMMON_DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
- <dev-python/flask-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-compress-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/flask-migrate-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
- <dev-python/flask-security-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-2.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-wtf-0.14.3[${PYTHON_USEDEP}]
- >=dev-python/ldap3-2.5.1[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.7.0[${PYTHON_USEDEP}]
- <dev-python/psycopg-2.9[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
- >=dev-python/simplejson-3.16.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
- >=dev-python/speaklater-1.3[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.3.13[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/sshtunnel-0.1.5[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/wtforms-2.2.1[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/python-email-validator[${PYTHON_USEDEP}]
- ')
-"
-
-S="${WORKDIR}"/${P}/runtime
-
-src_prepare() {
- cd "${WORKDIR}"/${P} || die
- default
-}
-
-src_configure() {
- export PGADMIN_PYTHON_DIR="${EPREFIX}/usr"
- eqmake5
-}
-
-src_compile() {
- default
- use doc && emake -C "${WORKDIR}"/${P} docs
-}
-
-src_install() {
- dobin pgAdmin4
-
- cd "${WORKDIR}"/${P} || die
-
- local APP_DIR=/usr/share/${PN}/web
- insinto "${APP_DIR}"
- doins -r web/.
- newins - config_local.py <<-EOF
- SERVER_MODE = False
- UPGRADE_CHECK_ENABLED = False
- EOF
- python_optimize "${D}${APP_DIR}"
-
- insinto /etc/xdg/pgadmin
- newins - pgadmin4.conf <<-EOF
- [General]
- ApplicationPath=${APP_DIR}
- PythonPath=$(python_get_sitedir)
- EOF
-
- if use doc; then
- rm -r docs/en_US/_build/html/_sources || die
- insinto /usr/share/${PN}/docs/en_US/_build
- doins -r docs/en_US/_build/html
- fi
-
- local s
- for s in 16 32 48 64 72 96 128 192 256; do
- convert runtime/pgAdmin4.png -resize ${s}x${s} ${PN}_${s}.png || die
- newicon -s ${s} ${PN}_${s}.png ${PN}.png
- done
- domenu "${FILESDIR}"/${PN}.desktop
-}
diff --git a/dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild b/dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild
deleted file mode 100644
index d8bca3fedc7f..000000000000
--- a/dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="sqlite"
-inherit desktop python-single-r1 qmake-utils xdg
-
-DESCRIPTION="GUI administration and development platform for PostgreSQL"
-HOMEPAGE="https://www.pgadmin.org/"
-SRC_URI="https://ftp.postgresql.org/pub/pgadmin/${PN}/v${PV}/source/${P}.tar.gz"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test"
-
-# libsodium dep added because of 689678
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-libs/libsodium[-minimal]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtwidgets:5
-"
-DEPEND="${COMMON_DEPEND}
- doc? (
- $(python_gen_cond_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- ')
- )
- virtual/imagemagick-tools[png]
-"
-
-# In 4.25's requirement.txt, bcrypt is listed as <=3.17, but upstream's
-# git history shows this is just for compatibility with <python-3.6.
-# In 4.26's requirement.txt, cryptography is listed as <=3.0, but upstream's
-# git history shows this is just for compatibility with Windows.
-# 4.28; requirement.txt: Flask-Security was renamed to
-# Flask-Security-Too. This is still the same dev-python/flask-security.
-RDEPEND="${COMMON_DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
- <dev-python/flask-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-babelex-0.9.4[${PYTHON_USEDEP}]
- >=dev-python/flask-compress-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/flask-migrate-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
- <dev-python/flask-security-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-2.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-wtf-0.14.3[${PYTHON_USEDEP}]
- >=dev-python/ldap3-2.5.1[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.7.0[${PYTHON_USEDEP}]
- <dev-python/psycopg-2.9[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
- >=dev-python/simplejson-3.16.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
- >=dev-python/speaklater-1.3[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.3.13[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/sshtunnel-0.1.5[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/wtforms-2.2.1[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/gssapi[${PYTHON_USEDEP}]
- dev-python/python-email-validator[${PYTHON_USEDEP}]
- ')
-"
-
-S="${WORKDIR}"/${P}/runtime
-
-src_prepare() {
- cd "${WORKDIR}"/${P} || die
- default
-}
-
-src_configure() {
- export PGADMIN_PYTHON_DIR="${EPREFIX}/usr"
- eqmake5
-}
-
-src_compile() {
- default
- use doc && emake -C "${WORKDIR}"/${P} docs
-}
-
-src_install() {
- dobin pgAdmin4
-
- cd "${WORKDIR}"/${P} || die
-
- local APP_DIR=/usr/share/${PN}/web
- insinto "${APP_DIR}"
- doins -r web/.
- newins - config_local.py <<-EOF
- SERVER_MODE = False
- UPGRADE_CHECK_ENABLED = False
- EOF
- python_optimize "${D}${APP_DIR}"
-
- insinto /etc/xdg/pgadmin
- newins - pgadmin4.conf <<-EOF
- [General]
- ApplicationPath=${APP_DIR}
- PythonPath=$(python_get_sitedir)
- EOF
-
- if use doc; then
- rm -r docs/en_US/_build/html/_sources || die
- insinto /usr/share/${PN}/docs/en_US/_build
- doins -r docs/en_US/_build/html
- fi
-
- local s
- for s in 16 32 48 64 72 96 128 192 256; do
- convert runtime/pgAdmin4.png -resize ${s}x${s} ${PN}_${s}.png || die
- newicon -s ${s} ${PN}_${s}.png ${PN}.png
- done
- domenu "${FILESDIR}"/${PN}.desktop
-}
diff --git a/dev-db/pgagent/Manifest b/dev-db/pgagent/Manifest
index b88d3cf25a9b..9e64e509a8e8 100644
--- a/dev-db/pgagent/Manifest
+++ b/dev-db/pgagent/Manifest
@@ -1 +1 @@
-DIST pgAgent-4.0.0-Source.tar.gz 63561 BLAKE2B 1731e748a6a5e76cd8b177162eb5b82ae633d1b507739e3193a8857a0eee0fe775fdaadb871eb5d708c0f7e80558680b5d7d246f4cb5d2bc1c10955bdf9cc09e SHA512 df2d6f5817d83d4cf60f0f1106718225870bcfd2f5b882765e5fd459e1614208225f90b29de492bec5284f3727f3d4be9f724b92ef503fea08029fab22a8fbb4
+DIST pgAgent-4.2.1-Source.tar.gz 65583 BLAKE2B ee75803475dfbb751f1a81da5c3a6bec82aee80e9ce7d0413f94395069b5c0cbb6ff8770083078ce0e3a571a4c1b6d2e6adf6af8f0bfa9e8adfc862fff38d0d3 SHA512 778ca020ec23b3d042760cdcf84d3c2da8da48c8a648a9999812c2e79edfcc8912ab23cc1a1c29f379d6a56960cdd876164397b8fe6b21dd386a917a80eaa71c
diff --git a/dev-db/pgagent/files/pgagent-4.0.0-pthreads-linking.patch b/dev-db/pgagent/files/pgagent-4.0.0-pthreads-linking.patch
deleted file mode 100644
index 95f8e998f58f..000000000000
--- a/dev-db/pgagent/files/pgagent-4.0.0-pthreads-linking.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5b79460bdda286ca988b39e93e446176e8a781d1 Mon Sep 17 00:00:00 2001
-From: Neel Patel <neel.patel@enterprisedb.com>
-Date: Fri, 20 Jul 2018 13:35:35 +0100
-Subject: [PATCH] Link with pthreads on non-Windows and non-macOS platforms.
-
-Patch based on feedback and initial work by Christoph Berg.
----
- CMakeLists.txt | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1be24da..6f1eaa0 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -134,9 +134,15 @@ IF(WIN32)
- ENDIF(WIN32)
-
- ADD_EXECUTABLE(pgagent ${_srcs})
-+IF(UNIX AND NOT APPLE)
-+TARGET_LINK_LIBRARIES(
-+ pgagent ${PG_LIBRARIES} ${Boost_LIBRARIES} -pthread
-+)
-+ELSE()
- TARGET_LINK_LIBRARIES(
- pgagent ${PG_LIBRARIES} ${Boost_LIBRARIES}
- )
-+ENDIF()
-
- # Installation
- IF (WIN32)
---
-2.24.1
-
diff --git a/dev-db/pgagent/pgagent-4.0.0-r1.ebuild b/dev-db/pgagent/pgagent-4.2.1.ebuild
index 50120fe2593b..e6e675fbee11 100644
--- a/dev-db/pgagent/pgagent-4.0.0-r1.ebuild
+++ b/dev-db/pgagent/pgagent-4.2.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
CMAKE_IN_SOURCE_BUILD=1
-inherit cmake-utils user
+inherit cmake
MY_PN=${PN/a/A}
@@ -17,39 +17,32 @@ SRC_URI="https://ftp.postgresql.org/pub/pgadmin/${PN}/${MY_PN}-${PV}-Source.tar.
LICENSE="POSTGRESQL GPL-2"
SLOT="0"
-RDEPEND="dev-db/postgresql:*
- dev-libs/boost
+RDEPEND="
+ acct-user/pgagent
+ dev-db/postgresql:*
+ dev-libs/boost
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${MY_PN}-${PV}-Source"
-PATCHES=( "${FILESDIR}"/pgagent-4.0.0-pthreads-linking.patch )
-
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
sed -e "s:share):share/${P}):" \
-i CMakeLists.txt || die "failed to patch CMakeLists.txt"
}
src_configure() {
- mycmakeargs=( "-DSTATIC_BUILD:BOOLEAN=FALSE"
- )
- cmake-utils_src_configure
+ local mycmakeargs=( "-DSTATIC_BUILD:BOOLEAN=FALSE" )
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
newinitd "${FILESDIR}/pgagent.initd-r1" "${PN}"
newconfd "${FILESDIR}/pgagent.confd" "${PN}"
rm "${ED}"/usr/{LICENSE,README} || die "failed to remove useless docs"
}
-
-pkg_preinst() {
- # This user needs a real shell, and the daemon will use the
- # ~/.pgpass file from its home directory.
- enewuser pgagent -1 /bin/bash /home/pgagent
-}
diff --git a/dev-db/pgbadger/Manifest b/dev-db/pgbadger/Manifest
index 27ee39a9ef2c..7d50f9b0a806 100644
--- a/dev-db/pgbadger/Manifest
+++ b/dev-db/pgbadger/Manifest
@@ -1,5 +1,3 @@
-DIST pgbadger-11.0.tar.gz 1661028 BLAKE2B d83be01017d69b83cf288b23fe5066d5c691b630ce748fe42b33514346183f7b8f18efceeefe0533e534c669e986c30388a6df5b620ea654ae89b3dc3c08d342 SHA512 167534d61cb28df6cb7eae7efe788d3f6bbad1c614468e905a9b678a76b3a2dfc0eb192b595ac4dc332cd694e820f1603b79d83bc934b7dfe3d226019f6a9c15
-DIST pgbadger-11.3.tar.gz 2297407 BLAKE2B 7e0814c570a3e5fbf79132c99e3134ee944c8239b956d4638a144c551a45b1903a27ee730f93e0dd040c3b8b8c3ec7d1b22228bf2390fa1585f8e4907cb9ae90 SHA512 0af40e68391d6cc783c5895eea01d266bdb22672bd9142e6029ec428f68ee13e0d0deaced4cb80ccd5b608bf04a72a9964c95d2cc9ad933c7412dbf888fc788a
-DIST pgbadger-11.4.tar.gz 2299574 BLAKE2B bb18cd73117ac58330cca2a5f3b525f962d7c0d30a0c28881ff977424dc1ee84f7754a1d4bae200739e60b51015ccad0552573b98d06a3e5932af0056c01ed9f SHA512 c945d6b6fd564640ef9f13fc0927acbed12c4329d05a44e12858a944b3df97677af8c92e62c4572b5e02279ee5d0ce84cf9e66d294f909b4cfcf311e86ba7557
-DIST pgbadger-11.5.tar.gz 2305597 BLAKE2B 1e88e52ac5861343e7122784f3ec1ecc38e67a2737db49a05661de473c990992f924c887eb86e34d3ca80d329c01af4a60893af5436d8a291bbeae0d7fdc0e81 SHA512 ed02066250539d339d5aaaab784522eac37580873e8a5adde5b565cf6d11447fad469cc23b4ab88425b0322521b4ededd1f5a24670b0b9fdbd65aaa31e4e4088
-DIST pgbadger-11.6.tar.gz 2974369 BLAKE2B 2b9e6e03bf785f92864adbfd3d1e6edc4ac899db1172ddc5bcf5c58b072a33b58de68042a3be111fa0f993cbda353742de3e795a7e104e656373b638de6bced9 SHA512 f13c48e3503f17f8d2c37f39409953baf32e87e05ec77e44097648fb5d57f6e6d3e2af45fb703e44d184ea150db80132c868860b5f2cd023911d5fdf8fc6550d
+DIST pgbadger-12.1.tar.gz 3041661 BLAKE2B 0489b52a56b20442f4ad9c2f22c63eee7049ad93b65166d4d87a96aebf8ca20dd3709291fed4a31df77c0c49e4efa10a66d9c185b9f7f66818057aca1a83a607 SHA512 16cdb64cd425b58d9f13a4ffe06eb79aeb0238c585e325ed7f1613a32a960fb19a5871c29ebd082ffc52b063b8da16d22ded1367e47557473389ead001dffc06
+DIST pgbadger-12.2.tar.gz 3044596 BLAKE2B ab25e4b52099fa22d8e0bbcc1e0702fc9ec0982e00027a28e3b5735d456058d7b2f2b67dc1e9c857fb87bcea7ae273eeb3b97a260fb5387ccd768057e11a826b SHA512 b07dba94a0eb57cf8559439660204fd40cb3f2a9fc9a8fd4c0200af1b41a13bad2bd908f9019ecabce2f17c76fcb6d364b2b3b64c64028d4e40665df1075bd5d
+DIST pgbadger-12.4.tar.gz 4062907 BLAKE2B 1922d486a2ef4f87267156c2ebb5f038cbf5b48dc5a4dce80a517cbad000e5d4545b36c6a2404f699d987214c97ae9c867603138b8781131a71591d206adeaa0 SHA512 251035796275ed51efa2d3f45f8cf79c5ed89af34ee8b65c1ed2f481699152902a4f8820b316d06e4cf6528f894bc29ddce2b2ef2524e326a081f9412b9416d8
diff --git a/dev-db/pgbadger/pgbadger-11.0.ebuild b/dev-db/pgbadger/pgbadger-11.0.ebuild
deleted file mode 100644
index 83b95438fda0..000000000000
--- a/dev-db/pgbadger/pgbadger-11.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit perl-module
-
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer."
-HOMEPAGE="https://pgbadger.darold.net/"
-SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64"
-
-DEPEND="
- dev-perl/JSON-XS
- dev-perl/Text-CSV_XS
-"
-RDEPEND="${DEPEND}"
-
-src_test() {
- prove || die
-}
diff --git a/dev-db/pgbadger/pgbadger-11.5.ebuild b/dev-db/pgbadger/pgbadger-11.5.ebuild
deleted file mode 100644
index 79dbc731d240..000000000000
--- a/dev-db/pgbadger/pgbadger-11.5.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit perl-module
-
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer."
-HOMEPAGE="https://pgbadger.darold.net/"
-SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64"
-
-DEPEND="
- dev-perl/JSON-XS
- dev-perl/Text-CSV_XS
-"
-RDEPEND="${DEPEND}"
-
-src_test() {
- prove || die
-}
diff --git a/dev-db/pgbadger/pgbadger-11.6.ebuild b/dev-db/pgbadger/pgbadger-12.1.ebuild
index 2f2eca6a2b9e..48bd85429c6f 100644
--- a/dev-db/pgbadger/pgbadger-11.6.ebuild
+++ b/dev-db/pgbadger/pgbadger-12.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit perl-module
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer."
+DESCRIPTION="pgBadger is a PostgreSQL log analyzer"
HOMEPAGE="https://pgbadger.darold.net/"
SRC_URI="https://github.com/darold/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
diff --git a/dev-db/pgbadger/pgbadger-11.3.ebuild b/dev-db/pgbadger/pgbadger-12.2.ebuild
index 012c11ef5f76..ad3eca1581d2 100644
--- a/dev-db/pgbadger/pgbadger-11.3.ebuild
+++ b/dev-db/pgbadger/pgbadger-12.2.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit perl-module
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer."
+DESCRIPTION="pgBadger is a PostgreSQL log analyzer"
HOMEPAGE="https://pgbadger.darold.net/"
-SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/darold/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
@@ -16,6 +16,7 @@ KEYWORDS="~amd64"
DEPEND="
dev-perl/JSON-XS
dev-perl/Text-CSV_XS
+ dev-perl/Pod-Markdown
"
RDEPEND="${DEPEND}"
diff --git a/dev-db/pgbadger/pgbadger-11.4.ebuild b/dev-db/pgbadger/pgbadger-12.4.ebuild
index 012c11ef5f76..ffc67f024940 100644
--- a/dev-db/pgbadger/pgbadger-11.4.ebuild
+++ b/dev-db/pgbadger/pgbadger-12.4.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit perl-module
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer."
+DESCRIPTION="pgBadger is a PostgreSQL log analyzer"
HOMEPAGE="https://pgbadger.darold.net/"
-SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/darold/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
@@ -16,6 +16,7 @@ KEYWORDS="~amd64"
DEPEND="
dev-perl/JSON-XS
dev-perl/Text-CSV_XS
+ dev-perl/Pod-Markdown
"
RDEPEND="${DEPEND}"
diff --git a/dev-db/pgbouncer/Manifest b/dev-db/pgbouncer/Manifest
index 8b5fb7e66340..f6710438c8f5 100644
--- a/dev-db/pgbouncer/Manifest
+++ b/dev-db/pgbouncer/Manifest
@@ -1,2 +1,3 @@
-DIST pgbouncer-1.15.0.tar.gz 588042 BLAKE2B 3dac09303e1c86126dd9cb44823c6f3fca4195e3155b360719c736c6e1327cc10d05e7f1e45c08d14c1dd0cb5c074b32263eee3be9e6350db9a8c5cbdfe61aa1 SHA512 5f78018ab80ab8d81f20ef3df1314ffc9557f1c6469d485d11ac822f596e3d4b554743fd9e9fe19b008a8aaf93bcf3673b42a8fb82bbd9611bd735cd2cbb98c6
-DIST pgbouncer-1.16.0.tar.gz 592136 BLAKE2B 752d5cfa18dacfdb72e9e9f12d5a1ac5346649e3a0c49ef530dd29ca16039949af0993d54080a7cf558c6eb6a919254c1dc4a36ab22f38992e790469ecd973bf SHA512 3b6f23052ca3b8af40a618da6bed2577b92ffe27b627f8980cda2d645991434bf298f720c1d423a272961c9f3f52a9d1b28154ed7f355d539f71dc68c028b617
+DIST pgbouncer-1.16.1.tar.gz 591450 BLAKE2B 137193ad614586d708598fd7003af4dee69f03f88a7235ba4074b63d57ffc3ee1c41fbccb49c5df7c23a2272b33810f8c2a9084d98e2e695a3b5f5ec317e0227 SHA512 9ecb7c7ae136d85e3da434094909df3a6ff06ce8586a1848c0c00914d87a877aecbb26ea30ad8230062160f3177621cc16deb4a490e9a2a649c8032dacb86341
+DIST pgbouncer-1.22.0.tar.gz 670589 BLAKE2B feb0138c09eb2e3f865f9c372d1924f9fbe67785a52534f8b99783c0bc2d5a54a6fd8b0554ea8ac7d4e8e108fd2296a3a9ae19cb75d628052c45e4a57fd037cd SHA512 1d8f4b352103e17a3905ec0677362954f4b9f606f6dc00011514c2ec46d8c4e8d17b24e9ca92794ccaf4c86c9c77ac062e6be92be7856192b7c534b5a4911163
+DIST pgbouncer-1.22.1.tar.gz 677351 BLAKE2B c67eba10b51ae74fb77ad61f7c597b687769e75b687ff9682c16d0ac0b32c0e9d20d4c90cd5803331d128f3f388800faa38dd9965b86c5a75688455db1a06d6b SHA512 ac63fe877f68745f1faab096ee9d9e185de9cab97d4fef121c2c551fa0e69ea22342dc8b5ce75cadff755314e5493a5440f0748b5ee9f524f71d871ec1861530
diff --git a/dev-db/pgbouncer/pgbouncer-1.16.0.ebuild b/dev-db/pgbouncer/pgbouncer-1.16.1.ebuild
index 1214ffcf2b4c..bd386524fe68 100644
--- a/dev-db/pgbouncer/pgbouncer-1.16.0.ebuild
+++ b/dev-db/pgbouncer/pgbouncer-1.16.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,7 +18,6 @@ REQUIRED_USE="?? ( c-ares udns )"
RDEPEND="
>=dev-libs/libevent-2.0:=
- >=sys-libs/glibc-2.10
acct-user/pgbouncer
c-ares? ( >=net-dns/c-ares-1.10 )
ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist(-)] )
diff --git a/dev-db/pgbouncer/pgbouncer-1.15.0-r1.ebuild b/dev-db/pgbouncer/pgbouncer-1.22.0.ebuild
index 347c11f2b936..1647a74fb4c5 100644
--- a/dev-db/pgbouncer/pgbouncer-1.15.0-r1.ebuild
+++ b/dev-db/pgbouncer/pgbouncer-1.22.0.ebuild
@@ -1,29 +1,22 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-inherit systemd
+EAPI=8
DESCRIPTION="Lightweight connection pooler for PostgreSQL"
HOMEPAGE="https://www.pgbouncer.org/"
SRC_URI="https://www.pgbouncer.org/downloads/files/${PV}/pgbouncer-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+c-ares debug doc pam ssl systemd udns"
-
-# At-most-one-of, one can be enabled but not both
-REQUIRED_USE="?? ( c-ares udns )"
+KEYWORDS="~amd64 ~x86"
+IUSE="+c-ares debug doc pam ssl systemd"
RDEPEND="
>=dev-libs/libevent-2.0:=
- >=sys-libs/glibc-2.10
acct-user/pgbouncer
c-ares? ( >=net-dns/c-ares-1.10 )
ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist(-)] )
systemd? ( sys-apps/systemd )
- udns? ( >=net-libs/udns-0.1 )
"
DEPEND="${RDEPEND}"
@@ -47,15 +40,14 @@ src_configure() {
$(use_enable debug cassert) \
$(use_with pam) \
$(use_with ssl openssl) \
- $(use_with systemd) \
- $(use_with udns)
+ $(use_with systemd)
}
src_install() {
emake DESTDIR="${D}" install
dodoc AUTHORS
- use doc && dodoc doc/*.rst
+ use doc && dodoc doc/*.md
newconfd "${FILESDIR}/${PN}.confd-r1" "${PN}"
newinitd "${FILESDIR}/${PN}.initd-r2" "${PN}"
diff --git a/dev-db/pgbouncer/pgbouncer-1.22.1.ebuild b/dev-db/pgbouncer/pgbouncer-1.22.1.ebuild
new file mode 100644
index 000000000000..1647a74fb4c5
--- /dev/null
+++ b/dev-db/pgbouncer/pgbouncer-1.22.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Lightweight connection pooler for PostgreSQL"
+HOMEPAGE="https://www.pgbouncer.org/"
+SRC_URI="https://www.pgbouncer.org/downloads/files/${PV}/pgbouncer-${PV}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+c-ares debug doc pam ssl systemd"
+
+RDEPEND="
+ >=dev-libs/libevent-2.0:=
+ acct-user/pgbouncer
+ c-ares? ( >=net-dns/c-ares-1.10 )
+ ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist(-)] )
+ systemd? ( sys-apps/systemd )
+"
+
+DEPEND="${RDEPEND}"
+
+# Tests require a local database server, wants to fiddle with iptables,
+# and doesn't support overriding.
+RESTRICT="test"
+
+src_prepare() {
+ eapply "${FILESDIR}"/pgbouncer-1.12-dirs.patch
+
+ default
+}
+
+src_configure() {
+ # --enable-debug is only used to disable stripping
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ --enable-debug \
+ $(use_with c-ares cares) \
+ $(use_enable debug cassert) \
+ $(use_with pam) \
+ $(use_with ssl openssl) \
+ $(use_with systemd)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS
+ use doc && dodoc doc/*.md
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd-r2" "${PN}"
+
+ insinto /etc
+ doins etc/pgbouncer.ini
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate" pgbouncer
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ einfo "Please read the config.txt for Configuration Directives"
+ einfo
+ einfo "For Administration Commands, see:"
+ einfo " man pgbouncer"
+ einfo
+ einfo "By default, PgBouncer does not have access to any database."
+ einfo "GRANT the permissions needed for your application and make sure that it"
+ einfo "exists in PgBouncer's auth_file."
+ fi
+}
diff --git a/dev-db/pgcli/Manifest b/dev-db/pgcli/Manifest
index 18f2a1baa603..e446d14d1e52 100644
--- a/dev-db/pgcli/Manifest
+++ b/dev-db/pgcli/Manifest
@@ -1 +1 @@
-DIST pgcli-3.1.0.tar.gz 441939 BLAKE2B 2c9c9a3afb233eee6f88d304e26e482760f1ff2a458103a80ffb80d877f63bd3ec74ba4be06238e8d78adf36ec251cd27849e0899f3b257b75ac9585f3c04572 SHA512 458871bf7ea0a83a66f44ecbde88590ca2aa08420a58c97d2716d4e36c61738d92283d007fc3968063daa01c25b2c46360292ad6339757c119ff04891e1a1c46
+DIST pgcli-4.0.1.tar.gz 646421 BLAKE2B ceb0537344d1fc4c22fc424b7d1df809515778e9d1e492aead517c904ed6274f8c330e1f9bd73da377543e0d078acc8c385951a6717784205dbff0ab427b2d49 SHA512 eba490b979d7b1120eda817c3fe2afc2f2a8e4608e67e41be9b73597dc51027fbe013d5f72f8a6f2853c85395fb51f622dcf6b30c8d2185e5d9a9c1aada378ba
diff --git a/dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch b/dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch
new file mode 100644
index 000000000000..b761f1c13634
--- /dev/null
+++ b/dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch
@@ -0,0 +1,112 @@
+From da189aaa1852170cb852a7a435a20d8246e59c30 Mon Sep 17 00:00:00 2001
+From: Damien Baty <damien@damienbaty.com>
+Date: Mon, 19 Feb 2024 09:36:46 +0100
+Subject: [PATCH] feat: Replace pendulum by home-made duration-to-words
+ function
+
+diff --git a/pgcli/main.py b/pgcli/main.py
+index bbb1989d..cfa1c970 100644
+--- a/pgcli/main.py
++++ b/pgcli/main.py
+@@ -11,7 +11,6 @@
+ import threading
+ import shutil
+ import functools
+-import pendulum
+ import datetime as dt
+ import itertools
+ import platform
+@@ -800,9 +799,9 @@ def execute_command(self, text, handle_closed_connection=True):
+ "Time: %0.03fs (%s), executed in: %0.03fs (%s)"
+ % (
+ query.total_time,
+- pendulum.Duration(seconds=query.total_time).in_words(),
++ duration_in_words(query.total_time),
+ query.execution_time,
+- pendulum.Duration(seconds=query.execution_time).in_words(),
++ duration_in_words(query.execution_time),
+ )
+ )
+ else:
+@@ -1735,5 +1734,28 @@ def parse_service_info(service):
+ return service_conf, service_file
+
+
++def duration_in_words(duration_in_seconds: float) -> str:
++ if not duration_in_seconds:
++ return "0 seconds"
++ components = []
++ hours, remainder = divmod(duration_in_seconds, 3600)
++ if hours > 1:
++ components.append(f"{hours} hours")
++ elif hours == 1:
++ components.append("1 hour")
++ minutes, seconds = divmod(remainder, 60)
++ if minutes > 1:
++ components.append(f"{minutes} minutes")
++ elif minutes == 1:
++ components.append("1 minute")
++ if seconds >= 2:
++ components.append(f"{int(seconds)} seconds")
++ elif seconds >= 1:
++ components.append("1 second")
++ elif seconds:
++ components.append(f"{round(seconds, 3)} second")
++ return " ".join(components)
++
++
+ if __name__ == "__main__":
+ cli()
+diff --git a/setup.py b/setup.py
+index f9dbc56a..640dca00 100644
+--- a/setup.py
++++ b/setup.py
+@@ -16,7 +16,6 @@
+ "psycopg-binary >= 3.0.14; sys_platform == 'win32'",
+ "sqlparse >=0.3.0,<0.5",
+ "configobj >= 5.0.6",
+- "pendulum>=2.1.0",
+ "cli_helpers[styles] >= 2.2.1",
+ ]
+
+diff --git a/tests/test_main.py b/tests/test_main.py
+index cbf20a6a..0aeba80e 100644
+--- a/tests/test_main.py
++++ b/tests/test_main.py
+@@ -11,6 +11,7 @@
+
+ from pgcli.main import (
+ obfuscate_process_password,
++ duration_in_words,
+ format_output,
+ PGCli,
+ OutputSettings,
+@@ -488,3 +489,28 @@ def test_application_name_db_uri(tmpdir):
+ mock_pgexecute.assert_called_with(
+ "bar", "bar", "", "baz.com", "", "", application_name="cow"
+ )
++
++
++@pytest.mark.parametrize(
++ "duration_in_seconds,words",
++ [
++ (0, "0 seconds"),
++ (0.0009, "0.001 second"),
++ (0.0005, "0.001 second"),
++ (0.0004, "0.0 second"), # not perfect, but will do
++ (0.2, "0.2 second"),
++ (1, "1 second"),
++ (1.4, "1 second"),
++ (2, "2 seconds"),
++ (3.4, "3 seconds"),
++ (60, "1 minute"),
++ (61, "1 minute 1 second"),
++ (123, "2 minutes 3 seconds"),
++ (3600, "1 hour"),
++ (7235, "2 hours 35 seconds"),
++ (9005, "2 hours 30 minutes 5 seconds"),
++ (86401, "24 hours 1 second"),
++ ],
++)
++def test_duration_in_words(duration_in_seconds, words):
++ assert duration_in_words(duration_in_seconds) == words
diff --git a/dev-db/pgcli/pgcli-3.1.0.ebuild b/dev-db/pgcli/pgcli-3.1.0.ebuild
deleted file mode 100644
index 47be22f33026..000000000000
--- a/dev-db/pgcli/pgcli-3.1.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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/pgcli/pgcli-4.0.1-r1.ebuild b/dev-db/pgcli/pgcli-4.0.1-r1.ebuild
new file mode 100644
index 000000000000..d168855385f8
--- /dev/null
+++ b/dev-db/pgcli/pgcli-4.0.1-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+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-2.2.1[${PYTHON_USEDEP}]
+ dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/pgspecial[${PYTHON_USEDEP}]
+ dev-python/prompt-toolkit[${PYTHON_USEDEP}]
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ dev-python/sqlparse[${PYTHON_USEDEP}]
+ dev-python/sshtunnel[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/postgresql
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/dbcli/pgcli/pull/1452
+ "${FILESDIR}/${P}-no-pendulum.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hang while trying to create a keyring
+ # https://bugs.gentoo.org/925085
+ tests/test_main.py::test_pg_service_file
+ tests/test_ssh_tunnel.py::test_ssh_tunnel
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-db/pglogical/Manifest b/dev-db/pglogical/Manifest
new file mode 100644
index 000000000000..5741701297c1
--- /dev/null
+++ b/dev-db/pglogical/Manifest
@@ -0,0 +1,2 @@
+DIST REL2_4_1.tar.gz 277428 BLAKE2B 51319e3b1491e1857e63e63640f2e6d2315ab72a0aabcfe7869456822a294bdb53fd0f4cc9bca0c60bfcf9e0926249acad86f09327c5656735b508851037ccaf SHA512 0d673e1a2b696e2cfbb94d8350bb15c280947f69b6512aa80f8ef7497e30cbd407a01b9a4f8fa9844b4ccb39377a6b2bee390a7887f3050074c2e6a11e6f3e3f
+DIST REL2_4_4.tar.gz 280564 BLAKE2B 67d9cf090117875f58d671987fcd5593b9db5b78b31c79fc44c23d4ce5ebfcb1eb7b970ebb026ca6dedefd958081a3bc4ef7ce502e7edda027a5d082f879e385 SHA512 163b5f6ea61fd83eadbde843745d72ebe7f1fb401d5506c9bbf3689871e5b81c85e7536103080a71fa6567942f4278326a0fb232e19f432665757e23132be94d
diff --git a/dev-db/pglogical/metadata.xml b/dev-db/pglogical/metadata.xml
new file mode 100644
index 000000000000..f94345495aef
--- /dev/null
+++ b/dev-db/pglogical/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">2ndQuadrant/pglogical</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/pglogical/pglogical-2.4.1.ebuild b/dev-db/pglogical/pglogical-2.4.1.ebuild
new file mode 100644
index 000000000000..75619daafadd
--- /dev/null
+++ b/dev-db/pglogical/pglogical-2.4.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+POSTGRES_COMPAT=( 9.6 {10..14} )
+
+inherit postgres-multi
+
+MY_PV=$(ver_rs 1- '_')
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${PN}-REL${MY_PV}"
+
+DESCRIPTION="Logical replication for PostgreSQL"
+HOMEPAGE="https://www.2ndquadrant.com/en/resources/pglogical/"
+SRC_URI="https://github.com/2ndQuadrant/pglogical/archive/REL${MY_PV}.tar.gz"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ postgres-multi_foreach emake USE_PGXS=1 || die "emake failed"
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" USE_PGXS=1 install
+ postgres-multi_foreach dobin pglogical_create_subscriber
+}
diff --git a/dev-db/pglogical/pglogical-2.4.4.ebuild b/dev-db/pglogical/pglogical-2.4.4.ebuild
new file mode 100644
index 000000000000..27bba65b9239
--- /dev/null
+++ b/dev-db/pglogical/pglogical-2.4.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+POSTGRES_COMPAT=( {12..16} )
+
+RESTRICT="test" # connects to :5432 by default, not good
+
+inherit postgres-multi
+
+MY_PV=$(ver_rs 1- '_')
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${PN}-REL${MY_PV}"
+
+DESCRIPTION="Logical replication for PostgreSQL"
+HOMEPAGE="https://github.com/2ndQuadrant/pglogical"
+SRC_URI="https://github.com/2ndQuadrant/pglogical/archive/REL${MY_PV}.tar.gz"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ postgres-multi_foreach emake USE_PGXS=1 || die "emake failed"
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" USE_PGXS=1 install
+ postgres-multi_foreach dobin pglogical_create_subscriber
+}
diff --git a/dev-db/pgmodeler/Manifest b/dev-db/pgmodeler/Manifest
index 1f5e1a9bd7c7..a24270fa09f0 100644
--- a/dev-db/pgmodeler/Manifest
+++ b/dev-db/pgmodeler/Manifest
@@ -1 +1,2 @@
DIST pgmodeler-0.9.2.tar.gz 3930988 BLAKE2B 36d89c3bb400cd82199492208acf40fb872cb832a4911f818581672478d80e43bf56246a4485dd9b3a65a378bc261ad1c4b40243f1007aa2e67e75b62233ded4 SHA512 1bc48998623e39139e930c028095aace808084bb05d837273386a96aaeccd292890bbee58059b27710331f87d6e89a79005f2b0cdf901d229be6f777958fe051
+DIST pgmodeler-0.9.4.tar.gz 4016619 BLAKE2B 27a621a9b810d4f90214fc4b0f39ba1673170bd3341af3f8298c9ecd1ad45f021c225864c9b2cf47d5775e3c1630d8f44273621bda2bb891ddefbab2eb0c525f SHA512 5162f4f23ec1c202309fe0837687e8d7c2a836ed36d52a3c5ee55b649067070ae878642493257c6466b9c18c422c9fe97f433b02826e8183ea286d400769bea2
diff --git a/dev-db/pgmodeler/pgmodeler-0.9.4.ebuild b/dev-db/pgmodeler/pgmodeler-0.9.4.ebuild
new file mode 100644
index 000000000000..16c9f10383dd
--- /dev/null
+++ b/dev-db/pgmodeler/pgmodeler-0.9.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 10 11 12 13 14 )
+
+inherit desktop postgres qmake-utils
+
+MY_PV=${PV/_/-}
+
+DESCRIPTION="PostgreSQL Database Modeler"
+HOMEPAGE="https://pgmodeler.io"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="${POSTGRES_DEP}
+ dev-libs/icu:=
+ dev-libs/libxml2:=
+ dev-qt/qtcore:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md RELEASENOTES.md )
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_configure() {
+ eqmake5 \
+ PREFIX="${EPREFIX}/usr" \
+ PLUGINSDIR="${EPREFIX}/usr/$(get_libdir)/${PN}/plugins" \
+ PRIVATEBINDIR="${EPREFIX}/usr/$(get_libdir)/${PN}/bin" \
+ PRIVATELIBDIR="${EPREFIX}/usr/$(get_libdir)/${PN}" \
+ NO_UPDATE_CHECK=1 \
+ -r ${PN}.pro
+}
+
+src_test() {
+ cd "${S}/tests" || die
+ eqmake5 tests.pro
+ emake
+ emake check
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+
+ rm "${D}"/usr/share/${PN}/{CHANGELOG.md,LICENSE,README.md,RELEASENOTES.md}
+
+ einstalldocs
+
+ doicon assets/conf/${PN}_logo.png
+ make_desktop_entry ${PN} ${PN} ${PN}_logo Development
+}
diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest
index 2d63ff7e8e99..7f212bb30d09 100644
--- a/dev-db/pgpool2/Manifest
+++ b/dev-db/pgpool2/Manifest
@@ -1,2 +1,5 @@
-DIST pgpool-II-4.2.1.tar.gz 4713114 BLAKE2B 207cb3c43e47d40385d6808195561117293e5acec6bc34664ec7a1d8754bf9beb8c5350252a4274d4c50520254089f0e5a5fdfc0faf778186fa8000db6124df2 SHA512 b859a3952f69dd98a3df60b33b801d3bc96b9a11757593795a89751abe558c6baab10a37701d69d415c9da26a16abcdc72e0209e74c62204facfb25cdbc512f8
-DIST pgpool-II-4.2.2.tar.gz 4734840 BLAKE2B 2b4d26991732293e1411d1219f85a8c9ad1dca72c63069381ae1377a02ae215e813356172f3b89b42b9140549c92c76d443b125bb65cbc6abf03d2b99cf18dab SHA512 a147c810cc691fb27b823a813cbd2eaad66822c7c9f5c0f829cc70d4ac65911bbe827640f2dbd8060913276ed97340b52167e4332e9cdf013b6c9bc144c7b5d8
+DIST pgpool-II-4.3.2.tar.gz 5846769 BLAKE2B 82cfe7095ad303ac3a910c533d6e57edb4e3d5b28a9a9bffb2df473dd3087ec329d3a77f9490d9bb738d5d1a443020d96d0e9a1b1d6adecc04cce5d1caa04e7d SHA512 771426257eddb5c48504c80a2c8cccf44a18f7ea50df55654b7e9e017bda561a73a3e1f0db79785785ff6893d6df26f73b55310d0184ef3301838d12290d3d4c
+DIST pgpool-II-4.3.7.tar.gz 4901679 BLAKE2B 40c280a9d399246da77661a856d64691c213361193ba6af46a70c03c9193021a9f44dd9bfdfc7335c269675d04e9469d033ce55757799a7009d35d1493c50d6e SHA512 dd84b94a60fb1e75de2c14f83b3637491a4673b15dc7c23dbb8e26e69d32f617a85159f7c276a88a62d741b7758d84e94949ea6aa8f505be0960d8fffdaa10b6
+DIST pgpool-II-4.3.8.tar.gz 4939785 BLAKE2B fbccfa89311c85394d48c9ff25ce68baea15a80bb87efdf9c7d06280f0a532b8bf656f7ad144b9f813293bf6bd43a7d0cead78fff422eef55598ee2a7cd6380e SHA512 93f623900f24454a1913dcf29be508a47ae3c5f7fd360d3546f48b88b93dcc66886de01a5d9b0f53fb955d1eeded1e5329c3ca1fbca4c3f16aabea79e869d9a3
+DIST pgpool-II-4.4.4.tar.gz 4973024 BLAKE2B 2fa41442bc9bf677a17d98388f9977b97fb609cdd6f1494d9f4de2356b04de5a3725478381d67cc04a01f3ff964bd3dfe159d9c41c13980e477a5f0c4c198413 SHA512 fb80df3df2894e7f2cf820a2b32e04ef6447a8137341db65c3a141679ea0fcbae7d5824c1904cb19aae7b05ef9fe641ac294dbc58cdbc6231444f0c4e508e7dc
+DIST pgpool-II-4.4.5.tar.gz 4992570 BLAKE2B 638812144e8ac58e56e0b9dbe6aadfa90140c05ed46da1d795d0e22515dacd3a126afa6082881ca84c031693a205c895ea69d01fc7a14f870344bae9b454c57f SHA512 cd2fb2f715aed70d67522ab1852fa7df059d5379f9d4860be82a3d32d78701c5bce75e3e1304eda6a67670475aa367a2631cce517a4d2e4eb6b07c1e74901dd9
diff --git a/dev-db/pgpool2/files/pgpool-4.2.0-run_paths.patch b/dev-db/pgpool2/files/pgpool-4.2.0-run_paths.patch
deleted file mode 100644
index 2eca0fd59185..000000000000
--- a/dev-db/pgpool2/files/pgpool-4.2.0-run_paths.patch
+++ /dev/null
@@ -1,432 +0,0 @@
-diff -Naruw a/src/include/parser/pg_config_manual.h b/src/include/parser/pg_config_manual.h
---- a/src/include/parser/pg_config_manual.h
-+++ b/src/include/parser/pg_config_manual.h
-@@ -228,7 +228,7 @@
- * support them yet.
- */
- #ifndef WIN32
--#define DEFAULT_PGSOCKET_DIR "/tmp"
-+#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
- #else
- #define DEFAULT_PGSOCKET_DIR ""
- #endif
-diff -Naruw a/src/include/pcp/pcp_stream.h b/src/include/pcp/pcp_stream.h
---- a/src/include/pcp/pcp_stream.h
-+++ b/src/include/pcp/pcp_stream.h
-@@ -49,6 +49,6 @@
- extern int pcp_write(PCP_CONNECTION * pc, void *buf, int len);
- extern int pcp_flush(PCP_CONNECTION * pc);
-
--#define UNIX_DOMAIN_PATH "/tmp"
-+#define UNIX_DOMAIN_PATH "/run/pgpool"
-
- #endif /* PCP_STREAM_H */
-diff -Naruw a/src/include/pool.h b/src/include/pool.h
---- a/src/include/pool.h
-+++ b/src/include/pool.h
-@@ -69,16 +69,16 @@
- #define HBA_CONF_FILE_NAME "pool_hba.conf"
-
- /* pid file directory */
--#define DEFAULT_LOGDIR "/tmp"
-+#define DEFAULT_LOGDIR "/run/pgpool"
-
- /* Unix domain socket directory */
--#define DEFAULT_SOCKET_DIR "/tmp"
-+#define DEFAULT_SOCKET_DIR "/run/postgresql"
-
- /* Unix domain socket directory for watchdog IPC */
--#define DEFAULT_WD_IPC_SOCKET_DIR "/tmp"
-+#define DEFAULT_WD_IPC_SOCKET_DIR "/run/pgpool"
-
- /* pid file name */
--#define DEFAULT_PID_FILE_NAME "/var/run/pgpool/pgpool.pid"
-+#define DEFAULT_PID_FILE_NAME "/run/pgpool/pgpool.pid"
-
- /* status file name */
- #define STATUS_FILE_NAME "pgpool_status"
-diff -Naruw a/src/sample/pgpool.conf.sample b/src/sample/pgpool.conf.sample
---- a/src/sample/pgpool.conf.sample
-+++ b/src/sample/pgpool.conf.sample
-@@ -39,10 +39,8 @@
- port = 9999
- # Port number
- # (change requires restart)
--socket_dir = '/tmp'
-+socket_dir = '/run/postgresql'
- # Unix domain socket path
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- reserved_connections = 0
- # Number of reserved connections.
-@@ -59,10 +57,8 @@
- pcp_port = 9898
- # Port number for pcp
- # (change requires restart)
--pcp_socket_dir = '/tmp'
-+pcp_socket_dir = '/run/pgpool'
- # Unix domain socket path for pcp
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- listen_backlog_multiplier = 2
- # Set the backlog parameter of listen(2) to
-@@ -286,13 +282,13 @@
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
-
--pid_file_name = '/var/run/pgpool/pgpool.pid'
-+pid_file_name = '/run/pgpool/pgpool.pid'
- # PID file name
- # Can be specified as relative to the"
- # location of pgpool.conf file or
- # as an absolute path
- # (change requires restart)
--logdir = '/tmp'
-+logdir = '/run/pgpool'
- # Directory of pgPool status file
- # (change requires restart)
-
-@@ -659,10 +655,8 @@
- # Authentication key for watchdog communication
- # (change requires restart)
-
--wd_ipc_socket_dir = '/tmp'
-+wd_ipc_socket_dir = '/run/pgpool'
- # Unix domain socket path for watchdog IPC socket
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
-
-diff -Naruw a/src/sample/pgpool.conf.sample-logical b/src/sample/pgpool.conf.sample-logical
---- a/src/sample/pgpool.conf.sample-logical
-+++ b/src/sample/pgpool.conf.sample-logical
-@@ -38,10 +38,8 @@
- port = 9999
- # Port number
- # (change requires restart)
--socket_dir = '/tmp'
-+socket_dir = '/run/postgresql'
- # Unix domain socket path
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- reserved_connections = 0
- # Number of reserved connections.
-@@ -58,10 +56,8 @@
- pcp_port = 9898
- # Port number for pcp
- # (change requires restart)
--pcp_socket_dir = '/tmp'
-+pcp_socket_dir = '/run/pgpool'
- # Unix domain socket path for pcp
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- listen_backlog_multiplier = 2
- # Set the backlog parameter of listen(2) to
-@@ -286,13 +282,13 @@
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
-
--pid_file_name = '/var/run/pgpool/pgpool.pid'
-+pid_file_name = '/run/pgpool/pgpool.pid'
- # PID file name
- # Can be specified as relative to the"
- # location of pgpool.conf file or
- # as an absolute path
- # (change requires restart)
--logdir = '/tmp'
-+logdir = '/run/pgpool'
- # Directory of pgPool status file
- # (change requires restart)
-
-@@ -621,10 +617,8 @@
- # Authentication key for watchdog communication
- # (change requires restart)
-
--wd_ipc_socket_dir = '/tmp'
-+wd_ipc_socket_dir = '/run/pgpool'
- # Unix domain socket path for watchdog IPC socket
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
-
-diff -Naruw a/src/sample/pgpool.conf.sample-raw b/src/sample/pgpool.conf.sample-raw
---- a/src/sample/pgpool.conf.sample-raw
-+++ b/src/sample/pgpool.conf.sample-raw
-@@ -39,10 +39,8 @@
- port = 9999
- # Port number
- # (change requires restart)
--socket_dir = '/tmp'
-+socket_dir = '/run/postgresql'
- # Unix domain socket path
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- reserved_connections = 0
- # Number of reserved connections.
-@@ -59,10 +57,8 @@
- pcp_port = 9898
- # Port number for pcp
- # (change requires restart)
--pcp_socket_dir = '/tmp'
-+pcp_socket_dir = '/run/pgpool'
- # Unix domain socket path for pcp
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- listen_backlog_multiplier = 2
- # Set the backlog parameter of listen(2) to
-@@ -287,13 +283,13 @@
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
-
--pid_file_name = '/var/run/pgpool/pgpool.pid'
-+pid_file_name = '/run/pgpool/pgpool.pid'
- # PID file name
- # Can be specified as relative to the"
- # location of pgpool.conf file or
- # as an absolute path
- # (change requires restart)
--logdir = '/tmp'
-+logdir = '/run/pgpool'
- # Directory of pgPool status file
- # (change requires restart)
-
-@@ -660,10 +656,8 @@
- # Authentication key for watchdog communication
- # (change requires restart)
-
--wd_ipc_socket_dir = '/tmp'
-+wd_ipc_socket_dir = '/run/pgpool'
- # Unix domain socket path for watchdog IPC socket
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
- # - Virtual IP control Setting -
-diff -Naruw a/src/sample/pgpool.conf.sample-replication b/src/sample/pgpool.conf.sample-replication
---- a/src/sample/pgpool.conf.sample-replication
-+++ b/src/sample/pgpool.conf.sample-replication
-@@ -39,10 +39,8 @@
- port = 9999
- # Port number
- # (change requires restart)
--socket_dir = '/tmp'
-+socket_dir = '/run/postgresql'
- # Unix domain socket path
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- listen_backlog_multiplier = 2
- # Set the backlog parameter of listen(2) to
-@@ -65,10 +63,8 @@
- pcp_port = 9898
- # Port number for pcp
- # (change requires restart)
--pcp_socket_dir = '/tmp'
-+pcp_socket_dir = '/run/pgpool'
- # Unix domain socket path for pcp
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
- # - Backend Connection Settings -
-@@ -282,13 +278,13 @@
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
-
--pid_file_name = '/var/run/pgpool/pgpool.pid'
-+pid_file_name = '/run/pgpool/pgpool.pid'
- # PID file name
- # Can be specified as relative to the"
- # location of pgpool.conf file or
- # as an absolute path
- # (change requires restart)
--logdir = '/tmp'
-+logdir = '/run/pgpool'
- # Directory of pgPool status file
- # (change requires restart)
-
-@@ -657,10 +653,8 @@
- # Authentication key for watchdog communication
- # (change requires restart)
-
--wd_ipc_socket_dir = '/tmp'
-+wd_ipc_socket_dir = '/run/pgpool'
- # Unix domain socket path for watchdog IPC socket
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
-
-diff -Naruw a/src/sample/pgpool.conf.sample-slony b/src/sample/pgpool.conf.sample-slony
---- a/src/sample/pgpool.conf.sample-slony
-+++ b/src/sample/pgpool.conf.sample-slony
-@@ -39,10 +39,8 @@
- port = 9999
- # Port number
- # (change requires restart)
--socket_dir = '/tmp'
-+socket_dir = '/run/postgresql'
- # Unix domain socket path
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- listen_backlog_multiplier = 2
- # Set the backlog parameter of listen(2) to
-@@ -65,10 +63,8 @@
- pcp_port = 9898
- # Port number for pcp
- # (change requires restart)
--pcp_socket_dir = '/tmp'
-+pcp_socket_dir = '/run/pgpool'
- # Unix domain socket path for pcp
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
- # - Backend Connection Settings -
-@@ -283,13 +279,13 @@
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
-
--pid_file_name = '/var/run/pgpool/pgpool.pid'
-+pid_file_name = '/run/pgpool/pgpool.pid'
- # PID file name
- # Can be specified as relative to the"
- # location of pgpool.conf file or
- # as an absolute path
- # (change requires restart)
--logdir = '/tmp'
-+logdir = '/run/pgpool'
- # Directory of pgPool status file
- # (change requires restart)
-
-@@ -658,10 +654,8 @@
- # Authentication key for watchdog communication
- # (change requires restart)
-
--wd_ipc_socket_dir = '/tmp'
-+wd_ipc_socket_dir = '/run/pgpool'
- # Unix domain socket path for watchdog IPC socket
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
- # - Virtual IP control Setting -
-diff -Naruw a/src/sample/pgpool.conf.sample-snapshot b/src/sample/pgpool.conf.sample-snapshot
---- a/src/sample/pgpool.conf.sample-snapshot
-+++ b/src/sample/pgpool.conf.sample-snapshot
-@@ -39,10 +39,8 @@
- port = 9999
- # Port number
- # (change requires restart)
--socket_dir = '/tmp'
-+socket_dir = '/run/postgresql'
- # Unix domain socket path
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- listen_backlog_multiplier = 2
- # Set the backlog parameter of listen(2) to
-@@ -65,10 +63,8 @@
- pcp_port = 9898
- # Port number for pcp
- # (change requires restart)
--pcp_socket_dir = '/tmp'
-+pcp_socket_dir = '/run/pgpool'
- # Unix domain socket path for pcp
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
- # - Backend Connection Settings -
-@@ -280,13 +276,13 @@
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
-
--pid_file_name = '/var/run/pgpool/pgpool.pid'
-+pid_file_name = '/run/pgpool/pgpool.pid'
- # PID file name
- # Can be specified as relative to the"
- # location of pgpool.conf file or
- # as an absolute path
- # (change requires restart)
--logdir = '/tmp'
-+logdir = '/run/pgpool'
- # Directory of pgPool status file
- # (change requires restart)
-
-@@ -655,10 +651,8 @@
- # Authentication key for watchdog communication
- # (change requires restart)
-
--wd_ipc_socket_dir = '/tmp'
-+wd_ipc_socket_dir = '/run/pgpool'
- # Unix domain socket path for watchdog IPC socket
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
-
-diff -Naruw a/src/sample/pgpool.conf.sample-stream b/src/sample/pgpool.conf.sample-stream
---- a/src/sample/pgpool.conf.sample-stream
-+++ b/src/sample/pgpool.conf.sample-stream
-@@ -39,10 +39,8 @@
- port = 9999
- # Port number
- # (change requires restart)
--socket_dir = '/tmp'
-+socket_dir = '/run/postgresql'
- # Unix domain socket path
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- reserved_connections = 0
- # Number of reserved connections.
-@@ -59,10 +57,8 @@
- pcp_port = 9898
- # Port number for pcp
- # (change requires restart)
--pcp_socket_dir = '/tmp'
-+pcp_socket_dir = '/run/pgpool'
- # Unix domain socket path for pcp
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
- listen_backlog_multiplier = 2
- # Set the backlog parameter of listen(2) to
-@@ -286,13 +282,13 @@
- # FILE LOCATIONS
- #------------------------------------------------------------------------------
-
--pid_file_name = '/var/run/pgpool/pgpool.pid'
-+pid_file_name = '/run/pgpool/pgpool.pid'
- # PID file name
- # Can be specified as relative to the"
- # location of pgpool.conf file or
- # as an absolute path
- # (change requires restart)
--logdir = '/tmp'
-+logdir = '/run/pgpool'
- # Directory of pgPool status file
- # (change requires restart)
-
-@@ -659,10 +655,8 @@
- # Authentication key for watchdog communication
- # (change requires restart)
-
--wd_ipc_socket_dir = '/tmp'
-+wd_ipc_socket_dir = '/run/pgpool'
- # Unix domain socket path for watchdog IPC socket
-- # The Debian package defaults to
-- # /var/run/postgresql
- # (change requires restart)
-
-
diff --git a/dev-db/pgpool2/files/pgpool-4.3.1-run_paths.patch b/dev-db/pgpool2/files/pgpool-4.3.1-run_paths.patch
new file mode 100644
index 000000000000..2b9090fb2dce
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool-4.3.1-run_paths.patch
@@ -0,0 +1,100 @@
+diff -Naruw a/src/include/parser/pg_config_manual.h b/src/include/parser/pg_config_manual.h
+--- a/src/include/parser/pg_config_manual.h
++++ b/src/include/parser/pg_config_manual.h
+@@ -227,7 +227,7 @@
+ * support them yet.
+ */
+ #ifndef WIN32
+-#define DEFAULT_PGSOCKET_DIR "/tmp"
++#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
+ #else
+ #define DEFAULT_PGSOCKET_DIR ""
+ #endif
+diff -Naruw a/src/include/pcp/pcp_stream.h b/src/include/pcp/pcp_stream.h
+--- a/src/include/pcp/pcp_stream.h
++++ b/src/include/pcp/pcp_stream.h
+@@ -49,6 +49,6 @@
+ extern int pcp_write(PCP_CONNECTION * pc, void *buf, int len);
+ extern int pcp_flush(PCP_CONNECTION * pc);
+
+-#define UNIX_DOMAIN_PATH "/tmp"
++#define UNIX_DOMAIN_PATH "/run/pgpool"
+
+ #endif /* PCP_STREAM_H */
+diff -Naruw a/src/include/pool.h b/src/include/pool.h
+--- a/src/include/pool.h
++++ b/src/include/pool.h
+@@ -69,16 +69,16 @@
+ #define HBA_CONF_FILE_NAME "pool_hba.conf"
+
+ /* pid file directory */
+-#define DEFAULT_LOGDIR "/tmp"
++#define DEFAULT_LOGDIR "/run/pgpool"
+
+ /* Unix domain socket directory */
+-#define DEFAULT_SOCKET_DIR "/tmp"
++#define DEFAULT_SOCKET_DIR "/run/postgresql"
+
+ /* Unix domain socket directory for watchdog IPC */
+-#define DEFAULT_WD_IPC_SOCKET_DIR "/tmp"
++#define DEFAULT_WD_IPC_SOCKET_DIR "/run/pgpool"
+
+ /* pid file name */
+-#define DEFAULT_PID_FILE_NAME "/var/run/pgpool/pgpool.pid"
++#define DEFAULT_PID_FILE_NAME "/run/pgpool/pgpool.pid"
+
+ /* status file name */
+ #define STATUS_FILE_NAME "pgpool_status"
+diff -Naruw a/src/sample/pgpool.conf.sample b/src/sample/pgpool.conf.sample
+--- a/src/sample/pgpool.conf.sample
++++ b/src/sample/pgpool.conf.sample
+@@ -39,10 +39,8 @@
+ #port = 9999
+ # Port number
+ # (change requires restart)
+-#socket_dir = '/tmp'
++socket_dir = '/run/postgresql'
+ # Unix domain socket path
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
+ #reserved_connections = 0
+ # Number of reserved connections.
+@@ -59,10 +57,8 @@
+ #pcp_port = 9898
+ # Port number for pcp
+ # (change requires restart)
+-#pcp_socket_dir = '/tmp'
++pcp_socket_dir = '/run/pgpool'
+ # Unix domain socket path for pcp
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
+ #listen_backlog_multiplier = 2
+ # Set the backlog parameter of listen(2) to
+@@ -292,13 +288,13 @@
+ # FILE LOCATIONS
+ #------------------------------------------------------------------------------
+
+-#pid_file_name = '/var/run/pgpool/pgpool.pid'
++pid_file_name = '/run/pgpool/pgpool.pid'
+ # PID file name
+ # Can be specified as relative to the"
+ # location of pgpool.conf file or
+ # as an absolute path
+ # (change requires restart)
+-#logdir = '/tmp'
++logdir = '/run/pgpool'
+ # Directory of pgPool status file
+ # (change requires restart)
+
+@@ -676,8 +672,6 @@
+ # Authentication key for watchdog communication
+ # (change requires restart)
+
+-#wd_ipc_socket_dir = '/tmp'
++wd_ipc_socket_dir = '/run/pgpool'
+ # Unix domain socket path for watchdog IPC socket
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
diff --git a/dev-db/pgpool2/files/pgpool-4.4.4-run_paths.patch b/dev-db/pgpool2/files/pgpool-4.4.4-run_paths.patch
new file mode 100644
index 000000000000..41d80030df4c
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool-4.4.4-run_paths.patch
@@ -0,0 +1,88 @@
+diff -Naruw a/src/include/parser/pg_config_manual.h b/src/include/parser/pg_config_manual.h
+--- a/src/include/parser/pg_config_manual.h
++++ b/src/include/parser/pg_config_manual.h
+@@ -227,7 +227,7 @@
+ * support them yet.
+ */
+ #ifndef WIN32
+-#define DEFAULT_PGSOCKET_DIR "/tmp"
++#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
+ #else
+ #define DEFAULT_PGSOCKET_DIR ""
+ #endif
+diff -Naruw a/src/include/pcp/pcp_stream.h b/src/include/pcp/pcp_stream.h
+--- a/src/include/pcp/pcp_stream.h
++++ b/src/include/pcp/pcp_stream.h
+@@ -49,6 +49,6 @@
+ extern int pcp_write(PCP_CONNECTION * pc, void *buf, int len);
+ extern int pcp_flush(PCP_CONNECTION * pc);
+
+-#define UNIX_DOMAIN_PATH "/tmp"
++#define UNIX_DOMAIN_PATH "/run/pgpool"
+
+ #endif /* PCP_STREAM_H */
+diff -Naruw a/src/include/pool.h b/src/include/pool.h
+--- a/src/include/pool.h
++++ b/src/include/pool.h
+@@ -69,16 +69,16 @@
+ #define HBA_CONF_FILE_NAME "pool_hba.conf"
+
+ /* pid file directory */
+-#define DEFAULT_LOGDIR "/tmp"
++#define DEFAULT_LOGDIR "/run/pgpool"
+
+ /* Unix domain socket directory */
+-#define DEFAULT_SOCKET_DIR "/tmp"
++#define DEFAULT_SOCKET_DIR "/run/postgresql"
+
+ /* Unix domain socket directory for watchdog IPC */
+-#define DEFAULT_WD_IPC_SOCKET_DIR "/tmp"
++#define DEFAULT_WD_IPC_SOCKET_DIR "/run/pgpool"
+
+ /* pid file name */
+-#define DEFAULT_PID_FILE_NAME "/var/run/pgpool/pgpool.pid"
++#define DEFAULT_PID_FILE_NAME "/run/pgpool/pgpool.pid"
+
+ /* status file name */
+ #define STATUS_FILE_NAME "pgpool_status"
+diff -Naruw a/src/sample/pgpool.conf.sample b/src/sample/pgpool.conf.sample
+--- a/src/sample/pgpool.conf.sample
++++ b/src/sample/pgpool.conf.sample
+@@ -59,10 +57,8 @@
+ #pcp_port = 9898
+ # Port number for pcp
+ # (change requires restart)
+-#pcp_socket_dir = '/tmp'
++pcp_socket_dir = '/run/pgpool'
+ # Unix domain socket path for pcp
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
+ #listen_backlog_multiplier = 2
+ # Set the backlog parameter of listen(2) to
+@@ -292,13 +288,13 @@
+ # FILE LOCATIONS
+ #------------------------------------------------------------------------------
+
+-#pid_file_name = '/var/run/pgpool/pgpool.pid'
++pid_file_name = '/run/pgpool/pgpool.pid'
+ # PID file name
+ # Can be specified as relative to the"
+ # location of pgpool.conf file or
+ # as an absolute path
+ # (change requires restart)
+-#logdir = '/tmp'
++logdir = '/run/pgpool'
+ # Directory of pgPool status file
+ # (change requires restart)
+
+@@ -676,8 +672,6 @@
+ # Authentication key for watchdog communication
+ # (change requires restart)
+
+-#wd_ipc_socket_dir = '/tmp'
++wd_ipc_socket_dir = '/run/pgpool'
+ # Unix domain socket path for watchdog IPC socket
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
diff --git a/dev-db/pgpool2/files/pgpool-9999-run_paths.patch b/dev-db/pgpool2/files/pgpool-9999-run_paths.patch
new file mode 100644
index 000000000000..bca3b213edb9
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool-9999-run_paths.patch
@@ -0,0 +1,98 @@
+--- a/src/include/parser/pg_config_manual.h
++++ b/src/include/parser/pg_config_manual.h
+@@ -244,7 +244,7 @@
+ * support them yet.
+ */
+ #ifndef WIN32
+-#define DEFAULT_PGSOCKET_DIR "/tmp"
++#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
+ #else
+ #define DEFAULT_PGSOCKET_DIR ""
+ #endif
+--- a/src/include/pcp/pcp_stream.h
++++ b/src/include/pcp/pcp_stream.h
+@@ -49,6 +49,6 @@
+ extern int pcp_write(PCP_CONNECTION * pc, void *buf, int len);
+ extern int pcp_flush(PCP_CONNECTION * pc);
+
+-#define UNIX_DOMAIN_PATH "/tmp"
++#define UNIX_DOMAIN_PATH "/run/pgpool"
+
+ #endif /* PCP_STREAM_H */
+--- a/src/include/pool.h
++++ b/src/include/pool.h
+@@ -69,16 +69,16 @@
+ #define HBA_CONF_FILE_NAME "pool_hba.conf"
+
+ /* pid file directory */
+-#define DEFAULT_LOGDIR "/tmp"
++#define DEFAULT_LOGDIR "/run/pgpool"
+
+ /* Unix domain socket directory */
+-#define DEFAULT_SOCKET_DIR "/tmp"
++#define DEFAULT_SOCKET_DIR "/run/postgresql"
+
+ /* Unix domain socket directory for watchdog IPC */
+-#define DEFAULT_WD_IPC_SOCKET_DIR "/tmp"
++#define DEFAULT_WD_IPC_SOCKET_DIR "/run/pgpool"
+
+ /* pid file name */
+-#define DEFAULT_PID_FILE_NAME "/var/run/pgpool/pgpool.pid"
++#define DEFAULT_PID_FILE_NAME "/run/pgpool/pgpool.pid"
+
+ /* status file name */
+ #define STATUS_FILE_NAME "pgpool_status"
+--- a/src/sample/pgpool.conf.sample-stream
++++ b/src/sample/pgpool.conf.sample-stream
+@@ -39,10 +39,8 @@
+ #port = 9999
+ # Port number
+ # (change requires restart)
+-#unix_socket_directories = '/tmp'
++unix_socket_directories = '/run/postgresql'
+ # Unix domain socket path(s)
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
+ #unix_socket_group = ''
+ # The Owner group of Unix domain socket(s)
+@@ -65,10 +63,8 @@
+ #pcp_port = 9898
+ # Port number for pcp
+ # (change requires restart)
+-#pcp_socket_dir = '/tmp'
++pcp_socket_dir = '/run/pgpool'
+ # Unix domain socket path for pcp
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
+ #listen_backlog_multiplier = 2
+ # Set the backlog parameter of listen(2) to
+@@ -298,13 +294,13 @@
+ # FILE LOCATIONS
+ #------------------------------------------------------------------------------
+
+-#pid_file_name = '/var/run/pgpool/pgpool.pid'
++pid_file_name = '/run/pgpool/pgpool.pid'
+ # PID file name
+ # Can be specified as relative to the"
+ # location of pgpool.conf file or
+ # as an absolute path
+ # (change requires restart)
+-#logdir = '/tmp'
++logdir = '/run/pgpool'
+ # Directory of pgPool status file
+ # (change requires restart)
+
+@@ -687,10 +683,8 @@
+ # Authentication key for watchdog communication
+ # (change requires restart)
+
+-#wd_ipc_socket_dir = '/tmp'
++wd_ipc_socket_dir = '/run/postgresql'
+ # Unix domain socket path for watchdog IPC socket
+- # The Debian package defaults to
+- # /var/run/postgresql
+ # (change requires restart)
+
+
diff --git a/dev-db/pgpool2/pgpool2-4.2.1-r1.ebuild b/dev-db/pgpool2/pgpool2-4.3.2.ebuild
index 7e2ba70df24b..d46c7c75826a 100644
--- a/dev-db/pgpool2/pgpool2-4.2.1-r1.ebuild
+++ b/dev-db/pgpool2/pgpool2-4.3.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( 9.6 {10..15} )
inherit autotools postgres-multi
@@ -21,13 +21,12 @@ IUSE="doc memcached pam ssl static-libs"
RDEPEND="
${POSTGRES_DEP}
+ acct-user/pgpool
net-libs/libnsl:0=
virtual/libcrypt:=
memcached? ( dev-libs/libmemcached )
pam? ( sys-auth/pambase )
- ssl? (
- dev-libs/openssl:0=
- )
+ ssl? ( dev-libs/openssl:0= )
"
DEPEND="${RDEPEND}
sys-devel/bison
@@ -36,18 +35,12 @@ DEPEND="${RDEPEND}
S=${WORKDIR}/${MY_P}
-pkg_setup() {
- postgres_new_user pgpool
-
- postgres-multi_pkg_setup
-}
-
src_prepare() {
eapply \
"${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
"${FILESDIR}/pgpool-configure-pam.patch" \
"${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
- "${FILESDIR}/pgpool-4.2.0-run_paths.patch"
+ "${FILESDIR}/pgpool-4.3.1-run_paths.patch"
eautoreconf
@@ -57,7 +50,7 @@ src_prepare() {
src_configure() {
postgres-multi_foreach econf \
--disable-rpath \
- --sysconfdir="${EROOT}/etc/${PN}" \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
--with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
--with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
$(use_enable static-libs static) \
diff --git a/dev-db/pgpool2/pgpool2-4.2.2-r1.ebuild b/dev-db/pgpool2/pgpool2-4.3.7.ebuild
index 45d450412b69..d46c7c75826a 100644
--- a/dev-db/pgpool2/pgpool2-4.2.2-r1.ebuild
+++ b/dev-db/pgpool2/pgpool2-4.3.7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( 9.6 {10..15} )
inherit autotools postgres-multi
@@ -15,19 +15,18 @@ SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="doc memcached pam ssl static-libs"
RDEPEND="
${POSTGRES_DEP}
+ acct-user/pgpool
net-libs/libnsl:0=
virtual/libcrypt:=
memcached? ( dev-libs/libmemcached )
pam? ( sys-auth/pambase )
- ssl? (
- dev-libs/openssl:0=
- )
+ ssl? ( dev-libs/openssl:0= )
"
DEPEND="${RDEPEND}
sys-devel/bison
@@ -36,18 +35,12 @@ DEPEND="${RDEPEND}
S=${WORKDIR}/${MY_P}
-pkg_setup() {
- postgres_new_user pgpool
-
- postgres-multi_pkg_setup
-}
-
src_prepare() {
eapply \
"${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
"${FILESDIR}/pgpool-configure-pam.patch" \
"${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
- "${FILESDIR}/pgpool-4.2.0-run_paths.patch"
+ "${FILESDIR}/pgpool-4.3.1-run_paths.patch"
eautoreconf
@@ -57,7 +50,7 @@ src_prepare() {
src_configure() {
postgres-multi_foreach econf \
--disable-rpath \
- --sysconfdir="${EROOT}/etc/${PN}" \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
--with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
--with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
$(use_enable static-libs static) \
diff --git a/dev-db/pgpool2/pgpool2-4.3.8.ebuild b/dev-db/pgpool2/pgpool2-4.3.8.ebuild
new file mode 100644
index 000000000000..b0b928ab667f
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.3.8.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.6 {10..15} )
+
+inherit autotools flag-o-matic postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="https://www.pgpool.net/"
+SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="amd64 x86"
+
+IUSE="doc memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ acct-user/pgpool
+ net-libs/libnsl:0=
+ virtual/libcrypt:=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
+ "${FILESDIR}/pgpool-4.3.1-run_paths.patch"
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855248
+ # https://github.com/pgpool/pgpool2/issues/42
+ #
+ filter-lto
+
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgpool2/pgpool2-4.4.4.ebuild b/dev-db/pgpool2/pgpool2-4.4.4.ebuild
new file mode 100644
index 000000000000..f296ca0fb0a6
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.4.4.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {10..16} )
+
+inherit autotools flag-o-matic postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="https://www.pgpool.net/"
+SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ acct-user/pgpool
+ net-libs/libnsl:0=
+ virtual/libcrypt:=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
+ "${FILESDIR}/pgpool-4.4.4-run_paths.patch"
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855248
+ # https://github.com/pgpool/pgpool2/issues/42
+ #
+ filter-lto
+
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgpool2/pgpool2-4.4.5.ebuild b/dev-db/pgpool2/pgpool2-4.4.5.ebuild
new file mode 100644
index 000000000000..f296ca0fb0a6
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.4.5.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {10..16} )
+
+inherit autotools flag-o-matic postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="https://www.pgpool.net/"
+SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ acct-user/pgpool
+ net-libs/libnsl:0=
+ virtual/libcrypt:=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
+ "${FILESDIR}/pgpool-4.4.4-run_paths.patch"
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855248
+ # https://github.com/pgpool/pgpool2/issues/42
+ #
+ filter-lto
+
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgpool2/pgpool2-9999.ebuild b/dev-db/pgpool2/pgpool2-9999.ebuild
index 364ed807be0f..aec380cbbd43 100644
--- a/dev-db/pgpool2/pgpool2-9999.ebuild
+++ b/dev-db/pgpool2/pgpool2-9999.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGIT_REPO_URI="https://git.postgresql.org/git/pgpool2.git"
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( 9.6 {10..15} )
-inherit autotools git-r3 postgres-multi
+inherit autotools flag-o-matic git-r3 postgres-multi
DESCRIPTION="Connection pool server for PostgreSQL"
HOMEPAGE="https://www.pgpool.net/"
@@ -18,6 +18,8 @@ IUSE="doc memcached pam ssl static-libs"
RDEPEND="
${POSTGRES_DEP}
+ acct-group/postgres
+ acct-user/pgpool
net-libs/libnsl:0=
virtual/libcrypt:=
memcached? ( dev-libs/libmemcached )
@@ -35,8 +37,6 @@ DEPEND="${RDEPEND}
"
pkg_setup() {
- postgres_new_user pgpool
-
postgres-multi_pkg_setup
}
@@ -45,7 +45,7 @@ src_prepare() {
"${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
"${FILESDIR}/pgpool-configure-pam.patch" \
"${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
- "${FILESDIR}/pgpool-4.2.0-run_paths.patch"
+ "${FILESDIR}/pgpool-9999-run_paths.patch"
eautoreconf
@@ -53,9 +53,15 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855248
+ # https://github.com/pgpool/pgpool2/issues/42
+ #
+ filter-lto
+
postgres-multi_foreach econf \
--disable-rpath \
- --sysconfdir="${EROOT}/etc/${PN}" \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
--with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
--with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
$(use_enable static-libs static) \
@@ -70,7 +76,7 @@ src_compile() {
# of that directory built, too.
postgres-multi_foreach emake
postgres-multi_foreach emake -C src/sql
- use doc && postgres-multi_forbest emake DESTDIR="${D}" -C doc
+ use doc && postgres-multi_forbest emake -C doc
}
src_install() {
diff --git a/dev-db/pgrouting/Manifest b/dev-db/pgrouting/Manifest
index c87ff7d72cf0..d87d06d9d225 100644
--- a/dev-db/pgrouting/Manifest
+++ b/dev-db/pgrouting/Manifest
@@ -1,4 +1,3 @@
-DIST pgrouting-3.1.1.tar.gz 6133979 BLAKE2B b7657eeb88773773e6166190cda73d9e657774ff81ce7e9f005333a8dcb9d56587d4a793410356092bb1623ec287549dbc60d814b1d5156ff28301503acee776 SHA512 73285d2d47be844203df136b8a8c13d1672ad8c2dac44a1ff7ce16e4676043692a8f2a60a305542132891da83560c49c5eaeb7712e3e3dd250cd8fd550260d4a
-DIST pgrouting-3.1.2.tar.gz 6063893 BLAKE2B a371fb9c744b14072c65af5ceb1ea73d2cdb69821626be3ac79e08c9dee854272ce8cb3816d1de3eade06d50a7520846dd6bccda06934b9db926f9092719f131 SHA512 3cf3e0a4a726f6f11887d15ad71b789a9067f3bc5a675288f22730215aa12d12b94d75f9bdc8ab3077de8368c45c55c0dc27128d0453c4c30965bfc0cf118dcd
-DIST pgrouting-3.1.3.tar.gz 6057504 BLAKE2B 73bc5d810a2f7bb383ba4fef4ffa52ccb3f21dbc00c68f02665dc459c0e0a2810e0ed10ab73bb3099be5ea6dde86bad884d82039a50c9c4eb423b614845e94b6 SHA512 1051f0a91813ccb3c396c78a059b99839b3352e562372bcc459dfaf289e35ea08bdba8a159032a3df46913548fc717968c187b8c480187497a5b5f7327ca470e
DIST pgrouting-3.2.1.tar.gz 5940439 BLAKE2B 01f4ec19d4cee9165a5aca946935cf4786a42f943602eca99414b536dec11ffe298f960e11aaa8b747c1b9c1839625ac9d3e7f67f1f606e941c9c738b4970479 SHA512 ead51de138950707008a7ea6b1a18cfe4d8b1885bfe92849464c2714e39f8e43ef3dbebd1c68279987a1321705fe33a598efb463078491d52cb90a8d1a0414c7
+DIST pgrouting-3.5.1.tar.gz 3613985 BLAKE2B a0af5d730673b8a9555891998f0c2cf7ff429d48efc5170aa59ae05518deb6be6b898d52f4c9bf6cd24422922a9c27329cead3281db8df7d7c6b679cec7484f2 SHA512 d29871fc55f8bfa1795816c34483dd8b6a02d24f91b111b5848be8cccc4f04916dc76b99c4bb68ccfcb9c0a745e646ec51e0144a3e09c7fb2d16caabb7a62c40
+DIST pgrouting-3.6.1.tar.gz 3871417 BLAKE2B 43295bdb949daf736ba04ca0e89f0374ecbb87859ce49f8436f97bac0491aa69fe118426ddfed939163a975299d085187d51bd233051bf79f97bc4500149fdf4 SHA512 278d6d89ea49e9a38c6ae8c52936e52ae5a3508e9d8693182efdc15649b44be7208affea236046bbb67ff373831a82e2985087f890b0faa4c96be4fa6c3e07cf
diff --git a/dev-db/pgrouting/pgrouting-3.1.1.ebuild b/dev-db/pgrouting/pgrouting-3.1.1.ebuild
deleted file mode 100644
index 9976eb3b0450..000000000000
--- a/dev-db/pgrouting/pgrouting-3.1.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_BUILD_TYPE="Release"
-#CMAKE_MAKEFILE_GENERATOR=emake
-
-POSTGRES_COMPAT=( 9.6 {10..13} )
-POSTGRES_USEDEP="server"
-
-inherit cmake postgres-multi
-
-DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality."
-HOMEPAGE="https://pgrouting.org/"
-LICENSE="GPL-2 MIT Boost-1.0"
-
-SLOT="0"
-KEYWORDS="amd64 x86"
-SRC_URI="https://github.com/pgRouting/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-IUSE=""
-
-RDEPEND="${POSTGRES_DEP}
- >=dev-db/postgis-2.0
- dev-libs/boost
- sci-mathematics/cgal
-"
-DEPEND="${RDEPEND}"
-
-# Needs a running psql instance, doesn't work out of the box
-RESTRICT="test"
-
-src_prepare() {
- cmake_src_prepare
- postgres-multi_src_prepare
-}
-
-my_src_configure() {
- local mycmakeargs=(
- -DPOSTGRESQL_BIN="$($PG_CONFIG --bindir)"
- )
-
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach my_src_configure
-}
-
-src_compile() {
- postgres-multi_foreach cmake_build
-}
-
-src_install() {
- postgres-multi_foreach cmake_src_install
-}
diff --git a/dev-db/pgrouting/pgrouting-3.2.1.ebuild b/dev-db/pgrouting/pgrouting-3.2.1.ebuild
index b7b14cb31517..e4dd40f0bc6f 100644
--- a/dev-db/pgrouting/pgrouting-3.2.1.ebuild
+++ b/dev-db/pgrouting/pgrouting-3.2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,12 +10,12 @@ POSTGRES_USEDEP="server"
inherit cmake postgres-multi
-DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality."
+DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality"
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/pgrouting/pgrouting-3.1.3.ebuild b/dev-db/pgrouting/pgrouting-3.5.1.ebuild
index fbeb110ffd18..dfac3a1976d6 100644
--- a/dev-db/pgrouting/pgrouting-3.1.3.ebuild
+++ b/dev-db/pgrouting/pgrouting-3.5.1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CMAKE_BUILD_TYPE="Release"
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( {11..16} )
POSTGRES_USEDEP="server"
inherit cmake postgres-multi
-DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality."
+DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality"
HOMEPAGE="https://pgrouting.org/"
LICENSE="GPL-2 MIT Boost-1.0"
diff --git a/dev-db/pgrouting/pgrouting-3.1.2.ebuild b/dev-db/pgrouting/pgrouting-3.6.1.ebuild
index 3dbd84c33373..9c53fe72688e 100644
--- a/dev-db/pgrouting/pgrouting-3.1.2.ebuild
+++ b/dev-db/pgrouting/pgrouting-3.6.1.ebuild
@@ -1,21 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CMAKE_BUILD_TYPE="Release"
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( {11..16} )
POSTGRES_USEDEP="server"
inherit cmake postgres-multi
-DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality."
+DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality"
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=""
@@ -24,8 +24,8 @@ RDEPEND="${POSTGRES_DEP}
dev-libs/boost
sci-mathematics/cgal
"
-DEPEND="${RDEPEND}"
+DEPEND="${RDEPEND}"
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
diff --git a/dev-db/pgtap/Manifest b/dev-db/pgtap/Manifest
index 28721785989d..a015f57d011e 100644
--- a/dev-db/pgtap/Manifest
+++ b/dev-db/pgtap/Manifest
@@ -1,2 +1,2 @@
-DIST pgtap-0.99.0.zip 275915 BLAKE2B 33499dacc0019ecbe85ff3dc4fcc243b6102e0b7e7018d70b17cda44b8d22d8260229ab732db9900296232e0801070722bf97a752734ea7d389dc8ae57198b6f SHA512 c1b39bf2c041d759006d692229a67af1520b6a3d23fdac43f0781cac9ce69e7714fc854d1e45f1cb3ee188a20dccfb7904bc4dd1513699189fae70f425c13b5f
-DIST pgtap-1.1.0.zip 306590 BLAKE2B efde91e26fafc8300fa39b80d90eef134ebf3a309fca3248f61e2b8beb76b94d83b035d76c789509297f0bec48f35b5947b49e2da211826cd9d828145783607d SHA512 1cade794d738fc6b78d53a0feceff4e6c0e988fbcfe8cd9e8dbf62e2bea25d2e714baac55575e99f6d74ae0b7e5277770a69c8af7dbb5714913ea7435cf493fc
+DIST pgtap-1.2.0.zip 319374 BLAKE2B 1cea77860a1928ed7cbf4ddb0bb8ff418023bf88e377196ae2b505c065321e3003179227077567e676a8c551230d259ecd1cdb590001fc71bcc821b87fb3d0f6 SHA512 5569bea5e7879787a91fa9b2baae5cbff1db5b9a5a096db2a9a064012d65e02c52bd1520422b5e6f87fb5b6e64845371188ea53c43a277aee68ffc05d5152ed7
+DIST pgtap-1.3.1.zip 654637 BLAKE2B 412dfcb51813552541f935328e28fbf8f0a014536a5eee8bf55ea680cd22a6424529641040627f91afebb407872d8d3d4aa25e576d965ddb11514229c2b72591 SHA512 98129bbbdf2221502e52375c3e55dff324e69cb930865d1589949ad2d96ddeac1a215e10d0612f7cc050d9a725817b01b23a9cc3e9cb42ef23a929e593ecb698
diff --git a/dev-db/pgtap/pgtap-0.99.0.ebuild b/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
index bc84eefe2478..a4658a7fd8c6 100644
--- a/dev-db/pgtap/pgtap-0.99.0.ebuild
+++ b/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..11} )
+POSTGRES_COMPAT=( 9.6 {10..14} )
inherit postgres-multi
@@ -14,7 +14,6 @@ SRC_URI="https://api.pgxn.org/dist/${PN}/${PV}/${P}.zip"
LICENSE="POSTGRESQL"
SLOT="0"
KEYWORDS="amd64"
-IUSE=""
DEPEND="${POSTGRES_DEP}
app-arch/unzip
@@ -22,9 +21,17 @@ DEPEND="${POSTGRES_DEP}
"
RDEPEND="${DEPEND}"
-# Tests requires a running database that match up with the current testing slot.
+# Tests requires a running database that match up with the current
+# testing slot. Won't run from ${ED}, want's to install too early.
RESTRICT="test"
src_configure() {
:
}
+
+src_install() {
+ postgres-multi_src_install
+
+ rm -r "${ED}"/usr/share/doc/postgresql* || die "Failed to remove improper doc locations"
+ dodoc doc/pgtap.mmd
+}
diff --git a/dev-db/pgtap/pgtap-1.1.0.ebuild b/dev-db/pgtap/pgtap-1.3.1.ebuild
index ada507c7b18a..6ecd9a456893 100644
--- a/dev-db/pgtap/pgtap-1.1.0.ebuild
+++ b/dev-db/pgtap/pgtap-1.3.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( {12..16} )
inherit postgres-multi
@@ -13,8 +13,7 @@ SRC_URI="https://api.pgxn.org/dist/${PN}/${PV}/${P}.zip"
LICENSE="POSTGRESQL"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
+KEYWORDS="amd64"
DEPEND="${POSTGRES_DEP}
app-arch/unzip
@@ -29,3 +28,10 @@ RESTRICT="test"
src_configure() {
:
}
+
+src_install() {
+ postgres-multi_src_install
+
+ rm -r "${ED}"/usr/share/doc/postgresql* || die "Failed to remove improper doc locations"
+ dodoc doc/pgtap.mmd
+}
diff --git a/dev-db/pgxnclient/Manifest b/dev-db/pgxnclient/Manifest
index 0df4802f49c7..a59c8c18b269 100644
--- a/dev-db/pgxnclient/Manifest
+++ b/dev-db/pgxnclient/Manifest
@@ -1,2 +1 @@
-DIST pgxnclient-1.3.1.tar.gz 80554 BLAKE2B 0f63d3ee94de623b32d990a9504a469e5606b72df7c4f3c8a261e00c36c7284e2d7efdc1eec15b43fde69be50c1b55f65f3a2259a67894fb9022e9d39280683f SHA512 e698fa9cb56a4f66c4c4281861ee6cfef4667ca9b0643691798929c625fee9eb9534ad9c6c4b94f63a730b9dedcf9f0b6a120d179052c3519d8010bc2791dd3e
-DIST pgxnclient-1.3.tar.gz 51976 BLAKE2B 84ae5573588e6da0b01d5b05e296adc09f28a0b21ff81e5f2f14f3035a98ad5eb834d6793acf0a48a8b19190b989562e75094341f7c01b371028a0dd6a87b0f4 SHA512 fd9326107334d473db3466f776021186a5add389a93266b000c143131a0214b9773dd4cdd4688575cd720c8357afce1473838dea4aa5ff2564dcbc2c359de2dd
+DIST pgxnclient-1.3.2.tar.gz 86146 BLAKE2B 452eb33999362b97c4f65aadcc9d19f1a24534fd7647b0ad66bbe8b87d006cee59ae5de71551be7bcd42402f40bdc551946bb38e960f217617357fb65657f161 SHA512 ce4e2b7512e4fc8f36ee9ebb7280096bdc18c5c372bb483c8cec35b7e5d5c0f19c256d1a916b5f9b2adb96c80736524df9dee90dcd7e76bf4b1af13fbf8d96bc
diff --git a/dev-db/pgxnclient/pgxnclient-1.3-r2.ebuild b/dev-db/pgxnclient/pgxnclient-1.3-r2.ebuild
deleted file mode 100644
index 181386c70847..000000000000
--- a/dev-db/pgxnclient/pgxnclient-1.3-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-RESTRICT="test"
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="PostgreSQL Extension Network Client"
-HOMEPAGE="http://pgxnclient.projects.postgresql.org/ https://pypi.org/project/pgxnclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-LICENSE="BSD"
-SLOT="0"
-
-IUSE=""
-
-distutils_enable_tests pytest
-
-RDEPEND="dev-db/postgresql:*[server]
- dev-python/six[${PYTHON_USEDEP}]
-"
-DEPEND+="${RDEPEND}
-"
-
-src_prepare() {
- sed "s/setup_requires/#/" -i setup.py || die
-
- sed "s/find_packages()/find_packages(exclude=['tests'])/" -i setup.py || die
-
- default
-}
diff --git a/dev-db/pgxnclient/pgxnclient-1.3.1.ebuild b/dev-db/pgxnclient/pgxnclient-1.3.2.ebuild
index 1b651fe192ac..586adb9e7094 100644
--- a/dev-db/pgxnclient/pgxnclient-1.3.1.ebuild
+++ b/dev-db/pgxnclient/pgxnclient-1.3.2.ebuild
@@ -1,16 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
DESCRIPTION="PostgreSQL Extension Network Client"
HOMEPAGE="https://pgxn.github.io/pgxnclient/
https://pypi.org/project/pgxnclient/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
diff --git a/dev-db/phpmyadmin/Manifest b/dev-db/phpmyadmin/Manifest
index 7ae02fb72f91..bae279e30cb3 100644
--- a/dev-db/phpmyadmin/Manifest
+++ b/dev-db/phpmyadmin/Manifest
@@ -1,4 +1 @@
-DIST phpMyAdmin-4.9.6-all-languages.tar.xz 4978288 BLAKE2B 73f7cf5da8ec55fb39d5ea1c007d640f521c9b4490c820ef3f2660000f37af751d7e9a9d08d04405497b9e69642c53f6b28f5f84b5401e437bcf3419c2d2323b SHA512 4aa35ae627edfcf99af83a30e328b8b9ccdfa129ae9d16c2672ace234aa8a416ad8840af5bc9998e44b9e26b07abd195cfba1b4c784b0bc6509f5e8e548e62f1
-DIST phpMyAdmin-5.0.3-all-languages.tar.xz 6786864 BLAKE2B 737df7cc7c2bdeda89f81d2d5d61857f5f9c0f1e69c4679df6f728c0df8d50fde589971e5e4cd371f2f33d766cdd17cca5580ccb7b75cecb0122ce49dcf52a05 SHA512 e03b0fcd1998570c243a41bcb9e1bf46c1da8fdb99b8e54ba4de3e7e22ff0d847468f16137b011f22eb2ee58d92debd66f2f0ec1b403775aef879a3f8978ebf1
-DIST phpMyAdmin-5.1.0-all-languages.tar.xz 7902416 BLAKE2B 0b3e8f359e4b528474da8fe15b64f0dc5f82e3366402495c3ba65115852db8041bacdf274ae9e93d9ed9e4edba6c396031cc6f5684ca5a0f270ac1ca7e4d424d SHA512 b49f0c722ef3ea763d9a0eb1fa269717a81affbaf207b108f1cb085a44eae97d690da83fd18ea54477cfb08a646557285d24cd0568aa148b0207f78d17754192
-DIST phpMyAdmin-5.1.1-all-languages.tar.xz 7751820 BLAKE2B 95d54893b7a7d8743769c0a91ef79c4fd22eb69acf2573f781295f20a39e7e667ff0623c900b68705f6fc9852f3b665adc3689c4c7d596c6cbcb78468d36e7e1 SHA512 22586bf9e37224f4a307564e8da73384cdc55d705063a487c17b3a02ab0a0454371d1349aad96b136395a72dff38409f8eac21ab9a7f3e5835ad85fc7854d59b
+DIST phpMyAdmin-5.2.1-all-languages.tar.xz 7461668 BLAKE2B bdb95b643c2ba39e406b7c8c01c071a5e8596e15570f68033a439076309c26fd444689bb0acea05ce8c47f913f0c3c30b4f593ad916d081de4b369dd6aef4573 SHA512 8b440d90d887fa0391810732cad2b4bf502f0e045324e1f159cb06e34dae4268febaef0a6a8ac0e58d0cb0f945f3497354313585f80555f199c609de378ca873
diff --git a/dev-db/phpmyadmin/metadata.xml b/dev-db/phpmyadmin/metadata.xml
index 8e983045834c..83eef45855b0 100644
--- a/dev-db/phpmyadmin/metadata.xml
+++ b/dev-db/phpmyadmin/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jmbsvicetto@gentoo.org</email>
- <name>Jorge Manuel B. S. Vicetto</name>
- </maintainer>
<maintainer type="project">
<email>web-apps@gentoo.org</email>
<name>Gentoo Webapps</name>
diff --git a/dev-db/phpmyadmin/phpmyadmin-5.0.3.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.0.3.ebuild
deleted file mode 100644
index 8cb21b3ed999..000000000000
--- a/dev-db/phpmyadmin/phpmyadmin-5.0.3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit webapp
-
-MY_PV=${PV/_/-}
-MY_PN="phpMyAdmin"
-MY_P="${MY_PN}-${MY_PV}-all-languages"
-
-DESCRIPTION="Web-based administration for MySQL database in PHP"
-HOMEPAGE="https://www.phpmyadmin.net/"
-SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
-IUSE="setup"
-
-RDEPEND="
- >=dev-lang/php-7.1[ctype,filter,json(+),session,unicode]
- || (
- dev-lang/php[mysqli]
- dev-lang/php[mysql]
- )
- virtual/httpd-php:*
-"
-
-need_httpd_cgi
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- webapp_pkg_setup
-}
-
-src_install() {
- webapp_src_preinst
-
- dodoc README RELEASE-DATE-${MY_PV} ChangeLog
- rm -f LICENSE README* RELEASE-DATE-${MY_PV}
-
- if ! use setup; then
- rm -rf setup || die "Cannot remove setup utility"
- elog "The phpMyAdmin setup utility has been removed."
- elog "It is a regular target of various exploits. If you need it, set USE=setup."
- else
- elog "You should consider disabling the setup USE flag"
- elog "to exclude the setup utility if you don't use it."
- elog "It regularly is the target of various exploits."
- fi
-
- insinto "${MY_HTDOCSDIR#${EPREFIX}}"
- doins -r .
-
- webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
- webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
-
- webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt
- webapp_src_install
-}
diff --git a/dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild
deleted file mode 100644
index 8cb21b3ed999..000000000000
--- a/dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit webapp
-
-MY_PV=${PV/_/-}
-MY_PN="phpMyAdmin"
-MY_P="${MY_PN}-${MY_PV}-all-languages"
-
-DESCRIPTION="Web-based administration for MySQL database in PHP"
-HOMEPAGE="https://www.phpmyadmin.net/"
-SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
-IUSE="setup"
-
-RDEPEND="
- >=dev-lang/php-7.1[ctype,filter,json(+),session,unicode]
- || (
- dev-lang/php[mysqli]
- dev-lang/php[mysql]
- )
- virtual/httpd-php:*
-"
-
-need_httpd_cgi
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- webapp_pkg_setup
-}
-
-src_install() {
- webapp_src_preinst
-
- dodoc README RELEASE-DATE-${MY_PV} ChangeLog
- rm -f LICENSE README* RELEASE-DATE-${MY_PV}
-
- if ! use setup; then
- rm -rf setup || die "Cannot remove setup utility"
- elog "The phpMyAdmin setup utility has been removed."
- elog "It is a regular target of various exploits. If you need it, set USE=setup."
- else
- elog "You should consider disabling the setup USE flag"
- elog "to exclude the setup utility if you don't use it."
- elog "It regularly is the target of various exploits."
- fi
-
- insinto "${MY_HTDOCSDIR#${EPREFIX}}"
- doins -r .
-
- webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
- webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
-
- webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt
- webapp_src_install
-}
diff --git a/dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild
deleted file mode 100644
index 8cb21b3ed999..000000000000
--- a/dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit webapp
-
-MY_PV=${PV/_/-}
-MY_PN="phpMyAdmin"
-MY_P="${MY_PN}-${MY_PV}-all-languages"
-
-DESCRIPTION="Web-based administration for MySQL database in PHP"
-HOMEPAGE="https://www.phpmyadmin.net/"
-SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
-IUSE="setup"
-
-RDEPEND="
- >=dev-lang/php-7.1[ctype,filter,json(+),session,unicode]
- || (
- dev-lang/php[mysqli]
- dev-lang/php[mysql]
- )
- virtual/httpd-php:*
-"
-
-need_httpd_cgi
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- webapp_pkg_setup
-}
-
-src_install() {
- webapp_src_preinst
-
- dodoc README RELEASE-DATE-${MY_PV} ChangeLog
- rm -f LICENSE README* RELEASE-DATE-${MY_PV}
-
- if ! use setup; then
- rm -rf setup || die "Cannot remove setup utility"
- elog "The phpMyAdmin setup utility has been removed."
- elog "It is a regular target of various exploits. If you need it, set USE=setup."
- else
- elog "You should consider disabling the setup USE flag"
- elog "to exclude the setup utility if you don't use it."
- elog "It regularly is the target of various exploits."
- fi
-
- insinto "${MY_HTDOCSDIR#${EPREFIX}}"
- doins -r .
-
- webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
- webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
-
- webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt
- webapp_src_install
-}
diff --git a/dev-db/phpmyadmin/phpmyadmin-4.9.6.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild
index 163c9511f454..1d3e002359ea 100644
--- a/dev-db/phpmyadmin/phpmyadmin-4.9.6.ebuild
+++ b/dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit webapp
@@ -12,13 +12,14 @@ MY_P="${MY_PN}-${MY_PV}-all-languages"
DESCRIPTION="Web-based administration for MySQL database in PHP"
HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
+S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
IUSE="setup"
RDEPEND="
- dev-lang/php[ctype,filter,json(+),session,unicode]
+ dev-lang/php[ctype,filter,json(+),session,ssl,unicode]
|| (
dev-lang/php[mysqli]
dev-lang/php[mysql]
@@ -28,8 +29,6 @@ RDEPEND="
need_httpd_cgi
-S="${WORKDIR}"/${MY_P}
-
pkg_setup() {
webapp_pkg_setup
}
diff --git a/dev-db/phppgadmin/Manifest b/dev-db/phppgadmin/Manifest
index 949156fb576b..69edf6186112 100644
--- a/dev-db/phppgadmin/Manifest
+++ b/dev-db/phppgadmin/Manifest
@@ -1,2 +1,2 @@
-DIST phpPgAdmin-7.12.1.tar.bz2 579723 BLAKE2B 58d4992424fb6c9bf8565843c6d76ceecb68212cc311d15d43303fd6b63fe2a611ce146761b8f6b8f992798060d065a0b0e528aed5df217a3078cef9e56c49da SHA512 d64b4796c5acad990ef81b12ebd377474d04c1a65adc41a91a2d278bb975812389bb6eae23490de3f5ce09502d36adea3cacfdec0e868c6a0e0bcb639b8a94db
-DIST phpPgAdmin-7.13.0.tar.bz2 620530 BLAKE2B 09aa0fe9eeded2caac78847f01774a988e8b086cb362bcce2a3a9139fb28cd43b749c3b13ea1cc9064ef1bee2c4c7bc93eed7e41a72bcaa4479d63e7e748d710 SHA512 1a3d51d0f3b5a3857664c37e5df21070b81dfc0db8844d0af784ff09f644e6a61a9607f4a87f865c5c40bb55445db187b73b9ccceff4a0293c26a6bfeb5953ac
+DIST phppgadmin-7.14.5.tar.gz 1153991 BLAKE2B 52f52e02305814a149cdde7498bdffe281c78198241c436182bdebce7e2597aea8ac1e0ae04900073355dbe4da7f41f0f0b83c5ec28a5b476ce6f3249dfff6b7 SHA512 1983b7d98623def3aa0d83f7ea507026abe1699dba3104fddf743fb581a4f1226be8d784990984ebcc22e92c2bed3cacfbec13ed7387d7b87b2662fc66fe0ac6
+DIST phppgadmin-7.14.7.tar.gz 1154132 BLAKE2B 96321c9f2c67f8a740425b8a049a8b31320d43eedaaa2f8ceaf135d0b5b725ea168aa14715fc2df19fe9eb75d551bdb76c3821d1dbde6550dc865595ecc0ca99 SHA512 b5c6dd52e1458184a0bdb693650157c69f36d72a43df0645fde87ec7e0b3b75216dd4e1dcb3f34f95e8a0acb4bf3ec6bd9a9086a72a3ad526b80431acb476054
diff --git a/dev-db/phppgadmin/metadata.xml b/dev-db/phppgadmin/metadata.xml
index 935ffaf44a18..3e9cef899440 100644
--- a/dev-db/phppgadmin/metadata.xml
+++ b/dev-db/phppgadmin/metadata.xml
@@ -6,6 +6,6 @@
<name>Tupone Alfredo</name>
</maintainer>
<upstream>
- <remote-id type="github">phppgadmin/phppgadmin</remote-id>
+ <remote-id type="github">ReimuHakurei/phppgadmin</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild b/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild
deleted file mode 100644
index e0ec4521ab80..000000000000
--- a/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit webapp
-
-MY_P="phpPgAdmin-${PV}"
-
-DESCRIPTION="Web-based administration for Postgres database in php"
-HOMEPAGE="http://phppgadmin.sourceforge.net/"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/REL_$(ver_rs 1- -)/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="dev-lang/php[postgres,session]"
-
-S="${WORKDIR}/${MY_P}"
-
-src_install() {
- webapp_src_preinst
-
- local doc
- local docs="CREDITS DEVELOPERS FAQ HISTORY INSTALL TODO TRANSLATORS"
- dodoc ${docs}
- mv conf/config.inc.php-dist conf/config.inc.php
-
- cp -r * "${D}"${MY_HTDOCSDIR}
- for doc in ${docs} INSTALL LICENSE; do
- rm -f "${D}"${MY_HTDOCSDIR}/${doc}
- done
-
- webapp_configfile ${MY_HTDOCSDIR}/conf/config.inc.php
- webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
- webapp_src_install
-}
diff --git a/dev-db/phppgadmin/phppgadmin-7.13.0.ebuild b/dev-db/phppgadmin/phppgadmin-7.13.0.ebuild
deleted file mode 100644
index e0ec4521ab80..000000000000
--- a/dev-db/phppgadmin/phppgadmin-7.13.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit webapp
-
-MY_P="phpPgAdmin-${PV}"
-
-DESCRIPTION="Web-based administration for Postgres database in php"
-HOMEPAGE="http://phppgadmin.sourceforge.net/"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/REL_$(ver_rs 1- -)/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="dev-lang/php[postgres,session]"
-
-S="${WORKDIR}/${MY_P}"
-
-src_install() {
- webapp_src_preinst
-
- local doc
- local docs="CREDITS DEVELOPERS FAQ HISTORY INSTALL TODO TRANSLATORS"
- dodoc ${docs}
- mv conf/config.inc.php-dist conf/config.inc.php
-
- cp -r * "${D}"${MY_HTDOCSDIR}
- for doc in ${docs} INSTALL LICENSE; do
- rm -f "${D}"${MY_HTDOCSDIR}/${doc}
- done
-
- webapp_configfile ${MY_HTDOCSDIR}/conf/config.inc.php
- webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
- webapp_src_install
-}
diff --git a/dev-db/phppgadmin/phppgadmin-7.14.5.ebuild b/dev-db/phppgadmin/phppgadmin-7.14.5.ebuild
new file mode 100644
index 000000000000..757b78ffd1a9
--- /dev/null
+++ b/dev-db/phppgadmin/phppgadmin-7.14.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit webapp
+
+MY_P="phpPgAdmin-${PV}-mod"
+
+DESCRIPTION="Web-based administration for Postgres database in php"
+HOMEPAGE="http://phppgadmin.sourceforge.net/"
+SRC_URI="https://github.com/ReimuHakurei/phpPgAdmin/archive/refs/tags/v${PV}-mod.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-lang/php[postgres,session,unicode]"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ webapp_src_preinst
+
+ local doc
+ local docs="BUGS CREDITS DEVELOPERS FAQ HISTORY INSTALL TODO TRANSLATORS"
+ dodoc ${docs}
+ mv conf/config.inc.php-dist conf/config.inc.php || die
+
+ cp -r * "${D}${MY_HTDOCSDIR}"
+ for doc in ${docs} INSTALL LICENSE; do
+ rm -f "${D}${MY_HTDOCSDIR}/${doc}" || die
+ done
+
+ webapp_configfile "${MY_HTDOCSDIR}"/conf/config.inc.php
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_src_install
+}
diff --git a/dev-db/phppgadmin/phppgadmin-7.14.7.ebuild b/dev-db/phppgadmin/phppgadmin-7.14.7.ebuild
new file mode 100644
index 000000000000..eb41f009a28a
--- /dev/null
+++ b/dev-db/phppgadmin/phppgadmin-7.14.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit webapp
+
+MY_P="phpPgAdmin-${PV}-mod"
+
+DESCRIPTION="Web-based administration for Postgres database in php"
+HOMEPAGE="http://phppgadmin.sourceforge.net/"
+SRC_URI="https://github.com/ReimuHakurei/phpPgAdmin/archive/refs/tags/v${PV}-mod.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-lang/php[postgres,session,unicode]"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ webapp_src_preinst
+
+ local doc
+ local docs="BUGS CREDITS DEVELOPERS FAQ HISTORY INSTALL TODO TRANSLATORS"
+ dodoc ${docs}
+ mv conf/config.inc.php-dist conf/config.inc.php || die
+
+ cp -r * "${D}${MY_HTDOCSDIR}"
+ for doc in ${docs} INSTALL LICENSE; do
+ rm -f "${D}${MY_HTDOCSDIR}/${doc}" || die
+ done
+
+ webapp_configfile "${MY_HTDOCSDIR}"/conf/config.inc.php
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_src_install
+}
diff --git a/dev-db/plr/Manifest b/dev-db/plr/Manifest
index 92687bf21aa4..e3e94a94bb3c 100644
--- a/dev-db/plr/Manifest
+++ b/dev-db/plr/Manifest
@@ -1,2 +1,2 @@
-DIST plr-8.3.0.17.tar.gz 74017 BLAKE2B 314b4cfa2c3ca8ed31e80a72233a6dc8cdb9f3811dad6e9f3eb5147c17cdf5a039436598b0fc2b30c6702b02dd3cb2da33543764aee3199c6864aae22be875ce SHA512 d7080c62349d1dcdd17008a7be3643b54678e0f66bf721068df73057394496d025c4fe01e52945c3acf9cc21eb90241512667772ef3fe519a3c9081efe92dd40
-DIST plr-8.4.1.tar.gz 265142 BLAKE2B 859913ba14d3e6876eb5a3d7593346b98ab2e1b6c70d9fd9cc7e1810fe11ecb3c552305485735cf975cc41ce2de6cbd7bcf407c9e373fc4024230be797c9899a SHA512 0db407355271009bad95c21f81e544839322f0fa0a63d2abd8edbf9eab8f61e208a3e4f7083729cc8247411885197ff3569c88264db0a29b34523dc83bbed7ec
+DIST plr-8.4.5.tar.gz 273711 BLAKE2B 666941f1cbc7e74dee532b928102afda4684b344f3c69a6ac4e3449c057e8f4dbb74b765f4222bb06e61940fa1e4ba888cc60bac193ca43989b557da9d02ceaa SHA512 bb04a8956d1cdc7acb20c89ea3b17be6ee385dac52381ab0f8af7446480fa9b8d163ff6697a05b439a75f57841b203e65bea78db8a7c3d55c1118bebbf4ac81a
+DIST plr-8.4.6.tar.gz 277578 BLAKE2B 575426e44e553f52dfe9b4bd1eb8de1b72e9023abe086c6b1570dabcda1b5e99a8eebce9c5b0e97019aec969b369e15a83801d51b8531695026e1a9bdc79d5c0 SHA512 de5f6b094f4eb6f88df6134142c461bc4ebd6a692c3db03cf04e1d0f04b71d63a26bce22defc1f25fa627c7bc4ba63c533dd2df1f571b58cb04d29c7eada2e42
diff --git a/dev-db/plr/metadata.xml b/dev-db/plr/metadata.xml
index a4942cba46ae..7290965385bf 100644
--- a/dev-db/plr/metadata.xml
+++ b/dev-db/plr/metadata.xml
@@ -8,4 +8,7 @@
An extension for postgresql databases to allow direct usage of
<pkg>dev-lang/R</pkg> in SQL queries and database functions
</longdescription>
+ <upstream>
+ <remote-id type="github">postgres-plr/plr</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/plr/plr-8.3.0.17.ebuild b/dev-db/plr/plr-8.4.5.ebuild
index 1b8acb6f6737..a75eb62a0b0f 100644
--- a/dev-db/plr/plr-8.3.0.17.ebuild
+++ b/dev-db/plr/plr-8.4.5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-POSTGRES_COMPAT=( 9.6 10 )
+POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
inherit postgres-multi
@@ -18,18 +18,19 @@ KEYWORDS="~amd64"
RDEPEND="dev-lang/R
${POSTGRES_DEP}"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
REQUIRED_USE="${POSTGRES_REQ_USE}"
-S=${WORKDIR}/contrib/${PN}
+S="${WORKDIR}"/contrib/${PN}
src_unpack() {
unpack ${A}
+
# the build system wants 'contrib' to be part of the path
- mkdir -p "${WORKDIR}/contrib"
- mv "${WORKDIR}/${PN}-REL${PV//./_}" "${S}"
+ mkdir -p "${WORKDIR}/contrib" || die
+ mv "${WORKDIR}/${PN}-REL${PV//./_}" "${S}" || die
}
src_prepare() {
@@ -40,7 +41,7 @@ src_prepare() {
src_compile() {
pg_src_compile() {
cd "${BUILD_DIR}"
- PG_CONFIG="${SYSROOT}${EPREFIX}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
+ PG_CONFIG="${ESYSROOT}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
USE_PGXS=1 \
emake -j1
}
@@ -50,7 +51,7 @@ src_compile() {
src_install() {
pg_src_install() {
cd "${BUILD_DIR}"
- PG_CONFIG="${SYSROOT}${EPREFIX}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
+ PG_CONFIG="${ESYSROOT}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
USE_PGXS=1 \
emake -j1 DESTDIR="${D}" install
}
diff --git a/dev-db/plr/plr-8.4.1.ebuild b/dev-db/plr/plr-8.4.6.ebuild
index 5f1fb15e848a..bb10bae54f14 100644
--- a/dev-db/plr/plr-8.4.1.ebuild
+++ b/dev-db/plr/plr-8.4.6.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( {12..16} )
POSTGRES_USEDEP="server"
inherit postgres-multi
@@ -18,18 +18,19 @@ KEYWORDS="~amd64"
RDEPEND="dev-lang/R
${POSTGRES_DEP}"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
REQUIRED_USE="${POSTGRES_REQ_USE}"
-S=${WORKDIR}/contrib/${PN}
+S="${WORKDIR}"/contrib/${PN}
src_unpack() {
unpack ${A}
+
# the build system wants 'contrib' to be part of the path
- mkdir -p "${WORKDIR}/contrib"
- mv "${WORKDIR}/${PN}-REL${PV//./_}" "${S}"
+ mkdir -p "${WORKDIR}/contrib" || die
+ mv "${WORKDIR}/${PN}-REL${PV//./_}" "${S}" || die
}
src_prepare() {
@@ -40,7 +41,7 @@ src_prepare() {
src_compile() {
pg_src_compile() {
cd "${BUILD_DIR}"
- PG_CONFIG="${SYSROOT}${EPREFIX}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
+ PG_CONFIG="${ESYSROOT}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
USE_PGXS=1 \
emake -j1
}
@@ -50,7 +51,7 @@ src_compile() {
src_install() {
pg_src_install() {
cd "${BUILD_DIR}"
- PG_CONFIG="${SYSROOT}${EPREFIX}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
+ PG_CONFIG="${ESYSROOT}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
USE_PGXS=1 \
emake -j1 DESTDIR="${D}" install
}
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
index d70fe37a8c73..fce28441144b 100644
--- a/dev-db/postgis/Manifest
+++ b/dev-db/postgis/Manifest
@@ -1,8 +1,12 @@
-DIST postgis-3.0.3.tar.gz 16871696 BLAKE2B 891f814271de9193cd17013d6d971a752d2e984cb0f68b05510450adef97fc96827e3d1a1c7e4fa4cf79a5d15eb3f74b32e6e9a8db1947f7bad7c2b23656bc8f SHA512 478f0971e18c2a1bd651c9bf7b995236aad32fda037762505cf8ac9e67a4e40917436248c1e62827a1a6da96c15c4ae8d0b606d548fa080cdff453642b897115
-DIST postgis-3.0.4.tar.gz 16871782 BLAKE2B 188e9b843526299bb112cb5f9437a9471a1b2cbf51cf85f68094172cfe98101f66cd2a72b2667161a0d40c4719ceed14299c04494e8165716b5dfd4aa84cd5c7 SHA512 0b01414433137af2708f5dee3cc054823dd788d311273f9055ab2d7bce5901e18206021381f3705408d6e263f7afc9cfcf6eaa5298b82690efaeac66486f8c0e
-DIST postgis-3.1.0.tar.gz 17262134 BLAKE2B dbc6edde826328b84ca7d6cc9329d648c7874d51528252759499131d7ad5dbc1a7a4ef881054f2fa1fc255810157270dc1c0ae0e2ea24ec702f06b9fd5f6dfed SHA512 c5b063ff7cbe855ab6ce4104d170b27eea04ae632fd6fcb8de38b14699296a8e0c9ce06bfb48ab14cba51b7a1b3f7e0a3996d9377a954dfc39fd68fe3f839e8f
-DIST postgis-3.1.1.tar.gz 17261826 BLAKE2B a14bdce3773f8cc50c72880d9b8158c32b546332884645e91cba539ab9238c3cbcbc9ee60292932c86de67a0134bdab6a2b4e6b1f3c55881afbb36a08d8f138a SHA512 b975d26c1ad01fa6b90b5b3b51fd2b4b33204a380af0f76b98d1bfd6bd95f527d4ac3548f1b822e114be17bb3a133bc88c3d33a17d4effdfa1f90ec0c683e5e5
-DIST postgis-3.1.2.tar.gz 17266501 BLAKE2B acc65e3ab70667c57a71bcb9c7bbfc382f8a6038ceb0e91aac07e36fb6b4cb6365aa968b30af13eda8292410cc1b567d871970e6cb7dfaadb454147224f9b834 SHA512 df9d2fa118987e29acd635912a708e643770ad3df82c098f8129f11ab07a9eafde969302d2d2e59a68fea6fc7312fe768a231dd4cb5de7002c418725da75848a
-DIST postgis-3.1.3.tar.gz 17273487 BLAKE2B 603be66476037fca5e75b00079a26b4beaa50f0af0626f89660f17da398576d929574cb363c4177877d9c8db5459f7eac964b85796cd93b0d0c6ff2462d7ad3f SHA512 525c982de6b5888d1f4a4f6d2cca5dfa945d8899d8038b1d62ce222e0149c4ab26a2a3602bb8c85e89ce22b3d5b20d278fc4f841144f4b0d19e6de4f48d819ad
-DIST postgis-3.1.4.tar.gz 17269391 BLAKE2B 6070fb72c777f8baf9c520ec51cf436837fffb54f21af5b4cf800940240f2fb9fcee162b2d3817cbfd4e60c2cef37eb4cf902d9e9f065e537d8d9b8ec965bef3 SHA512 afd84b45b146bdae310580fc9f8a878dd658f9e74f99c41f5d143f32974d5f5017ab4190855dcaea915a31ac2a78d34bf5561f206965264de3252f2c2ac57683
-DIST postgis-3.2.0beta1.tar.gz 17061095 BLAKE2B 09f9bef789c45145b95c75aa747fa4bbc5ae93de423ca280c8559a484963272b170b0113e1e55ab3395c26094c1f35848d024326b2eb325ed3e176ddf17b1ab8 SHA512 7dbf2086baae792a80944477afe9d77a4094e2003ba432ab964d6c2e16f36b95a17b1cb4d977e16908245374b3f132ed27fce485b96635440b1ca626189f84be
+DIST postgis-3.1.10.tar.gz 17302899 BLAKE2B 735a7ea27b07fe6bc7fb712a33015e230b498e362e83b91777de37c15df4564eb07fe88f3402a135c6a3ef9e300e5fa4569ed0ffa325fb94cd4b82291138857e SHA512 872de412792e5b237e2e60d1b3ffb739186839754286e608485dffa89ab9e58c4237c289b0a8420c9bc448b19f0983a2c32be7f72ccb5b7a7c4096adf9f93d87
+DIST postgis-3.1.8.tar.gz 17285335 BLAKE2B 212a74866de5b8788b91cfa6d8b3a064df2933c76c8930e3c7bba310b36b4e7249de2d7481e852679da59bb9bdb3315752b62ad70176601b7110401f368200bc SHA512 c28befe1f77e7f36d63b39d027024d3f8abe8496c64c4b3c05eb7c32c3a885e824cabdda5bf0f9f320b9fe15bb97f21d5dfb65a193c64b1e27be95badefe3b37
+DIST postgis-3.1.9.tar.gz 17289185 BLAKE2B a331df130aa8becb4a25e84751f9fcdd494816d8287ade8983bc429eff42c1b98037d07358c4b7e3b9e3daee63aa59ea36f0ae49c5d00bdae9b993526544014a SHA512 b0fd0e7311c7a7672f23d4dc1732c884c7d0766f0f1c0a7e53750bd5fc4d39872dca08f5a5dfc58745fe4c80bb42b2420b63a4cbe76cac02f8e36d8cc9771623
+DIST postgis-3.2.4.tar.gz 16885605 BLAKE2B 341bf09bf5adffc6c48b0fdc6930bac25e43184357895bb90adf000f4fdf52e5c198a530722d46d8b3207e7faffe840de53a9494f3119bb56c3a8e11a4d693f0 SHA512 46bb88ebcf7697e42194e55ef1c323a94222e2870a98aa058d62e1d253c8ad15b14da268eece43b0cdb71d8cdbd2ff393ca451c45998245aaf1726bdffcc563f
+DIST postgis-3.2.5.tar.gz 16888933 BLAKE2B 7d3deb984d7f7ee202abe5deff326debe20ff449f1712abafa2b8bbfd0e56bfbea69a6c16cd10694afd4831c1a0b8e1b9fca89c2748faf092b5402e830714a97 SHA512 7d9f3242aacfc0c071454550ed8683daa211cf29e4b60cf4c7e68fb59ef6e037ff6b53c1a8f5577d224b16cb04e430c47839d9b67097dc4c642312d2f5e485f7
+DIST postgis-3.2.6.tar.gz 16886873 BLAKE2B 9bf8375c08d434c0eace1807154c041d0638446385ed67a68c734fa4f5d4e0938bbc1d0761e22db497bc9379e380e6ff8b1e42476b78530f0351f7d242720120 SHA512 30e8a5b9af8a1bb12ed90daa89c71471193142dd7876b7618f237c1dab97a3f5941181cd159a6f33e34b62e6526da4e778f76b658de6fc6861d26e0dd96d10a0
+DIST postgis-3.3.2.tar.gz 17793976 BLAKE2B 40dc7636f04e0d5cfd734b175da1ce49c32e4b8f5750059e79e03a7395fb8b9241c1f479815794b46dee81704d7c392fe7693c9f0180323d1ca21812c37d36b5 SHA512 4dd129057598b032ba322c42888bb8ce14b9423bd450ef7a42fa22162f6b48e34b226f38480aa67fe2da85be2529b0822655855f9846b657bdd32f50256f4305
+DIST postgis-3.3.3.tar.gz 17790503 BLAKE2B d5390e3e0713b2f74db0c6d7f953681b49611937442f89cd316b43315257db0e0734b6cd23b750a88d9fe503c5348c98578e12cfe6fd8a382fc7817d641e89cf SHA512 0025a8a5c6be7e18dfb97a6a04c468a9da2d6e99462d20eec7bddf4048b8f2fa1e8029be9f819950c910a6f89190e8295f10e8dab9b4885d03d3dbcce41380c2
+DIST postgis-3.3.4.tar.gz 18591029 BLAKE2B 5aae3804b8abcaf8436cc57c53e288f68e317b5ab930a0651f2f55fc825f9c3d6cdf43b74cb7a845de385d019737759e6ef127587015f28851734ffeedbc64da SHA512 b35811ffcb7fdddbe5d4714216f714b687f92e6984614f20c6bfd4a498e6422a3035fd0de9a0afd0a04c6999d8b8a68e0f93a5bb75f893fcb6d3c3f64fe65726
+DIST postgis-3.3.5.tar.gz 17785894 BLAKE2B 9c710430adb68d92e8326caef6c5a1117a398f04f31bb58f3b38818f3194866eb4906b843e82e4b8e4790717f778690c27f2c856263431e5051412c79c50fc55 SHA512 f9d400d7e9db0acd12ada051922e6baf566ae9ad182af937873765a64bd4e1b4948951da4a173efe7d1f85b3ead0065c6ea9b05860a78cf9942c523bacd2d351
+DIST postgis-3.4.0.tar.gz 14693348 BLAKE2B a7ae007edb12a796f58b24ec8f72264e154900335a2da8c9358dcf0455a4ff183bb77036f45a77aa3533913ab2a802a4995ce17913ef355c52e5c1d8132c04a6 SHA512 d8c5329e5394bfe1d77a207d35cf8100217d39236cfeb228e268c796e16e24068df2191403830bf190b7ae9fabb21003675a091a8cc6dbfeed9b4b02cbbb9d33
+DIST postgis-3.4.1.tar.gz 14942851 BLAKE2B 98ef490b08438c5ee35409a1c5c63d985d3024325d607a7a150b197aabb8baaaa70ec8c4bd5134136f92a106e6b1c885e3adb99aa325282122bc37d84db0d83f SHA512 66f460077066372276783d8e7acefb0d61ae5fbf7e2d3bbb7008d9289a65adfe78eb8431eee4bbdd3f8e5a9e37653e396d659f46bb285edab00ed57277fae2c7
diff --git a/dev-db/postgis/files/postgis-3.3.2-flatbuffers-abseil-2023.patch b/dev-db/postgis/files/postgis-3.3.2-flatbuffers-abseil-2023.patch
new file mode 100644
index 000000000000..670361b5b29e
--- /dev/null
+++ b/dev-db/postgis/files/postgis-3.3.2-flatbuffers-abseil-2023.patch
@@ -0,0 +1,39 @@
+From 411abb7014b05b809c0644f196425af1028e7ad3 Mon Sep 17 00:00:00 2001
+From: Berke <iamberkeyavas@gmail.com>
+Date: Fri, 7 Apr 2023 22:05:45 +0300
+Subject: [PATCH] additional check for absl::string_view availability
+
+absl::string_view is uses std::string_view when available. It already checks if std::string_view is available in the earlier code.
+It should only use absl::string_view implementation.
+---
+ deps/flatgeobuf/include/flatbuffers/base.h | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/deps/flatgeobuf/include/flatbuffers/base.h b/deps/flatgeobuf/include/flatbuffers/base.h
+index bc64f18ad93..98a02262c2b 100644
+--- a/deps/flatgeobuf/include/flatbuffers/base.h
++++ b/deps/flatgeobuf/include/flatbuffers/base.h
+@@ -233,12 +233,17 @@ namespace flatbuffers {
+ }
+ #define FLATBUFFERS_HAS_STRING_VIEW 1
+ // Check for absl::string_view
+- #elif __has_include("absl/strings/string_view.h")
+- #include "absl/strings/string_view.h"
+- namespace flatbuffers {
+- typedef absl::string_view string_view;
+- }
+- #define FLATBUFFERS_HAS_STRING_VIEW 1
++ #elif __has_include("absl/strings/string_view.h") && \
++ __has_include("absl/base/config.h") && \
++ (__cplusplus >= 201411)
++ #include "absl/base/config.h"
++ #if !defined(ABSL_USES_STD_STRING_VIEW)
++ #include "absl/strings/string_view.h"
++ namespace flatbuffers {
++ typedef absl::string_view string_view;
++ }
++ #define FLATBUFFERS_HAS_STRING_VIEW 1
++ #endif
+ #endif
+ #endif // __has_include
+ #endif // !FLATBUFFERS_HAS_STRING_VIEW
diff --git a/dev-db/postgis/files/postgis-3.4.0-without-gui.patch b/dev-db/postgis/files/postgis-3.4.0-without-gui.patch
new file mode 100644
index 000000000000..80a6d59be323
--- /dev/null
+++ b/dev-db/postgis/files/postgis-3.4.0-without-gui.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 0fd6d5d6b..4ea8330ef 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1161,7 +1161,7 @@ dnl ===========================================================================
+
+ AC_ARG_WITH([gui],
+ [AS_HELP_STRING([--with-gui], [compile the data import GUI (requires GTK+2.0)])],
+- [GUI="yes"], [GUI="no"])
++ [GUI="$withval"], [GUI="no"])
+
+ if test "x$GUI" = "xyes"; then
+ AC_MSG_RESULT([GUI: Build requested, checking for dependencies (GTK+2.0)])
diff --git a/dev-db/postgis/metadata.xml b/dev-db/postgis/metadata.xml
index 522613858a1e..8f42ee9fd433 100644
--- a/dev-db/postgis/metadata.xml
+++ b/dev-db/postgis/metadata.xml
@@ -20,4 +20,8 @@
Build topology spatial types and functions
</flag>
</use>
+ <upstream>
+ <remote-id type="github">postgis/postgis</remote-id>
+ <remote-id type="gitlab">postgis/postgis</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/postgis/postgis-3.0.3-r2.ebuild b/dev-db/postgis/postgis-3.0.3-r2.ebuild
deleted file mode 100644
index 9fc6b071313d..000000000000
--- a/dev-db/postgis/postgis-3.0.3-r2.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 9.6 {10..13} )
-POSTGRES_USEDEP="server"
-inherit autotools postgres-multi
-
-MY_P="${PN}-$(ver_rs 3 '')"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
-else
- PGIS="$(ver_cut 1-2)"
- SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
- KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Geographic Objects for PostgreSQL"
-HOMEPAGE="https://postgis.net"
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="address-standardizer doc gtk static-libs test topology"
-
-REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
-
-# Needs a running psql instance, doesn't work out of the box
-RESTRICT="test"
-
-RDEPEND="${POSTGRES_DEP}
- dev-libs/json-c:=
- dev-libs/libxml2:2
- dev-libs/protobuf-c:=
- >=sci-libs/geos-3.6.0
- >=sci-libs/proj-4.9.0:=
- >=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
- gtk? ( x11-libs/gtk+:2 )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? (
- app-text/docbook-xsl-stylesheets
- app-text/docbook-xml-dtd:4.5
- dev-libs/libxslt
- virtual/imagemagick-tools[png]
- )
- test? ( dev-util/cunit )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.2.0-arflags.patch"
- "${FILESDIR}/${P}-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-detect-only-stdc.patch"
- "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
-)
-
-src_prepare() {
- default
-
- if [[ ${PV} = *9999* ]] ; then
- source "${S}"/Version.config
- PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
- fi
-
- # These modules are built using the same *FLAGS that were used to build
- # dev-db/postgresql. The right thing to do is to ignore the current
- # *FLAGS settings.
- QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
-
- # bug #775968
- touch build-aux/ar-lib || die
- # bug #775968
- config_rpath_update build-aux/config.rpath
-
- local AT_M4DIR="macros"
- eautoreconf
-
- postgres-multi_src_prepare
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with address-standardizer)
- $(use_with gtk gui)
- $(use_with topology)
- )
- postgres-multi_foreach econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- postgres-multi_foreach emake
- postgres-multi_foreach emake -C topology
-
- if use doc ; then
- postgres-multi_foreach emake comments
- postgres-multi_foreach emake cheatsheets
- postgres-multi_forbest emake -C doc html
- fi
-}
-
-src_install() {
- postgres-multi_foreach emake DESTDIR="${D}" install
- postgres-multi_foreach emake -C topology DESTDIR="${D}" install
- postgres-multi_forbest dobin ./utils/postgis_restore.pl
-
- dodoc CREDITS TODO loader/README.* doc/*txt
-
- docinto topology
- dodoc topology/{TODO,README}
-
- if use doc ; then
- postgres-multi_foreach emake DESTDIR="${D}" comments-install
-
- docinto html
- postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
-
- docinto html/images
- postgres-multi_forbest dodoc doc/html/images/*
- fi
-
- use static-libs || find "${ED}" -name '*.a' -delete
-}
-
-pkg_postinst() {
- ebegin "Refreshing PostgreSQL symlinks"
- postgresql-config update
- eend $?
-
- local base_uri="https://postgis.net/docs/manual-"
- if [[ ${PV} = *9999* ]] ; then
- base_uri+="dev"
- else
- base_uri+="${PGIS}"
- fi
-
- elog "To finish installing PostGIS, follow the directions detailed at:"
- elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
-}
diff --git a/dev-db/postgis/postgis-3.0.4.ebuild b/dev-db/postgis/postgis-3.0.4.ebuild
deleted file mode 100644
index ec0647eb354f..000000000000
--- a/dev-db/postgis/postgis-3.0.4.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 9.6 {10..13} )
-POSTGRES_USEDEP="server"
-inherit autotools postgres-multi
-
-MY_P="${PN}-$(ver_rs 3 '')"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
-else
- PGIS="$(ver_cut 1-2)"
- SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Geographic Objects for PostgreSQL"
-HOMEPAGE="https://postgis.net"
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="address-standardizer doc gtk static-libs test topology"
-
-REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
-
-# Needs a running psql instance, doesn't work out of the box
-RESTRICT="test"
-
-RDEPEND="${POSTGRES_DEP}
- dev-libs/json-c:=
- dev-libs/libxml2:2
- dev-libs/protobuf-c:=
- >=sci-libs/geos-3.6.0
- >=sci-libs/proj-4.9.0:=
- >=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
- gtk? ( x11-libs/gtk+:2 )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? (
- app-text/docbook-xsl-stylesheets
- app-text/docbook-xml-dtd:4.5
- dev-libs/libxslt
- virtual/imagemagick-tools[png]
- )
- test? ( dev-util/cunit )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.2.0-arflags.patch"
- "${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-detect-only-stdc.patch"
- "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
-)
-
-src_prepare() {
- default
-
- if [[ ${PV} = *9999* ]] ; then
- source "${S}"/Version.config
- PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
- fi
-
- # These modules are built using the same *FLAGS that were used to build
- # dev-db/postgresql. The right thing to do is to ignore the current
- # *FLAGS settings.
- QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
-
- # bug #775968
- touch build-aux/ar-lib || die
- # bug #775968
- config_rpath_update build-aux/config.rpath
-
- local AT_M4DIR="macros"
- eautoreconf
-
- postgres-multi_src_prepare
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with address-standardizer)
- $(use_with gtk gui)
- $(use_with topology)
- )
- postgres-multi_foreach econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- postgres-multi_foreach emake
- postgres-multi_foreach emake -C topology
-
- if use doc ; then
- postgres-multi_foreach emake comments
- postgres-multi_foreach emake cheatsheets
- postgres-multi_forbest emake -C doc html
- fi
-}
-
-src_install() {
- postgres-multi_foreach emake DESTDIR="${D}" install
- postgres-multi_foreach emake -C topology DESTDIR="${D}" install
- postgres-multi_forbest dobin ./utils/postgis_restore.pl
-
- dodoc CREDITS TODO loader/README.* doc/*txt
-
- docinto topology
- dodoc topology/{TODO,README}
-
- if use doc ; then
- postgres-multi_foreach emake DESTDIR="${D}" comments-install
-
- docinto html
- postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
-
- docinto html/images
- postgres-multi_forbest dodoc doc/html/images/*
- fi
-
- use static-libs || find "${ED}" -name '*.a' -delete
-}
-
-pkg_postinst() {
- ebegin "Refreshing PostgreSQL symlinks"
- postgresql-config update
- eend $?
-
- local base_uri="https://postgis.net/docs/manual-"
- if [[ ${PV} = *9999* ]] ; then
- base_uri+="dev"
- else
- base_uri+="${PGIS}"
- fi
-
- elog "To finish installing PostGIS, follow the directions detailed at:"
- elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
-}
diff --git a/dev-db/postgis/postgis-3.1.4.ebuild b/dev-db/postgis/postgis-3.1.10.ebuild
index 098fa4c328c8..d1478aa5d62d 100644
--- a/dev-db/postgis/postgis-3.1.4.ebuild
+++ b/dev-db/postgis/postgis-3.1.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -39,7 +39,7 @@ RDEPEND="${POSTGRES_DEP}
>=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
+ address-standardizer? ( dev-libs/libpcre2 )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
diff --git a/dev-db/postgis/postgis-3.1.0.ebuild b/dev-db/postgis/postgis-3.1.8-r1.ebuild
index 41f7b8feb92f..ad3b284701bd 100644
--- a/dev-db/postgis/postgis-3.1.0.ebuild
+++ b/dev-db/postgis/postgis-3.1.8-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
inherit autotools postgres-multi toolchain-funcs
@@ -39,7 +39,7 @@ RDEPEND="${POSTGRES_DEP}
>=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
+ address-standardizer? ( dev-libs/libpcre2 )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
diff --git a/dev-db/postgis/postgis-3.1.2.ebuild b/dev-db/postgis/postgis-3.1.9.ebuild
index a81f3e9072c3..d1478aa5d62d 100644
--- a/dev-db/postgis/postgis-3.1.2.ebuild
+++ b/dev-db/postgis/postgis-3.1.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
inherit autotools postgres-multi toolchain-funcs
@@ -39,7 +39,7 @@ RDEPEND="${POSTGRES_DEP}
>=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
+ address-standardizer? ( dev-libs/libpcre2 )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
diff --git a/dev-db/postgis/postgis-3.2.0_beta1.ebuild b/dev-db/postgis/postgis-3.2.4-r1.ebuild
index 7c34c0fb50f6..82013b188b93 100644
--- a/dev-db/postgis/postgis-3.2.0_beta1.ebuild
+++ b/dev-db/postgis/postgis-3.2.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,7 +15,7 @@ if [[ ${PV} = *9999* ]] ; then
else
PGIS="$(ver_cut 1-2)"
SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
- KEYWORDS=""
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Geographic Objects for PostgreSQL"
@@ -39,7 +39,7 @@ RDEPEND="${POSTGRES_DEP}
>=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
+ address-standardizer? ( dev-libs/libpcre2 )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
diff --git a/dev-db/postgis/postgis-3.1.1.ebuild b/dev-db/postgis/postgis-3.2.5.ebuild
index a81f3e9072c3..82013b188b93 100644
--- a/dev-db/postgis/postgis-3.1.1.ebuild
+++ b/dev-db/postgis/postgis-3.2.5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
inherit autotools postgres-multi toolchain-funcs
@@ -39,7 +39,7 @@ RDEPEND="${POSTGRES_DEP}
>=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
+ address-standardizer? ( dev-libs/libpcre2 )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
@@ -55,7 +55,6 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/${PN}-2.2.0-arflags.patch"
"${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-detect-only-stdc.patch"
"${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
)
diff --git a/dev-db/postgis/postgis-3.1.3.ebuild b/dev-db/postgis/postgis-3.2.6.ebuild
index a81f3e9072c3..95418bb5ca1e 100644
--- a/dev-db/postgis/postgis-3.1.3.ebuild
+++ b/dev-db/postgis/postgis-3.2.6.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
inherit autotools postgres-multi toolchain-funcs
@@ -39,7 +39,7 @@ RDEPEND="${POSTGRES_DEP}
>=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
+ address-standardizer? ( dev-libs/libpcre2 )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
@@ -55,8 +55,8 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/${PN}-2.2.0-arflags.patch"
"${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-detect-only-stdc.patch"
"${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ "${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch"
)
src_prepare() {
diff --git a/dev-db/postgis/postgis-3.3.2-r1.ebuild b/dev-db/postgis/postgis-3.3.2-r1.ebuild
new file mode 100644
index 000000000000..5e948c1a6828
--- /dev/null
+++ b/dev-db/postgis/postgis-3.3.2-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {11..15} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-4.9.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ "${FILESDIR}/${P}-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.3.3.ebuild b/dev-db/postgis/postgis-3.3.3.ebuild
new file mode 100644
index 000000000000..be3b56049e23
--- /dev/null
+++ b/dev-db/postgis/postgis-3.3.3.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {11..15} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-4.9.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ "${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.3.4.ebuild b/dev-db/postgis/postgis-3.3.4.ebuild
new file mode 100644
index 000000000000..be3b56049e23
--- /dev/null
+++ b/dev-db/postgis/postgis-3.3.4.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {11..15} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-4.9.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ "${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.3.5.ebuild b/dev-db/postgis/postgis-3.3.5.ebuild
new file mode 100644
index 000000000000..6f4f58e24ace
--- /dev/null
+++ b/dev-db/postgis/postgis-3.3.5.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {11..16} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-4.9.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ "${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.4.0-r1.ebuild b/dev-db/postgis/postgis-3.4.0-r1.ebuild
new file mode 100644
index 000000000000..380ebb720957
--- /dev/null
+++ b/dev-db/postgis/postgis-3.4.0-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {12..16} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-6.1.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ #"${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis-en.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc -r doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.4.0-r2.ebuild b/dev-db/postgis/postgis-3.4.0-r2.ebuild
new file mode 100644
index 000000000000..515b220b2b43
--- /dev/null
+++ b/dev-db/postgis/postgis-3.4.0-r2.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {12..16} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-6.1.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ "${FILESDIR}/${PN}-3.4.0-without-gui.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ #"${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_forbest emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+ postgres-multi_forbest emake DESTDIR="${D}" -C doc cheatsheet-install html-install html-assets-install
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.4.1.ebuild b/dev-db/postgis/postgis-3.4.1.ebuild
new file mode 100644
index 000000000000..515b220b2b43
--- /dev/null
+++ b/dev-db/postgis/postgis-3.4.1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {12..16} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-6.1.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ "${FILESDIR}/${PN}-3.4.0-without-gui.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ #"${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_forbest emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+ postgres-multi_forbest emake DESTDIR="${D}" -C doc cheatsheet-install html-install html-assets-install
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-9999.ebuild b/dev-db/postgis/postgis-9999.ebuild
index 8325204434e1..82013b188b93 100644
--- a/dev-db/postgis/postgis-9999.ebuild
+++ b/dev-db/postgis/postgis-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..12} )
+POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
-inherit autotools eapi7-ver postgres-multi
+inherit autotools postgres-multi toolchain-funcs
MY_P="${PN}-$(ver_rs 3 '')"
@@ -25,9 +25,9 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
-IUSE="address-standardizer doc gtk static-libs test topology"
+IUSE="address-standardizer doc gtk static-libs topology"
-REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+REQUIRED_USE="${POSTGRES_REQ_USE}"
# Needs a running psql instance, doesn't work out of the box
RESTRICT="test"
@@ -36,10 +36,10 @@ RDEPEND="${POSTGRES_DEP}
dev-libs/json-c:=
dev-libs/libxml2:2
dev-libs/protobuf-c:=
- >=sci-libs/geos-3.6.0
+ >=sci-libs/geos-3.9.0
>=sci-libs/proj-4.9.0:=
>=sci-libs/gdal-1.10.0:=
- address-standardizer? ( dev-libs/libpcre )
+ address-standardizer? ( dev-libs/libpcre2 )
gtk? ( x11-libs/gtk+:2 )
"
DEPEND="${RDEPEND}
@@ -50,10 +50,13 @@ DEPEND="${RDEPEND}
dev-libs/libxslt
virtual/imagemagick-tools[png]
)
- test? ( dev-util/cunit )
"
-PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.0-arflags.patch"
+ "${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+)
src_prepare() {
default
@@ -78,8 +81,9 @@ src_prepare() {
}
src_configure() {
+ export CPP=$(tc-getCPP)
+
local myeconfargs=(
- --with-protobuf # funky misdetection if enabled but --without-protobuf
$(use_with address-standardizer)
$(use_with gtk gui)
$(use_with topology)
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index 3a50c09382ef..f4d4bca5dbf6 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -1,6 +1,10 @@
-DIST postgresql-10.19.tar.bz2 19261478 BLAKE2B 3ccd44d68980ddb0e394b811af20c213cf89eb8d4374d2c49c9cda5165f222ca849a2db4fe4d521991f15f9cc84ec35bafa91083b9625f2a6729159f490a94c9 SHA512 41b0f5026be7d563e41b54e9ea7199dd466a132d355be0b71a91d41f533d97fbf550eccf2a2ece3d60c5dab5921ebeea3ac4780c18c54b924df52d7423305a22
-DIST postgresql-11.14.tar.bz2 20172910 BLAKE2B a033752fc5fc593c96fe63a258b2cc0d4b896548a366e3fefa8afde1f96ab64aab97eb395b10ae10494709963ed924623279f76f66870c4faee435969400c1b7 SHA512 ab71461ee6fb4cdc5b4240f7ecd8af2497ce6780283fde2abf5951ffdb616bd0c8ed22b26fdfca402a346e663ff77c4d17f3284c9d700e6fd6795b2aec97c9be
-DIST postgresql-12.9.tar.bz2 20904260 BLAKE2B fc88d61d369569a3054b889848eaf1405a4f5137cd8c2cf27282115f70853dd4d5d8b4bf0a9fc60c63db936246a0a64077c9bfdb90685d4dfe375558e4519b2b SHA512 11697d8283f5df5a9c74c2406e94d1b6da6df8358ad48f3b773825aab98e8395f9fd4e3fc8b1e6ebad3743c3dadbda8b795d4fe84a447d7913223e136cf2b88f
-DIST postgresql-13.5.tar.bz2 21186674 BLAKE2B 3e51d6d67bba09fb134cd71c48349674e0cacfaefee299620482c93f0b09edbfead578deb63083686ab691563b088fc0ea60a6281a0bcf9145689fb3ce1ec0f0 SHA512 c76effbca8ee63be48fa3aeb39c7038221848fe83ca2afc4e0904ba8c6a50b89aa2ad37080d4e3be75e9bdc2d6ca6dfefcda334ef55a5e1a8954bb955ce905e5
-DIST postgresql-14.1.tar.bz2 21887101 BLAKE2B a496dfd513c52339d1b3cb72773f9611721fd7c5d2a702d6fd71f650a1d41c3d7bf6574eba23671c7f9f11718e007f51f9547949bdc3d7fe1ea2248ebfb8d70b SHA512 4a0bec157d5464bb9e5f5c0eb0efdede55526e03f6f4d660b87d161a47705eb152fa0878960b1581bce42a5ed28a1f457825ea54e8d22e34b5b8eb36473ceefd
-DIST postgresql-9.6.24.tar.bz2 19047518 BLAKE2B 63b53cfb2c9381fe09ed76ef3cad1ec5014bcd3b4dea388cda5b4ad8b8084abc15a38dcd62e0c3fe0bcc922749e7a4bef4ec39287c4b1ea952b8245bbc72bc2e SHA512 c17ef8e7149bd136f6058e20b28f9a7307625614e37ff837feb7a6fa37b6932dfab6379285120c9bb0198961eb446c9979d5ee1f3e8583b09f981f52bee33505
+DIST postgresql-12.17.tar.bz2 21181616 BLAKE2B dda4b06d8d36d3257e1eea251ccbdf38f1ce63ca811045b7b8d156d2b54614304b83b30ad3b1ead4e7ad74fa9f42acc8934f648902e17a4f7c89a117dc8e3c03 SHA512 8bf67475db4ec5baf058ca976ea3e416df39cd9d15131be3fa3c161edbfa93f74251d33b29d23b3084c95bbb73fb6606f4615e528129674047a75a86e7417373
+DIST postgresql-12.18.tar.bz2 21208935 BLAKE2B cadb1d168185d0f73752af2a58f34bde79db51716ffbc4e974efa759ac5ebd3b340a17acc965a1fd30899321c5aef597b93f947277a35c1159bc9ff7ac4b4254 SHA512 723105a2b280ed9116615fa5fe29034a8588e474ed622de2c439f95e5b621b8865224e02553b71cba8d0288b1ee9fea077b20bd77fe2c858cd988b417efa56c0
+DIST postgresql-13.13.tar.bz2 21563452 BLAKE2B ee4b2d022c1b3003dc9c4da96e5900878a2fc70b3033470d0fb972131e063a047895e86d5d1e36297885f2821f0ef3af966cabe32941efba4bd11bdd0557e44f SHA512 d7b1076cdc406ac83440c75d18e6dc6db9af709615344978ba0135b45a127082b1d3c6ad6d8cd6259d67ddf38cfcee37dd78dcfbf8e4a710b724c67cf36170a7
+DIST postgresql-13.14.tar.bz2 21584146 BLAKE2B 67b1c85cac910f445a393060646e901e03eccf9c00d3b4d41b12acc9d94254697c46060f09a4c6ed57ec33b202c18916b03f8b322c3be0f195e0315e7a874933 SHA512 25d545de69d6ac16b044e09939678af97b6574c71d47d98f95f0ef9ad11ff65e864e503ddff119d73fbb3c61e648e31219982d60da7fc2382ba10e0bfc370aa5
+DIST postgresql-14.10.tar.bz2 22298652 BLAKE2B 0c87c02b0b279d29e4a05711312bf89a655359a687c24d1cbb76cd4f6ed7666d31113a18a9976773c36853f00c1ca332af396372524467bb19c2a3bfcddea995 SHA512 f546e62eb158efdeecf091271ee60945604ca7f3683f0b259ee18eb682431158e282bf4f81d8df304c956919788f8077e72aa47c467d32d6aef1ccfe470862a5
+DIST postgresql-14.11.tar.bz2 22354758 BLAKE2B f2ee6246c0e2c236e693e29ae2a581e818be51162a9a93f38aa1520b886557f9628111ad1e25221baa3b0bcb1d2861e2527082cb15dc6ef1493351b4cc13196a SHA512 67289cd638ed7b13e845263d5a34394347f33735d9e2fafd6aa3562989a3a9455ea547d1b5079138648f33b093e77841654188fc74a49c0d6d458a42cfb57ffe
+DIST postgresql-15.5.tar.bz2 23091780 BLAKE2B e3731b973242d4de8b4b78e00842df52e006f08510efc0ff02bf7b8b479e17aa9e1c8116644d9a82f23d4334f527f1a82a1c2eec7f7c199a2fdf500b46740264 SHA512 9ed9d160b3cef99954ccd47a970c107b7e3b0196a7d848f740bf3c52a1c626f6f457814c97f37b9f0467bb07734e19806a15bd9cf3c39445e1d89e75b37064cc
+DIST postgresql-15.6.tar.bz2 23093967 BLAKE2B 8245fd0e0f2b90d504e57021bb0069d0850f5ff409dab2a583581a5b77a39e81a08c6d4c87db15f14f5e1943c1c21451160205ea27e56808a3a4a0f166090c2a SHA512 d9f158d844ec21bc5a7eccad9193dfe026d3df46a011980412ad7d150b3894c01754be0053bed530976047d7eff657204ac321138ba8da6eac8fb7b93b9520ad
+DIST postgresql-16.1.tar.bz2 24605482 BLAKE2B f59859af644134cf0fc9289c0e0d93fe0f877794a1cc8881280d0439605a6e312866a0114d453af8e269e26173fa3742073fe5485901b7cb0af925a5c3506aad SHA512 69f4635e5841452599f13b47df41ce2425ab34b4e4582fd2c635bc78d561fa36c5b03eccb4ae6569872dc74775be1b5a62dee20c9a4f12a43339250128352918
+DIST postgresql-16.2.tar.bz2 24711703 BLAKE2B b863d7b7a1721df237c33a45aed788be9397a432a445f2267619496f1c0210196ff0904c44dbf07ea11f814921c643a6b9182b8a4c992f13578c4fe00868d491 SHA512 3194941cc3f1ec86b6cf4f08c6422d268d99890441f8fc9ab87b6a7fd16c990fa230b544308644cbef54e6960c4984e3703752e40930bdc0537b7bfda3ab7ccf
diff --git a/dev-db/postgresql/files/postgresql-10.0-icu68-2.patch b/dev-db/postgresql/files/postgresql-10.0-icu68-2.patch
deleted file mode 100644
index 871516f9bf3d..000000000000
--- a/dev-db/postgresql/files/postgresql-10.0-icu68-2.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-tardiff /usr/portage/distfiles/postgresql-10.15.tar.bz2 -upN
---- postgresql-10.15/src/include/utils/pg_locale.h
-+++ postgresql-10.15/src/include/utils/pg_locale.h 2021-02-09 12:03:19.403549986 -0800
-@@ -17,6 +17,7 @@
- #endif
- #ifdef USE_ICU
- #include <unicode/ucol.h>
-+#undef bool
- #endif
-
- #include "utils/guc.h"
diff --git a/dev-db/postgresql/files/postgresql-10.0-icu68.patch b/dev-db/postgresql/files/postgresql-10.0-icu68.patch
deleted file mode 100644
index 789e47f746ae..000000000000
--- a/dev-db/postgresql/files/postgresql-10.0-icu68.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rupN a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c
---- a/src/backend/commands/collationcmds.c 2020-11-07 08:03:24.122756440 +0300
-+++ b/src/backend/commands/collationcmds.c 2020-11-07 08:04:18.168901199 +0300
-@@ -464,7 +464,7 @@ get_icu_language_tag(const char *localen
- UErrorCode status;
-
- status = U_ZERO_ERROR;
-- uloc_toLanguageTag(localename, buf, sizeof(buf), TRUE, &status);
-+ uloc_toLanguageTag(localename, buf, sizeof(buf), true, &status);
- if (U_FAILURE(status))
- ereport(ERROR,
- (errmsg("could not convert locale name \"%s\" to language tag: %s",
diff --git a/dev-db/postgresql/files/postgresql-11_beta1-no-server.patch b/dev-db/postgresql/files/postgresql-13.8-no-server.patch
index 26e7832c121c..295df7087c14 100644
--- a/dev-db/postgresql/files/postgresql-11_beta1-no-server.patch
+++ b/dev-db/postgresql/files/postgresql-13.8-no-server.patch
@@ -59,7 +59,7 @@
SUBDIRS += uuid-ossp
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
-@@ -53,7 +53,7 @@
+@@ -56,7 +56,7 @@
##########################################################################
@@ -68,7 +68,7 @@
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
-@@ -192,24 +192,7 @@
+@@ -195,23 +195,7 @@
##########################################################################
@@ -89,20 +89,20 @@
- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample'
+install:
ifeq ($(with_llvm), yes)
install-bin: install-postgres-bitcode
--- a/src/bin/Makefile
+++ b/src/bin/Makefile
-@@ -14,20 +14,8 @@
+@@ -14,21 +14,8 @@
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
- initdb \
- pg_archivecleanup \
- pg_basebackup \
+- pg_checksums \
pg_config \
- pg_controldata \
- pg_ctl \
@@ -112,7 +112,7 @@
- pg_test_fsync \
- pg_test_timing \
- pg_upgrade \
-- pg_verify_checksums \
+- pg_verifybackup \
- pg_waldump \
pgbench \
psql \
diff --git a/dev-db/postgresql/files/postgresql-13_beta1-no-server.patch b/dev-db/postgresql/files/postgresql-13_beta1-no-server.patch
deleted file mode 100644
index ceb0e3a61d25..000000000000
--- a/dev-db/postgresql/files/postgresql-13_beta1-no-server.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-diff -Naruw postgresql-13beta1.orig/contrib/Makefile postgresql-13beta1/contrib/Makefile
---- postgresql-13beta1.orig/contrib/Makefile 2020-05-18 16:09:19.000000000 -0400
-+++ postgresql-13beta1/contrib/Makefile 2020-05-22 19:56:42.560113731 -0400
-@@ -5,56 +5,9 @@
- include $(top_builddir)/src/Makefile.global
-
- SUBDIRS = \
-- adminpack \
-- amcheck \
-- auth_delay \
-- auto_explain \
-- bloom \
-- btree_gin \
-- btree_gist \
-- citext \
-- cube \
-- dblink \
-- dict_int \
-- dict_xsyn \
-- earthdistance \
-- file_fdw \
-- fuzzystrmatch \
-- hstore \
-- intagg \
-- intarray \
-- isn \
-- lo \
-- ltree \
- oid2name \
-- pageinspect \
-- passwordcheck \
-- pg_buffercache \
-- pg_freespacemap \
-- pg_prewarm \
-- pg_standby \
-- pg_stat_statements \
-- pg_trgm \
-- pgcrypto \
-- pgrowlocks \
-- pgstattuple \
-- pg_visibility \
-- postgres_fdw \
-- seg \
-- spi \
-- tablefunc \
-- tcn \
-- test_decoding \
-- tsm_system_rows \
-- tsm_system_time \
-- unaccent \
- vacuumlo
-
--ifeq ($(with_openssl),yes)
--SUBDIRS += sslinfo
--else
--ALWAYS_SUBDIRS += sslinfo
--endif
-
- ifneq ($(with_uuid),no)
- SUBDIRS += uuid-ossp
-diff -Naruw postgresql-13beta1.orig/src/backend/Makefile postgresql-13beta1/src/backend/Makefile
---- postgresql-13beta1.orig/src/backend/Makefile 2020-05-18 16:09:19.000000000 -0400
-+++ postgresql-13beta1/src/backend/Makefile 2020-05-22 19:58:14.403299909 -0400
-@@ -56,7 +56,7 @@
-
- ##########################################################################
-
--all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
-+all: generated-headers
-
- ifneq ($(PORTNAME), cygwin)
- ifneq ($(PORTNAME), win32)
-@@ -195,23 +195,7 @@
-
- ##########################################################################
-
--install: all installdirs install-bin
--ifeq ($(PORTNAME), cygwin)
--ifeq ($(MAKE_DLL), true)
-- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
--endif
--endif
--ifeq ($(PORTNAME), win32)
--ifeq ($(MAKE_DLL), true)
-- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
--endif
--endif
-- $(MAKE) -C catalog install-data
-- $(MAKE) -C tsearch install-data
-- $(MAKE) -C utils install-data
-- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
-+install:
-
- ifeq ($(with_llvm), yes)
- install-bin: install-postgres-bitcode
-diff -Naruw postgresql-13beta1.orig/src/bin/Makefile postgresql-13beta1/src/bin/Makefile
---- postgresql-13beta1.orig/src/bin/Makefile 2020-05-18 16:09:19.000000000 -0400
-+++ postgresql-13beta1/src/bin/Makefile 2020-05-22 19:59:11.399875256 -0400
-@@ -14,22 +14,8 @@
- include $(top_builddir)/src/Makefile.global
-
- SUBDIRS = \
-- initdb \
-- pg_archivecleanup \
-- pg_basebackup \
-- pg_checksums \
- pg_config \
-- pg_controldata \
-- pg_ctl \
- pg_dump \
-- pg_resetwal \
-- pg_rewind \
-- pg_test_fsync \
-- pg_test_timing \
-- pg_upgrade \
-- pg_verifybackup \
-- pg_waldump \
-- pgbench \
- psql \
- scripts
-
-diff -Naruw postgresql-13beta1.orig/src/Makefile postgresql-13beta1/src/Makefile
---- postgresql-13beta1.orig/src/Makefile 2020-05-18 16:09:19.000000000 -0400
-+++ postgresql-13beta1/src/Makefile 2020-05-22 19:59:59.656464613 -0400
-@@ -15,21 +15,12 @@
- SUBDIRS = \
- common \
- port \
-- timezone \
- backend \
-- backend/utils/mb/conversion_procs \
-- backend/snowball \
- include \
- interfaces \
-- backend/replication/libpqwalreceiver \
-- backend/replication/pgoutput \
- fe_utils \
- bin \
-- pl \
-- makefiles \
-- test/regress \
-- test/isolation \
-- test/perl
-+ makefiles
-
- ifeq ($(with_llvm), yes)
- SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/files/postgresql-10.2-no-server.patch b/dev-db/postgresql/files/postgresql-14.5-no-server.patch
index c0694451d99d..87bd89b68f19 100644
--- a/dev-db/postgresql/files/postgresql-10.2-no-server.patch
+++ b/dev-db/postgresql/files/postgresql-14.5-no-server.patch
@@ -11,7 +11,6 @@
- bloom \
- btree_gin \
- btree_gist \
-- chkpass \
- citext \
- cube \
- dblink \
@@ -27,13 +26,14 @@
- lo \
- ltree \
oid2name \
+- old_snapshot \
- pageinspect \
- passwordcheck \
- pg_buffercache \
- pg_freespacemap \
- pg_prewarm \
-- pg_standby \
- pg_stat_statements \
+- pg_surgery \
- pg_trgm \
- pgcrypto \
- pgrowlocks \
@@ -50,7 +50,7 @@
- unaccent \
vacuumlo
--ifeq ($(with_openssl),yes)
+-ifeq ($(with_ssl),openssl)
-SUBDIRS += sslinfo
-else
-ALWAYS_SUBDIRS += sslinfo
@@ -60,16 +60,16 @@
SUBDIRS += uuid-ossp
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
-@@ -51,7 +51,7 @@
+@@ -56,7 +56,7 @@
##########################################################################
--all: submake-libpgport submake-schemapg postgres $(POSTGRES_IMP)
+-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
+all: generated-headers
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
-@@ -226,23 +226,7 @@
+@@ -194,23 +194,7 @@
##########################################################################
@@ -86,23 +86,25 @@
-endif
- $(MAKE) -C catalog install-data
- $(MAKE) -C tsearch install-data
+- $(MAKE) -C utils install-data
- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample'
+install:
- install-bin: postgres $(POSTGRES_IMP) installdirs
- $(INSTALL_PROGRAM) postgres$(X) '$(DESTDIR)$(bindir)/postgres$(X)'
+ ifeq ($(with_llvm), yes)
+ install-bin: install-postgres-bitcode
--- a/src/bin/Makefile
+++ b/src/bin/Makefile
-@@ -14,19 +14,8 @@
+@@ -14,22 +14,8 @@
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
- initdb \
+- pg_amcheck \
- pg_archivecleanup \
- pg_basebackup \
+- pg_checksums \
pg_config \
- pg_controldata \
- pg_ctl \
@@ -112,6 +114,7 @@
- pg_test_fsync \
- pg_test_timing \
- pg_upgrade \
+- pg_verifybackup \
- pg_waldump \
pgbench \
psql \
@@ -139,5 +142,5 @@
- test/perl
+ makefiles
- # There are too many interdependencies between the subdirectories, so
- # don't attempt parallel make here.
+ ifeq ($(with_llvm), yes)
+ SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/files/postgresql-14_rc1-no-server.patch b/dev-db/postgresql/files/postgresql-14_rc1-no-server.patch
deleted file mode 100644
index 4f2d388386a2..000000000000
--- a/dev-db/postgresql/files/postgresql-14_rc1-no-server.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-diff -Naruw a/contrib/Makefile b/contrib/Makefile
---- a/contrib/Makefile 2021-09-20 17:33:01.000000000 -0400
-+++ b/contrib/Makefile 2021-09-23 16:28:52.919265033 -0400
-@@ -5,57 +5,9 @@
- include $(top_builddir)/src/Makefile.global
-
- SUBDIRS = \
-- adminpack \
-- amcheck \
-- auth_delay \
-- auto_explain \
-- bloom \
-- btree_gin \
-- btree_gist \
-- citext \
-- cube \
-- dblink \
-- dict_int \
-- dict_xsyn \
-- earthdistance \
-- file_fdw \
-- fuzzystrmatch \
-- hstore \
-- intagg \
-- intarray \
-- isn \
-- lo \
-- ltree \
- oid2name \
-- old_snapshot \
-- pageinspect \
-- passwordcheck \
-- pg_buffercache \
-- pg_freespacemap \
-- pg_prewarm \
-- pg_stat_statements \
-- pg_surgery \
-- pg_trgm \
-- pgcrypto \
-- pgrowlocks \
-- pgstattuple \
-- pg_visibility \
-- postgres_fdw \
-- seg \
-- spi \
-- tablefunc \
-- tcn \
-- test_decoding \
-- tsm_system_rows \
-- tsm_system_time \
-- unaccent \
- vacuumlo
-
--ifeq ($(with_ssl),openssl)
--SUBDIRS += sslinfo
--else
--ALWAYS_SUBDIRS += sslinfo
--endif
-
- ifneq ($(with_uuid),no)
- SUBDIRS += uuid-ossp
-diff -Naruw a/src/backend/Makefile b/src/backend/Makefile
---- a/src/backend/Makefile 2021-09-20 17:33:01.000000000 -0400
-+++ b/src/backend/Makefile 2021-09-23 16:30:03.015728022 -0400
-@@ -56,7 +56,7 @@
-
- ##########################################################################
-
--all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
-+all: generated-headers
-
- ifneq ($(PORTNAME), cygwin)
- ifneq ($(PORTNAME), win32)
-@@ -194,23 +194,7 @@
-
- ##########################################################################
-
--install: all installdirs install-bin
--ifeq ($(PORTNAME), cygwin)
--ifeq ($(MAKE_DLL), true)
-- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
--endif
--endif
--ifeq ($(PORTNAME), win32)
--ifeq ($(MAKE_DLL), true)
-- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
--endif
--endif
-- $(MAKE) -C catalog install-data
-- $(MAKE) -C tsearch install-data
-- $(MAKE) -C utils install-data
-- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
-+install:
-
- ifeq ($(with_llvm), yes)
- install-bin: install-postgres-bitcode
-diff -Naruw a/src/bin/Makefile b/src/bin/Makefile
---- a/src/bin/Makefile 2021-09-20 17:33:01.000000000 -0400
-+++ b/src/bin/Makefile 2021-09-23 16:30:50.718922745 -0400
-@@ -14,23 +14,8 @@
- include $(top_builddir)/src/Makefile.global
-
- SUBDIRS = \
-- initdb \
-- pg_amcheck \
-- pg_archivecleanup \
-- pg_basebackup \
-- pg_checksums \
- pg_config \
-- pg_controldata \
-- pg_ctl \
- pg_dump \
-- pg_resetwal \
-- pg_rewind \
-- pg_test_fsync \
-- pg_test_timing \
-- pg_upgrade \
-- pg_verifybackup \
-- pg_waldump \
-- pgbench \
- psql \
- scripts
-
-diff -Naruw a/src/Makefile b/src/Makefile
---- a/src/Makefile 2021-09-20 17:33:01.000000000 -0400
-+++ b/src/Makefile 2021-09-23 16:31:41.842107531 -0400
-@@ -15,21 +15,12 @@
- SUBDIRS = \
- common \
- port \
-- timezone \
- backend \
-- backend/utils/mb/conversion_procs \
-- backend/snowball \
- include \
- interfaces \
-- backend/replication/libpqwalreceiver \
-- backend/replication/pgoutput \
- fe_utils \
- bin \
-- pl \
-- makefiles \
-- test/regress \
-- test/isolation \
-- test/perl
-+ makefiles
-
- ifeq ($(with_llvm), yes)
- SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/files/postgresql-9.6.3-no-server.patch b/dev-db/postgresql/files/postgresql-15_beta3-no-server.patch
index aa7cf773a39a..9ada0a71d5a0 100644
--- a/dev-db/postgresql/files/postgresql-9.6.3-no-server.patch
+++ b/dev-db/postgresql/files/postgresql-15_beta3-no-server.patch
@@ -1,16 +1,18 @@
--- a/contrib/Makefile
+++ b/contrib/Makefile
-@@ -5,57 +5,9 @@
+@@ -5,59 +5,9 @@
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
- adminpack \
+- amcheck \
- auth_delay \
- auto_explain \
+- basic_archive \
+- basebackup_to_shell \
- bloom \
- btree_gin \
- btree_gist \
-- chkpass \
- citext \
- cube \
- dblink \
@@ -26,18 +28,19 @@
- lo \
- ltree \
oid2name \
+- old_snapshot \
- pageinspect \
- passwordcheck \
- pg_buffercache \
- pg_freespacemap \
- pg_prewarm \
-- pg_standby \
- pg_stat_statements \
+- pg_surgery \
- pg_trgm \
-- pgcrypto \
- pgrowlocks \
- pgstattuple \
- pg_visibility \
+- pg_walinspect \
- postgres_fdw \
- seg \
- spi \
@@ -46,30 +49,29 @@
- test_decoding \
- tsm_system_rows \
- tsm_system_time \
-- tsearch2 \
- unaccent \
vacuumlo
--ifeq ($(with_openssl),yes)
--SUBDIRS += sslinfo
+-ifeq ($(with_ssl),openssl)
+-SUBDIRS += pgcrypto sslinfo
-else
--ALWAYS_SUBDIRS += sslinfo
+-ALWAYS_SUBDIRS += pgcrypto sslinfo
-endif
ifneq ($(with_uuid),no)
SUBDIRS += uuid-ossp
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
-@@ -51,7 +51,7 @@
+@@ -56,7 +56,7 @@
##########################################################################
--all: submake-libpgport submake-schemapg postgres $(POSTGRES_IMP)
+-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
+all: generated-headers
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
-@@ -218,23 +218,7 @@
+@@ -194,23 +194,7 @@
##########################################################################
@@ -86,56 +88,59 @@
-endif
- $(MAKE) -C catalog install-data
- $(MAKE) -C tsearch install-data
+- $(MAKE) -C utils install-data
- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample'
+install:
- install-bin: postgres $(POSTGRES_IMP) installdirs
- $(INSTALL_PROGRAM) postgres$(X) '$(DESTDIR)$(bindir)/postgres$(X)'
+ ifeq ($(with_llvm), yes)
+ install-bin: install-postgres-bitcode
--- a/src/bin/Makefile
+++ b/src/bin/Makefile
-@@ -14,19 +14,8 @@
+@@ -14,22 +14,8 @@
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
- initdb \
+- pg_amcheck \
- pg_archivecleanup \
- pg_basebackup \
+- pg_checksums \
pg_config \
- pg_controldata \
- pg_ctl \
pg_dump \
-- pg_resetxlog \
+- pg_resetwal \
- pg_rewind \
- pg_test_fsync \
- pg_test_timing \
- pg_upgrade \
-- pg_xlogdump \
+- pg_verifybackup \
+- pg_waldump \
pgbench \
psql \
scripts
--- a/src/Makefile
+++ b/src/Makefile
-@@ -15,19 +15,12 @@
- SUBDIRS = \
- common \
+@@ -17,19 +17,11 @@
port \
-- timezone \
+ timezone \
backend \
- backend/utils/mb/conversion_procs \
- backend/snowball \
include \
interfaces \
- backend/replication/libpqwalreceiver \
+- backend/replication/pgoutput \
fe_utils \
bin \
- pl \
- makefiles \
- test/regress \
+- test/isolation \
- test/perl
+ makefiles
- # There are too many interdependencies between the subdirectories, so
- # don't attempt parallel make here.
+ ifeq ($(with_llvm), yes)
+ SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/metadata.xml b/dev-db/postgresql/metadata.xml
index 1f8edafdc948..5eedeb1b035d 100644
--- a/dev-db/postgresql/metadata.xml
+++ b/dev-db/postgresql/metadata.xml
@@ -9,10 +9,6 @@
<flag name="llvm">
Add support for llvm JIT engine
</flag>
- <flag name="pg-legacytimestamp">
- Use double precision floating-point numbers instead of
- 64-bit integers for timestamp storage.
- </flag>
<flag name="server">
Disable to build and install the clients and libraries
only.
@@ -22,4 +18,7 @@
<pkg>dev-libs/ossp-uuid</pkg>).
</flag>
</use>
+ <upstream>
+ <remote-id type="github">postgres/postgres</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/postgresql/postgresql-10.19.ebuild b/dev-db/postgresql/postgresql-10.19.ebuild
deleted file mode 100644
index 95b3267c64db..000000000000
--- a/dev-db/postgresql/postgresql-10.19.ebuild
+++ /dev/null
@@ -1,458 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap nls pam perl
- python +readline selinux +server systemd ssl static-libs tcl
- threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-acct-group/postgres
-acct-user/postgres
-sys-apps/less
-virtual/libcrypt:=
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
- local front back
- while [[ ${#} -gt 1 ]]; do
- front+="${1}? ( "
- back+=" )"
- shift
- done
- echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
- ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Work around PPC{,64} compilation bug where bool is already defined
- sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
-
- # Set proper run directory
- sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
- -i src/include/pg_config_manual.h || die
-
- # Rely on $PATH being in the proper order so that the correct
- # install program is used for modules utilizing PGXS in both
- # hardened and non-hardened environments. (Bug #528786)
- sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
- use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
-
- if use pam ; then
- sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
- -i src/backend/libpq/auth.c || \
- die 'PGSQL_PAM_SERVICE rename failed.'
- fi
-
- # https://bugs.gentoo.org/753257
- # https://bugs.gentoo.org/766225
- eapply "${FILESDIR}"/postgresql-10.0-icu68.patch
-
- eapply_user
-}
-
-src_configure() {
- case ${CHOST} in
- *-darwin*|*-solaris*)
- use nls && append-libs intl
- ;;
- esac
-
- export LDFLAGS_SL="${LDFLAGS}"
- export LDFLAGS_EX="${LDFLAGS}"
-
- local PO="${EPREFIX}"
-
- local i uuid_config=""
- if use uuid; then
- for i in ${UTIL_LINUX_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=e2fs"
- done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
- [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
- fi
-
- econf \
- --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
- --datadir="${PO}/usr/share/postgresql-${SLOT}" \
- --includedir="${PO}/usr/include/postgresql-${SLOT}" \
- --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
- --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
- --with-system-tzdata="${PO}/usr/share/zoneinfo" \
- $(use_enable !alpha spinlocks) \
- $(use_enable debug) \
- $(use_enable threads thread-safety) \
- $(use_with icu) \
- $(use_with kerberos gssapi) \
- $(use_with ldap) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(usex server "$(use_with systemd)" '--without-systemd') \
- $(use_with tcl) \
- ${uuid_config} \
- $(use_with xml libxml) \
- $(use_with xml libxslt) \
- $(use_with zlib) \
- $(use_enable nls)
-}
-
-src_compile() {
- emake
- emake -C contrib
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- emake DESTDIR="${D}" install -C contrib
-
- dodoc README HISTORY doc/{TODO,bug.template}
-
- # man pages are already built, but if we have the target make them,
- # they'll be generated from source before being installed so we
- # manually install man pages.
- # We use ${SLOT} instead of doman for postgresql.eselect
- insinto /usr/share/postgresql-${SLOT}/man/
- doins -r doc/src/sgml/man{1,3,7}
- if ! use server; then
- # Remove man pages for non-existent binaries
- serverman=(
- initdb
- pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
- pg_{test_{fsync,timing},upgrade,waldump}
- post{gres,master}
- )
- for m in ${serverman[@]} ; do
- rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
- done
- fi
- docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
- # Create slot specific man pages
- local bn f mansec slotted_name
- for mansec in 1 3 7 ; do
- local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
- mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
- pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
- for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
- bn=$(basename "${f}")
- slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
- case ${bn} in
- TABLE.7|WITH.7)
- echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
- ;;
- *)
- echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
- ;;
- esac
- done
-
- popd > /dev/null
- done
-
- insinto /etc/postgresql-${SLOT}
- newins src/bin/psql/psqlrc.sample psqlrc
-
- # Don't delete libpg{port,common}.a (Bug #571046). They're always
- # needed by extensions utilizing PGXS.
- use static-libs || \
- find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
- -delete
-
- # Make slot specific links to programs
- local f bn
- for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
- -mindepth 1 -maxdepth 1)
- do
- bn=$(basename "${f}")
- dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
- "/usr/bin/${bn}${SLOT/.}"
- done
-
- if use doc ; then
- docinto html
- dodoc doc/src/sgml/html/*
- fi
-
- if use server; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
- if use systemd; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.service-9.6-r1" | \
- systemd_newunit - ${PN}-${SLOT}.service
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
- newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_postinst() {
- use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
- postgresql-config update
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT}/etc/postgresql-${SLOT}/"
-
- if use server ; then
- elog
- elog "Gentoo specific documentation:"
- elog "https://wiki.gentoo.org/wiki/PostgreSQL"
- elog
- elog "Official documentation:"
- elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
- elog
- elog "The default location of the Unix-domain socket is:"
- elog " ${EROOT}/run/postgresql/"
- elog
- elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
- elog "so that it contains your preferred locale in:"
- elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
- elog
- elog "Then, execute the following command to setup the initial database"
- elog "environment:"
- elog " emerge --config =${CATEGORY}/${PF}"
-
- if [[ -n ${REPLACING_VERSIONS} ]] ; then
- ewarn "If your system is using 'pg_stat_statements' and you are running a"
- ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
- ewarn "the following command after upgrading:"
- ewarn
- ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
- fi
- fi
-}
-
-pkg_prerm() {
- if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
- ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
- ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
- ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
- sleep 10
- eend 0
- fi
-}
-
-pkg_postrm() {
- postgresql-config update
-}
-
-pkg_config() {
- use server || die "USE flag 'server' not enabled. Nothing to configure."
-
- [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
- && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
- [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
- [[ -z "${DATA_DIR}" ]] \
- && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
- # environment.bz2 may not contain the same locale as the current system
- # locale. Unset and source from the current system locale.
- if [ -f "${EROOT}/etc/env.d/02locale" ]; then
- unset LANG
- unset LC_CTYPE
- unset LC_NUMERIC
- unset LC_TIME
- unset LC_COLLATE
- unset LC_MONETARY
- unset LC_MESSAGES
- unset LC_ALL
- source "${EROOT}/etc/env.d/02locale"
- [ -n "${LANG}" ] && export LANG
- [ -n "${LC_CTYPE}" ] && export LC_CTYPE
- [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
- [ -n "${LC_TIME}" ] && export LC_TIME
- [ -n "${LC_COLLATE}" ] && export LC_COLLATE
- [ -n "${LC_MONETARY}" ] && export LC_MONETARY
- [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
- [ -n "${LC_ALL}" ] && export LC_ALL
- fi
-
- einfo "You can modify the paths and options passed to initdb by editing:"
- einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
- einfo
- einfo "Information on options that can be passed to initdb are found at:"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
- einfo
- einfo "PG_INITDB_OPTS is currently set to:"
- if [[ -z "${PG_INITDB_OPTS}" ]] ; then
- einfo " (none)"
- else
- einfo " ${PG_INITDB_OPTS}"
- fi
- einfo
- einfo "Configuration files will be installed to:"
- einfo " ${PGDATA}"
- einfo
- einfo "The database cluster will be created in:"
- einfo " ${DATA_DIR}"
- einfo
-
- ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
- sleep 5
- eend 0
-
- if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
- eerror "The given directory, '${DATA_DIR}', is not empty."
- eerror "Modify DATA_DIR to point to an empty directory."
- die "${DATA_DIR} is not empty."
- fi
-
- einfo "Creating the data directory ..."
- if [[ ${EUID} == 0 ]] ; then
- mkdir -p "${DATA_DIR}"
- chown -Rf postgres:postgres "${DATA_DIR}"
- chmod 0700 "${DATA_DIR}"
- fi
-
- einfo "Initializing the database ..."
-
- if [[ ${EUID} == 0 ]] ; then
- su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
- else
- "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
- fi
-
- if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
- mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
- ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
- fi
-
- # unix_socket_directory has no effect in postgresql.conf as it's
- # overridden in the initscript
- sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
- cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
- # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
- # On the off-chance that you might need to work with UTF-8 encoded
- # characters in PL/Perl
- plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
- EOF
-
- einfo "The autovacuum function, which was in contrib, has been moved to the main"
- einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
- einfo "by default. You can disable it in the cluster's:"
- einfo " ${PGDATA%/}/postgresql.conf"
- einfo
- if ! use systemd; then
- einfo "The PostgreSQL server, by default, will log events to:"
- einfo " ${DATA_DIR%/}/postmaster.log"
- einfo
- fi
- if use prefix ; then
- einfo "The location of the configuration files have moved to:"
- einfo " ${PGDATA}"
- einfo "To start the server:"
- einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
- einfo "To stop:"
- einfo " pg_ctl stop -D ${DATA_DIR}"
- einfo
- einfo "Or move the configuration files back:"
- einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
- elif use systemd; then
- einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- else
- einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- fi
-}
-
-src_test() {
- if use server && [[ ${UID} -ne 0 ]] ; then
- emake check
-
- einfo "If you think other tests besides the regression tests are necessary, please"
- einfo "submit a bug including a patch for this ebuild to enable them."
- else
- use server || \
- ewarn 'Tests cannot be run without the "server" use flag enabled.'
- [[ ${UID} -eq 0 ]] || \
- ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
- ewarn 'Skipping.'
- fi
-}
diff --git a/dev-db/postgresql/postgresql-11.14.ebuild b/dev-db/postgresql/postgresql-12.17.ebuild
index 07aed06687cf..51c7e054b6b5 100644
--- a/dev-db/postgresql/postgresql-11.14.ebuild
+++ b/dev-db/postgresql/postgresql-12.17.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
SLOT=$(ver_cut 1)
@@ -20,9 +21,8 @@ LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="https://www.postgresql.org/"
-IUSE="debug doc icu kerberos kernel_linux ldap llvm nls pam
- perl python +readline selinux +server systemd ssl static-libs tcl
- threads uuid xml zlib"
+IUSE="debug doc icu kerberos ldap llvm nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -34,17 +34,18 @@ sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
+ldap? ( net-nds/openldap:= )
llvm? (
- sys-devel/llvm:=
- sys-devel/clang:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
pam? ( sys-libs/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
server? ( systemd? ( sys-apps/systemd ) )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
@@ -53,8 +54,7 @@ zlib? ( sys-libs/zlib )
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
nest_usedep() {
local front back
@@ -66,16 +66,15 @@ nest_usedep() {
echo "${front}${1}${back}"
}
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
@@ -85,6 +84,8 @@ selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
+ use llvm && llvm_pkg_setup
+
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
use python && python-single-r1_pkg_setup
@@ -100,7 +101,7 @@ src_prepare() {
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
- use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
+ use server || eapply "${FILESDIR}/${PN}-12.1-no-server.patch"
if use pam ; then
sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
@@ -128,9 +129,6 @@ src_configure() {
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
@@ -143,7 +141,6 @@ src_configure() {
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !alpha spinlocks) \
$(use_enable debug) \
- $(use_enable threads thread-safety) \
$(use_with icu) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
@@ -171,7 +168,7 @@ src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
- dodoc README HISTORY doc/{TODO,bug.template}
+ dodoc README HISTORY
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
diff --git a/dev-db/postgresql/postgresql-12.9.ebuild b/dev-db/postgresql/postgresql-12.18.ebuild
index 82e066d4d05b..8365c8725242 100644
--- a/dev-db/postgresql/postgresql-12.9.ebuild
+++ b/dev-db/postgresql/postgresql-12.18.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
SLOT=$(ver_cut 1)
@@ -20,9 +21,8 @@ LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="https://www.postgresql.org/"
-IUSE="debug doc icu kerberos kernel_linux ldap llvm nls pam
- perl python +readline selinux +server systemd ssl static-libs tcl
- threads uuid xml zlib"
+IUSE="debug doc icu kerberos ldap llvm nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -34,10 +34,10 @@ sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
+ldap? ( net-nds/openldap:= )
llvm? (
- sys-devel/llvm:=
- sys-devel/clang:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
pam? ( sys-libs/pam )
perl? ( >=dev-lang/perl-5.8:= )
@@ -53,8 +53,7 @@ zlib? ( sys-libs/zlib )
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
nest_usedep() {
local front back
@@ -66,16 +65,15 @@ nest_usedep() {
echo "${front}${1}${back}"
}
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
@@ -85,6 +83,8 @@ selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
+ use llvm && llvm_pkg_setup
+
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
use python && python-single-r1_pkg_setup
@@ -128,9 +128,6 @@ src_configure() {
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
@@ -143,7 +140,6 @@ src_configure() {
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !alpha spinlocks) \
$(use_enable debug) \
- $(use_enable threads thread-safety) \
$(use_with icu) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
diff --git a/dev-db/postgresql/postgresql-13.13.ebuild b/dev-db/postgresql/postgresql-13.13.ebuild
new file mode 100644
index 000000000000..5e8c350bca7f
--- /dev/null
+++ b/dev-db/postgresql/postgresql-13.13.ebuild
@@ -0,0 +1,464 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
+)
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+app-alternatives/lex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ eapply "${FILESDIR}"/${PN}-13.3-riscv-spinlocks.patch
+
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-13.8-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-13.5.ebuild b/dev-db/postgresql/postgresql-13.14.ebuild
index 4063b6442c59..60d28d2d7d08 100644
--- a/dev-db/postgresql/postgresql-13.5.ebuild
+++ b/dev-db/postgresql/postgresql-13.14.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
SLOT=$(ver_cut 1)
@@ -20,9 +21,8 @@ LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="https://www.postgresql.org/"
-IUSE="debug doc icu kerberos kernel_linux ldap llvm nls pam
- perl python +readline selinux +server systemd ssl static-libs tcl
- threads uuid xml zlib"
+IUSE="debug doc icu kerberos ldap llvm nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -34,10 +34,10 @@ sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
+ldap? ( net-nds/openldap:= )
llvm? (
- sys-devel/llvm:=
- sys-devel/clang:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
pam? ( sys-libs/pam )
perl? ( >=dev-lang/perl-5.8:= )
@@ -53,8 +53,7 @@ zlib? ( sys-libs/zlib )
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
nest_usedep() {
local front back
@@ -66,16 +65,15 @@ nest_usedep() {
echo "${front}${1}${back}"
}
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
@@ -85,6 +83,8 @@ selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
+ use llvm && llvm_pkg_setup
+
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
use python && python-single-r1_pkg_setup
@@ -102,7 +102,7 @@ src_prepare() {
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
- use server || eapply "${FILESDIR}/${PN}-13_beta1-no-server.patch"
+ use server || eapply "${FILESDIR}/${PN}-13.8-no-server.patch"
if use pam ; then
sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
@@ -130,9 +130,6 @@ src_configure() {
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
@@ -144,7 +141,6 @@ src_configure() {
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable debug) \
- $(use_enable threads thread-safety) \
$(use_with icu) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
diff --git a/dev-db/postgresql/postgresql-14.10.ebuild b/dev-db/postgresql/postgresql-14.10.ebuild
new file mode 100644
index 000000000000..341c1e37a966
--- /dev/null
+++ b/dev-db/postgresql/postgresql-14.10.ebuild
@@ -0,0 +1,464 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm lz4 nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
+)
+lz4? ( app-arch/lz4 )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+app-alternatives/lex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-14.5-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with lz4) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-14.1.ebuild b/dev-db/postgresql/postgresql-14.11.ebuild
index 37c02e4857a7..db34b02f91bd 100644
--- a/dev-db/postgresql/postgresql-14.1.ebuild
+++ b/dev-db/postgresql/postgresql-14.11.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
SLOT=$(ver_cut 1)
@@ -20,9 +21,8 @@ LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="https://www.postgresql.org/"
-IUSE="debug doc icu kerberos kernel_linux ldap llvm lz4 nls pam
- perl python +readline selinux +server systemd ssl static-libs tcl
- threads uuid xml zlib"
+IUSE="debug doc icu kerberos ldap llvm +lz4 nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -34,10 +34,10 @@ sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
+ldap? ( net-nds/openldap:= )
llvm? (
- sys-devel/llvm:=
- sys-devel/clang:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
lz4? ( app-arch/lz4 )
pam? ( sys-libs/pam )
@@ -54,8 +54,7 @@ zlib? ( sys-libs/zlib )
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
nest_usedep() {
local front back
@@ -67,16 +66,15 @@ nest_usedep() {
echo "${front}${1}${back}"
}
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
@@ -86,6 +84,8 @@ selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
+ use llvm && llvm_pkg_setup
+
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
use python && python-single-r1_pkg_setup
@@ -101,7 +101,7 @@ src_prepare() {
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
- use server || eapply "${FILESDIR}/${PN}-14_rc1-no-server.patch"
+ use server || eapply "${FILESDIR}/${PN}-14.5-no-server.patch"
if use pam ; then
sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
@@ -129,9 +129,6 @@ src_configure() {
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
@@ -143,7 +140,6 @@ src_configure() {
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable debug) \
- $(use_enable threads thread-safety) \
$(use_with icu) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
diff --git a/dev-db/postgresql/postgresql-15.5.ebuild b/dev-db/postgresql/postgresql-15.5.ebuild
new file mode 100644
index 000000000000..aebc9d9ad3be
--- /dev/null
+++ b/dev-db/postgresql/postgresql-15.5.ebuild
@@ -0,0 +1,466 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm lz4 nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib zstd"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
+)
+lz4? ( app-arch/lz4 )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+zstd? ( app-arch/zstd )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+app-alternatives/lex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-15_beta3-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with lz4) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_with zstd) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-15.6.ebuild b/dev-db/postgresql/postgresql-15.6.ebuild
new file mode 100644
index 000000000000..aaea88b1abe6
--- /dev/null
+++ b/dev-db/postgresql/postgresql-15.6.ebuild
@@ -0,0 +1,465 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm +lz4 nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib +zstd"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
+)
+lz4? ( app-arch/lz4 )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+zstd? ( app-arch/zstd )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+app-alternatives/lex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-15_beta3-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with lz4) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_with zstd) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-16.1.ebuild b/dev-db/postgresql/postgresql-16.1.ebuild
new file mode 100644
index 000000000000..f86079824aee
--- /dev/null
+++ b/dev-db/postgresql/postgresql-16.1.ebuild
@@ -0,0 +1,467 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc +icu kerberos ldap llvm lz4 nls pam perl python
+ +readline selinux +server systemd ssl static-libs tcl uuid xml
+ zlib zstd"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( app-crypt/mit-krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
+)
+lz4? ( app-arch/lz4 )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+zstd? ( app-arch/zstd )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+app-alternatives/lex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-15_beta3-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with lz4) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_with zstd) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-16.2.ebuild b/dev-db/postgresql/postgresql-16.2.ebuild
new file mode 100644
index 000000000000..520395881338
--- /dev/null
+++ b/dev-db/postgresql/postgresql-16.2.ebuild
@@ -0,0 +1,466 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10,11,12} )
+LLVM_MAX_SLOT=17
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc +icu kerberos ldap llvm +lz4 nls pam perl python
+ +readline selinux +server systemd ssl static-libs tcl uuid xml
+ zlib +zstd"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( app-crypt/mit-krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
+)
+lz4? ( app-arch/lz4 )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+zstd? ( app-arch/zstd )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+app-alternatives/lex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-15_beta3-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with lz4) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_with zstd) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-9.6.24.ebuild b/dev-db/postgresql/postgresql-9.6.24.ebuild
deleted file mode 100644
index c105a7861618..000000000000
--- a/dev-db/postgresql/postgresql-9.6.24.ebuild
+++ /dev/null
@@ -1,479 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap nls pam perl
- pg-legacytimestamp python +readline selinux +server systemd ssl
- static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-acct-group/postgres
-acct-user/postgres
-sys-apps/less
-virtual/libcrypt:=
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
- local front back
- while [[ ${#} -gt 1 ]]; do
- front+="${1}? ( "
- back+=" )"
- shift
- done
- echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
- ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Work around PPC{,64} compilation bug where bool is already defined
- sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
-
- # Set proper run directory
- sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
- -i src/include/pg_config_manual.h || die
-
- # Rely on $PATH being in the proper order so that the correct
- # install program is used for modules utilizing PGXS in both
- # hardened and non-hardened environments. (Bug #528786)
- sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
- use server || eapply "${FILESDIR}/${PN}-${SLOT}.3-no-server.patch"
-
- if use pam ; then
- sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
- -i src/backend/libpq/auth.c || \
- die 'PGSQL_PAM_SERVICE rename failed.'
- fi
-
- eapply_user
-}
-
-src_configure() {
- case ${CHOST} in
- *-darwin*|*-solaris*)
- use nls && append-libs intl
- ;;
- esac
-
- export LDFLAGS_SL="${LDFLAGS}"
- export LDFLAGS_EX="${LDFLAGS}"
-
- local PO="${EPREFIX}"
-
- local i uuid_config=""
- if use uuid; then
- for i in ${UTIL_LINUX_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=e2fs"
- done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
- [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
- fi
-
- econf \
- --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
- --datadir="${PO}/usr/share/postgresql-${SLOT}" \
- --includedir="${PO}/usr/include/postgresql-${SLOT}" \
- --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
- --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
- --with-system-tzdata="${PO}/usr/share/zoneinfo" \
- $(use_enable !alpha spinlocks) \
- $(use_enable !pg-legacytimestamp integer-datetimes) \
- $(use_enable debug) \
- $(use_enable threads thread-safety) \
- $(use_with kerberos gssapi) \
- $(use_with ldap) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(usex server "$(use_with systemd)" '--without-systemd') \
- $(use_with tcl) \
- ${uuid_config} \
- $(use_with xml libxml) \
- $(use_with xml libxslt) \
- $(use_with zlib) \
- $(use_enable nls)
-}
-
-src_compile() {
- emake
- emake -C contrib
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- emake DESTDIR="${D}" install -C contrib
-
- dodoc README HISTORY doc/{TODO,bug.template}
-
- # man pages are already built, but if we have the target make them,
- # they'll be generated from source before being installed so we
- # manually install man pages.
- # We use ${SLOT} instead of doman for postgresql.eselect
- insinto /usr/share/postgresql-${SLOT}/man/
- doins -r doc/src/sgml/man{1,3,7}
- if ! use server; then
- # Remove man pages for non-existent binaries
- for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
- rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
- done
- fi
- docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
- # Create slot specific man pages
- local bn f mansec slotted_name
- for mansec in 1 3 7 ; do
- local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
- mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
- pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
- for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
- bn=$(basename "${f}")
- slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
- case ${bn} in
- TABLE.7|WITH.7)
- echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
- ;;
- *)
- echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
- ;;
- esac
- done
-
- popd > /dev/null
- done
-
- insinto /etc/postgresql-${SLOT}
- newins src/bin/psql/psqlrc.sample psqlrc
-
- # Don't delete libpg{port,common}.a (Bug #571046). They're always
- # needed by extensions utilizing PGXS.
- use static-libs || \
- find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
- -delete
-
- local f bn
- for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
- -mindepth 1 -maxdepth 1)
- do
- bn=$(basename "${f}")
- # Temporarily tack on tmp to workaround a file collision
- # issue. This is only necessary for 9.7 and earlier. 10 never
- # had this issue.
- dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
- "/usr/bin/${bn}${SLOT/.}tmp"
- done
-
- if use doc ; then
- docinto html
- dodoc doc/src/sgml/html/*
-
- docinto sgml
- dodoc doc/src/sgml/*.{sgml,dsl}
- fi
-
- if use server; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
- if use systemd; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.service-9.6-r1" | \
- systemd_newunit - ${PN}-${SLOT}.service
- newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_preinst() {
- # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
- # /usr/bin/psql96). They may have been created by the
- # postgresql.eselect module, but they're handled within this ebuild
- # now. It's alright if we momentarily delete /usr/bin/psql as it
- # will be recreated by the eselect module in pkg_ppostinst(). This
- # is only necessary for 9.7 and earlier. 10 and later were never
- # handled in this manner.
- local canonicalise
- if type -p realpath > /dev/null; then
- canonicalise=realpath
- elif type -p readlink > /dev/null; then
- canonicalise='readlink -f'
- else
- # can't die, subshell
- die "No readlink nor realpath found, cannot canonicalise"
- fi
-
- local l
- # First remove any symlinks in /usr/bin that may have been created
- # by the old eselect
- for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
- if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
- rm "${l}" || ewarn "Couldn't remove ${l}"
- fi
- done
-
- # Then move the symlinks created by the ebuild to their proper place.
- for l in "${ED}"/usr/bin/*tmp ; do
- mv "${l}" "${l%tmp}" \
- || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
- done
-}
-
-pkg_postinst() {
- use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
- postgresql-config update
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT}/etc/postgresql-${SLOT}/"
-
- if use server ; then
- elog
- elog "Gentoo specific documentation:"
- elog "https://wiki.gentoo.org/wiki/PostgreSQL"
- elog
- elog "Official documentation:"
- elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
- elog
- elog "The default location of the Unix-domain socket is:"
- elog " ${EROOT}/run/postgresql/"
- elog
- elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
- elog "so that it contains your preferred locale in:"
- elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
- elog
- elog "Then, execute the following command to setup the initial database"
- elog "environment:"
- elog " emerge --config =${CATEGORY}/${PF}"
- fi
-}
-
-pkg_prerm() {
- if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
- ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
- ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
- ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
- sleep 10
- eend 0
- fi
-}
-
-pkg_postrm() {
- postgresql-config update
-}
-
-pkg_config() {
- use server || die "USE flag 'server' not enabled. Nothing to configure."
-
- [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
- && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
- [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
- [[ -z "${DATA_DIR}" ]] \
- && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
- # environment.bz2 may not contain the same locale as the current system
- # locale. Unset and source from the current system locale.
- if [ -f "${EROOT}/etc/env.d/02locale" ]; then
- unset LANG
- unset LC_CTYPE
- unset LC_NUMERIC
- unset LC_TIME
- unset LC_COLLATE
- unset LC_MONETARY
- unset LC_MESSAGES
- unset LC_ALL
- source "${EROOT}/etc/env.d/02locale"
- [ -n "${LANG}" ] && export LANG
- [ -n "${LC_CTYPE}" ] && export LC_CTYPE
- [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
- [ -n "${LC_TIME}" ] && export LC_TIME
- [ -n "${LC_COLLATE}" ] && export LC_COLLATE
- [ -n "${LC_MONETARY}" ] && export LC_MONETARY
- [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
- [ -n "${LC_ALL}" ] && export LC_ALL
- fi
-
- einfo "You can modify the paths and options passed to initdb by editing:"
- einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
- einfo
- einfo "Information on options that can be passed to initdb are found at:"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
- einfo
- einfo "PG_INITDB_OPTS is currently set to:"
- if [[ -z "${PG_INITDB_OPTS}" ]] ; then
- einfo " (none)"
- else
- einfo " ${PG_INITDB_OPTS}"
- fi
- einfo
- einfo "Configuration files will be installed to:"
- einfo " ${PGDATA}"
- einfo
- einfo "The database cluster will be created in:"
- einfo " ${DATA_DIR}"
- einfo
-
- ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
- sleep 5
- eend 0
-
- if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
- eerror "The given directory, '${DATA_DIR}', is not empty."
- eerror "Modify DATA_DIR to point to an empty directory."
- die "${DATA_DIR} is not empty."
- fi
-
- einfo "Creating the data directory ..."
- if [[ ${EUID} == 0 ]] ; then
- mkdir -p "${DATA_DIR}"
- chown -Rf postgres:postgres "${DATA_DIR}"
- chmod 0700 "${DATA_DIR}"
- fi
-
- einfo "Initializing the database ..."
-
- if [[ ${EUID} == 0 ]] ; then
- su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
- else
- "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
- fi
-
- if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
- mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
- ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
- fi
-
- # unix_socket_directory has no effect in postgresql.conf as it's
- # overridden in the initscript
- sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
- cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
- # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
- # On the off-chance that you might need to work with UTF-8 encoded
- # characters in PL/Perl
- plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
- EOF
-
- einfo "The autovacuum function, which was in contrib, has been moved to the main"
- einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
- einfo "by default. You can disable it in the cluster's:"
- einfo " ${PGDATA%/}/postgresql.conf"
- einfo
- if ! use systemd; then
- einfo "The PostgreSQL server, by default, will log events to:"
- einfo " ${DATA_DIR%/}/postmaster.log"
- einfo
- fi
- if use prefix ; then
- einfo "The location of the configuration files have moved to:"
- einfo " ${PGDATA}"
- einfo "To start the server:"
- einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
- einfo "To stop:"
- einfo " pg_ctl stop -D ${DATA_DIR}"
- einfo
- einfo "Or move the configuration files back:"
- einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
- elif use systemd; then
- einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- else
- einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- fi
-}
-
-src_test() {
- if use server && [[ ${UID} -ne 0 ]] ; then
- emake check
-
- einfo "If you think other tests besides the regression tests are necessary, please"
- einfo "submit a bug including a patch for this ebuild to enable them."
- else
- use server || \
- ewarn 'Tests cannot be run without the "server" use flag enabled.'
- [[ ${UID} -eq 0 ]] || \
- ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
- ewarn 'Skipping.'
- fi
-}
diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9999.ebuild
index 9b90b0ee77a1..1fa775af92f2 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{10,11,12} )
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
+inherit flag-o-matic git-r3 linux-info meson pam python-single-r1 \
systemd tmpfiles
KEYWORDS=""
@@ -18,9 +18,8 @@ LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="https://www.postgresql.org/"
-IUSE="debug icu kerberos kernel_linux ldap llvm lz4
- nls pam perl python +readline selinux server systemd
- ssl static-libs tcl threads uuid xml zlib"
+IUSE="debug +icu kerberos ldap llvm +lz4 nls pam perl python +readline
+ selinux server systemd ssl static-libs tcl uuid xml zlib zstd"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -31,8 +30,8 @@ acct-user/postgres
sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
+kerberos? ( app-crypt/mit-krb5 )
+ldap? ( net-nds/openldap:= )
llvm? (
sys-devel/llvm:=
sys-devel/clang:=
@@ -48,13 +47,13 @@ tcl? ( >=dev-lang/tcl-8:0= )
uuid? ( dev-libs/ossp-uuid )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
+zstd? ( app-arch/zstd )
"
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
nest_usedep() {
local front back
@@ -66,11 +65,10 @@ nest_usedep() {
echo "${front}${1}${back}"
}
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
@@ -83,7 +81,7 @@ app-text/openjade
dev-libs/libxml2
dev-libs/libxslt
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
@@ -95,7 +93,7 @@ pkg_pretend() {
if ! use server; then
elog "You are using a live ebuild that uses the current source code as it is"
elog "available from PostgreSQL's Git repository at emerge time. Given such,"
- elog "the GNU Makefiles may be altered by upstream without notice and the"
+ elog "the Meson build files may be altered by upstream without notice and the"
elog "documentation for this live version is not readily available"
elog "online. Ergo, the ebuild maintainers will not support building a"
elog "client-only and/or document-free version."
@@ -110,9 +108,6 @@ pkg_setup() {
}
src_prepare() {
- # still needed as of 2021-08-13
- eapply "${FILESDIR}"/${PN}-13.3-riscv-spinlocks.patch
-
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
@@ -132,71 +127,76 @@ src_prepare() {
}
src_configure() {
+ local emesonargs=()
+
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
- export LDFLAGS_SL="${LDFLAGS}"
- export LDFLAGS_EX="${LDFLAGS}"
-
- local PO="${EPREFIX}"
-
local i uuid_config=""
if use uuid; then
for i in ${UTIL_LINUX_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=e2fs"
+ use ${i} && uuid_config="-Duuid=e2fs"
done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
- [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
- fi
- local myconf="\
- --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
- --datadir="${PO}/usr/share/postgresql-${SLOT}" \
- --includedir="${PO}/usr/include/postgresql-${SLOT}" \
- --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
- --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
- --with-system-tzdata="${PO}/usr/share/zoneinfo" \
- $(use_enable debug) \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- $(use_with icu) \
- $(use_with kerberos gssapi) \
- $(use_with ldap) \
- $(use_with llvm) \
- $(use_with lz4) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(use_with tcl) \
- $(use_with xml libxml) \
- $(use_with xml libxslt) \
- $(use_with zlib) \
- $(use_with systemd) \
- ${uuid_config}"
- if use alpha; then
- myconf+=" --disable-spinlocks"
- else
- # Should be the default but just in case
- myconf+=" --enable-spinlocks"
+ emesonargs+=( ${uuid_config:-"-Duuid=ossp"} )
fi
- econf ${myconf}
+
+ use debug && emesonargs+=( "--debug" )
+
+ local PO="${EPREFIX}"
+ emesonargs+=(
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}"
+ --datadir="${PO}/usr/share/postgresql-${SLOT}"
+ --includedir="${PO}/usr/include/postgresql-${SLOT}"
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man"
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}"
+ -Dsystem_tzdata="${PO}/usr/share/zoneinfo"
+ $(meson_feature icu)
+ $(meson_feature kerberos gssapi)
+ $(meson_feature ldap)
+ $(meson_feature llvm)
+ $(meson_feature lz4)
+ $(meson_feature nls)
+ $(meson_feature pam)
+ $(meson_feature perl plperl)
+ $(meson_feature python plpython)
+ $(meson_feature readline)
+ $(meson_feature systemd)
+ $(meson_feature tcl pltcl)
+ $(meson_feature xml libxml)
+ $(meson_feature xml libxslt)
+ $(meson_feature zlib)
+ $(meson_feature zstd)
+ )
+
+ use ssl && emesonargs+=( "-Dssl=openssl" )
+ use alpha && emesonargs+=( "-Dspinlocks=false" )
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ meson_src_configure
}
src_compile() {
- emake world
+ meson_src_compile
+ meson_src_compile {docs,man}
}
src_install() {
- emake DESTDIR="${D}" install-world
+ meson_src_install
dodoc README HISTORY doc/TODO
+ dodoc -r "${BUILD_DIR}"/doc/src/sgml/html
+
+ # postgresql.eselect places the man files of the selected slot, which may
+ # not be this ${SLOT}, hence doins instead of doman
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r "${BUILD_DIR}"/doc/src/sgml/man{1,3,7}
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
@@ -229,11 +229,8 @@ src_install() {
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
- # Temporarily tack on tmp to workaround a file collision
- # issue. This is only necessary for 9.7 and earlier. 10 never
- # had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
- "/usr/bin/${bn}${SLOT/.}tmp"
+ "/usr/bin/${bn}${SLOT/.}"
done
# Create slot specific man pages
@@ -266,40 +263,6 @@ src_install() {
fi
}
-pkg_preinst() {
- # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
- # /usr/bin/psql97). They may have been created by the
- # postgresql.eselect module, but they're handled within this ebuild
- # now. It's alright if we momentarily delete /usr/bin/psql as it
- # will be recreated by the eselect module in pkg_ppostinst(). We
- # only worry about the 9.7 slot as that's the last slot that had its
- # slot-specific links generated by eselect.
- #
- # This can be removed when 10 is the lowest slot in the tree.
- local canonicalise
- if type -p realpath > /dev/null; then
- canonicalise=realpath
- elif type -p readlink > /dev/null; then
- canonicalise='readlink -f'
- else
- # can't die, subshell
- die "No readlink nor realpath found, cannot canonicalise"
- fi
-
- local l
- # First remove any symlinks in /usr/bin that may have been created
- # by the old eselect
- for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
- [[ $(${canonicalise} "${l}") == *postgresql-9.7* ]] && rm "${l}"
- done
-
- # Then move the symlinks created by the ebuild to their proper place.
- for l in "${ED}"/usr/bin/*tmp ; do
- mv "${l}" "${l%tmp}" \
- || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
- done
-}
-
pkg_postinst() {
use systemd && tmpfiles_process ${PN}-${SLOT}.conf
postgresql-config update
@@ -467,7 +430,7 @@ src_test() {
# LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
local old_ctype=${LC_CTYPE}
export LC_CTYPE=${LC_COLLATE}
- emake check
+ meson_src_test
export LC_CTYPE=${old_ctype}
einfo "If you think other tests besides the regression tests are necessary, please"
diff --git a/dev-db/pspg/Manifest b/dev-db/pspg/Manifest
index 754d432f2d3c..896cb738a04b 100644
--- a/dev-db/pspg/Manifest
+++ b/dev-db/pspg/Manifest
@@ -1,3 +1,3 @@
-DIST pspg-3.1.5.tar.gz 1380515 BLAKE2B b9539347d1977a178468127df5f92f8b7be835b7e6edc49720131173b71b22e01b614bcde55e354d32a2ecf1665dcebd27502110786b7595411b5ec782391f01 SHA512 287d4794aebc867bf3c344c3747f1d058c1b93710dd0d86de66ae1e0d97961f4e3d511bc0f7df98c309bffc962aaf50b758faab1f8c6f0eb3374450e53ecdccb
-DIST pspg-4.3.0.tar.gz 1398789 BLAKE2B 51669105e335669ad76f174f7e085954bb5bf65719c929b0153aaa53c1a48d3f6c642cdf20624042dcfe5d7ad43bf2e6c5b5aaa5263d100590fdfa8ae21e62f4 SHA512 947052ca480ff271712b4620d7cf6060a5a702f245417c5223d8dcd6a357f71d16bc5bc732f883e80c730d3b699534a5791fc58d37b6c05e40e71e8f814e2c23
-DIST pspg-5.0.5.tar.gz 1828909 BLAKE2B 9e58735acbeeb42b7aa560d0b418b40ab461e1be2a429696cc07414d7e47e58c12511e6493ab95d16dd1b02b37921aac98acd99c9346dea8a95c55545a4c755f SHA512 9e2a673d7721598b0058ca8738e973b4c6b2e967b6b6d6dffba6d6473760809dce01b0f086ff6fff4e16e10a4fe78f0551e0a42d78a66513eb898c2df7dc0dc8
+DIST pspg-5.5.4.tar.gz 2415002 BLAKE2B 1b7712318069c5fe69afe5e7477aa2a415d007a1f41af866726b11e65073c507ed12a51de14fc39ee06df9ccbe2763472332f55dda49167547e6ba590850bb5b SHA512 f13f4d7424d7b172a1fc5f963e7390a53f73f5c53ea4af7a9bed32dabc99f657e46cae550e8d5c7dd756b3496dd2ad665f3fd6551e54f9add1b3aef491709572
+DIST pspg-5.5.8.tar.gz 2428371 BLAKE2B 09021f61c51698fd85ccf61c559014b6ffecad72079abf10c7dc50249bffbe34b86afa124a30a8d4f5c360af069ec623a4815288267a2ee225f7030de14b76d4 SHA512 f3fa9bc097ac43ab0113586b3474e9137c84b2ca844c45397a7ec185a01c66daa204f7bf739f7b65f1d741de02be8f7c1ba7df5abaa962008f33f6082c576b9f
+DIST pspg-5.8.1.tar.gz 2442046 BLAKE2B 173b7250299927f140597d510e41aacad8be10b58e14094cbca2c2c3648925f71267a44728084ebf10cb832669c601ba121e529d7130b15cb2ab6accb3a9f77e SHA512 1ffcae86559f17e2cafba31a7bf9ba0170f4cdf8f2f5885a3650fea30463327e6a040e7746a8a074302fbb5080ce032a10775da503a5788a622203669609706f
diff --git a/dev-db/pspg/metadata.xml b/dev-db/pspg/metadata.xml
index 10e674b50770..334189f9edab 100644
--- a/dev-db/pspg/metadata.xml
+++ b/dev-db/pspg/metadata.xml
@@ -5,4 +5,11 @@
<email>pgsql-bugs@gentoo.org</email>
<name>PostgreSQL and Related Package Development</name>
</maintainer>
+ <longdescription>
+ Unix pager (with very rich functionality) designed for work with
+ tables. Designed for PostgreSQL, but MySQL is supported too. Works
+ well with pgcli too. Can be used as CSV or TSV viewer too. It
+ supports searching, selecting rows, columns, or block and export
+ selected area to clipboard.
+ </longdescription>
</pkgmetadata>
diff --git a/dev-db/pspg/pspg-3.1.5-r1.ebuild b/dev-db/pspg/pspg-3.1.5-r1.ebuild
deleted file mode 100644
index 58ec04498fc1..000000000000
--- a/dev-db/pspg/pspg-3.1.5-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A better pager for psql and mysql"
-HOMEPAGE="https://github.com/okbob/pspg"
-SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="sys-libs/ncurses:=
-dev-db/postgresql:=
-sys-libs/readline:="
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
diff --git a/dev-db/pspg/pspg-4.3.0-r1.ebuild b/dev-db/pspg/pspg-4.3.0-r1.ebuild
deleted file mode 100644
index 51c9c87a2f60..000000000000
--- a/dev-db/pspg/pspg-4.3.0-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A better pager for psql and mysql"
-HOMEPAGE="https://github.com/okbob/pspg"
-SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="sys-libs/ncurses:=
-dev-db/postgresql:=
-sys-libs/readline:="
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
diff --git a/dev-db/pspg/pspg-5.0.5.ebuild b/dev-db/pspg/pspg-5.5.4.ebuild
index cdb6dbe8621c..479438bf0b0a 100644
--- a/dev-db/pspg/pspg-5.0.5.ebuild
+++ b/dev-db/pspg/pspg-5.5.4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-DESCRIPTION="A better pager for psql and mysql"
+DESCRIPTION="A better pager for psql, mysql, and more"
HOMEPAGE="https://github.com/okbob/pspg"
SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
diff --git a/dev-db/pspg/pspg-5.5.8.ebuild b/dev-db/pspg/pspg-5.5.8.ebuild
new file mode 100644
index 000000000000..08af431e6bb1
--- /dev/null
+++ b/dev-db/pspg/pspg-5.5.8.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A better pager for CLI database clients, and can substitute psql"
+HOMEPAGE="https://github.com/okbob/pspg"
+SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="postgres"
+RESTRICT="test"
+
+RDEPEND="
+sys-libs/ncurses:=
+sys-libs/readline:=
+postgres? ( dev-db/postgresql:= )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf $(use_with postgres postgresql)
+}
diff --git a/dev-db/pspg/pspg-5.8.1.ebuild b/dev-db/pspg/pspg-5.8.1.ebuild
new file mode 100644
index 000000000000..36f09ddb9371
--- /dev/null
+++ b/dev-db/pspg/pspg-5.8.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A better pager for CLI database clients, and can substitute psql"
+HOMEPAGE="https://github.com/okbob/pspg"
+SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="postgres"
+RESTRICT="test"
+
+RDEPEND="
+sys-libs/ncurses:=
+sys-libs/readline:=
+postgres? ( dev-db/postgresql:= )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf $(use_with postgres postgresql)
+}
diff --git a/dev-db/psqlodbc/Manifest b/dev-db/psqlodbc/Manifest
index bcff37c2cccb..d7789a3cd0b5 100644
--- a/dev-db/psqlodbc/Manifest
+++ b/dev-db/psqlodbc/Manifest
@@ -1,2 +1,3 @@
DIST psqlodbc-11.01.0000.tar.gz 919372 BLAKE2B ce84b4bb210c4c3c3f2a3e9eae713c875e4bae491e20f207f740a02af69cb771f504de6b1da06fcd12306d986299e1537184a6787eac80e320eea6d8c13dc142 SHA512 57762bfa9925012946e56a3d5b815af00078299c121ba0142865c06f877cabf314512e4e6efc654589fb409c4dd2cbb9a3b7fd7aa1a6ace361879552774b11d7
DIST psqlodbc-13.00.0000.tar.gz 940031 BLAKE2B 346a06b5b7b16ead1d87b7bdadcd050102b1b30e19d7bf236e134439711e4832b193241d6ea02b5628a64afbfad77b0c6d3bdf921fd3ae3a5cf696a58100e53c SHA512 c8d5cb0ce304e702f3c6f0b2e1c681df283973a8459a820f92df806814659eb15668c38a855a69b44cf5ebe459283bef1ca1cba44df0fe16a361e614f5481bc7
+DIST psqlodbc-15.00.0000.tar.gz 945814 BLAKE2B 0170ae9bcd1a77b0655b4d33543a7cca3551d845d8a36dd5d809567e7d7669defb278790f169a80757d41ffb5cbbfda68f0536f4fe25698e85a1fe570736409c SHA512 ae511edb9889e6cc7d05d11ee384db1aa1a52b9cac035b3449b03ab91ada5cc0d737fef34addd4be6a3ef839b68735874ee7125be9ae272328c44631fd2269e2
diff --git a/dev-db/psqlodbc/metadata.xml b/dev-db/psqlodbc/metadata.xml
index 350a80ff03b7..30ac10c32727 100644
--- a/dev-db/psqlodbc/metadata.xml
+++ b/dev-db/psqlodbc/metadata.xml
@@ -6,6 +6,6 @@
<name>PostgreSQL and Related Package Development</name>
</maintainer>
<use>
-<flag name="iodbc">Use dev-db/libiodbc. Disable to use dev-db/unixODBC.</flag>
+<flag name="iodbc">Use <pkg>dev-db/libiodbc</pkg>. Disable to use <pkg>dev-db/unixODBC</pkg>.</flag>
</use>
</pkgmetadata>
diff --git a/dev-db/psqlodbc/psqlodbc-15.00.0000.ebuild b/dev-db/psqlodbc/psqlodbc-15.00.0000.ebuild
new file mode 100644
index 000000000000..3970af804572
--- /dev/null
+++ b/dev-db/psqlodbc/psqlodbc-15.00.0000.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Official ODBC driver for PostgreSQL"
+HOMEPAGE="https://odbc.postgresql.org/"
+SRC_URI="https://ftp.postgresql.org/pub/odbc/versions/src/${P}.tar.gz"
+SLOT="0"
+LICENSE="LGPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc iodbc ssl threads"
+
+DEPEND="dev-db/postgresql:*[ssl?]
+ !iodbc? ( dev-db/unixODBC )
+ iodbc? ( dev-db/libiodbc )
+"
+RDEPEND="${DEPEND}"
+
+# No tests to run
+RESTRICT="test"
+
+src_configure() {
+ econf \
+ $(use_with iodbc) \
+ $(use_with !iodbc unixodbc) \
+ $(use_enable threads pthreads)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc readme.txt
+ use doc && dodoc docs/*{html,jpg,txt}
+}
diff --git a/dev-db/qdbm/qdbm-1.8.78-r3.ebuild b/dev-db/qdbm/qdbm-1.8.78-r4.ebuild
index 826283f03b2b..f1ea111f2075 100644
--- a/dev-db/qdbm/qdbm-1.8.78-r3.ebuild
+++ b/dev-db/qdbm/qdbm-1.8.78-r4.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-USE_RUBY="ruby25 ruby26 ruby27 ruby30"
+EAPI="8"
+USE_RUBY="ruby31 ruby32"
RUBY_OPTIONAL="yes"
inherit autotools flag-o-matic java-pkg-opt-2 perl-functions ruby-ng
@@ -13,7 +13,7 @@ SRC_URI="https://fallabs.com/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="bzip2 cxx debug java lzo perl ruby static-libs zlib"
RDEPEND="bzip2? ( app-arch/bzip2 )
@@ -77,7 +77,7 @@ qdbm_foreach_api() {
emake check
;;
install)
- emake DESTDIR="${D}" MYDATADIR=/usr/share/doc/${P}/html install
+ emake DESTDIR="${D}" MYDATADIR=/usr/share/doc/${PF}/html install
esac
cd - >/dev/null
else
diff --git a/dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.10-install-path.patch b/dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.10-install-path.patch
index 5485ae942408..e6869e6f3d5b 100644
--- a/dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.10-install-path.patch
+++ b/dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.10-install-path.patch
@@ -1,9 +1,10 @@
--- qt5-sqlcipher-1.0.10-orig/CMakeLists.txt
+++ qt5-sqlcipher-1.0.10/CMakeLists.txt
-@@ -197,10 +197,7 @@
+@@ -196,11 +196,7 @@
+ INSTALL(TARGETS qsqlcipher-test DESTINATION bin)
endif()
else()
- message(WARNING "Packaging is not set up for this platform, either submit a ticket or change/add pathes yourself, if packaging is required.")
+- message(WARNING "Packaging is not set up for this platform, either submit a ticket or change/add pathes yourself, if packaging is required.")
- INSTALL(TARGETS qsqlcipher DESTINATION sqldrivers)
- if (QSQLCIPHER_BUILD_TESTS)
- INSTALL(TARGETS qsqlcipher-test DESTINATION bin)
diff --git a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11.ebuild b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild
index 2c4d7596f412..57ef6aa14443 100644
--- a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11.ebuild
+++ b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake-utils
+inherit cmake
DESCRIPTION="Qt SQL driver plugin for SQLCipher"
HOMEPAGE="https://github.com/blizzard4591/qt5-sqlcipher"
@@ -40,7 +40,7 @@ src_prepare() {
cp -R qt-file-cache/${vc} qt-file-cache/${v} || die
fi
- cmake-utils_src_prepare
+ cmake_src_prepare
}
src_test() {
diff --git a/dev-db/redict/Manifest b/dev-db/redict/Manifest
new file mode 100644
index 000000000000..a15faf344ca6
--- /dev/null
+++ b/dev-db/redict/Manifest
@@ -0,0 +1 @@
+DIST redict-7.3.0.tar.gz 3414514 BLAKE2B dd2ce2fdd8fbede33ddea9fee34e81535b0948a8963fb0d3391aac32ddf786e5cce996d1d405d81182ef6098ab8389b3c71b95ff9d8cbc68637746538e36999d SHA512 d33f4dfaf728f5a22abe7a6223f3192c39dc41a32e7bcb0f453caaa859f35b512534979c26ced9f4458c19611debd282f37955e930151c0f827035f349647226
diff --git a/dev-db/redis/files/redis-3.2.3-config.patch b/dev-db/redict/files/redict-7.3.0-config.patch
index bde0ef7cbaf1..aab0df2e1a45 100644
--- a/dev-db/redis/files/redis-3.2.3-config.patch
+++ b/dev-db/redict/files/redict-7.3.0-config.patch
@@ -1,40 +1,40 @@
-diff --git a/redis.conf b/redis.conf
-index 22e00bc..b09de57 100644
---- a/redis.conf
-+++ b/redis.conf
-@@ -147,7 +147,7 @@ supervised no
+diff --git a/redict.conf b/redict.conf
+index 465d56f..ef56037 100644
+--- a/redict.conf
++++ b/redict.conf
+@@ -276,7 +276,7 @@ daemonize no
#
- # Creating a pid file is best effort: if Redis is not able to create it
- # nothing bad happens, the server will start and run normally.
--pidfile /var/run/redis_6379.pid
-+pidfile /run/redis/redis.pid
+ # Note that on modern Linux systems "/run/redict.pid" is more conforming
+ # and should be used instead.
+-pidfile /var/run/redict_6379.pid
++pidfile /run/redict/redict.pid
# Specify the server verbosity level.
# This can be one of:
-@@ -160,7 +160,7 @@ loglevel notice
+@@ -289,7 +289,7 @@ loglevel notice
# Specify the log file name. Also the empty string can be used to force
- # Redis to log on the standard output. Note that if you use standard
+ # redict to log on the standard output. Note that if you use standard
# output for logging but daemonize, logs will be sent to /dev/null
-logfile ""
-+logfile /var/log/redis/redis.log
++logfile /var/log/redict/redict.log
# To enable logging to the system logger, just set 'syslog-enabled' to yes,
# and optionally update the other syslog parameters to suit your needs.
-@@ -244,7 +244,7 @@ dbfilename dump.rdb
+@@ -441,7 +441,7 @@ rdb-del-sync-files no
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
-dir ./
-+dir /var/lib/redis/
++dir /var/lib/redict/
################################# REPLICATION #################################
-@@ -534,7 +534,7 @@ slave-priority 100
- # limit for maxmemory so that there is some free RAM on the system for slave
+@@ -967,7 +967,7 @@ acllog-max-len 128
+ # limit for maxmemory so that there is some free RAM on the system for replica
# output buffers (but this is not needed if the policy is 'noeviction').
#
-# maxmemory <bytes>
+maxmemory 64MB
- # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
- # is reached. You can select among five behaviors:
+ # MAXMEMORY POLICY: how redict will select what to remove when maxmemory
+ # is reached. You can select one from the following behaviors:
diff --git a/dev-db/redict/files/redict-7.3.0-system-hiredict.patch b/dev-db/redict/files/redict-7.3.0-system-hiredict.patch
new file mode 100644
index 000000000000..53b9d93087d4
--- /dev/null
+++ b/dev-db/redict/files/redict-7.3.0-system-hiredict.patch
@@ -0,0 +1,240 @@
+# Patch from https://codeberg.org/redict/redict/pulls/44
+# and https://salsa.debian.org/redict-team/redict/-/blob/1d2b9f08f3dcc7ba4f03ddd9066545d0fd6b716e/debian/patches/0005-Fix-hiredict-imports.patch
+# The first patch got upstreamed, the second will be soon
+
+From ffb9f03106de48a2a09d60f691a8852a0cf917ad Mon Sep 17 00:00:00 2001
+From: Maytham Alsudany <maytha8thedev@gmail.com>
+Date: Sun, 14 Apr 2024 11:52:21 +0300
+Subject: [PATCH 1/2] Add ability to use system hiredict
+
+Co-authored-by: Chris Lamb <lamby@debian.org>
+Signed-off-by: Maytham Alsudany <maytha8thedev@gmail.com>
+---
+ deps/Makefile | 2 ++
+ src/Makefile | 27 ++++++++++++++++++++++-----
+ 2 files changed, 24 insertions(+), 5 deletions(-)
+
+diff --git a/deps/Makefile b/deps/Makefile
+index 345e1f703..e071cfa03 100644
+--- a/deps/Makefile
++++ b/deps/Makefile
+@@ -36,7 +36,9 @@ ifneq ($(shell sh -c '[ -f .make-ldflags ] && cat .make-ldflags || echo none'),
+ endif
+
+ distclean:
++ifneq ($(USE_SYSTEM_HIREDICT),yes)
+ -(cd hiredict && $(MAKE) clean) > /dev/null || true
++endif
+ -(cd linenoise && $(MAKE) clean) > /dev/null || true
+ -(cd lua && $(MAKE) clean) > /dev/null || true
+ ifneq ($(USE_SYSTEM_JEMALLOC),yes)
+diff --git a/src/Makefile b/src/Makefile
+index fbcc20f02..8ca30a6df 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -24,7 +24,7 @@ endif
+ ifneq ($(OPTIMIZATION),-O0)
+ OPTIMIZATION+=-fno-omit-frame-pointer
+ endif
+-DEPENDENCY_TARGETS=hiredict linenoise lua hdr_histogram fpconv
++DEPENDENCY_TARGETS=linenoise lua hdr_histogram fpconv
+ NODEPS:=clean distclean
+
+ # Default settings
+@@ -226,7 +226,7 @@ ifdef OPENSSL_PREFIX
+ endif
+
+ # Include paths to dependencies
+-FINAL_CFLAGS+= -I../deps/hiredict -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv
++FINAL_CFLAGS+= -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv
+
+ # Determine systemd support and/or build preference (defaulting to auto-detection)
+ BUILD_WITH_SYSTEMD=no
+@@ -277,6 +277,15 @@ else
+ endif
+ endif
+
++ifeq ($(USE_SYSTEM_HIREDICT),yes)
++ FINAL_LIBS+= $(shell $(PKG_CONFIG) --libs hiredict)
++ FINAL_CFLAGS+= $(shell $(PKG_CONFIG) --cflags hiredict)
++else
++ DEPENDENCY_TARGETS += hiredict
++ FINAL_LIBS+= ../deps/hiredict/libhiredict.a
++ FINAL_CFLAGS+= -I../deps/hiredict
++endif
++
+ # LIBSSL & LIBCRYPTO
+ LIBSSL_LIBS=
+ LIBSSL_PKGCONFIG := $(shell $(PKG_CONFIG) --exists libssl && echo $$?)
+@@ -299,15 +308,23 @@ BUILD_MODULE:=2
+ ifeq ($(BUILD_TLS),yes)
+ FINAL_CFLAGS+=-DUSE_OPENSSL=$(BUILD_YES) $(OPENSSL_CFLAGS) -DBUILD_TLS_MODULE=$(BUILD_NO)
+ FINAL_LDFLAGS+=$(OPENSSL_LDFLAGS)
++ifeq ($(USE_SYSTEM_HIREDICT),yes)
++ FINAL_LIBS += $(shell $(PKG_CONFIG) --libs hiredict_ssl) $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS)
++else
+ FINAL_LIBS += ../deps/hiredict/libhiredict_ssl.a $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS)
+ endif
++endif
+
+ TLS_MODULE=
+ TLS_MODULE_NAME:=redict-tls$(PROG_SUFFIX).so
+ TLS_MODULE_CFLAGS:=$(FINAL_CFLAGS)
+ ifeq ($(BUILD_TLS),module)
+ FINAL_CFLAGS+=-DUSE_OPENSSL=$(BUILD_MODULE) $(OPENSSL_CFLAGS)
++ifeq ($(USE_SYSTEM_HIREDICT),yes)
++ TLS_CLIENT_LIBS = $(shell $(PKG_CONFIG) --libs hiredict_ssl) $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS)
++else
+ TLS_CLIENT_LIBS = ../deps/hiredict/libhiredict_ssl.a $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS)
++endif
+ TLS_MODULE=$(TLS_MODULE_NAME)
+ TLS_MODULE_CFLAGS+=-DUSE_OPENSSL=$(BUILD_MODULE) $(OPENSSL_CFLAGS) -DBUILD_TLS_MODULE=$(BUILD_MODULE)
+ endif
+@@ -406,7 +423,7 @@ endif
+
+ # redict-server
+ $(REDICT_SERVER_NAME): $(REDICT_SERVER_OBJ)
+- $(REDICT_LD) -o $@ $^ ../deps/hiredict/libhiredict.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a $(FINAL_LIBS)
++ $(REDICT_LD) -o $@ $^ ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a $(FINAL_LIBS)
+
+ # redict-sentinel
+ $(REDICT_SENTINEL_NAME): $(REDICT_SERVER_NAME)
+@@ -426,11 +443,11 @@ $(TLS_MODULE_NAME): $(REDICT_SERVER_NAME)
+
+ # redict-cli
+ $(REDICT_CLI_NAME): $(REDICT_CLI_OBJ)
+- $(REDICT_LD) -o $@ $^ ../deps/hiredict/libhiredict.a ../deps/linenoise/linenoise.o $(FINAL_LIBS) $(TLS_CLIENT_LIBS)
++ $(REDICT_LD) -o $@ $^ ../deps/linenoise/linenoise.o $(FINAL_LIBS) $(TLS_CLIENT_LIBS)
+
+ # redict-benchmark
+ $(REDICT_BENCHMARK_NAME): $(REDICT_BENCHMARK_OBJ)
+- $(REDICT_LD) -o $@ $^ ../deps/hiredict/libhiredict.a ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS) $(TLS_CLIENT_LIBS)
++ $(REDICT_LD) -o $@ $^ ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS) $(TLS_CLIENT_LIBS)
+
+ DEP = $(REDICT_SERVER_OBJ:%.o=%.d) $(REDICT_CLI_OBJ:%.o=%.d) $(REDICT_BENCHMARK_OBJ:%.o=%.d)
+ -include $(DEP)
+--
+2.39.2
+
+
+From bd55c900ac123db05b7243f6e958e311a622fb7d Mon Sep 17 00:00:00 2001
+From: Maytham Alsudany <maytha8thedev@gmail.com>
+Date: Sun, 14 Apr 2024 11:53:13 +0300
+Subject: [PATCH 2/2] Mention USE_SYSTEM_HIREDICT setting in README
+
+Signed-off-by: Maytham Alsudany <maytha8thedev@gmail.com>
+---
+ README.md | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/README.md b/README.md
+index ae77a235a..cf4944e6f 100644
+--- a/README.md
++++ b/README.md
+@@ -25,6 +25,8 @@ You can pass the following variables to Redict to customize the build:
+ * `USE_JEMALLOC=no MALLOC=libc`: use the libc allocator rather than jemalloc
+ * `USE_SYSTEM_JEMALLOC=yes`: use the system's installed jemalloc libraries
+ rather than the vendored copy.
++* `USE_SYSTEM_HIREDICT=yes`: use the system's installed hiredict libraries
++ rather than the vendored copy.
+ * `BUILD_TLS=yes`: build with TLS support. Requires OpenSSL.
+ * `USE_SYSTEMD=yes`: build with systemd support. Requires libsystemd.
+ * `PROG_SUFFIX="-suffix"`: Append "-suffix" to executable names
+--
+2.39.2
+
+From: Maytham Alsudany <maytha8thedev@gmail.com>
+Subject: Fix hiredict imports
+Forwarded: no
+
+--- a/src/cli_common.c
++++ b/src/cli_common.c
+@@ -13,15 +13,15 @@
+ #include <stdlib.h>
+ #include <fcntl.h>
+ #include <errno.h>
+-#include <hiredict.h>
+-#include <sds.h>
++#include <hiredict/hiredict.h>
++#include <hiredict/sds.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <ctype.h>
+ #ifdef USE_OPENSSL
+ #include <openssl/ssl.h>
+ #include <openssl/err.h>
+-#include <hiredict_ssl.h>
++#include <hiredict/hiredict_ssl.h>
+ #endif
+
+ #define UNUSED(V) ((void) V)
+--- a/src/cli_common.h
++++ b/src/cli_common.h
+@@ -7,8 +7,8 @@
+ #ifndef __CLICOMMON_H
+ #define __CLICOMMON_H
+
+-#include <hiredict.h>
+-#include <sds.h>
++#include <hiredict/hiredict.h>
++#include <hiredict/sds.h>
+
+ typedef struct cliSSLconfig {
+ /* Requested SNI, or NULL */
+--- a/src/redict-benchmark.c
++++ b/src/redict-benchmark.c
+@@ -19,13 +19,13 @@
+ #include <math.h>
+ #include <pthread.h>
+
+-#include <sds.h>
++#include <hiredict/sds.h>
+ #include "ae.h"
+-#include <hiredict.h>
++#include <hiredict/hiredict.h>
+ #ifdef USE_OPENSSL
+ #include <openssl/ssl.h>
+ #include <openssl/err.h>
+-#include <hiredict_ssl.h>
++#include <hiredict/hiredict_ssl.h>
+ #endif
+ #include "adlist.h"
+ #include "dict.h"
+--- a/src/redict-cli.c
++++ b/src/redict-cli.c
+@@ -23,13 +23,13 @@
+ #include <math.h>
+ #include <termios.h>
+
+-#include <hiredict.h>
++#include <hiredict/hiredict.h>
+ #ifdef USE_OPENSSL
+ #include <openssl/ssl.h>
+ #include <openssl/err.h>
+-#include <hiredict_ssl.h>
++#include <hiredict/hiredict_ssl.h>
+ #endif
+-#include <sds.h>
++#include <hiredict/sds.h>
+ #include "dict.h"
+ #include "adlist.h"
+ #include "zmalloc.h"
+--- a/src/sentinel.c
++++ b/src/sentinel.c
+@@ -6,12 +6,12 @@
+ // SPDX-License-Identifier: LGPL-3.0-only
+
+ #include "server.h"
+-#include "hiredict.h"
++#include "hiredict/hiredict.h"
+ #if USE_OPENSSL == 1 /* BUILD_YES */
+ #include "openssl/ssl.h"
+-#include "hiredict_ssl.h"
++#include "hiredict/hiredict_ssl.h"
+ #endif
+-#include "async.h"
++#include "hiredict/async.h"
+
+ #include <ctype.h>
+ #include <arpa/inet.h>
+
diff --git a/dev-db/redict/files/redict-7.3.0-system-jemalloc.patch b/dev-db/redict/files/redict-7.3.0-system-jemalloc.patch
new file mode 100644
index 000000000000..802b573dee83
--- /dev/null
+++ b/dev-db/redict/files/redict-7.3.0-system-jemalloc.patch
@@ -0,0 +1,173 @@
+# Patch comes from https://codeberg.org/redict/redict/pulls/40
+# https://codeberg.org/redict/redict/pulls/42
+# and https://codeberg.org/redict/redict/pulls/43
+# All got merged upstream and should be removed next release.
+
+From 5defea5b98859f4e1162b82120114e222b2a7465 Mon Sep 17 00:00:00 2001
+From: Maytham Alsudany <maytha8thedev@gmail.com>
+Date: Wed, 10 Apr 2024 01:10:49 +0300
+Subject: [PATCH 1/2] Add ability to use system jemalloc
+
+This time, this shouldn't cause CI tests to fail.
+
+Co-authored-by: Chris Lamb <lamby@debian.org>
+Signed-off-by: Maytham Alsudany <maytha8thedev@gmail.com>
+---
+ deps/Makefile | 2 ++
+ src/Makefile | 8 +++++++-
+ src/debug.c | 3 +++
+ src/object.c | 5 +++++
+ src/sds.c | 4 ++++
+ src/zmalloc.c | 4 ++++
+ src/zmalloc.h | 4 ++++
+ 7 files changed, 29 insertions(+), 1 deletion(-)
+
+diff --git a/deps/Makefile b/deps/Makefile
+index 9a273aefc..345e1f703 100644
+--- a/deps/Makefile
++++ b/deps/Makefile
+@@ -39,7 +39,9 @@ distclean:
+ -(cd hiredict && $(MAKE) clean) > /dev/null || true
+ -(cd linenoise && $(MAKE) clean) > /dev/null || true
+ -(cd lua && $(MAKE) clean) > /dev/null || true
++ifneq ($(USE_SYSTEM_JEMALLOC),yes)
+ -(cd jemalloc && [ -f Makefile ] && $(MAKE) distclean) > /dev/null || true
++endif
+ -(cd hdr_histogram && $(MAKE) clean) > /dev/null || true
+ -(cd fpconv && $(MAKE) clean) > /dev/null || true
+ -(rm -f .make-*)
+diff --git a/src/Makefile b/src/Makefile
+index 0739466b6..d399c6eb2 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -266,10 +266,16 @@ ifeq ($(MALLOC),tcmalloc_minimal)
+ endif
+
+ ifeq ($(MALLOC),jemalloc)
++ FINAL_CFLAGS+= -DUSE_JEMALLOC
++ifeq ($(USE_SYSTEM_JEMALLOC),yes)
++ FINAL_CFLAGS+= -DUSE_SYSTEM_JEMALLOC $(shell $(PKG_CONFIG) --cflags jemalloc)
++ FINAL_LIBS := $(shell $(PKG_CONFIG) --libs jemalloc) $(FINAL_LIBS)
++else
+ DEPENDENCY_TARGETS+= jemalloc
+- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
++ FINAL_CFLAGS+= -I../deps/jemalloc/include
+ FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
+ endif
++endif
+
+ # LIBSSL & LIBCRYPTO
+ LIBSSL_LIBS=
+diff --git a/src/debug.c b/src/debug.c
+index 89d33bfd7..2257d655e 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -56,6 +56,9 @@ void bugReportEnd(int killViaSignal, int sig);
+ void logStackTrace(void *eip, int uplevel, int current_thread);
+ void sigalrmSignalHandler(int sig, siginfo_t *info, void *secret);
+
++#if defined(USE_JEMALLOC) && defined(USE_SYSTEM_JEMALLOC)
++#define je_mallctl mallctl
++#endif
+ /* ================================= Debugging ============================== */
+
+ /* Compute the sha1 of string at 's' with 'len' bytes long.
+diff --git a/src/object.c b/src/object.c
+index cf7811e81..5da8fbcc9 100644
+--- a/src/object.c
++++ b/src/object.c
+@@ -15,6 +15,11 @@
+ #define strtold(a,b) ((long double)strtod((a),(b)))
+ #endif
+
++#if defined(USE_JEMALLOC) && defined(USE_SYSTEM_JEMALLOC)
++#define je_mallctl mallctl
++#define je_malloc_stats_print malloc_stats_print
++#endif
++
+ /* ===================== Creation and parsing of objects ==================== */
+
+ robj *createObject(int type, void *ptr) {
+diff --git a/src/sds.c b/src/sds.c
+index 0a295132c..a1ac73d5a 100644
+--- a/src/sds.c
++++ b/src/sds.c
+@@ -24,6 +24,10 @@
+ #include "sds.h"
+ #include "sdsalloc.h"
+
++#if defined(USE_JEMALLOC) && defined(USE_SYSTEM_JEMALLOC)
++#define je_nallocx nallocx
++#endif
++
+ const char *SDS_NOINIT = "SDS_NOINIT";
+
+ static inline int sdsHdrSize(char type) {
+diff --git a/src/zmalloc.c b/src/zmalloc.c
+index d737e2b14..7187599aa 100644
+--- a/src/zmalloc.c
++++ b/src/zmalloc.c
+@@ -56,6 +56,9 @@ void zlibc_free(void *ptr) {
+ #define free(ptr) tc_free(ptr)
+ /* Explicitly override malloc/free etc when using jemalloc. */
+ #elif defined(USE_JEMALLOC)
++#if defined(USE_SYSTEM_JEMALLOC)
++#define je_mallctl mallctl
++#else
+ #define malloc(size) je_malloc(size)
+ #define calloc(count,size) je_calloc(count,size)
+ #define realloc(ptr,size) je_realloc(ptr,size)
+@@ -63,6 +66,7 @@ void zlibc_free(void *ptr) {
+ #define mallocx(size,flags) je_mallocx(size,flags)
+ #define dallocx(ptr,flags) je_dallocx(ptr,flags)
+ #endif
++#endif
+
+ #define update_zmalloc_stat_alloc(__n) atomicIncr(used_memory,(__n))
+ #define update_zmalloc_stat_free(__n) atomicDecr(used_memory,(__n))
+diff --git a/src/zmalloc.h b/src/zmalloc.h
+index df7d290da..c10858439 100644
+--- a/src/zmalloc.h
++++ b/src/zmalloc.h
+@@ -27,7 +27,11 @@
+ #include <jemalloc/jemalloc.h>
+ #if (JEMALLOC_VERSION_MAJOR == 2 && JEMALLOC_VERSION_MINOR >= 1) || (JEMALLOC_VERSION_MAJOR > 2)
+ #define HAVE_MALLOC_SIZE 1
++#if defined(USE_SYSTEM_JEMALLOC)
++#define zmalloc_size(p) malloc_usable_size(p)
++#else
+ #define zmalloc_size(p) je_malloc_usable_size(p)
++#endif
+ #else
+ #error "Newer version of jemalloc required"
+ #endif
+--
+2.39.2
+
+
+From 940b0fab0318f5f306a67d0818635acc522402c4 Mon Sep 17 00:00:00 2001
+From: Maytham Alsudany <maytha8thedev@gmail.com>
+Date: Wed, 10 Apr 2024 01:11:24 +0300
+Subject: [PATCH 2/2] Mention USE_SYSTEM_JEMALLOC setting in README
+
+Signed-off-by: Maytham Alsudany <maytha8thedev@gmail.com>
+---
+ README.md | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/README.md b/README.md
+index 14caf183d..ae77a235a 100644
+--- a/README.md
++++ b/README.md
+@@ -23,6 +23,8 @@ toolchain, and GNU make. To build Redict, simply run "make".
+ You can pass the following variables to Redict to customize the build:
+
+ * `USE_JEMALLOC=no MALLOC=libc`: use the libc allocator rather than jemalloc
++* `USE_SYSTEM_JEMALLOC=yes`: use the system's installed jemalloc libraries
++ rather than the vendored copy.
+ * `BUILD_TLS=yes`: build with TLS support. Requires OpenSSL.
+ * `USE_SYSTEMD=yes`: build with systemd support. Requires libsystemd.
+ * `PROG_SUFFIX="-suffix"`: Append "-suffix" to executable names
+--
+2.39.2
+
diff --git a/dev-db/redict/files/redict-sentinel-7.3.0-config.patch b/dev-db/redict/files/redict-sentinel-7.3.0-config.patch
new file mode 100644
index 000000000000..8ed5da34b598
--- /dev/null
+++ b/dev-db/redict/files/redict-sentinel-7.3.0-config.patch
@@ -0,0 +1,27 @@
+Rebased from original redis-sentinel-5.0-config.patch
+
+diff --git a/sentinel.conf b/sentinel.conf
+index b7b3604f0..a1d7bfea9 100644
+--- a/sentinel.conf
++++ b/sentinel.conf
+@@ -17,7 +17,7 @@ daemonize no
+ # When running daemonized, redict Sentinel writes a pid file in
+ # /var/run/redict-sentinel.pid by default. You can specify a custom pid file
+ # location here.
+-pidfile /var/run/redict-sentinel.pid
++pidfile /run/redict-sentinel.pid
+
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -31,7 +31,7 @@ loglevel notice
+ # Specify the log file name. Also the empty string can be used to force
+ # Sentinel to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile "/var/log/redict/sentinel.log"
+
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+--
+2.41.0
+
diff --git a/dev-db/redict/files/redict-sentinel.confd b/dev-db/redict/files/redict-sentinel.confd
new file mode 100644
index 000000000000..e168b46b14f7
--- /dev/null
+++ b/dev-db/redict/files/redict-sentinel.confd
@@ -0,0 +1,16 @@
+# Redict-sentinel user.
+REDICT_SENTINEL_USER="redict"
+
+# Redict-sentinel group.
+REDICT_SENTINEL_GROUP="redict"
+
+# Redict-sentinel configuration file.
+REDICT_SENTINEL_CONF="/etc/redict/sentinel.conf"
+
+# Redict-sentinel working directory.
+REDICT_SENTINEL_DIR="/tmp"
+
+# Specify the network service that corresponds to the "bind" setting
+# in your sentinel.conf. For example, if you bind to 127.0.0.1, this should
+# be set to "net.lo" which provides the loopback interface.
+rc_need="net.lo"
diff --git a/dev-db/redict/files/redict-sentinel.initd b/dev-db/redict/files/redict-sentinel.initd
new file mode 100644
index 000000000000..f2d4afcd3cad
--- /dev/null
+++ b/dev-db/redict/files/redict-sentinel.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+: ${REDICT_SENTINEL_DIR:=/tmp}
+: ${REDICT_SENTINEL_CONF:=/etc/redict/sentinel.conf}
+: ${REDICT_SENTINEL_USER:=redict}
+: ${REDICT_SENTINEL_GROUP:=redict}
+: ${REDICT_SENTINEL_TIMEOUT:=30}
+
+depend() {
+ use localmount logger
+ after keepalived redict
+}
+
+command="/usr/sbin/redict-sentinel"
+command_args="${REDICT_SENTINEL_CONF}"
+command_background="true"
+command_user="${REDICT_SENTINEL_USER}:${REDICT_SENTINEL_GROUP}"
+pidfile="/run/${RC_SVCNAME}.pid"
+retry="${REDICT_SENTINEL_TIMEOUT}"
+start_stop_daemon_args="--chdir \"${REDICT_SENTINEL_DIR}\""
diff --git a/dev-db/redict/files/redict.confd b/dev-db/redict/files/redict.confd
new file mode 100644
index 000000000000..02814e18f140
--- /dev/null
+++ b/dev-db/redict/files/redict.confd
@@ -0,0 +1,20 @@
+# Redict user.
+REDICT_USER="redict"
+
+# Redict group.
+REDICT_GROUP="redict"
+
+# Redict configuration file.
+REDICT_CONF="/etc/redict/redict.conf"
+
+# Redict dump directory.
+REDICT_DIR="/var/lib/redict"
+
+# Redict options.
+# (Redict expects the first argument to be the configuration file.)
+REDICT_OPTS="${REDICT_CONF}"
+
+# Specify the network service that corresponds to the "bind" setting
+# in your redict.conf. For example, if you bind to 127.0.0.1, this should
+# be set to "net.lo" which provides the loopback interface.
+rc_need="net.lo"
diff --git a/dev-db/redict/files/redict.initd b/dev-db/redict/files/redict.initd
new file mode 100644
index 000000000000..80b086fbfce1
--- /dev/null
+++ b/dev-db/redict/files/redict.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+: ${REDICT_DIR:=/var/lib/redict}
+: ${REDICT_CONF:=/etc/redict/redict.conf}
+: ${REDICT_OPTS:="${REDICT_CONF}"}
+: ${REDICT_USER:=redict}
+: ${REDICT_GROUP:=redict}
+: ${REDICT_TIMEOUT:=30}
+
+# https://bugs.gentoo.org/631002#c10
+# Force '--daemonize no' to override the config file
+command="/usr/sbin/redict-server"
+command_args="${REDICT_OPTS} --daemonize no"
+command_background="true"
+command_user="${REDICT_USER}:${REDICT_GROUP}"
+pidfile="/run/${RC_SVCNAME}.pid"
+retry="${REDICT_TIMEOUT}"
+start_stop_daemon_args="--chdir \"${REDICT_DIR}\""
+
+depend() {
+ use localmount logger
+ after keepalived
+}
diff --git a/dev-db/redict/files/redict.logrotate b/dev-db/redict/files/redict.logrotate
new file mode 100644
index 000000000000..01608529dac4
--- /dev/null
+++ b/dev-db/redict/files/redict.logrotate
@@ -0,0 +1,6 @@
+/var/log/redict/redict.log /var/log/redict/sentinel.log {
+ compress
+ delaycompress
+ notifempty
+ missingok
+}
diff --git a/dev-db/redis/files/redis.service-3 b/dev-db/redict/files/redict.service
index 1c733fcec172..97fabd001d8e 100644
--- a/dev-db/redis/files/redis.service-3
+++ b/dev-db/redict/files/redict.service
@@ -4,10 +4,10 @@ After=syslog.target network.target
[Service]
Type=simple
-PIDFile=/run/redis/redis.pid
-ExecStart=/usr/sbin/redis-server /etc/redis.conf
-User=redis
-Group=redis
+PIDFile=/run/redict/redict.pid
+ExecStart=/usr/sbin/redict-server /etc/redict/redict.conf
+User=redict
+Group=redict
[Install]
WantedBy=multi-user.target
diff --git a/dev-db/redict/files/redict.tmpfiles b/dev-db/redict/files/redict.tmpfiles
new file mode 100644
index 000000000000..45e56d32afe7
--- /dev/null
+++ b/dev-db/redict/files/redict.tmpfiles
@@ -0,0 +1,2 @@
+# redict runtime directory
+d /run/redict 0755 redict root -
diff --git a/dev-db/redict/metadata.xml b/dev-db/redict/metadata.xml
new file mode 100644
index 000000000000..e00573fa4b5a
--- /dev/null
+++ b/dev-db/redict/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>navi@vlhl.dev</email>
+ <name>Anna (navi) Figueiredo Gomes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="codeberg">redict/redict</remote-id>
+ </upstream>
+ <use>
+ <flag name="tcmalloc">
+ Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-db/redict/redict-7.3.0.ebuild b/dev-db/redict/redict-7.3.0.ebuild
new file mode 100644
index 000000000000..b53bf105c3a1
--- /dev/null
+++ b/dev-db/redict/redict-7.3.0.ebuild
@@ -0,0 +1,159 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
+# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
+
+inherit edo multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="https://redict.io"
+
+SRC_URI="https://codeberg.org/redict/redict/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
+
+S=${WORKDIR}/${PN}
+
+LICENSE="BSD Boost-1.0 LGPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="+jemalloc ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+RDEPEND="
+ acct-group/redict
+ acct-user/redict
+ dev-libs/hiredict:0=[ssl?]
+ jemalloc? ( >=dev-libs/jemalloc-5.1:=[stats] )
+ ssl? ( dev-libs/openssl:0= )
+ systemd? ( sys-apps/systemd:= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/tcl:0=
+ ssl? ( dev-tcltk/tls )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/redict-7.3.0-config.patch
+ "${FILESDIR}"/redict-sentinel-7.3.0-config.patch
+ "${FILESDIR}"/redict-7.3.0-system-jemalloc.patch
+ "${FILESDIR}"/redict-7.3.0-system-hiredict.patch
+)
+
+src_prepare() {
+ default
+
+ # Respect user CFLAGS in bundled lua
+ sed -i '/LUA_CFLAGS/s: -O2::g' deps/Makefile || die
+}
+
+_build() {
+ tc-export AR CC RANLIB
+ local myconf=(
+ AR="${AR}"
+ CC="${CC}"
+ RANLIB="${RANLIB}"
+ CFLAGS="${CFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ V=1 # verbose
+ OPTIMIZATION=
+ DEBUG=
+ DEBUG_FLAGS=
+ BUILD_TLS=$(usex ssl)
+ USE_SYSTEMD=$(usex systemd)
+ USE_SYSTEM_HIREDICT=yes
+ )
+
+ if use jemalloc; then
+ myconf+=(
+ MALLOC=jemalloc
+ USE_SYSTEM_JEMALLOC=yes
+ )
+ elif use tcmalloc; then
+ myconf+=( MALLOC=tcmalloc )
+ else
+ myconf+=( MALLOC=libc )
+ fi
+
+ emake -C src "${myconf[@]}" "$@"
+}
+
+src_compile() {
+ _build
+}
+
+src_test() {
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+
+ --skiptest "Active defrag eval scripts" # see bug #851654
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "oom-score-adj related tests will be skipped." \
+ "They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ runtestargs+=(
+ # unit/oom-score-adj was introduced in version 6.2.0
+ --skipunit unit/oom-score-adj # see bug #756382
+
+ # Following test was added in version 7.0.0 to unit/introspection.
+ # It also tries to adjust OOM score.
+ --skiptest "CONFIG SET rollback on apply error"
+ )
+ fi
+
+ if use ssl; then
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
+ fi
+
+ edo ./runtest "${runtestargs[@]}"
+}
+
+src_install() {
+ insinto /etc/redict
+ doins redict.conf sentinel.conf
+ use prefix || fowners -R redict:redict /etc/redict /etc/redict/{redict,sentinel}.conf
+
+ newconfd "${FILESDIR}/redict.confd" redict
+ newinitd "${FILESDIR}/redict.initd" redict
+
+ systemd_newunit "${FILESDIR}/redict.service" redict.service
+ newtmpfiles "${FILESDIR}/redict.tmpfiles" redict.conf
+
+ newconfd "${FILESDIR}/redict-sentinel.confd" redict-sentinel
+ newinitd "${FILESDIR}/redict-sentinel.initd" redict-sentinel
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/redict.logrotate" "${PN}"
+
+ _build DESTDIR="${ED}" PREFIX="/usr" install
+
+ if use prefix; then
+ diropts -m0750
+ else
+ diropts -m0750 -o redict -g redict
+ fi
+ keepdir /var/{log,lib}/redict
+}
+
+pkg_postinst() {
+ tmpfiles_process redict.conf
+
+ if has_version dev-db/redis && [[ -z "${REPLACING_VERSIONS}" ]]; then
+ ewarn "Redict uses different configuration files than redis:"
+ ewarn "/etc/redict/{redict,sentinel}.conf"
+ ewarn "Please apply your changes to the new configuration files."
+ fi
+}
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index c5282e8ff2df..42639718a287 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,6 +1,3 @@
-DIST redis-5.0.13.tar.gz 1995566 BLAKE2B 1020b26162d212f980fd07bfe1879120306c7e796cde7e48dfcc1c3aa555a0a25299c17ad65515cc54be3c354bff58cefe67bba5dfc26f6b24d56a46debfa267 SHA512 9784193a53b459a2e4937e8f0d18652a0677d29746e359e5f8ffddeea4cea305f10c8eeae9007e49c0ba9ebedb9b603aced61592ba3302e5b64be78020b3b4bf
-DIST redis-5.0.14.tar.gz 2000179 BLAKE2B 77d3ed09a81450dbf806edd017785b82c50bb059aab44c82bc4ab784b7f03d5c58f9372b96c857831f84d278771dcf223f42ca05af790f0dc10ecdde211fd149 SHA512 513299ae8b967a659d54812fab4dfdfaf0081b20136a3d89b6a761e93548583c96436fedb84baa4d23385b42110ef615527efc3690b873f5bec7793403fe7eaf
-DIST redis-6.0.15.tar.gz 2282471 BLAKE2B b7f37a76d2a16e0f84f51a737e2c23ebc27750ece790cf800a0f70bfd481db01d82dc68511f80e5935dc73d70f02716a4f9005d4d177ecf3f2a0c5290ecd41ff SHA512 e7ba123798a11e1c68dd6d3ebb0586bed4f2bb33755871f1577f7e0229f826b468c2130c31bcc85a64ce7ff54e280df0a7c60e0882f3ed2a11d43e7819fe8b9e
-DIST redis-6.0.16.tar.gz 2288647 BLAKE2B f3552cc0d27cbc5cf6556792da9a75d01ff70d372484c95d2af8b24ec902a8086b9c3f4e53513df982fe135963432bfb527334926dd494e50d2cc618ab813f39 SHA512 83bb72448f9943e3d015cb4d961eb2eae21602ef1f90ca52ca8ab7c6918b0ab979db9f61f3981df27b2286894f4864f4588c3a52fa988e30e9419b0967998845
-DIST redis-6.2.5.tar.gz 2465302 BLAKE2B 51cc672ab432bb87560151521289d04e8fefb8e4df820f58a9b742131a0f1960c0019dec42a601bad827ec2a172375b88b6cf32a19aef42964e18f5a7a911c40 SHA512 8c54451032cbb627ec2827251556cba2010e56544baca7ea117b5afd2c2add484acbedd3baf21bdb8fd10672602cf52294a4e26b135c1406d7a723c048275e3a
-DIST redis-6.2.6.tar.gz 2476542 BLAKE2B d139479432171294911d99e7e8c2327dbbc6682ea49de761c4bb4089a2efd814926f2f8823dca1826b4a61dd9ccf79abb22878c9463ac92870481b43d8a7fff7 SHA512 9b947d26fd9e208627ed22d318ab3d0775ab0be46d98db1c1d158feac671b984e75ce33e647d196face9643f80768af47e678be1b4e1ddd3eb56dff467c46022
+DIST redis-6.2.14.tar.gz 2496149 BLAKE2B 689a0c3b558e07f43f8b1480fbf7a083184bbc0ccde0b184dc8a1d89ed22bec9694b7c8605ff729c9e9d582e8cf47c8f9cd9ee0794ea15e07cdb0b886e93c116 SHA512 140d4b23c20d459b65be8c61996e281222f978b51c52cb048039d741801e4027775ad89ed354dc0dce3d47703a08610adafaf6253fea2f973d5b9d20bc1e59ce
+DIST redis-7.0.15.tar.gz 2994329 BLAKE2B fa1bc85c89cb6a6fb18710a4d29c20db44a80ce445d217f39a234a2aad1d79031e9d1fc45415af7b0eb1c169bd88f45f1fe60cab35de38c6fadc839e2a27676d SHA512 83d58f98085f91754f6d87810e7da0d6cf11ffbe11a0f5d3581d5b2c63d2a752ba6b4eda921a04031aedc56ecebe349cd468ab5ad837493f55d2cac0ab3d015a
+DIST redis-7.2.4.tar.gz 3386861 BLAKE2B 852d55f875378248fa15e189308afbe36bca73c2aa2e5423a765a3d6f6895908ac1455148e032f6d1a1087f57af5869bccf8a932684817109f3fcf09b204e639 SHA512 78590fb6680f229905c240ed8ce7a9a7153e5f8563577dbbb26aebf9bfbdcd7495d687f452bd95e0a86c76d772e1c497b506cf8d29bc97b62c9267f7d1e76f72
diff --git a/dev-db/redis/files/configure.ac-7.0 b/dev-db/redis/files/configure.ac-7.0
new file mode 100644
index 000000000000..45397b33b7ec
--- /dev/null
+++ b/dev-db/redis/files/configure.ac-7.0
@@ -0,0 +1,58 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.63)
+AC_INIT(redis, __PV__, antirez@gmail.com)
+AM_CFLAGS="-std=c99 -pedantic -Wall -W -D__EXTENSIONS__ -D_XPG6"
+if test x"$CFLAGS" = x""; then
+ AM_CFLAGS="$AM_CFLAGS -O2"
+else
+ AM_CFLAGS="$AM_CFLAGS $CFLAGS"
+fi
+
+# options
+AC_MSG_CHECKING([whether to build with debug information])
+AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+ [enable debug data generation (def=no)])],
+ [debugit="$enableval"],
+ [debugit=no])
+AC_MSG_RESULT([$debugit])
+
+if test x"$debugit" = x"yes"; then
+ AC_DEFINE([DEBUG],[],[Debug Mode])
+ AM_CFLAGS="$AM_CFLAGS -g -rdynamic -ggdb"
+else
+ AC_DEFINE([NDEBUG],[],[No-debug Mode])
+fi
+AC_SUBST([AM_CFLAGS])
+
+# Checks for programs.
+AC_PROG_CC
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_INLINE
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+
+# Checks for library functions.
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_STRCOLL
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([dup2 gethostbyname gettimeofday inet_ntoa memchr memmove memset select socket strcasecmp strchr strerror strstr strtol])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/dev-db/redis/files/redis-5.0-sharedlua.patch b/dev-db/redis/files/redis-5.0-sharedlua.patch
deleted file mode 100644
index 3e14f41733b0..000000000000
--- a/dev-db/redis/files/redis-5.0-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 773d3b2..2d120d4 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
-@@ -66,6 +66,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
-
- ifeq ($(uname_S),SunOS)
-@@ -107,7 +108,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@
-
- ifeq ($(MALLOC),tcmalloc)
- FINAL_CFLAGS+= -DUSE_TCMALLOC
-@@ -145,6 +146,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 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
-+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 anet.o ae.o crc64.o siphash.o crc16.o
- REDIS_BENCHMARK_NAME=redis-benchmark
-@@ -196,7 +198,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/files/redis-5.0.8-ppc-atomic.patch b/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch
deleted file mode 100644
index 61a4cc721eb1..000000000000
--- a/dev-db/redis/files/redis-5.0.8-ppc-atomic.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/src/Makefile b/src/Makefile
-index 4b2a31c..4ef853b 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -77,6 +77,14 @@ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
- DEBUG=-g -ggdb
-
-+ifneq (,$(filter powerpc ppc,$(uname_M)))
-+ FINAL_LIBS+=-latomic
-+else
-+ifneq (,$(findstring ppc,$(uname_M)))
-+ FINAL_LIBS+=-latomic
-+endif
-+endif
-+
- # Linux ARM needs -latomic at linking time
- ifneq (,$(filter aarch64 armv,$(uname_M)))
- FINAL_LIBS+=-latomic
diff --git a/dev-db/redis/files/redis-6.0.12-sharedlua.patch b/dev-db/redis/files/redis-6.0.12-sharedlua.patch
deleted file mode 100644
index 3707bcf30788..000000000000
--- a/dev-db/redis/files/redis-6.0.12-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 cfecbb2..86c3127 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
-@@ -69,6 +69,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
-@@ -159,7 +160,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
-@@ -238,6 +239,7 @@ endif
- REDIS_SERVER_NAME=redis-server$(PROG_SUFFIX)
- REDIS_SENTINEL_NAME=redis-sentinel$(PROG_SUFFIX)
- 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 mt19937-64.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$(PROG_SUFFIX)
- 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 mt19937-64.o
- REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
-@@ -291,7 +293,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/files/redis-6.2.1-sharedlua.patch b/dev-db/redis/files/redis-6.2.1-sharedlua.patch
deleted file mode 100644
index cf8aa8532d77..000000000000
--- a/dev-db/redis/files/redis-6.2.1-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 6f0fd84..6546b5d 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 hdr_histogram
-+DEPENDENCY_TARGETS=hiredis linenoise hdr_histogram
- NODEPS:=clean distclean
-
- # Default settings
-@@ -84,6 +84,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
-@@ -186,7 +187,7 @@ endif
- endif
- endif
- # Include paths to dependencies
--FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram
-+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@ -I../deps/hdr_histogram
-
- # Determine systemd support and/or build preference (defaulting to auto-detection)
- BUILD_WITH_SYSTEMD=no
-@@ -268,6 +269,7 @@ endif
- REDIS_SERVER_NAME=redis-server$(PROG_SUFFIX)
- REDIS_SENTINEL_NAME=redis-sentinel$(PROG_SUFFIX)
- 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 monotonic.o mt19937-64.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$(PROG_SUFFIX)
- 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 monotonic.o cli_common.o mt19937-64.o
- REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
-@@ -321,7 +323,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/files/redis-7.0.4-no-which.patch b/dev-db/redis/files/redis-7.0.4-no-which.patch
new file mode 100644
index 000000000000..e8c775d8bce1
--- /dev/null
+++ b/dev-db/redis/files/redis-7.0.4-no-which.patch
@@ -0,0 +1,66 @@
+--- a/runtest
++++ b/runtest
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/runtest-cluster
++++ b/runtest-cluster
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/runtest-moduleapi
++++ b/runtest-moduleapi
+@@ -4,7 +4,7 @@ TCLSH=""
+ [ -z "$MAKE" ] && MAKE=make
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/runtest-sentinel
++++ b/runtest-sentinel
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/utils/generate-module-api-doc.rb
++++ b/utils/generate-module-api-doc.rb
+@@ -164,7 +164,7 @@ end
+ # Populate the 'since' map (name => version) if we're in a git repo.
+ $since = {}
+ git_dir = File.dirname(__FILE__) ++ "/../.git"
+-if File.directory?(git_dir) && `which git` != ""
++if File.directory?(git_dir) && `comamnd -v git` != ""
+ `git --git-dir="#{git_dir}" tag --sort=v:refname`.each_line do |version|
+ next if version !~ /^(\d+)\.\d+\.\d+?$/ || $1.to_i < 4
+ version.chomp!
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -52,7 +52,7 @@ INSTALL=install
+ PKG_CONFIG?=pkg-config
+
+ ifndef PYTHON
+-PYTHON := $(shell which python3 || which python)
++PYTHON := $(shell command -v python3 || command -v python)
+ endif
+
+ # Default allocator defaults to Jemalloc if it's not an ARM
diff --git a/dev-db/redis/files/redis-7.2.0-system-jemalloc.patch b/dev-db/redis/files/redis-7.2.0-system-jemalloc.patch
new file mode 100644
index 000000000000..cc2c51a50ea9
--- /dev/null
+++ b/dev-db/redis/files/redis-7.2.0-system-jemalloc.patch
@@ -0,0 +1,33 @@
+Rebased from original redis-5.0-shared.patch
+
+diff --git a/src/Makefile b/src/Makefile
+index ecbd2753d..275446338 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -65,10 +65,7 @@ PYTHON := $(shell which python3 || which python)
+ endif
+
+ # Default allocator defaults to Jemalloc on Linux and libc otherwise
+-MALLOC=libc
+-ifeq ($(uname_S),Linux)
+- MALLOC=jemalloc
+-endif
++MALLOC?=jemalloc
+
+ # To get ARM stack traces if Redis crashes we need a special C flag.
+ ifneq (,$(filter aarch64 armv%,$(uname_M)))
+@@ -266,9 +263,8 @@ ifeq ($(MALLOC),tcmalloc_minimal)
+ endif
+
+ ifeq ($(MALLOC),jemalloc)
+- DEPENDENCY_TARGETS+= jemalloc
+- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+- FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
++ FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE
++ FINAL_LIBS+= -ljemalloc -ldl
+ endif
+
+ # LIBSSL & LIBCRYPTO
+--
+2.41.0
+
diff --git a/dev-db/redis/files/redis-sentinel-7.2.0-config.patch b/dev-db/redis/files/redis-sentinel-7.2.0-config.patch
new file mode 100644
index 000000000000..db9df6786c19
--- /dev/null
+++ b/dev-db/redis/files/redis-sentinel-7.2.0-config.patch
@@ -0,0 +1,27 @@
+Rebased from original redis-sentinel-5.0-config.patch
+
+diff --git a/sentinel.conf b/sentinel.conf
+index b7b3604f0..a1d7bfea9 100644
+--- a/sentinel.conf
++++ b/sentinel.conf
+@@ -17,7 +17,7 @@ daemonize no
+ # When running daemonized, Redis Sentinel writes a pid file in
+ # /var/run/redis-sentinel.pid by default. You can specify a custom pid file
+ # location here.
+-pidfile /var/run/redis-sentinel.pid
++pidfile /run/redis-sentinel.pid
+
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -31,7 +31,7 @@ loglevel notice
+ # Specify the log file name. Also the empty string can be used to force
+ # Sentinel to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile "/var/log/redis/sentinel.log"
+
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+--
+2.41.0
+
diff --git a/dev-db/redis/files/redis-sentinel.confd b/dev-db/redis/files/redis-sentinel.confd
deleted file mode 100644
index f465a5c3e91f..000000000000
--- a/dev-db/redis/files/redis-sentinel.confd
+++ /dev/null
@@ -1,16 +0,0 @@
-# Redis-sentinel user.
-REDIS_SENTINEL_USER="redis"
-
-# Redis-sentinel group.
-REDIS_SENTINEL_GROUP="redis"
-
-# Redis-sentinel configuration file.
-REDIS_SENTINEL_CONF="/etc/sentinel.conf"
-
-# Redis-sentinel working directory.
-REDIS_SENTINEL_DIR="/tmp"
-
-# Specify the network service that corresponds to the "bind" setting
-# in your sentinel.conf. For example, if you bind to 127.0.0.1, this should
-# be set to "net.lo" which provides the loopback interface.
-rc_need="net.lo"
diff --git a/dev-db/redis/files/redis-sentinel.initd b/dev-db/redis/files/redis-sentinel.initd
deleted file mode 100644
index 6a22d08db697..000000000000
--- a/dev-db/redis/files/redis-sentinel.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-: ${REDIS_SENTINEL_DIR:=/tmp}
-: ${REDIS_SENTINEL_CONF:=/etc/sentinel.conf}
-: ${REDIS_SENTINEL_USER:=redis}
-: ${REDIS_SENTINEL_GROUP:=redis}
-: ${REDIS_SENTINEL_TIMEOUT:=30}
-
-command="/usr/sbin/redis-sentinel"
-command_args="${REDIS_SENTINEL_CONF}"
-command_background="true"
-command_user="${REDIS_SENTINEL_USER}:${REDIS_SENTINEL_GROUP}"
-pidfile="/run/${RC_SVCNAME}.pid"
-retry="${REDIS_SENTINEL_TIMEOUT}"
-start_stop_daemon_args="--chdir \"${REDIS_SENTINEL_DIR}\""
-
-depend() {
- use localmount logger
- after keepalived redis
-}
diff --git a/dev-db/redis/files/redis.confd-r1 b/dev-db/redis/files/redis.confd-r1
deleted file mode 100644
index 1f4ff23f211b..000000000000
--- a/dev-db/redis/files/redis.confd-r1
+++ /dev/null
@@ -1,20 +0,0 @@
-# Redis user.
-REDIS_USER="redis"
-
-# Redis group.
-REDIS_GROUP="redis"
-
-# Redis configuration file.
-REDIS_CONF="/etc/redis.conf"
-
-# Redis dump directory.
-REDIS_DIR="/var/lib/redis"
-
-# Redis options.
-# (Redis expects the first argument to be the configuration file.)
-REDIS_OPTS="${REDIS_CONF}"
-
-# Specify the network service that corresponds to the "bind" setting
-# in your redis.conf. For example, if you bind to 127.0.0.1, this should
-# be set to "net.lo" which provides the loopback interface.
-rc_need="net.lo"
diff --git a/dev-db/redis/files/redis.initd-5 b/dev-db/redis/files/redis.initd-5
deleted file mode 100644
index bfeeb6925ec0..000000000000
--- a/dev-db/redis/files/redis.initd-5
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-: ${REDIS_DIR:=/var/lib/redis}
-: ${REDIS_CONF:=/etc/redis.conf}
-: ${REDIS_OPTS:="${REDIS_CONF}"}
-: ${REDIS_USER:=redis}
-: ${REDIS_GROUP:=redis}
-: ${REDIS_TIMEOUT:=30}
-
-# https://bugs.gentoo.org/631002#c10
-# Force '--daemonize no' to override the config file
-command="/usr/sbin/redis-server"
-command_args="${REDIS_OPTS} --daemonize no"
-command_background="true"
-command_user="${REDIS_USER}:${REDIS_GROUP}"
-pidfile="/run/${RC_SVCNAME}.pid"
-retry="${REDIS_TIMEOUT}"
-start_stop_daemon_args="--chdir \"${REDIS_DIR}\""
-
-depend() {
- use localmount logger
- after keepalived
-}
diff --git a/dev-db/redis/files/redis.tmpfiles b/dev-db/redis/files/redis.tmpfiles
deleted file mode 100644
index 657d8a551d4b..000000000000
--- a/dev-db/redis/files/redis.tmpfiles
+++ /dev/null
@@ -1,2 +0,0 @@
-# redis runtime directory
-d /var/run/redis 0755 redis root -
diff --git a/dev-db/redis/metadata.xml b/dev-db/redis/metadata.xml
index 9810bc7e7552..74cc4cf994f0 100644
--- a/dev-db/redis/metadata.xml
+++ b/dev-db/redis/metadata.xml
@@ -2,6 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
+ <email>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
@@ -10,4 +14,7 @@
Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations.
</flag>
</use>
+ <upstream>
+ <remote-id type="github">redis/redis</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/redis/redis-5.0.13.ebuild b/dev-db/redis/redis-5.0.13.ebuild
deleted file mode 100644
index a8ec106eeb4d..000000000000
--- a/dev-db/redis/redis-5.0.13.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic systemd toolchain-funcs tmpfiles
-
-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"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit test"
-RESTRICT="!test? ( test )"
-
-# Redis does NOT build with Lua 5.2 or newer at this time.
-COMMON_DEPEND="
- luajit? ( dev-lang/luajit:2 )
- !luajit? ( dev-lang/lua:5.1 )
- tcmalloc? ( dev-util/google-perftools )
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )"
-
-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= )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.3-config.patch
- "${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-5.0-sharedlua.patch
- "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
- "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-)
-
-src_prepare() {
- default
-
- # don't call ar directly
- sed -e '/^STLIB_MAKE_CMD/s/ar/$(AR)/g' \
- -i deps/hiredis/Makefile || die
-
- # Copy lua modules into build dir
- cp deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c src/ || die
- cp deps/lua/src/{fpconv,strbuf}.h 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 tcmalloc; then
- myconf="${myconf} USE_TCMALLOC=yes"
- elif use jemalloc; then
- myconf="${myconf} JEMALLOC_SHARED=yes"
- else
- myconf="${myconf} MALLOC=yes"
- fi
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-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
- newtmpfiles "${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
-}
-
-pkg_postinst() {
- tmpfiles_process redis.conf
-}
diff --git a/dev-db/redis/redis-5.0.14.ebuild b/dev-db/redis/redis-5.0.14.ebuild
deleted file mode 100644
index a8ec106eeb4d..000000000000
--- a/dev-db/redis/redis-5.0.14.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic systemd toolchain-funcs tmpfiles
-
-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"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit test"
-RESTRICT="!test? ( test )"
-
-# Redis does NOT build with Lua 5.2 or newer at this time.
-COMMON_DEPEND="
- luajit? ( dev-lang/luajit:2 )
- !luajit? ( dev-lang/lua:5.1 )
- tcmalloc? ( dev-util/google-perftools )
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )"
-
-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= )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.3-config.patch
- "${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-5.0-sharedlua.patch
- "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
- "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-)
-
-src_prepare() {
- default
-
- # don't call ar directly
- sed -e '/^STLIB_MAKE_CMD/s/ar/$(AR)/g' \
- -i deps/hiredis/Makefile || die
-
- # Copy lua modules into build dir
- cp deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c src/ || die
- cp deps/lua/src/{fpconv,strbuf}.h 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 tcmalloc; then
- myconf="${myconf} USE_TCMALLOC=yes"
- elif use jemalloc; then
- myconf="${myconf} JEMALLOC_SHARED=yes"
- else
- myconf="${myconf} MALLOC=yes"
- fi
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-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
- newtmpfiles "${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
-}
-
-pkg_postinst() {
- tmpfiles_process redis.conf
-}
diff --git a/dev-db/redis/redis-6.0.15.ebuild b/dev-db/redis/redis-6.0.15.ebuild
deleted file mode 100644
index 347c229d7386..000000000000
--- a/dev-db/redis/redis-6.0.15.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Redis does NOT build with Lua 5.2 or newer at this time:
-# - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-# - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-# because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- ${LUA_DEPS}
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )
- ssl? ( dev-libs/openssl:0= )
- systemd? ( sys-apps/systemd:= )
- 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 )
- ${LUA_REQUIRED_USE}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.3-config.patch
- "${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-6.0.12-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.
- # The upstream configure script handles luajit specially, and is not
- # effected by these changes.
- 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,${ELUA},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf $(use_with lua_single_target_luajit 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
-
- export USE_SYSTEMD=$(usex systemd)
-
- 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/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" 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
-}
-
-pkg_postinst() {
- tmpfiles_process redis.conf
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-6.0.16.ebuild b/dev-db/redis/redis-6.0.16.ebuild
deleted file mode 100644
index 347c229d7386..000000000000
--- a/dev-db/redis/redis-6.0.16.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Redis does NOT build with Lua 5.2 or newer at this time:
-# - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-# - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-# because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- ${LUA_DEPS}
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )
- ssl? ( dev-libs/openssl:0= )
- systemd? ( sys-apps/systemd:= )
- 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 )
- ${LUA_REQUIRED_USE}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.3-config.patch
- "${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-6.0.12-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.
- # The upstream configure script handles luajit specially, and is not
- # effected by these changes.
- 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,${ELUA},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf $(use_with lua_single_target_luajit 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
-
- export USE_SYSTEMD=$(usex systemd)
-
- 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/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" 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
-}
-
-pkg_postinst() {
- tmpfiles_process redis.conf
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-6.2.5.ebuild b/dev-db/redis/redis-6.2.14-r1.ebuild
index ebe779b0841d..1ecde456a4ac 100644
--- a/dev-db/redis/redis-6.2.5.ebuild
+++ b/dev-db/redis/redis-6.2.14-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
# Redis does NOT build with Lua 5.2 or newer at this time:
# - 5.3 and 5.4 give:
@@ -11,16 +11,19 @@ EAPI=7
# because lua_open became lua_newstate in 5.2
LUA_COMPAT=( lua5-1 luajit )
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
+# Upstream have deviated too far from vanilla Lua, adding their own APIs
+# like lua_enablereadonlytable, but we still need the eclass and such
+# for bug #841422.
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
-DESCRIPTION="A persistent caching system, key-value and data structures database"
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
HOMEPAGE="https://redis.io"
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
@@ -35,6 +38,7 @@ RDEPEND="
${COMMON_DEPEND}
acct-group/redis
acct-user/redis
+ selinux? ( sec-policy/selinux-redis )
"
BDEPEND="
@@ -56,7 +60,6 @@ REQUIRED_USE="?? ( jemalloc tcmalloc )
PATCHES=(
"${FILESDIR}"/${PN}-6.2.1-config.patch
"${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-6.2.1-sharedlua.patch
"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
)
@@ -64,12 +67,9 @@ PATCHES=(
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
+ #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"
@@ -93,7 +93,7 @@ src_prepare() {
# Use the correct pkgconfig name for Lua.
# The upstream configure script handles luajit specially, and is not
- # effected by these changes.
+ # affected by these changes.
sed -i \
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
@@ -103,7 +103,7 @@ src_prepare() {
}
src_configure() {
- econf $(use_with lua_single_target_luajit luajit)
+ econf #$(use_with lua_single_target_luajit luajit)
# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
# also, don't define ANSI/c99 for lua twice
@@ -132,18 +132,24 @@ src_compile() {
}
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'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "unit/oom-score-adj test will be skipped." \
+ "It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ # unit/oom-score-adj was introduced in version 6.2.0
+ runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-6.2.6.ebuild b/dev-db/redis/redis-7.0.15-r1.ebuild
index ebe779b0841d..ea4ae7fc184e 100644
--- a/dev-db/redis/redis-6.2.6.ebuild
+++ b/dev-db/redis/redis-7.0.15-r1.ebuild
@@ -1,30 +1,24 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-# Redis does NOT build with Lua 5.2 or newer at this time:
-# - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-# - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-# because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
+# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
+# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
+inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
-DESCRIPTION="A persistent caching system, key-value and data structures database"
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
HOMEPAGE="https://redis.io"
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
- ${LUA_DEPS}
jemalloc? ( >=dev-libs/jemalloc-5.1:= )
ssl? ( dev-libs/openssl:0= )
systemd? ( sys-apps/systemd:= )
@@ -35,6 +29,7 @@ RDEPEND="
${COMMON_DEPEND}
acct-group/redis
acct-user/redis
+ selinux? ( sec-policy/selinux-redis )
"
BDEPEND="
@@ -50,26 +45,19 @@ DEPEND="
ssl? ( dev-tcltk/tls )
)"
-REQUIRED_USE="?? ( jemalloc tcmalloc )
- ${LUA_REQUIRED_USE}"
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
PATCHES=(
"${FILESDIR}"/${PN}-6.2.1-config.patch
"${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-6.2.1-sharedlua.patch
"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+ "${FILESDIR}"/${PN}-7.0.4-no-which.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"
@@ -89,21 +77,17 @@ src_prepare() {
makefiles+=" ${MKF}"
done
# autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+ cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
- # Use the correct pkgconfig name for Lua.
- # The upstream configure script handles luajit specially, and is not
- # effected by these changes.
sed -i \
- -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+ -e "/^AC_INIT/s|, __PV__, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
configure.ac || die "Sed failed for configure.ac"
eautoreconf
}
src_configure() {
- econf $(use_with lua_single_target_luajit luajit)
+ econf
# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
# also, don't define ANSI/c99 for lua twice
@@ -132,18 +116,32 @@ src_compile() {
}
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'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+
+ --skiptest "Active defrag eval scripts" # see bug #851654
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "oom-score-adj related tests will be skipped." \
+ "They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ runtestargs+=(
+ # unit/oom-score-adj was introduced in version 6.2.0
+ --skipunit unit/oom-score-adj # see bug #756382
+
+ # Following test was added in version 7.0.0 to unit/introspection.
+ # It also tries to adjust OOM score.
+ --skiptest "CONFIG SET rollback on apply error"
+ )
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
@@ -165,7 +163,7 @@ src_install() {
insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}
- dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+ dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
dobin src/redis-cli
dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
diff --git a/dev-db/redis/redis-7.2.4-r1.ebuild b/dev-db/redis/redis-7.2.4-r1.ebuild
new file mode 100644
index 000000000000..8ccfee0d3429
--- /dev/null
+++ b/dev-db/redis/redis-7.2.4-r1.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
+# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
+
+inherit autotools edo multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="
+ https://redis.io
+ https://github.com/redis/redis
+"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD Boost-1.0"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+ ssl? ( dev-libs/openssl:0= )
+ systemd? ( sys-apps/systemd:= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ acct-group/redis
+ acct-user/redis
+ selinux? ( sec-policy/selinux-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}-6.2.1-config.patch
+ "${FILESDIR}"/${PN}-7.2.0-system-jemalloc.patch
+ "${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+ "${FILESDIR}"/${PN}-sentinel-7.2.0-config.patch
+ "${FILESDIR}"/${PN}-7.0.4-no-which.patch
+)
+
+src_prepare() {
+ default
+
+ # Respect user CFLAGS in bundled lua
+ sed -i '/LUA_CFLAGS/s: -O2::g' deps/Makefile || die
+
+ # now we will rewrite present Makefiles
+ local makefiles="" MKF
+ local mysedconf=(
+ -e 's:$(CC):@CC@:g'
+ -e 's:$(CFLAGS):@AM_CFLAGS@:g'
+ -e 's: $(DEBUG)::g'
+
+ -e 's:-Werror ::g'
+ -e 's:-Werror=deprecated-declarations ::g'
+ )
+ for MKF in $(find -name 'Makefile' | cut -b 3-); do
+ mv "${MKF}" "${MKF}.in"
+ sed -i "${mysedconf[@]}" "${MKF}.in" || die "Sed failed for ${MKF}"
+ makefiles+=" ${MKF}"
+ done
+ # autodetection of compiler and settings; generates the modified Makefiles
+ cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
+
+ sed -i \
+ -e "/^AC_INIT/s|, __PV__, |, $PV, |" \
+ -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+ configure.ac || die "Sed failed for configure.ac"
+ eautoreconf
+}
+
+src_configure() {
+ econf
+
+ # 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() {
+ tc-export AR CC RANLIB
+
+ local myconf=(
+ AR="${AR}"
+ CC="${CC}"
+ RANLIB="${RANLIB}"
+
+ V=1 # verbose
+
+ # OPTIMIZATION defaults to -O3. Let's respect user CFLAGS by setting it
+ # to empty value.
+ OPTIMIZATION=''
+ # Disable debug flags in bundled hiredis
+ DEBUG_FLAGS=''
+
+ BUILD_TLS=$(usex ssl)
+ USE_SYSTEMD=$(usex systemd)
+ )
+
+ if use jemalloc; then
+ myconf+=( MALLOC=jemalloc )
+ elif use tcmalloc; then
+ myconf+=( MALLOC=tcmalloc )
+ else
+ myconf+=( MALLOC=libc )
+ fi
+
+ emake "${myconf[@]}"
+}
+
+src_test() {
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+
+ --skiptest "Active defrag eval scripts" # see bug #851654
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "oom-score-adj related tests will be skipped." \
+ "They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ runtestargs+=(
+ # unit/oom-score-adj was introduced in version 6.2.0
+ --skipunit unit/oom-score-adj # see bug #756382
+
+ # Following test was added in version 7.0.0 to unit/introspection.
+ # It also tries to adjust OOM score.
+ --skiptest "CONFIG SET rollback on apply error"
+ )
+ fi
+
+ if use ssl; then
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
+ fi
+
+ edo ./runtest "${runtestargs[@]}"
+}
+
+src_install() {
+ insinto /etc/redis
+ doins redis.conf sentinel.conf
+ use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
+ fperms 0750 /etc/redis
+ fperms 0644 /etc/redis/{redis,sentinel}.conf
+
+ newconfd "${FILESDIR}/redis.confd-r2" redis
+ newinitd "${FILESDIR}/redis.initd-6" redis
+
+ systemd_newunit "${FILESDIR}/redis.service-4" redis.service
+ newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+ newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
+ newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md 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
+}
+
+pkg_postinst() {
+ tmpfiles_process redis.conf
+
+ ewarn "The default redis configuration file location changed to:"
+ ewarn " /etc/redis/{redis,sentinel}.conf"
+ ewarn "Please apply your changes to the new configuration files."
+}
diff --git a/dev-db/repmgr/files/repmgr-5.1.0-fix-missing-getpwuid-clang16.patch b/dev-db/repmgr/files/repmgr-5.1.0-fix-missing-getpwuid-clang16.patch
new file mode 100644
index 000000000000..53eeb524c7c9
--- /dev/null
+++ b/dev-db/repmgr/files/repmgr-5.1.0-fix-missing-getpwuid-clang16.patch
@@ -0,0 +1,12 @@
+Bug: https://bugs.gentoo.org/883237
+--- a/repmgr-client.c
++++ b/repmgr-client.c
+@@ -54,6 +54,8 @@
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <signal.h>
++#include <sys/types.h>
++#include <pwd.h>
+
+
+ #include "repmgr.h"
diff --git a/dev-db/repmgr/repmgr-5.1.0-r1.ebuild b/dev-db/repmgr/repmgr-5.1.0-r1.ebuild
new file mode 100644
index 000000000000..7d986cfa5fc3
--- /dev/null
+++ b/dev-db/repmgr/repmgr-5.1.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="PostgreSQL Replication Manager"
+HOMEPAGE="http://www.repmgr.org/"
+SRC_URI="http://www.repmgr.org/download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-db/postgresql:*[server,static-libs]"
+RDEPEND="${DEPEND}
+ net-misc/rsync"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fno-common.patch
+ "${FILESDIR}"/${P}-fix-missing-getpwuid-clang16.patch
+)
+
+src_compile() {
+ emake USE_PGXS=1
+}
+
+src_install() {
+ emake DESTDIR="${D}" USE_PGXS=1 install
+ dodoc CREDITS HISTORY COPYRIGHT *.md
+
+ local PGSLOT="$(postgresql-config show)"
+ einfo "PGSLOT: ${PGSLOT}"
+
+ dodir /usr/share/postgresql-${PGSLOT}/contrib
+ dodir /usr/$(get_libdir)/postgresql-${PGSLOT}
+
+ local repmgr="/usr/bin/repmgr${PGSLOT//.}"
+ local repmgrd="/usr/bin/repmgrd${PGSLOT//.}"
+ dosym ../$(get_libdir)/postgresql-${PGSLOT}/bin/repmgr ${repmgr}
+ dosym ../$(get_libdir)/postgresql-${PGSLOT}/bin/repmgrd ${repmgrd}
+
+ insinto /etc
+ newins repmgr.conf.sample repmgr.conf
+
+ fowners postgres:postgres /etc/repmgr.conf
+ ewarn "Remember to modify /etc/repmgr.conf"
+}
diff --git a/dev-db/rqlite/Manifest b/dev-db/rqlite/Manifest
index 76f61df70af1..4f54ccf8ec50 100644
--- a/dev-db/rqlite/Manifest
+++ b/dev-db/rqlite/Manifest
@@ -1,441 +1,3 @@
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.37.4.mod 1006 BLAKE2B ed912b9fe91ee4e16f58b599232ea85bc1f994a290e8f514f6d053bad6312422c18e868b9d419079c63cd547781dcf82994b53af6ef10bb23fea05b66f55747f SHA512 8e12292cb0c83d0ea8d4227c27fdabaed182de6f42bc6a29bd53848c41c87754994dd50df282ff30ab78411d54a6667a371d84b620d1b02f3f953429e3c2e97b
-DIST github.com%2F!bowery%2Fprompt%2F@v%2Fv0.0.0-20190916142128-fa8279994f75.mod 32 BLAKE2B 1993101cf60d3e6cb8eb318b265bdb167109bd5b0c5a446c155e19c7e36730268091bcd90e9b72a560fe421e8911ce38ea3045f2f903666a6714609ad254e4fa SHA512 c8e0182aa59575ecad31b0c9be0517ae55fc3daa8daa700252e4dc866def7ac16344bcfe9f081b941a3a2a837be262cee672855fe744efcfa447a43a6cd1bc61
-DIST github.com%2F!bowery%2Fprompt%2F@v%2Fv0.0.0-20190916142128-fa8279994f75.zip 19490 BLAKE2B 99ac55ccfb212ef98eb5ea2235dbedaccd46643b34e2fa963e31940b1553871abfd3e2223d807a557a92b97652877855870b390346b0e3441bf8bf521b49cfc1 SHA512 e7bda215393a6d5b4025566167f4b567dfe1da07baaa75b734afca117e24c9614f244c7452650d71e9a80b1f11299e64a0157cf8d8179c578148a9ae1dd6834d
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
-DIST github.com%2F!data!dog%2Fdatadog-go%2F@v%2Fv2.2.0+incompatible.mod 37 BLAKE2B 74a94066231395cbd85f1dbbb68408161ef74781c0c686746f97365dceb3ca69e3b924a86e6639b5e4cbcf64928fa21245e6828339105a779a86bc4f132a5bf5 SHA512 da3a3499834784b7ace8158659956206fdb113000fdc84d54b6525805727e37029bdcf263afcbabe724d8b10f6601f1f38a985e6ac10fd0466907ae56da3edd7
-DIST github.com%2F!data!dog%2Fdatadog-go%2F@v%2Fv3.2.0+incompatible.mod 37 BLAKE2B 74a94066231395cbd85f1dbbb68408161ef74781c0c686746f97365dceb3ca69e3b924a86e6639b5e4cbcf64928fa21245e6828339105a779a86bc4f132a5bf5 SHA512 da3a3499834784b7ace8158659956206fdb113000fdc84d54b6525805727e37029bdcf263afcbabe724d8b10f6601f1f38a985e6ac10fd0466907ae56da3edd7
-DIST github.com%2F!shopify%2Fsarama%2F@v%2Fv1.19.0.mod 33 BLAKE2B 7013f44d03c22c21595c5369c52e1538a526891c9fc4cccac37373504f13c66d7c504552251f46632917739dfa1d6c3a15e15aec4dc03b9c69902b0bcfc8785c SHA512 db3271d8abd514934ce5d06fd20f7490db8368e57822a2379bbfd4ccb94e67354400d487d388a57467a5a16cec339cbae9488cecf82e41d85918639bedaa0a87
-DIST github.com%2F!shopify%2Ftoxiproxy%2F@v%2Fv2.1.4+incompatible.mod 36 BLAKE2B af7b84d9f1cd163555b32bcf960b28b64a5689a1c9694f430af310f5041cd967fcf0d6c1a6c4020478544d347e4ba5b2fd16a6ef54258d33314ee0ad9239752c SHA512 917ada7ac198a013d2b090dfc59a45bd2619dcb7227df1521ca38a0d822fab12ea8c158c526257fef4ef506af29d9fa678e8dc2a73fc13c8dfeb57b398801744
-DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
-DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20190718012654-fb15b899a751.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
-DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
-DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20190717042225-c3de453c63f4.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
-DIST github.com%2Fapache%2Fthrift%2F@v%2Fv0.12.0.mod 32 BLAKE2B f5b7273a6c32fd9eb6e4a8956477bac6cdc2a5415eb1dd5dfa5dbafb28f5f8d1cc477196a4c3347025d9c184bb68ab269f4622ae03a01516f5e9c67124a10776 SHA512 190c3c9b3fe9e247246976b3c916c2ff41da6cfc04091de1d050eb78badedb067d9e960c2295a17b167ceeaf27fa62d149b33a8794ff2bddacf93e9731660564
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.0.0-20190430140413-ec5e00d3c878.mod 582 BLAKE2B 92aab40d86d733eb8f751fb23e40621b5b3bbfbd8b1d194bc6e689b6df763b4030aa83ab78654dc8e536274af6de247b8fc7e4e35e6cbf2f6fb5532291deec6b SHA512 aa43d2e262a603661ac3dc7aef111aea6e348e11c5384840d2be06224a6c2c580fcc0e3c6645a0d48b48826b0aff92562f0c6504eae980ff5610d2ffd2255d88
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.0.0-20190430140413-ec5e00d3c878.zip 41353 BLAKE2B 850ec7d356246c8b47c8594aaba8db95d979ca7fb50b383ec02c6802faf089bb170ea7e86f7e1fe8f95fbed4208c6f39c307871d74b8052de5ccd9d6ae29d49e SHA512 b533a51ecc7709cb74da88cd3dea70b3605e75a88b93d16aca5aafa100352002f5b1c1c6d9c33d6c93ce74663d27b7cf82c8fa8db7aadca4d42e8a7f6354f78e
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.4.mod 607 BLAKE2B 5c2f3345ddf95f94ef8ff19ebdaac810591c771cae226a2f7029f2f59249eab50b30fb27bce2b41b6ec51e961ed3ed46b55218c8cd405b8cc90bd760f1c0d7ce SHA512 7a835e1c62454a3577e71bb91a1a2ba8e135b94140e1394505678a5d628bf452de2fe8c7a9ad30c17ee462fd0d2f04967d0cc7b96010cfcd3d0fcf7dcaf4748f
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.4.zip 44812 BLAKE2B ba556ac48b565838fd1686825e0bf8417d0473cdd1d0c9f28ce88cbda83b9e61bdfc9cc8b86351d0ad1d57b2aeb978800200bb023d9cd1bdbd013237e1813d92 SHA512 6a71cedd6356d9e17ffa7af4e005a7d17f1c004b6b68f487ac75b13668d22f18c06ea0c0e4c9b62d5d60b27054a3afa0e73d4adbab6ad46ede4b4387500c27d4
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.5.mod 607 BLAKE2B 5c2f3345ddf95f94ef8ff19ebdaac810591c771cae226a2f7029f2f59249eab50b30fb27bce2b41b6ec51e961ed3ed46b55218c8cd405b8cc90bd760f1c0d7ce SHA512 7a835e1c62454a3577e71bb91a1a2ba8e135b94140e1394505678a5d628bf452de2fe8c7a9ad30c17ee462fd0d2f04967d0cc7b96010cfcd3d0fcf7dcaf4748f
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.5.zip 46960 BLAKE2B 4e0c2b3648de9ed0080ecbfab00dca5ca102e2a6cb5c8f5dbf9c54abc77b34a7756b189a544311a2c6d1de9574c1a00e98ca0fad141306e23558be5c09043545 SHA512 a8aaed4d0174fc670511c8744b06884ec79744d5c779286f93a45fd8347e5112cb8d378ac17334eb2479eb45c83b66b3a6ca7a3f932b9d0311db48c7662f3d21
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.6.mod 607 BLAKE2B 5c2f3345ddf95f94ef8ff19ebdaac810591c771cae226a2f7029f2f59249eab50b30fb27bce2b41b6ec51e961ed3ed46b55218c8cd405b8cc90bd760f1c0d7ce SHA512 7a835e1c62454a3577e71bb91a1a2ba8e135b94140e1394505678a5d628bf452de2fe8c7a9ad30c17ee462fd0d2f04967d0cc7b96010cfcd3d0fcf7dcaf4748f
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.6.zip 47374 BLAKE2B 021e1956ed377ee200d28aa4a6b9559fd81654ee039fde644059ec4c10a43554fa091689788e8fc773c438f60a7c3036f47b7416c8d967152cbfe29ac89ab465 SHA512 08520d539031a646219d6e84139ad9f8398ebb443182a95cf4d48cc2ec6be24abc63ba8d18ae129851e5ffa5ee5988be1a8ae67658c9327cbd2c0e65a7d25c13
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.7.mod 607 BLAKE2B 5c2f3345ddf95f94ef8ff19ebdaac810591c771cae226a2f7029f2f59249eab50b30fb27bce2b41b6ec51e961ed3ed46b55218c8cd405b8cc90bd760f1c0d7ce SHA512 7a835e1c62454a3577e71bb91a1a2ba8e135b94140e1394505678a5d628bf452de2fe8c7a9ad30c17ee462fd0d2f04967d0cc7b96010cfcd3d0fcf7dcaf4748f
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.7.zip 48368 BLAKE2B ac9f73d4b6a01930573c4e08004c145cd68ebc6b222c088e23e80a0e7be2d5a8394486baf566500d87c241822c10e8acf05175e0b400dbdaa8c734f70169346e SHA512 d25aa935c9e7cf2e0908085aef4f5cbf7e703d529b928cae345b43e903272e20aefd41ea759c27515211a6e2fbeac52e4881fb56cf2a68ea6e3ee9f53c4bf201
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.9.mod 607 BLAKE2B 5c2f3345ddf95f94ef8ff19ebdaac810591c771cae226a2f7029f2f59249eab50b30fb27bce2b41b6ec51e961ed3ed46b55218c8cd405b8cc90bd760f1c0d7ce SHA512 7a835e1c62454a3577e71bb91a1a2ba8e135b94140e1394505678a5d628bf452de2fe8c7a9ad30c17ee462fd0d2f04967d0cc7b96010cfcd3d0fcf7dcaf4748f
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.3.9.zip 49574 BLAKE2B 647d3a69f864a3310fd8292ba64aaddd62d7b5ef949ab0bcd68db951d5dc0bd9bc3fc41226a6dc4b00b2f24e157e759cdd57132e1e14515922c65ea68044e0b2 SHA512 62a2eb3dc17ac56fec2851d5767be6e54b9a8ff5c3cbb999c748f38b0ccfe2b0bf868d1e3e567b77e40f45487d2f210a359cbacaacf48038b25e0bdbebad4d1d
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.mod 40 BLAKE2B ce42c81a7dcb03d21a99d6240ce12f8455297722513497b1a75f2c848b5fb7ef70b577c2406638442f16beedd68806de890a5c299cf1c008c439df23df2f5bb1 SHA512 ec4424da8e1e3849408da7bfe83d37e21ac75edb889de8ef63be897d59678679b018f4606be78500952e7eee73a6252ee6e477b1a1612e2d036dbf72c17b9c9b
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.1.mod 40 BLAKE2B 6cc86f2bceda8617678a251604b6c049cfdc80f9afcae0cead6b2cd04f90fe1b5d5d56d0c29f98fddd7f4ff6fb4a0f97c052193b153dbfc772cf6597d664c09d SHA512 d0c78b8f08d177e05148ce845f8d720fe79a193a420c12ce15504af8fa3dffc4d2fcebea8030f5cca90aff5775013e2252e0c289d4ed5094e07657ea97a79570
-DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.mod 30 BLAKE2B bf7d457fdd333781e403b93aac891f5a0a8e202c62983ec6e34ab559ea5624c3e6cc525416fe400c7a0af20a3f647b49eac5717aa749d9ff79b02fe994c36d42 SHA512 7a1ef7d0fc6d5a3a8530b44dd5aa23d4248d952fd573b9f0f6f630b1bc38fa5c9c65ecc4894734c7115a8a0c7c71e8d0e2da0773ed4c5779c23f7f294e1e7d5f
-DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.zip 99852 BLAKE2B 9151e6475685ff3b550d1ae1291778a01793f691a3ddb007d64fa49f02ee85927c834ad709dee5fcba0f071630cd62504a65fd4344d4ea5b9fb713787bf6b725 SHA512 837cbbdb0a91efd765e697e01bc64f0206897d6363b303c96ba53062d674623b19d8c86d96a867529f1dfd6689240e18ae7c25dee268542d46e2877dcbf83848
-DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
-DIST github.com%2Fcespare%2Fxxhash%2Fv2%2F@v%2Fv2.1.1.mod 45 BLAKE2B 350e937e3f7b254b5c590445a9a7f7cc908daa2a5f208e293ac414d50b46bd29671bb483e55daeedca41d70a42fdcc62ce17fffd9992a932e29153ab6ca1168e SHA512 c1b9f572957bc4ed1ad0c61d22b7b5d6a4c863df2aaeb4cf914e304af21d949c9cfc53dc8eb67aacdf3dd56f339ee6f4a1f5fa464121d9db79b7b3febfb3251b
-DIST github.com%2Fcirconus-labs%2Fcirconus-gometrics%2F@v%2Fv2.3.1+incompatible.mod 51 BLAKE2B 3d0af1f8d7979de88067539579b73ce3d5d81a477ff042831692c738e9b4c99de13a3beb20fde003df06145e26d472621a2ff2857fd584aa1527df3730fc5efd SHA512 d1c83d2dbd4e242bfa9d8b9b58cddbd4a1ad112d1f5d1ca757fc31c6a31bf460d08cc3c9bf14c977fa74d2099ec83d5e45c05fd6121f800e26da6a837d862ccd
-DIST github.com%2Fcirconus-labs%2Fcirconusllhist%2F@v%2Fv0.1.3.mod 47 BLAKE2B ef512f7530c4c3fc3319129afa2fdb655d40af9aca697d22e4470528cc41ef9dd5ffea2258792d0efc7e1e5de2de2fe760651df84c3d39989c4d96b58e85371c SHA512 027b177fb04d5bcfaa0e524e6682b639bd91f7aad9ba14e22cc1b4f352e2c3bcd4d93348ed013cd839eccdb01449db40170243e7895c2cfa3f6980279faf39e3
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
-DIST github.com%2Fcockroachdb%2Fapd%2F@v%2Fv1.1.0.mod 34 BLAKE2B 21714162b9a8fd9c535eb49321b31d8c574339b2f548a64d4c224323f87e795b5412d502499e83917a1395dabcc9e2455f5e786ae2c3f204688d5c6ca402cdfc SHA512 58f3cc974ff4897b4f160dc47440241bc7084dd62f20c16c019b0c3090d3c8a8adb46ee8cab1afa675c9d3830cfb2eee97e1eb1315a683307d87ea3d2b403efa
-DIST github.com%2Fcomail%2Fcolog%2F@v%2Fv0.0.0-20160416085026-fba8e7b1f46c.mod 31 BLAKE2B 5cc90c5ba1dbce59af7e6f56a1d0342015353f55c69cc032491131e5662950ae1cb0b470db299e20c89c906a7ca7736336802d19aab1d46dff788184bbde1440 SHA512 4a438245ec8326b306568aaf966fc79dc9d8292730093171a40b787760a0f35736b56816bf90bd496d903062d3b28c264bf7944ada7b32f1994c348fa146b188
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
-DIST github.com%2Fdenisenkom%2Fgo-mssqldb%2F@v%2Fv0.0.0-20190707035753-2be1aa521ff4.mod 250 BLAKE2B 9471836a5e2d1c25d6cc99df4ed2c674f9fff051f66bdb45c8731a17a76846844efc28d90bfbbdcdc995f51b2ac50d29c935aec164d0eda50d626086edc34397 SHA512 43f9b5d4c71ae8b2cc1fe69f91d1caac0271a0b8095ea41b1e2dad811cad277d71de4c31da9bed0f5190f6831ae9493d4da40fdd6d47b4bcdce0ab180156c5c3
-DIST github.com%2Feapache%2Fgo-resiliency%2F@v%2Fv1.1.0.mod 40 BLAKE2B 9300f3006801602e05416487e6021123ff345e36835b5f4841158bc87556afa086470218c3f2178d125baae065c1af3cb27e210a50173a5bc9a469c592758eb6 SHA512 fb616884898669f21d53576f0fb70c8babc38bb98da066a2cb77fa85ceab6bcc8775feea3d3bcec19ea3b25544c776b8d55ad82f8876da5d0ed5176768da735f
-DIST github.com%2Feapache%2Fgo-xerial-snappy%2F@v%2Fv0.0.0-20180814174437-776d5712da21.mod 43 BLAKE2B 500b3a85f43db1d61f037f437b3290888204aef8b80aabf42d70c37607fdac86e8b1f7f4e41ad3709ad7015a78b934ed7d6d254522eb3e2baba4ae24619ea4d2 SHA512 da87f8eea5497796badaa6bdd1c67ae04e75deb7595f10739f30f20364f22e588a449aacf603f2c8d738b365ac14211c7cfe8e1bfb91f220f5c9d547007ad453
-DIST github.com%2Feapache%2Fqueue%2F@v%2Fv1.1.0.mod 32 BLAKE2B 51c322074fb7a69418dcdfd2e54b187fbfe541c21a979c8bf8b155a6264cc670eeaa95c2949f2b760b187fa582e86688a045f3f022cb45f053a58e00ec2c0c60 SHA512 bc43f85d5a21cbdf4b3821e707c845d08f8a6d8f2c6ef0f6ec76f7711c53bb4407f2a356c79bbbda438fe138a3cf74a4b279e8757cec7aa134a93f2173b931a0
-DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
-DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.10.0.mod 126 BLAKE2B 3ad1240496ce1f7c94c224a1eca571a3671851bdfebb40b243cb4aec90e329c820788c6080083e138240b9aa0a6e980701e12349058a1fd7e9c972faf7085fd6 SHA512 d7e895c4a2e515a0d20f8839b4f6d52f3aa3d000b97cecc99fbeeb5080e53c260ebc3aba0ca6ea180a2f5c88d5ae303fb94a257cb55aa9430773f6f5b4048d87
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.10.0.zip 12593 BLAKE2B 359ee7d5efadf7957871e7fbe9671683380966044426e0318f582a5050fdc11a1168493aa7dc4690bd44eb75543536dd8390d37e14a9ac408d64374c20102e76 SHA512 205d595d76ba552b654c7c991d4df0cebddf1323915404749f28634f2bd881798f291e9dc1666a10fa00fe1fd95bb2afb091e7936a02d18082dbb4d21ee5cdac
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.12.0.mod 126 BLAKE2B 3ad1240496ce1f7c94c224a1eca571a3671851bdfebb40b243cb4aec90e329c820788c6080083e138240b9aa0a6e980701e12349058a1fd7e9c972faf7085fd6 SHA512 d7e895c4a2e515a0d20f8839b4f6d52f3aa3d000b97cecc99fbeeb5080e53c260ebc3aba0ca6ea180a2f5c88d5ae303fb94a257cb55aa9430773f6f5b4048d87
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.12.0.zip 12823 BLAKE2B e96e2f6181cc92fd6f7006bd19b89d68d57abf2d8ea35cb0e58a670cbdb03b9aba6ab916289254f5cdc41b641d7e1d6d37ce239f0399e94dbeeb6db0685f8aaf SHA512 d78e12fe8706e0eabf04a57212a013768d7b82f7eb45b675f424d0c92cf0a741cd42a423a4538cfb04d03242ac873cc41f0f0c9d01a3b5cc2c31c9dcffe6c132
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.7.0.mod 30 BLAKE2B cdd74965525563fa7e3db19aae87c777b2de65faeaf2987957ea3bb4c0c6a91ab82fe02bfeeab4d6f523214bc2e929628c082edb967d49309e75483ff4c3bb41 SHA512 2dfc66b2f6accb7ecaccc48cb3daa338173f4751d954cb2912025d881f17a7a2df0457b2d7420f2d93b50519a2437a763450c4d639a26b3289fce7bdec5bb144
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.7.0.zip 11987 BLAKE2B bb585868c568466b366c1c50762376d9e2b6f3d3ac287af94c45f7d348516d2e80ee96c6980a4b5fede40f1302f0e3e900e24aae16fec29801a795cb7e514dec SHA512 70f78081c04bdbb52e8f5d24b8926b39a28c4f069beaee0d7bf24be946f2b0ee3bc08d8ecc1305412623670e1767433a37d458df3fc849d244c63b6222f1f599
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.7.mod 36 BLAKE2B 2b77fbdbb6c6c20767c120b390fbd2992bf79dcae0a35c27121a6e755233da3ecb7d74e74c38c0a2463976b546ed8bbfb8a8d8cb140526dd9a0c4f524cc131a4 SHA512 5749d33fb085d63b7c12f43df824c96f168323cf6d88cfea3e2536eeb7b56689dab9dddb8cde1ec8bc9c2848e7148b8a37abf8523a99c55ce10f896245c5f341
-DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.8.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
-DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.9.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
-DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.3.0.mod 35 BLAKE2B 0868f712c026b68559846a28bd29f39f584603cd79e1189a9ad76909cce7423a811f71265baf5b7f381a33bee76917759a9cb6ac131ab21450b4b52558cb6190 SHA512 526b97ecd0ccf878c0ada56c5217405c34c59d4c9cb53808f98b24a2823c0b3f1a74e862b9b1a5594034e570aa6749574d5e49212d6d48724e984f528b8c67ea
-DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.4.0.mod 100 BLAKE2B 2558b7edc234429c8bc0926d347231c2352cbfe83d83bc3c7e76ed0ac4b3a843de65cc3e0dede3f0acb7a2dedc623584eff8cb236787c12d7f5a47c9e1c39145 SHA512 5782a5d5e5d4c64244a8463e0f15dfb97de4b60b9fed527ebbd8dc5a26999af8ad0b3ce0064da30182c757785ea9b35f253c5946b233fa3d9a61c873b23011c7
-DIST github.com%2Fgo-sql-driver%2Fmysql%2F@v%2Fv1.4.1.mod 38 BLAKE2B 198f3a6fb7348bf50286e1dbb067e72ff854b1daedf1d181b643872aab377b930029feeb95d5d6ca21109facde089527a06922b9ea52cdd59ef553d69b984e06 SHA512 21ac6d6f8fd92ccbe09cb30d0dd6a37142907048cc5f9d0574824765918dfd8ccef96b7ceab9dd259f9a95f5c5be566ac00ff4eb3e37ba7c7c98f25b3185baef
-DIST github.com%2Fgo-stack%2Fstack%2F@v%2Fv1.8.0.mod 33 BLAKE2B 366a1ff397488b2b1c7e42db8a946bced1eb8d4260a6c177a978eb978e14f89265e7ac1d0bcd77905bc89eb35b68b3ebb028c0dfc67ff71395ab14b62335d16c SHA512 f3dc70dfcf086b785750d5b346ea07d0dc7903937bdbba58eace0fb903e656b02ddf3a1d49b486ac29b1cac9ca9d346e964d55d3a4cc5ee5ae79ac40b24d0cd0
-DIST github.com%2Fgo-xorm%2Fsqlfiddle%2F@v%2Fv0.0.0-20180821085327-62ce714f951a.mod 36 BLAKE2B 50c44f0b42c1c0ce6ee90f95e210df11ace1f393d0e9e407dd63d51dd32baf9eba49fa1d3de7122a29061e2cdd2a3ca7b6a006f9fe0360fee15c257e07c537ae SHA512 574e3bca84f11f497db1fd7c3e0b14e742550c9cacab9bd7300f1e762625ce9d35ca31e7932c55431871c73216513fe65263bfd59d0f502cd82739c9dadd1e00
-DIST github.com%2Fgo-xorm%2Fxorm%2F@v%2Fv0.7.9.mod 703 BLAKE2B f608ae26c8bfcceced4f39b8474893391e644246494d3a57254b06171b440b92ec0be0e0ae1b13f396624b971693dd351e68880507ab6fa9b4c241f9909acbe8 SHA512 b3707ea5114994dcf199ac778909958d804551f20964b2b1b0f9eea2f6a874df97b40d92a60a4486b482030ae8b1b7dcfc547511997e1cdf279ad538b8d6d217
-DIST github.com%2Fgofrs%2Fuuid%2F@v%2Fv3.2.0+incompatible.mod 29 BLAKE2B 5311a22dbbbedd78a98e34293e79fb5443c57774fa9049665943e377fd07984a9316f3ec5c8fb70da9b133c6390d32ab28b97e939f938bfeeef78883cca6fba2 SHA512 8a1ab67bf3555ca17b7efb1042fb6a7d58b225b4186302b0cf289e7b60f9aeaf23e36ff6d4e8da2ed728dcd676cb2f30f0625c430c0b6943dd25ee02d2c27247
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.2.0.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.2.0.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.zip 465217 BLAKE2B 4caaf832a22faf1c45e04bebf35d29b38bfab18a490ad1fd7b2c6cd85ae678fd3991505f68e526f9f2205cf919374b07d57f8abe95d8f74dc8263cd37a9db3dd SHA512 7fe69c066b2407e6000ae21888f6cc696e51df2342a71e196aba1a9a9ecce630bd9a4d41c58b3105002508a4d0efb9c5ae2b8a87f848b8e2c6293558b8c4b4ad
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.1.0.20200221234624-67d41d38c208.mod 151 BLAKE2B 9c1bc32114f742984396777149c3fad997bb47288dfe265614a1d17412ae3946581c2e60ff9ab87e784d71cfbe423b7ed1ea5864b6cd3f81f35e9103c8c08a00 SHA512 431b8d4756fe79e43cdc2f8478f3171ac9c90912222e50503301fc83d34c90001fb6ee0fee3bc05f66e47d657977395769e54efa0fb74ba35f34429cc0dac5c3
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.1.mod 151 BLAKE2B 260f1bb3e48b0bf9870ea3b725b13f84d2f18a12c6ca1275afcc2897bef547fcc1e893bd6b1efd46330bc1de66a00e3ef133a4418a50a075302aa3141abed8e5 SHA512 b6d7911148c590b3ce2a14a158cfbb94dd56dd402b3a4a2399adcd0421604f85d904244ddf5f8dba65326f04a7817d5652b30a306c65f44fd248ed269485a21c
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.2.mod 151 BLAKE2B efe8a8f8394f082a813ed4983158ada7bcd20f92f9f8b9b0d0e61e8dbb968b3c825432ae05d69c9b61a04ad57533c1e60438d9a1964312d4c9168f86864ba2d3 SHA512 2df7aaf6cb36a18165dc458a7b3f4158e2bce3bf10165418de401dd43e06d44378511dd4fea6530cb668a8ebb17b4c3f294ba35f5018e6aeb1b7b9082aac8a84
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.4.0.20200313231945-b860323f09d0.mod 154 BLAKE2B 8645404d124dde54c3e9c284b1243b1faf2124f2b7d6c5e6566ca600d3c965f7787f09f6825840f5e3ea6d36c016ef2c7fef10e8e12dce354593f7a8a3210a33 SHA512 4c9416c4777123a39b23b49ecf6265295fc3432de083a04dbefc87264b8c69f0d9e342ebb7e8e488f30c3efdc02951fd7dec23dfd1fef0802c8f0250f96612a8
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0.mod 124 BLAKE2B 4c032e7f2e1c8765cdd720690c1067c7c0ba1005bbfae01cd928bc60d96bd82321052fdb18a4ae12119144e34865cf910e306c5116e4f4f56cc5f70f5d52004e SHA512 acbd5afd399b3798d4b24529479b18523ae4009e21acde15a3893d2af75f9a6e65fcbd5a237423849003eb8903718eaa0b1aed9177c390972ab9490f3acc0d1f
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.1.mod 124 BLAKE2B 9e60030e0014cbc67c0bc7064eef3b127dec57dfe25bbf7f0d0e2b9c8c77e28477066daf073a6793428116419900e7c9f6dea6e8841a5f61812cf11ff77e7009 SHA512 14a0f1fed404939fad835398d5889ad57621edeb0e183785b3094957183bb29a2026e2af939b94c7155f8496e966116c4a6a2497fab113a175a9aef3f7ec3f32
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.3.mod 124 BLAKE2B 3242575be48f0e1f74e2d0976d2a11f0edccc59c7b74cecde37233c19f97c51e576cd3032175cfad3c1ce9721cd41053f459341182fba836e0ff0456126e493e SHA512 9586be76b697c6a5c3216762ac13a7d297372ebe0c7ac5941d16c326d1580c8a73fb475236ed9a4214d158a7386e761877be16cdbd4ac2074e8a5e1dfdc95b54
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.3.zip 206951 BLAKE2B da403116137f70222d2028df84c6f872d324e6aef808ceb2f58dae257e9b7cd2fb37b477c2b61bda55888f5aa72fe6f46afc79ed4fb440f1212c5105f8b6dcc2 SHA512 8df603b906846c265342236e7bff8ad4f37fbac2ab425b6002201ec727602bc2454708985d44de11bd91212e15e338ce1942f33a3e38c328f2ab9e3b990a2ab5
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.5.0.mod 129 BLAKE2B 15d140a0b2b22d6c9886ee9e517f923fda26ee8179755702a8eebf1ae8cf75be48e8d28a1df1bf875a7bfd499075d83a541c9716601856abe0e7c850a3ec68fd SHA512 467a3f6fb4c941cd55d8d4b2d6a2015966c60a8614691539c88c4bf0da2f8022055be8561cddd0e60b118f74f010be5998dd128b7b136f14edd2674e5650db2a
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.5.2.mod 192 BLAKE2B 08ac45ddd213c260f4b9d33fec4ba9758ce949c699e2d8d6c7b31bc0fbd7498618cd5144a6ccc3e1b852e9f1a6b7d00191ada7d464dd5784d132506c9a8639ce SHA512 44c996ad31bf02aec42bef934d7cd65379ae5eca4d1069dab8c478be169f9479cbd55f8f72bd9567e51535d31c9f65cd1d56bbefb8b745f96cad0f5953f8c420
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.5.2.zip 206858 BLAKE2B 42c113333104cf0335d16d24748ca111dc44a52b3c6ceb8e11388c85b8ac80c5c324ca9c6d90d08c07dc865909eed4510fb145153024890e4e160cde2b877269 SHA512 6df84a92489b04e55e35bb2334f7e9e55f4fac646e9ad904eca189d069443609fe1affc4cf5e92d0f90ea9c75162a72f134c6298f828608efe9a71b6e496eeb5
-DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv0.0.0-20180813153112-4030bb1f1f0c.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.5.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.5.zip 130974 BLAKE2B 6e4efb8abb584c3839c7b1ab80c8060c125b695bddddd44c57f72c0fbf9de85d40595ecff57f57ddb533e34dbe72a95e0e8043d91d462d68818699f194766e90 SHA512 9cff1690cb177e70b1d67ddd305e4317e3d1ef2825f5f3ed4639210f7f2ee6e89ff03970495757b922f16fade5fafae5cc14c8da2b95694faa3fa48c63f3313d
-DIST github.com%2Fgoogle%2Fgofuzz%2F@v%2Fv1.0.0.mod 41 BLAKE2B 32370943a480c13662a0847b33fadc7d7f909784d044619ae8b00f03c9f537115448140ef2ea1b47606dbc64d7593e07cc8f9b9000fc5382e4f1ae94ae4086e9 SHA512 3dcfdb76a938cf370310213720ca952c6aa99c8b1b96afe41eb05f1bff15df7d98d279509d921893c0c749337c83d4bf40613813e117c01205859a041716b2ee
-DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.mod 33 BLAKE2B 694b57887cca857fe6950b0df444dc6e3d757dde540c1846ddcd4bb8f96a5eef3f469eaec30cf415541ff2f53acaafffbf4032189122875603d7e5e3dad2ef97 SHA512 cffb5dc1c6531ae9d5998b3a57ba14de5dd8631a36dd48975da07ce5ec052d97b6f632c5d30ab9ab695f178758837aae8a6344c67d57c7a39ca8e9243f8211df
-DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20181206194817-3ea8567a2e57.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
-DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.4.mod 88 BLAKE2B 840afaa28e8d5b816289e6556e114311f039b477e5ac86fc1c2ac80b1f8d7729ab6a83b99baa4c03de9634240481feb13900fd4049753b8de839656d6a7cef8f SHA512 31e50016a01fd485775368e2e430959278cb6c03ae6b1871b3d0c173fd43e91654ae87d1758c08daf897e55be8b4044bcb47fc072ec645d16e2594f345b46c73
-DIST github.com%2Fgorilla%2Fcontext%2F@v%2Fv1.1.1.mod 34 BLAKE2B 378e68460634c64da8779bea61bcf813ce4c5797c3ea541362d1409bff606626917c1bc4cbd030d98077819c5a8abf2ded047c047c2fc6b58977093e67e7b6ab SHA512 1db09f5968fde5c7877937c2ba476afb8a07832943f66c24cda7669ccde744ecc5ebd6e9efee9427b24e10fafba5f7acba7416f9c4e438c2ae2ab22c4483127b
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.6.2.mod 30 BLAKE2B e02807a9c1526691f789f8b176ad7757507d87fc5fe0d52b8997d72e9d528682a6fd10aea2426d11649c3caa7b6e4ae3c552e86fa30f3f710e6354caace3a88b SHA512 2facee17b28c8b9111ec642ffa0975e7f80601b4ffcc4d1756468e963236fc303cf69d3b5129287b746dc08a66fb719706bef277171b709a3013e6b4ce7e43c9
-DIST github.com%2Fhashicorp%2Fgo-cleanhttp%2F@v%2Fv0.5.0.mod 41 BLAKE2B 927bedbe012a3bba2fb1363bf0157795f58be7dde5d303332f72ae6d7bd13775e9e1e034db821821857801b21b2366a92a28bcb84c00704a12925db0ce19a4e4 SHA512 302b6f472b54597aaeb4b43528098b5a5264acc97abf2228d8cb62bf32e6a29a7171ec6fb8898b494ffe837ee044e58f5596bff425214985aacd2b8b69934341
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.15.0.mod 297 BLAKE2B 2b94bfb4df06f08d28c84dacdc35385535dd33f4de23b9c4b2207d7da84982a0e48f2d4d49357c7e0d7f30b01a8772270c4ca42334612cb1c33bb6527cf426a4 SHA512 4e25954cd212cf102dcffc751cd2489db9bcd6f1f0fe975de3f5ba2588ecae5d0622c35a86fb61970872b4e27d3349fb7f76bc3dd9b7b6db76152da07cda1427
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.15.0.zip 31391 BLAKE2B fd332ce0bacbe2d8d8733db2c1c7635365b8d398df74663b775785538803fca8e9a79488bff55de7a9e1f0e0c7afda21a5828fa6c8466f4b09e37769f391ec25 SHA512 ed82ed922a0056eecbe702c5886f0d1f60b390d17d5e9fc9361012229c699ad15a9757421860e487fb6036705d1e8ee0d1e17f93edfec84efaca732005701dca
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.16.0.mod 297 BLAKE2B 2b94bfb4df06f08d28c84dacdc35385535dd33f4de23b9c4b2207d7da84982a0e48f2d4d49357c7e0d7f30b01a8772270c4ca42334612cb1c33bb6527cf426a4 SHA512 4e25954cd212cf102dcffc751cd2489db9bcd6f1f0fe975de3f5ba2588ecae5d0622c35a86fb61970872b4e27d3349fb7f76bc3dd9b7b6db76152da07cda1427
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.16.0.zip 32336 BLAKE2B 691caf2d30123557594442a1460b226d2e92f7e064f09c2735573d9d99dfe0a6697befb2837f94c080ba29bbb526592a8001a9566d0a3e8e19fa0b30290b8794 SHA512 8e8b05a87b7af87260b733cf3433315faf5b0c990489f62441bda76906dc227c6353b3915f6563f27d4522110793870689c6b8d4c31c17c59ab6d15967b7a57a
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.16.2.mod 297 BLAKE2B 2b94bfb4df06f08d28c84dacdc35385535dd33f4de23b9c4b2207d7da84982a0e48f2d4d49357c7e0d7f30b01a8772270c4ca42334612cb1c33bb6527cf426a4 SHA512 4e25954cd212cf102dcffc751cd2489db9bcd6f1f0fe975de3f5ba2588ecae5d0622c35a86fb61970872b4e27d3349fb7f76bc3dd9b7b6db76152da07cda1427
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.16.2.zip 33142 BLAKE2B 64356b67ebfe6328638b15fbbb81bf0a525e20eed6194414ec08f26f17f1c3415a735ee8ac8c0d8f596163f117a424fca528e1036d3ab703fbdd87602c632f29 SHA512 a9380f39046fc8573c44ae21e91db4465cabd580c3730d577e751363494429e4cac8379f222408841dd5eb6b346b3ba6a8531683e977766024e1ac57d739d69e
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.9.1.mod 183 BLAKE2B dceb26b60f2c77dd17451ba54fbf981f8033b7a1a840f938fd56454cb0af56273e260b1fadf2f708072dcda4cb26a1bc3b10497790ae128efaaefcd326c84520 SHA512 84dafac5d0770fdf20eae443ab6262dd3a32737c62908830a941b2593f683f35b0c33c009cfd2b24d3cf86a3701b9c3ffba84b77e66840201348591277ea6f8c
-DIST github.com%2Fhashicorp%2Fgo-hclog%2F@v%2Fv0.9.1.zip 34982 BLAKE2B 182c247773cc6c2ad4ae42f255fb4e1c7f2e9664b07141e36bd763e498afa315e34e24007b6a8e857422dae46a99c199666effa09d1935888d2c96fd2fcc5bd9 SHA512 98eb544687e67eecfca40a285133e306402cade215b9776f5276c16113c0da1484795195894b0b0eb6a965909c1658ce0acafd3d98864cf2d2fa246fe5b18d94
-DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.0.0.mod 137 BLAKE2B ca790b5dd3ebd80c7fa24936acad0e033a7376302440c349d53debe64672d75703e83086fdaab607bb87dca35fe7640b2ed941069692dfc9ae37d4a256c7be3e SHA512 aadecf34782d4b40af684ef29e5e45f560d3593b52d5b6ac6b95664c02c04565fd29dc2d48bf1519091129b86856aec732fde408a8acdba41ff9a7ca12bab140
-DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.0.0.zip 23003 BLAKE2B fa553bc49f3f28624830aa0323b0c668db17d7628ca24b280eb718711c240e67fa6ec86b61c7fb5799b63085b570238d07c925a8cbc13e95b9d73d00e4a2ff65 SHA512 91c7b40e4125c3350ac4700bab85547840a8cc848f01bab06bde2eb51693a6dfd584fff718bd2425c67b15757e6e3f8a779cdbb051afff2094444f4bcb080ba8
-DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.3.0.mod 137 BLAKE2B ca790b5dd3ebd80c7fa24936acad0e033a7376302440c349d53debe64672d75703e83086fdaab607bb87dca35fe7640b2ed941069692dfc9ae37d4a256c7be3e SHA512 aadecf34782d4b40af684ef29e5e45f560d3593b52d5b6ac6b95664c02c04565fd29dc2d48bf1519091129b86856aec732fde408a8acdba41ff9a7ca12bab140
-DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.3.0.zip 31729 BLAKE2B cc35c143559499bb19e8802039ee32f1ba2db84cd4b6e7209feb9b4a9a36f2a7b21e817c40c82d75abd94dc02f4e3e89b38692c93fbca987a1ac16f2a43676e4 SHA512 b7a8bde64b16c032ab4ed47c7ec11da6661293d231d7e100b4fdf9db88a1ed2fb9f48b95f7a6c44fd14e033a5a02244c894496cac57fcefe8bcddc73f4755508
-DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.3.1.mod 137 BLAKE2B ca790b5dd3ebd80c7fa24936acad0e033a7376302440c349d53debe64672d75703e83086fdaab607bb87dca35fe7640b2ed941069692dfc9ae37d4a256c7be3e SHA512 aadecf34782d4b40af684ef29e5e45f560d3593b52d5b6ac6b95664c02c04565fd29dc2d48bf1519091129b86856aec732fde408a8acdba41ff9a7ca12bab140
-DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.3.1.zip 34460 BLAKE2B d7947ed76f5e2ac4462adeddbda5d9a1851066f95f77bb232fbd851aea7d87f276bd8d70d915df4e294aeeb867b2a747df75821f21848b3ab9e70c3bad81eee1 SHA512 f54d20c71716d7869d9eab113b2c1fb9704f90764648ce0c066dd744113b7597c5d7b32ca4599c4f5bafb75e99f3a65c0f78aaf69aafe4345e2be5c9042f577c
-DIST github.com%2Fhashicorp%2Fgo-msgpack%2F@v%2Fv0.5.5.mod 39 BLAKE2B c5b445c060258545233b5453482e0c739f815c1ff605b539610f3b0bdbadb6da88954c6a408084f171354256bb8521b528573f56080d4125f4fac474ff9bde83 SHA512 45b4424a023ea15d95167322e022269e32f7a718dbeaf192d0cee9f6bd136f5b4a26827d6d041a8103a95f622a0dc92123b32e6463254199893f360ad8680de0
-DIST github.com%2Fhashicorp%2Fgo-msgpack%2F@v%2Fv0.5.5.zip 63182 BLAKE2B 6f6ca7aef3a60232a715cecb6f2a4f642fc32388229890699371d7a901498726bace0e37c800db4096769c65cebef01dc4abff9a111daa3cae8fd8352ff18174 SHA512 a50702f312dc7b0a9dc95c3415980e51d082e0c36820917b7ff5bc0965e06d5ead6d7749cf8c87c7671456e9c07e9625e342b644aa6f49a10b4483a198f845b4
-DIST github.com%2Fhashicorp%2Fgo-msgpack%2F@v%2Fv1.1.5.mod 111 BLAKE2B 4f800290bd148916692a372216504629ebdf62ae0c672be6506045d0fd0ebc3f170e11d0d97a5d209ad97306ace0209c2c89d199a004f800ca0b483eda61cde8 SHA512 d4922b778ab17f7ef41fe2f59bf40a7cfb3bdd466b595d4e06bdef60c3054db560797297721be61f39a0a20224ec410608f6de0043649e914e750036117bf36e
-DIST github.com%2Fhashicorp%2Fgo-msgpack%2F@v%2Fv1.1.5.zip 408057 BLAKE2B e90f9126620d741149d908875364dc9b94a4eeb2392af6cd44c3fe2a63d13bfe904b399cb60d4c339e6149c68a409cadac5e0586282062cf1f606ae72b695c2e SHA512 6692bbec3d50611a212b3bf1cbbec779e721fabd740928c53817c0278ef16aacd10608370d97f4fa2bdfcd06c27bcfab7ee8b315e7ab641994772e767d385d32
-DIST github.com%2Fhashicorp%2Fgo-retryablehttp%2F@v%2Fv0.5.3.mod 95 BLAKE2B 66af3c20daaa7307f453ab70f7f8db429de6202fef7ad27c4c54f6a37d5c06c253df6ea24ed2315fa8208107187615b7e5d7a5aeae2cd1fcfd3be407e8f67fe7 SHA512 472addc2b61db4d72d356e2033b0963352d5baed7e2c28a567ec4f4f8a4cdf199d50de2022d136f9ef85ee5e0329c2e4b9a6797e4ef07e348fe7976aec56088b
-DIST github.com%2Fhashicorp%2Fgo-uuid%2F@v%2Fv1.0.0.mod 36 BLAKE2B 8596defaedca9def85f29cb25a0ae25f8d2ec8eb64d64bd143a237d54d4d23b6851cad71a580667127188cc22d499be07628ce9c916dba946e7b189b612cfc76 SHA512 900755decba72d81cb348184648aa676c4a4c7359cc88ba3b41ebdd7691eeff401a41a495bdca7747e82274b3b2b61499b599e67b5c7369caaf766ea3e488d0e
-DIST github.com%2Fhashicorp%2Fgo-uuid%2F@v%2Fv1.0.0.zip 7792 BLAKE2B 2ed26e132b77e3fb84ee25c0a591c074040de3992abb9bf9f11399db65855301ac2334b9b5290220d01965c5203eaa1882ba1af551f8aa6ab775abecf2ff2797 SHA512 102786b62fe1c84de948cb11a09cd07f3084454d71b32ad48356553660e7eb94fb8d5950f74d6393d12ac9caad01a8b01add526c9ef8bd73039707f18729376a
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.zip 19501 BLAKE2B 6c60c3832f5bd1d3c50b058611c9896a3db90dd727401506bdcb656966368cc9af7d8384a714e370dd69714856b63351db4485716dff566c3518434919cc4035 SHA512 02cde99c414bb38d5586ce722128e6c9a940583c9c4a99f1ec30787988235de6a3a1c516c150aa2bc94dab7723a9988c7efa2d8b151d05c9c36c04af6d145168
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.4.mod 48 BLAKE2B d49fb83b0e128d1d891c78fd7efc4d1f6c92ff9ba30943fcda9b89d752d468836df7c37d6f30d1b4e8eaa5cd966c4b2ec90efc087887f037cce94654761ac107 SHA512 a55d0882366adebd894e5ebf9de5f70ac8b5f8f945e52b7dac8e56b4efc03f40930d132ac03bacb51ca220bad114940b9e27bc0ecbb92dc739691674a8aa5e15
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.4.zip 20160 BLAKE2B 19b98d09d695d9d1d999e30896d7bc6b5f7266adebcf182ea18cf8bb379ded400d2200e22ec4151831d4e124c4cbfa0c6332678b20311134d5666eae24302f07 SHA512 f18b267cf4ebb61f56c726f2e6b7ebe33bf97d445d44648d41a5ba9734fd7ef7dcb034ef8881f476ff2ce843118703ecaa01f9925c2fec08bc642cdadab742b7
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.1.0.mod 233 BLAKE2B 5a1324854b1f65cb37077cee6097e04e24f099eb48355d84f8df7b82f5bc8b0ecf01021c63591cb83363c1b8156455ce86a0a2599f9ba6ec2a94fafd107df1ad SHA512 a687048d5ba12f826081a5c4c39501e0dfe949b98e7c8b4b4bfa2b9be27fb650d6fe8ec31ca379ab0c13b79909a1edbe1f410500651f7226206bd4e0d21eb296
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.1.1.mod 410 BLAKE2B 192e571d096d665a55c29da1dc35ba17c52d6f5b0c3f522c80b355bf881ffe269b27a62fe44761143966aaa5bede99800918999a313869c1a81dba98b710a1ad SHA512 e44c233e6bf407eac6a4eb6f7a72dc0118575b6dfe48a9d0afb95d99a847ad30f75b11e6d008238b7761965182df56e52ec183bb0905e054a638c76898368e6d
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.1.1.zip 151101 BLAKE2B 41c638b0934f697256c87b5d034010ee49bf42740a5152005effcba78d29911ee2e981e6e6643df6f804bf38675b2dcb961161f2a8c912d514d007dd349512f4 SHA512 d4aaa571f5f30c87a37f70ce4b190665386e943bf107931cb0650eb54b2480b9acf31e8b83a66b1a8bef11d088a80c522ee70a4b85ee25ab1b28d7cc44d0e131
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.2.0.mod 410 BLAKE2B 192e571d096d665a55c29da1dc35ba17c52d6f5b0c3f522c80b355bf881ffe269b27a62fe44761143966aaa5bede99800918999a313869c1a81dba98b710a1ad SHA512 e44c233e6bf407eac6a4eb6f7a72dc0118575b6dfe48a9d0afb95d99a847ad30f75b11e6d008238b7761965182df56e52ec183bb0905e054a638c76898368e6d
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.2.0.zip 157790 BLAKE2B 29623bc436d2a1f1057532b98858f3e3309a0ae1cb209ca9e242d56eba97b84ac2b2f3533a542df9cbc8dd5521c5a09747adee1e38d3f3ec2b6a5517a0713684 SHA512 c689267a27346d83ac054c5202746c69bf79e5accc69a07c833ab00fe4f2a780ccbf41ed62d50e411322e62ba6603031134662c9e0dca18cd1ec3a52179a062b
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.3.0.mod 233 BLAKE2B 5a1324854b1f65cb37077cee6097e04e24f099eb48355d84f8df7b82f5bc8b0ecf01021c63591cb83363c1b8156455ce86a0a2599f9ba6ec2a94fafd107df1ad SHA512 a687048d5ba12f826081a5c4c39501e0dfe949b98e7c8b4b4bfa2b9be27fb650d6fe8ec31ca379ab0c13b79909a1edbe1f410500651f7226206bd4e0d21eb296
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.3.0.zip 145624 BLAKE2B a88de74be4b6d9c1e86adc1f76d706510b37a227091abcf6a0df542d01bc08288ac74ff8995e6d9186fb4489c03208404cc78f6d640f13a2d373d752c7259551 SHA512 8e4c7593b0d34edea3880756544ef17216adda25fec3b2da8f9281e0aab3bbe093bada50e5a9c4933805e025f13abce4bf2c764e73b1aa4a17c397f3ff954cf4
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.3.1.mod 233 BLAKE2B 5a1324854b1f65cb37077cee6097e04e24f099eb48355d84f8df7b82f5bc8b0ecf01021c63591cb83363c1b8156455ce86a0a2599f9ba6ec2a94fafd107df1ad SHA512 a687048d5ba12f826081a5c4c39501e0dfe949b98e7c8b4b4bfa2b9be27fb650d6fe8ec31ca379ab0c13b79909a1edbe1f410500651f7226206bd4e0d21eb296
-DIST github.com%2Fhashicorp%2Fraft%2F@v%2Fv1.3.1.zip 145952 BLAKE2B 251dd64bc3f63086bfbca60fd2804d1025d70bcff1f64282b37b8050d8f7d3b8ff6b2c5149abfa2a9f0fe6f7825fda0629ab23a69418e48ad2780b9a8f13f7f0 SHA512 91a9d81f71ea87c6ad69d4a5b8c0133d859502e75373624c353a0343d75acb4e8ba4b041a243efd529d3ba1308000b2b8200d010c40f995b172309758e50fe15
-DIST github.com%2Fhashicorp%2Fraft-boltdb%2F@v%2Fv0.0.0-20171010151810-6e5ba93211ea.mod 40 BLAKE2B 77f35128903a84139dfc23055bf87c4fd8b4843953c764f0ec004a8a2b10599de19bd767a569080422179bd8ad66218d3639025cf1d83eb5cab22599b5da2c3a SHA512 76ce93f04caa8045ed49fccbbbfe76fc278bb7d94c973e408d0695e8c9c5e569b3dc9d4af8722f13c4718753aa72fea76a238dc8243aff34bbfd10d4b684e38a
-DIST github.com%2Fhashicorp%2Fraft-boltdb%2F@v%2Fv0.0.0-20191021154308-4207f1bf0617.mod 232 BLAKE2B 8404f0438360f34a406d86a852fc15ac2941ef34a859041d198d56878bef4e8e4896c960ffbe02690bf5debad6c0dc23d8a75bb2e943a624784643111c290ea9 SHA512 b0171397f8a45df46dfa4962e4d2520b8c2fcfaeb90f990dc26ddfb825525201a8139fbc56f8f1108d82788b1ab1a10fbf99c72fcac1b34c6feed48ebb1d3ba6
-DIST github.com%2Fhashicorp%2Fraft-boltdb%2F@v%2Fv0.0.0-20191021154308-4207f1bf0617.zip 15107 BLAKE2B 8cd0e37800a81dc40d2d4ad380483df6cbb96862c1900ef2c24f22c28bffacdedf4dda733698e3afb70462aa302aaf0b20ae1efcd4fef1433f39eb438b622090 SHA512 a780cc5d38b200bd8bcd3bc9b4178ebe2d6486b229fc42142a0739cf5f5075053b359624282e9b2154790841445c11fc43757f36a2e9f806108284c743ca936e
-DIST github.com%2Fhashicorp%2Fraft-boltdb%2F@v%2Fv0.0.0-20210409134258-03c10cc3d4ea.mod 167 BLAKE2B b1177fd2af175d7f6eca376d57be47cc2d8908571c93c0e3d3cec3cabcfad5be8b511405ca85d0448f14b0152c62a56ed2b4199f31bb5f9ad9d9f0dd405100ad SHA512 49cab8a0147658b69d8075a8fb33acee4f11e5575852a40149fe2aea68ef5bda345285542cf599206a887a5704440cab4297761255d001ddcf3439a8d79e5ff0
-DIST github.com%2Fhashicorp%2Fraft-boltdb%2F@v%2Fv0.0.0-20210409134258-03c10cc3d4ea.zip 15059 BLAKE2B d9b22d334cfa7546e035851f6b9dc821d64ab0ab218f0254f63a682387e1df0059d683c58ff6389a5b09155dc14cd3519702513edf07ff1427f29c685c6a915b SHA512 7d85e5d2c1f8c9d689850ed32f2f66a1305e66b07571d55d29e636c5fcd3e540ca128beebf8797710476bde61d9d8aea3d76cc0a601be4b7f04ca1e3ae844cac
-DIST github.com%2Fhashicorp%2Fraft-boltdb%2F@v%2Fv0.0.0-20210422161416-485fa74b0b01.mod 168 BLAKE2B 5a6a9eeab57bbd87c7c0f4b350e2d2bf07f5c595d77f748f6a8f23898bde6378f67e27e8173ade8b9828d7328e0b9fbd5eff2b8195a122d61ef603af7b064fbd SHA512 28f2d588128e741b7e053acc66a6d1ab6ae109e2d6ff796e96dc3010e08d1fdeb8354e86d53afc2fbcd7fc9c76151ab8fb2bb210ff5ad63e099bbdddf8fa445d
-DIST github.com%2Fhashicorp%2Fraft-boltdb%2F@v%2Fv0.0.0-20210422161416-485fa74b0b01.zip 14963 BLAKE2B 547934759128bb38b63fcf89194898d5c8f8eb2ecfd13040c61ea571a41a998cf3948549c8e74f414dc75ae1b055a8d162a2bb7feea80fb0e1285e9962258678 SHA512 5ef6f11126b7f7faa04744bc688d08fe899667ff44eafdd16567571cc41eb0a84e77aadf7cb67e3ca3f761c753aa04addf575ddebdbfe33880d7ccee5d5d29b2
-DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.mod 31 BLAKE2B 7202132cff9b47a4484c61586949dbf7e13622067675cdd09dace3ce2e5b3a37b6fc5275b3bd6dbb0ec6ca0335bb7c9a036cc043b2d8ff1f38bc90ce13041aec SHA512 54a5bbc02b82693a977a4f690314b16d94cf071decddee3a4af2a90398e626ff188bc34ab3517278e7aac4e657f3f3070a020c85274be3750371dfdeee139b23
-DIST github.com%2Fjackc%2Ffake%2F@v%2Fv0.0.0-20150926172116-812a484cc733.mod 29 BLAKE2B 3d5b46c50c2c48a41de97e3fc038e4ea6b6cc84c3c518bd867ce8c8c1518c7b28886533e6e8a9e5e64b949348b0b15c193ef29bc236e7e81bbf46e6f79163ee9 SHA512 002762fc54b7db0152d59a6388108b028f089c21f024353ba85795e00db73b93c73377ecb728b1ab801e915c20d3d3482e32b467187cc05c37c8d163d53c5e5c
-DIST github.com%2Fjackc%2Fpgx%2F@v%2Fv3.6.0+incompatible.mod 28 BLAKE2B c6ec1d0b807ad4dd8c0a9ce726d1c1d93d964c07100d8c9684f59fe5f348a5a6b158feb2181d43ddfb0586a0d0a124605aa6baf4559b380b4e359e9c8dfbfe78 SHA512 76a383265779809a87851fce9a713884b6d9e2c69966153f3ab67c566eeddc149c6a21266e91d91fee790edf6654d1b80c197513aa4a8617e044f08e91c91f5c
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.mod 35 BLAKE2B aa26eb3b67893fa913ea0f88bf22ac283c6cbac246683f41ede681940cb2e4437d033811fc12f2b47f9d94337dca9cdc926fbb5f044b2caed19c8e46a5879432 SHA512 e8bb59637bc1154ed648179314c4e20fa7f549353d094f4861e2fdfaeb70da1c1711c1159e78d82914a35b8ce184641937efd8808ffb1384136c7a6f3fbeb78c
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.9.mod 295 BLAKE2B c143c3fdf7abf77b2a2f55a66f8efff4f0e99478a89cd3cfaf50fb042e0da2fda5dd1e203c227597cc2caa7039f269daa48339701233a3e21f898eaa028ecc87 SHA512 395eb3069c417f996120ec06ea8d7a712f6d8915c7398da1f346c5bf5e0fde4492bae0ff3833f3316a41a28d23fc7c9c494db312da72d5cacdf52b2bb95da6ff
-DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.0.0-20190106144839-af01ea7f8024.mod 43 BLAKE2B 02346f7c8a28f8d40ef233bc1fc6f3cee54a54bfd79b374ab7f3435039a5d9f7da5d7fb7824c618d25034cde1d355b503bddd76b804d610828a080ccb2707dc2 SHA512 801663d67d1aead6b01df89e329c8ca969a1f860b5ee2c2018094791060bf6e8cddac8e2d788ac823e32278d4e9ad1dbd72935e4da2cf6e65a34dc97f195ce7c
-DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.2.0.mod 43 BLAKE2B 2b7883d00bddf90261a91670917e335bf5c59101032ed3ef5ab6752eb4da25e8417071b1d0021441fd887158b519f4fca4b028b6ea52fe3ae9a41b84441c8c06 SHA512 60340233f2a0205ee4b1a7b2d78ed52d88fe5d39887413d0e62d6ed006c51eda83ac117454b0c1a31ab29c5aceae13810ec719dadc554d10480219c1afc3e5bc
-DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkr%2Flogfmt%2F@v%2Fv0.0.0-20140226030751-b84e30acd515.mod 28 BLAKE2B fddd4b3cdef60f53bc3f8da5a3154d10b49dd180c12837d3740c22b442947cba2025649f3ac7321bcf0c73a272527659b0ccd9be141ddca13caa7594bf6ad3fe SHA512 3c623d077e39697506174a50c0380cb7787a05a52819b1a73c2f64ba8dd819fd500777de83c83d8d9e80f19c828128a569b4cd783667b4d6b9a375b0e3d527a7
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.2.1.mod 72 BLAKE2B 8dbfabd447cc847f4616b959e52fd3bfeef8dda58f5aacdfd362f28d0b530c8e1651a38ae742c2d9ad8d9b0a055409a1840664b1483df73956a21190395b056b SHA512 b920109a2a1f40e2c7bb4dd93d07138228fac3064b780449a38bf5e6cb0630c6b7bd79eaf18b35e0452846e5059b0e192682b0aa93cc563c6120816106b9f11b
-DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
-DIST github.com%2Flabstack%2Fgommon%2F@v%2Fv0.3.0.mod 205 BLAKE2B eef043d3215773a25c3caa1b744edf92fed91eb6574ee5e41affb1575779404de9247fe0197a9653055ee53d7133c91daae259adf62f0863bd2804e2cab36fc2 SHA512 55556ccd01e407be90eaf0818419d88be225e0296c4cd7610cc48e753f990bee5dc0f77f40ac824def0574f6f396f1401a3ab5130e1d4edc606a8d0cc09632e8
-DIST github.com%2Flabstack%2Fgommon%2F@v%2Fv0.3.0.zip 16495 BLAKE2B 0685bc1a8735d96d8d6b6c4131561f42cd4a181ecd41468b5045d3d92755253fdce9152a18b554c70b63eeca982e93ccb21691231eec20709fe17c39b814951b SHA512 68a6bbc146314b0ff55fbaddf18ae453081e5f9379f3cff037ae6baaf747d390767d056eee66c7a38f31b3926df2ea400508c2ce6be73c36ce80dfcad75bdc27
-DIST github.com%2Flib%2Fpq%2F@v%2Fv1.0.0.mod 25 BLAKE2B f81559c285e1be835f5ba6f95730022986373524dc66f0ff825885bc3d959ebef5711ccaae86983c0710da8a501a3e97829a01cf67bbd560dc7fdae682b0b7f6 SHA512 493893b0368a6e9ba2c2aab1650135de1dcc087e6eb172226a623d62a48e4102857f68f9ab6cd4f7047e6a291c62824ba924076891d162bbae846d97166bd1e9
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.1.2.mod 80 BLAKE2B 486156a648d66786de2a05b45b054ffbc6ccbb45ffe98230d3b3126ff533fd546af1b348fdcf67b1b3ae9310918869355fc39390a4f67b99cd7a1bbd1c6cf891 SHA512 f69ecc2e8097c17a9c0002181451d56a8a7496f62e87f437802420e9af27c5f80da2be189597759f2a5ee2656dca8c1cf91a5374b8e46919f7a6e0f9579d2526
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.1.4.mod 80 BLAKE2B 486156a648d66786de2a05b45b054ffbc6ccbb45ffe98230d3b3126ff533fd546af1b348fdcf67b1b3ae9310918869355fc39390a4f67b99cd7a1bbd1c6cf891 SHA512 f69ecc2e8097c17a9c0002181451d56a8a7496f62e87f437802420e9af27c5f80da2be189597759f2a5ee2656dca8c1cf91a5374b8e46919f7a6e0f9579d2526
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.1.4.zip 12838 BLAKE2B 668586a4df02fa2d5db174a4ada1245a463946d4bccdef2599b791414af4f10eb07f56c61484977eeb21499db7f9b46f8fea03feebbaae5511504c13e3f7a64d SHA512 c3104e921a94b1a424cbf6936e8e5cdf5823947132f41190c211e050c9c8b7135c7b319eee0667a2b958c9f4fda27b9cbad4436d37b512e269716249dbfbef65
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.1.7.mod 160 BLAKE2B 10c23e5a0edbdd398d6913ee8e4665e15ab0c30c6aad4d8e113533d421058858a4c23898f8f360b72cc39922bf9b4e7c6c656faab76ec4616e05285932bfef03 SHA512 60840c731813699f19e9a23f3cc0e890c0b0e8228510b0021aa2696f35f3aefa1fc06eb396c5035214ac185816d5757896da1bfaf59e2dd24ca750f5b792e6c5
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.1.8.mod 160 BLAKE2B 10c23e5a0edbdd398d6913ee8e4665e15ab0c30c6aad4d8e113533d421058858a4c23898f8f360b72cc39922bf9b4e7c6c656faab76ec4616e05285932bfef03 SHA512 60840c731813699f19e9a23f3cc0e890c0b0e8228510b0021aa2696f35f3aefa1fc06eb396c5035214ac185816d5757896da1bfaf59e2dd24ca750f5b792e6c5
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.1.8.zip 13690 BLAKE2B cc3568a99c03ce4ef19e52a8429b485e774eabddc3ab24315a58b149e8168c448bb1fdbaabb8e3eaea918de96cb7411caa000be4585f851edcb26cb0be9f0a7a SHA512 c39ebb2cc99a555054d55ffcefd5680292c66eed23b1ba8a3595259dc24cd42d432b558014066554308f14fc452b7a830f8b10e635d317b5f14ac0e0b24b1528
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.10.mod 104 BLAKE2B ee5067e0e89fe2d374ea852dac828c094db84c3a3d2d8a991abeaf40385431015577eeb6b11a66033e8da599e808f9385a84843fd8f87dea487bd3bc9ba233da SHA512 f144089cc85271c7d91b9a6faf169018bb12177dd770db0092dfd0b4c71846e5cc6dea385c0158a974cfe86971e5642858a6d633c64d3b598f1ab254fd47db28
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.11.mod 104 BLAKE2B b8d6df41ff2e8952e12f0518d455969d7a496b8318052ca37ffabc663d9602b9df70385274818af8bf1b50e70a44ade59b0436133e08818ceb385d34a3b44c03 SHA512 218110264da1c7396295627414259fcc65cc9823216d6c03f2a6d7499e17205e540821add3216ba673efda92f1e5bfbb817416874fc745ed1d926c43fdd9bc99
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.11.zip 8885 BLAKE2B a9d15d5bb4264391abb906ef4b8ec929ecf61d0bbc781ad37aa36e236cf92f5a97f2035c0c08bb49c85142df10ba129c4c1755ede5bc8ec71743300f60af3d47 SHA512 4430b33d70f0fe35d07aefd6320ca0d8e49b71689d93b49e021e1893f8f9f043f8a6d16705e5517a600a538b3f35fed8f14a69a985b2955e8b6f34c19605c83f
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.12.mod 104 BLAKE2B a8f54d5566d54ac27763dd535705d64dddd862f32d23f234b1ffbf759cbf4aa16886c90a96198ae2f4c0d0bc892932f1b8244e8ff0f8150bb87123947d734016 SHA512 7bd9f6a38aa9a16c3569142164389d1c4046170f66b5e9044f7aaa3192e9d2e2ccec486e3bc7fbac868c9693b6d333068c1a34ccd9e79dec1746a86348951503
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.12.zip 8902 BLAKE2B 7257687403b9f8f066147fdd4ee1bec7e4b02cfd3fddda8349a89d9b9ea5b93d9bef61280ed48d68adac4dfed7e382ee96886aa0d65d85406fb93dc6fe0c53b1 SHA512 79ba14a04838c509500e6098553e8aadcd7105445387160a8aa1a6d7b0e70f0e807c99036c31faf51920544da2156195174c8530e317a72728719cb0a9a66098
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.13.mod 104 BLAKE2B a8f54d5566d54ac27763dd535705d64dddd862f32d23f234b1ffbf759cbf4aa16886c90a96198ae2f4c0d0bc892932f1b8244e8ff0f8150bb87123947d734016 SHA512 7bd9f6a38aa9a16c3569142164389d1c4046170f66b5e9044f7aaa3192e9d2e2ccec486e3bc7fbac868c9693b6d333068c1a34ccd9e79dec1746a86348951503
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.13.zip 8623 BLAKE2B f4cc66d4782f84b13cc940e1235b8a76acb823c5f07baf15948e7e108e79d02154c3a7ac2a87b83ffdbf2f862f35bac436038b7ed2726a09b943269dc7321b14 SHA512 ecb1ef28f64bf0d0b713be8be6b338130aa2d7ea747d3644e79de6f0593ed0e5720e8100ff37cdf90798a28955e1854672e756fe364639c04d6bcaedc4c6bbeb
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.14.mod 104 BLAKE2B e859512911c1621e5ba3e46249c5b9b5e4b0bae854bb3a18d7e39d6da27c93e133d43851d5e6bf2ede44fdee31801b19fe274b55a1f37b1291bf27262e2f2385 SHA512 23b01eb4023ff5018437ff98b55ada053eba49feab2777eed36d033f426c5456b143f3defbc3131dad1251205f3ffb3553e3c10bd98de80f0a462e8450d6d56c
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.14.zip 8919 BLAKE2B fc84f4f16176d14f177f029cae5ecf0221a8f0ce716c499e8b5d49c8e1523673a2fbb600a769ac26be98b591b3cbc3730d447c412b2acd3eff7f878526c271a4 SHA512 c6401cf5af80ea2495cb63800ff39fb9490f212f3aae0ac1d86b3d37ce6734eb35aea00b35bd26532feab77ef80322e765925f302d77f664dd57163f67a8374e
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.8.mod 95 BLAKE2B bb0de423d1270e7ec38c7ee345c788b23e2083b05e4f745832327358c4c054ef8d2f3f48d9bb7bc669ddc67796ca0abae164c1d40b2def5f38749d8ee4bd6f32 SHA512 923114bfd285393d06f681ba57db69f042f57d8cd7817a1611c7719121c812de8023a049024165e10112bda31a7f99d3bfe0d4c4f419557ba8909a2d005be405
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.9.mod 95 BLAKE2B 21f86775ef310fa5f1cbd773890d231e9dc64fbf2dfabaa3b7dab027f5cb1ee9880adaadf6b8a9a2b181db838e5fe26d7349442b591d925ca24ec7788d887ef5 SHA512 64b61a0f9ba20ae004a305963046d91b7b66e3659b67fc15350a0afa625ecf4892854e1829dabd589482d844a248aa73a56dc970784f2a03f6492a0010c5c665
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.10.0.mod 35 BLAKE2B dfade1d4d17af2380cb103ad9a0c91ce0eb7e570f9ab98d32c8d74a9056b1ba89c44c6fbceb4a2d5e5d45bb552a18e5845b1c40d8d1efbe5a9aa87e4af0ae2cd SHA512 c929334b82e3174b98a22bcc58dffd1291e3bcea6c5f789ab36296353cafe0b09640ba7015ff559acdaef58a9212b0367bada54aa89f563c6dd4773f3220c04e
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.14.5.mod 44 BLAKE2B 1589d473d7d8dd651610eeb2771cbaf667c65d2bc445cb9a114b972c21855c31cd323f39f96115cb622d57111685d9cb3deb7d8817d6383da3e26a8df36e2277 SHA512 e5f95d50299fe85ce00ad24e01580bcf8c82473fb49b5d1c0f40f027e36264d226c7de9d88568eb954908e55f643a37a5a93ca538827631637c71a0a032add95
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.14.5.zip 2420081 BLAKE2B 2a9e5620f88d56c462a1271dcbbc7bb6c88392a5323a840bcf8a5453d74bbaac152329a3330f5de8fb49e828af2020d624a8b473ffd513672001de3cd591aaf8 SHA512 10c3676708532efff8a8d910a364fa5bbb7f7455cc7ee191ac0bfda97a3d8a7689fc11a5337978dfbbc26735c34bf1e46fbe8e1fa5bc2560f9e437424be25422
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.14.6.mod 44 BLAKE2B 3a67fafe0b1e32665bd4e897602283e68e7b2afe2d89cb772a19f02feb8543731b4a3a902ac975b0cc4f5315baa332256bac3e10919d6e82bffa01e17225d987 SHA512 e7572c4b152f83a58c81e374c109eb5b80514c63d9f02f7adc2bc23e8bc81dfaefe6f1ed079b65ecbebbe118a3423c2124f0b619378b8b237ff0a6cc687e1952
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.14.6.zip 2433858 BLAKE2B 861a706537f56b1430aadf15e270e23f2e5b447ded8604e445c8b890bfa00b07b75525de85c96f1947e3ae7d173d2844694d177ae1c2b2482397f084b824dfcd SHA512 7c91aea5551993f6bae7aa41c4c222cafdffedd0f277c7c16904b825c45ade29531124a5dfe21b6045630e8e58aa5523b1380ddb49b1f199d551fe8d6c107f4a
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv2.0.2+incompatible.mod 35 BLAKE2B dfade1d4d17af2380cb103ad9a0c91ce0eb7e570f9ab98d32c8d74a9056b1ba89c44c6fbceb4a2d5e5d45bb552a18e5845b1c40d8d1efbe5a9aa87e4af0ae2cd SHA512 c929334b82e3174b98a22bcc58dffd1291e3bcea6c5f789ab36296353cafe0b09640ba7015ff559acdaef58a9212b0367bada54aa89f563c6dd4773f3220c04e
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv2.0.2+incompatible.zip 2361860 BLAKE2B 6420b95ece069525858fe5e3aa75b0df800fd2dd550cd13b2038273a49d9c2b7564cdbbc43ac95c7fc54d3de595ce7100027983f0aaf12040aa6364479ab2842 SHA512 65f289de2498d947152eacf0de984f6a1366665dd0aaf957af34327b606d9d96a4ad22adc60ac625226a46982e35c9ab2f0949641f74679876bee6c37a75f042
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv2.0.3+incompatible.mod 35 BLAKE2B dfade1d4d17af2380cb103ad9a0c91ce0eb7e570f9ab98d32c8d74a9056b1ba89c44c6fbceb4a2d5e5d45bb552a18e5845b1c40d8d1efbe5a9aa87e4af0ae2cd SHA512 c929334b82e3174b98a22bcc58dffd1291e3bcea6c5f789ab36296353cafe0b09640ba7015ff559acdaef58a9212b0367bada54aa89f563c6dd4773f3220c04e
-DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv2.0.3+incompatible.zip 2399906 BLAKE2B 55498f26a8d0ff8f33a3bb2ed542fbd54d723261084428e3a77f9b9f9dc2ba0884d681adbef53ca8cb609d05938231defdd40066c791746e1c0784f07a48976e SHA512 8550c70a5cb050de022699b2ee50dc56cf92c09da4421dd5b76ab8b27e2a9816e7d2f6e20b27164ef86f788fa7abe660ed6a2425d5288c07034eef38bdb4188e
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.0.3.mod 30 BLAKE2B 15a777a1125c102b5d3e25b1c478cfd9612a39b5240bc84864acd2b421cc5825f11d72312bd6fe9b61f0538ca49be08a7533755b6d48a6b5466b9a6c14e12489 SHA512 d539c09d037675b742f5993040f4c6474f4a927f5b2f84b9bd20e76f5b1cc8a3f85dbb23f88feff7d98faafae0d6e8db21886f88429ce9d8137d6e8d2fb86b3c
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.0.3.zip 80501 BLAKE2B 43ddf3dae35f3d4140f14dbb9888e0bce93b96d149ebe480d49b393407304c189e747f13e57c3c03236c209b5668e5d58ef3caf6acbd585fc84b0ee9468db2c5 SHA512 4d722e560fb0b94280c748567569f6dbb467c0492414dada3ed249d69fed2908bd6389b454527a0ae261252816a368d5566f9dba58337588a55c2b21816dfd10
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.2.3.mod 288 BLAKE2B 40037cd290d9af9d255aec5fc22e0fe1afaf846b40a1c36f564e345c642afe064bcd48801cdd8c058843b7ada0b0a7b964a0410fac5dc0acdd87adcdbd76f53e SHA512 41840648e6111107bd7d720bb5b4f83f72d888d22477bc3ef4de10910c60777de720a846ada3ca846ca9b485230dd004dbfd9e8803f98882ff76aae11d10f40c
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.2.3.zip 88127 BLAKE2B cf5eb17e0ad740c538f40b8ebb62c21b24e468a34db435392974922a58a0824091dfe0963ec470c0090b407d3fd5828f02a463bd297bfd160728d0f0576fd5e0 SHA512 068689a092350e96dc84c4b7145736f1e1fa4e04c0621f97b82341a01aa2e2fd212925d3cf8ac4fed4aa29bc0d4c7df017db9182aece139416364b2fb7f0f182
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.2.5.mod 386 BLAKE2B 01f4895fb0592a16a7e58b1f2e519777029f0f29b0e01e3d1ef394d69885d07964399cf47b4e689fd9f2bba34490526a31e57a7225e196258d204657490cad24 SHA512 ca8ec9ef4ec365ef485c4eee98605860b1a317f942cb4bd74fa1eab5e5470f5208b3dadd3aecc0c0302987ffb09c77e456f0519586ee96576721298149ee7dfe
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.2.5.zip 83469 BLAKE2B c035061b7a7ae8dba1af0bd49459652238397bbea684fe3d2d104250ad4a8f9ff514b6365b89c2fa0386aeb2cff95ab8ae0ec541c5768c53b293666b297d8cf6 SHA512 82848fc265757a206bb6340baf219ed897ce83c43834b0d75b24a5d19f0450f9f19827e7243125b0dac6b45c40d4e7f9ba067ef77bce77b105f97a7075a0424b
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.2.7.mod 316 BLAKE2B ec3c0f05207a191e52823e6d0e49c0fa1a90aff849739140888e9c7bace0466efd3fb8fbb367fa1558bf20a8ec6c1c84ff909e065e4ed48b34995040e49e430a SHA512 aff12f24c51cdb169782b2e28c2da8f7d85a10137a5eaca3d15d0a3caa6b15eafa6fd8153f280fc9c046448dafe01578db45d167cad9f84e9b0128908ad9be4a
-DIST github.com%2Fmkideal%2Fcli%2F@v%2Fv0.2.7.zip 82552 BLAKE2B a5640e56ed8111dfff54ec9310fa0c6b5a9accf1f4a5bfe0c57b4458f5c93df082a4dfaa226d76a559a439d096f1e4c14cc6fab25e3e8e9e66502b1f91188f6c SHA512 c65f265c2b371b3f27da3dad66a902f122cd6332986aa71b92229e9a8d5a24a4b8863cf8f34de854a12bbbb93525ab65448c8d5a0b565adc03887e9efb3f891a
-DIST github.com%2Fmkideal%2Fexpr%2F@v%2Fv0.1.0.mod 40 BLAKE2B 3ab8445d139814c9e374872864f82006ae7ab3b1b0269a12d1fd9701cdb8fc5bf0efc06d4efd7f520e659d6c9064a3c25bc16febcb55276d6f7ea0ab300616dd SHA512 f6e8c7c03ee295634efd60f543de4289c91bdeec3dee03c6ad572859d908a9fc5c92a94749fdba244c2b47d8272c31b52c27953a9ddbe1d84d6aca745568cc02
-DIST github.com%2Fmkideal%2Fexpr%2F@v%2Fv0.1.0.zip 8991 BLAKE2B 38192d4657b914310075f756f584f98af1176a589e93634f7dfcf572daaf4d996a4d059bb45f36716ebbcf2e3567491d161d17e0eaab5b546f515c71da6e5a40 SHA512 af664e5c81fb9c375c9760ba58f32f663fe23ab6fdfc65231b3fa004189ae3ba7f58b6621b43fd29c28eebf62d8dabc4093c7ca1d79593b6b5197a260c280f03
-DIST github.com%2Fmkideal%2Flog%2F@v%2Fv1.0.0.mod 30 BLAKE2B 80b4dfcd46c104d14d23938779ceec3aca4940f6ccf1f3b85a42bd15ec7f0ef3c9d132bdef3a09065822e0e645591fd3223863d4dda13db5aaf67da55f2edca7 SHA512 fa93439c9b6b0a308923224da66f53ab1608014a60309df704aa8cce2feb5b6440817a5365fb1a28e27e86ee4b5894e34eab701c190c11da56a5bf5fded761ec
-DIST github.com%2Fmkideal%2Fpkg%2F@v%2Fv0.0.0-20170503154153-3e188c9e7ecc.mod 30 BLAKE2B be0d67c172ff76b8c4576e2e76e3c56418280ab4e8981e832f11f0105e22440e1a881c7b928752edd9596eccc62d478d87e210e9b1207ff65227d8ca16e7a69b SHA512 a4c91adb03651c89f0954d03648876fc0738a879fe0d13aab60e8b645897a1f1d6f6954aa42761e95a079946a9f072b0c8d4d0b8b34b9978dab9cebb72e12ea8
-DIST github.com%2Fmkideal%2Fpkg%2F@v%2Fv0.0.0-20170503154153-3e188c9e7ecc.zip 112591 BLAKE2B a67b96f3d477b6522a6df1d39223e7c9f53baebf657c6e321771ee4409cca356c7e6a0ca7eb36a0370cb1bb9fc27cfb4e60401ee967968e56b28adc999a451d0 SHA512 b4986d45c9390796b1cc4bb173e2c2e441751439004663e04b4f3fb05064620fdfa998fb85a6797b9f5cd06bebe9b85cded46eca38860bd09d588c456b0cae15
-DIST github.com%2Fmkideal%2Fpkg%2F@v%2Fv0.1.2.mod 395 BLAKE2B 3bdd175990891c8cf145dcbc05118c356d388d1ebdb2f048a2dd5c23030adec5f15a6d00a1419418051e204a3c3771360c0f1fe023f07d036946638fb3505d2f SHA512 2d631f413724ccf4e621b783cc9f06ab3b8f5b740ddd6d1cf68e83285517a95d4f760ed5b0eab46ae9f2566af16386398c3798305fefbe121f98459d499f770f
-DIST github.com%2Fmkideal%2Fpkg%2F@v%2Fv0.1.2.zip 112864 BLAKE2B a11a908ab1736e95b2a19d7424a71ab8fe95b25fb4c05562ea92d54890593bda0d4b4eccc1c3a35a836872c7657712e38aca2a2b3f3396c342cdc34885f96ecc SHA512 4996e0eb65a55c0c3a7561da0a2037e8a3f4ebecf4cec5019ecaf6d886f7a5360f5ec10dde1647e2b09643bb6d44662c2a58fb59da9a5ede0a651ec0505f6d80
-DIST github.com%2Fmkideal%2Fpkg%2F@v%2Fv0.1.3.mod 246 BLAKE2B aad1fc1845ef8f4442a7004b3cb6d7a3a9d92ec2089d14959edd9053460124fad56a3eb1aaf46d58af7e1f96e0594b7bb01114ebd4e460d7102a7ca95562e057 SHA512 db7e1cd81bb305ca3cfb668b18d0f4ef1247c62307b70c7c52ece67c13d2c36c07eba9be66e4c5f2d984bd86eb8dd122991336a76716304578aa00928f0b1e09
-DIST github.com%2Fmkideal%2Fpkg%2F@v%2Fv0.1.3.zip 54848 BLAKE2B dd111f0abc9b394e6bbad9cb9f645df4cd6218f0e452ab215abe1c482d22777de0d7a2e8728fb76111a2b6d26e61b7c62644c898ff491e66fbb9dd67418f354c SHA512 2b0da413e4cd937bf28663d689fea9f6edaa64611ec1efcb8254776595e354b06af82f389a8c4ac9cf2f2d0580c4d580bf38cc5b0579d446304e9afe8455495f
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180228061459-e0a39a4cb421.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv0.0.0-20180701023420-4b7aa43c6742.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
-DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20161129095857-cc309e4a2223.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.6.0.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.7.0.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.4.3.mod 555 BLAKE2B b182f5a37e6169f7e40ea33bdda2790e7e1b01c1e61cc9d109ca6b8803ce9161cc0c2e2ee857ef5af582b1b9317c58734683ac3e8a8d11c620865b3b12c6baf6 SHA512 a7ef7e84c93e09b01b83de08580bec055f0164d3272a3e2571707d0b33f4b4616a379d440ab3835d455d8d573e357a6df1163fa8415684d5d55af8e22c68f7d8
-DIST github.com%2Fopenzipkin%2Fzipkin-go%2F@v%2Fv0.1.6.mod 1010 BLAKE2B 6bef0142218537a9452ead65865ba25d9bd2c9773cd87e199a72ec57c7de0143088044bb79e23c2d7a29d4275713efaeab457d8fe2b519006883b0c15f11e24d SHA512 10181677125b9bccfca933fa3ccc84c81381548b0bcbbf1c7423822f13902eca3907e06d9cff462126b4795b8ecba9fd0525e4dd9f90962697829b99dbc20bc7
-DIST github.com%2Fpascaldekloe%2Fgoe%2F@v%2Fv0.1.0.mod 35 BLAKE2B 3db6c40257f2c4b0254a26c6e414fdc87c037f6312d4bf7bbd39420d6df70f50eab84c387b54cc71fe16068e1b25e3fc63a833e11cf5b4346f842bc61328b0dc SHA512 0b378d1e15db4fc5a3d7d711b63dedefd141d607192344c8d1ab2ac755ab9c6e91b2c320378ac8a485cf94deee59e6628e7930017c6d659bead6ba89cd78a802
-DIST github.com%2Fpascaldekloe%2Fgoe%2F@v%2Fv0.1.0.zip 24373 BLAKE2B 48d3d48ea7431eba6946ec134f22d789b1e71d5ed5d421214f7c8b1803e0c44988375f1464206209a30cd20ab22da83d34ac27a3efeac55869ec24219fd835d0 SHA512 540d0f75e2fc27aeada7b736a896555732d8f4940462003fa574921d4479523ec1d7cf08697dae09a9bc1aba37b06557639ffdd8458c73346a114fa445dcc9e0
-DIST github.com%2Fpierrec%2Flz4%2F@v%2Fv2.0.5+incompatible.mod 30 BLAKE2B 007bbbe9dc603d92170e1aa89946c3df382b73e60a01f247ff3c28c56eec5c06b1f901cd3f52a81ed967949436fe0d2a7b4dc70088dbb38de97705967f127aa3 SHA512 e3f6142da79fb97efb98b7bac49f4fdcc16f2c59b40ac87ca98b633874bac81105a0bcff20045bed75d39ba3922093102f9e74462356d6dda6147f6be4d31703
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.2.mod 540 BLAKE2B 4d43a0901fa46da74e62fa22f61dfebdf6468f2766bd43dfd487d7a5434f961d181ecf26015ff9134e8d3f9c2dc03da6abbcd0030348facda3a499af9a04665d SHA512 9add81238044589ae2cf38042b963953d507e40945118fd62ac1cbf41bde1b001a69423c50b7045b721488b3d53489b4ce3c544b68f6c4e31e340d2581f7c8a6
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.3-0.20190127221311-3c4408c8b829.mod 443 BLAKE2B 2bc1a0ca986dd17787cbf528312efc6e721d3d9a46126b90537b7cae6681192e74afc83f3b64f8835314a0608a3f146e3fb74afc3339bb7b009d16ba04208cbe SHA512 e45c711b58e0453c63b899faabfb662fe743085dbc82782ef730ef6797fd8d372208d4fa887168ac920d6b1d15f7f65fc9a3fbff25a4474915d858411a7adee8
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.mod 535 BLAKE2B a8d3fb22b519e88dcb6b6f305a80c94e8b40fba8bdc96941230b354cc6bd8ec4bfd121b8e5ee57e9883e0b01b6224ff22a55fa8434bee1623133cf59489e64d0 SHA512 1d3646f93821b2ff1a4d80074f773eca22ff3675caca9d267762a31c1ec719ab464ba7ade7c8e2aa79b16a4f35f5a64f779fd909060a0c3056f09af77cebd655
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.4.0.mod 612 BLAKE2B e77946b5137a632121f113e6d7b390d25891d1fdf214b7c07ee0307aa4e78f5d19e96d1f4bf01aa1d62a2b0918727db1e128fdca6b6f1daeb08632b940a3084e SHA512 46eb82a74b845f5eda8cd01e8ae182e5dec7867306b31a40cb5c6bb9df2045c3259070b57388cc7826f54ee7b9fddaf980436f74ed500ab88748a13f12b30ff8
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190115171406-56726106282f.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.2.0.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20181126121408-4724e9255275.mod 36 BLAKE2B 39120b6af83d45857c990115ff52d8828278a9ce158b01621d8dcc517c23ff139532a2c2e53ec97616f0c65a2e0db3ede7c5fe59eb33be277e2c60650362b232 SHA512 1b262da0100655c3a56c0e551866491b81d2b88fd5fed9cc43a57bce3634c88c82c798ed1a823237011f6be68b5f0e1fe8284526cd68204851de30a44fc34fbf
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.2.0.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.1.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.9.1.mod 829 BLAKE2B 14a7c9b3754cce16715135e33ee294058d999f343d74281b9fd111a9c0a5632b90b6594d1ed220165b58614a695b2b2aae27b2ed9aa35ba1acc768ad12e46ea3 SHA512 4cb3dba50a3b47b9db735de9df4bd7b35d02464065919502bb1e17236c2f6b1bf1e74f312a8d0127d2d570344c30d58063d62031d3439f52a6dd8f47b29b9996
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181005140218-185b4288413d.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181204211112-1dc9a6cbc91a.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20190117184657-bf6a532e95b1.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.8.mod 145 BLAKE2B 8c6ed8a28b2f2fa7e97cfcb545ff7604eeb5802bf301ecfd574c1bd5bbd59172479a55c9f42f42a13a85daeb77e730dcf5cdb78aa9b7c499f3ded0584163d75b SHA512 0d285b677b209f7973ddf036b2f2463aacd060e58db9a0721e85d40d513f8befe3605677dca1040fe9dce006e3d5d3246d876224f05c45757505696122a3153c
-DIST github.com%2Frcrowley%2Fgo-metrics%2F@v%2Fv0.0.0-20181016184325-3113b8401b8a.mod 38 BLAKE2B 091e64943724001796bfb662a26443a681d4db705219a1d7601c350b94105caa1584c62a4befd1aa0c634268867c84bacc79e235d5a8b416f6a8aa8e12192261 SHA512 f22213d29e8a0914fc947e08d8c85dbcab835cd7587e45cf5458a1cff074359fcb187ab47bdfd933c8937e393975a29e872b744ad61295fb1dee3783877e81df
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.15.0.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.15.0.zip 2434355 BLAKE2B fe1362bfb6203e162fd10e2f1ae5a4b23dc9d19ba990aee7150a353bbed56a02ccf359a6fffe8947680a59975375103ffe7bf7fe3037a9266cf37606e3b7f272 SHA512 0e43a50b69ab2002056178f7bf657c4c013747e38246f44bb7a06b4c284f1dbec5f90d7712159bbdae8777e418ff77472525ee4b6cb4995f55b49ed7cd9a130d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.18.0.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.18.0.zip 2425214 BLAKE2B 9911a174624fe85bd7b9e348a421d5dc395ba9e10a89cf65967aa9726d06ddbc336ef559c4cdf999c0ee3d02073866bdae75504d1396af05fd8db0f9546cb1dc SHA512 73dcf0e7625d45dbdb1da7cadabfa949dd7b974aeb503f598c9bc41dc7347deb53a2285a36d9f6ac3962ced05cd657f72df1424997db305e27b3909fa3e45c33
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.19.0.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.19.0.zip 2425305 BLAKE2B 8668e0c433b6a1c4217055dc357dca95d82eebcfdf18b785aa697fb28f012ddfcbbbbce741a9e9bad285ac17058e684e270844fbd21327c027fa1101911152df SHA512 13368fce4ebe2257d11b63b34291b6cd9e47ab78999927ede538bd11db9aaa7a6f29cc62db5044888636872d2a6c580f48affcfbc7fede9769fa2242161b8a99
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.0.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.0.zip 2425279 BLAKE2B 67149b675fb720bc4484c441c3735f2d038b16a7fe486a5cdfd39f00238ad810765ef03b919c4b20dd054dafccbfd5127a660bc2f3da857009a31b34ddbfbc51 SHA512 c4edf75df81daf7bcc3ceb341261b4e604a2892150faad85083bf43ec20027c7b908112d2944c5a2223dfdbeabffa8f3154dd3ba964033a22fc50506e3ab9b9f
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.1.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.1.zip 2425288 BLAKE2B 29c4acb691e654c6ab2a55bdea8aa47ce64706c410266561ff670a796ffbc2b3e55366bac65bb922d895ff95a8c9345064c8b37249c2f3482cfb28cbd71f743b SHA512 a907701185079c2adee790a233e6f5dad3201400dd11eaffbc49647694b99ce621c0afa85c51ca05bdbed14aaa0c7ce8cc0f65f7809a8a962a3bb59883f1c581
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.2.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.2.zip 2450694 BLAKE2B 5477a9d93cd0a60b25119bab678ab1306445dbe0ada78ef4ff14926ba8ab7cdce07b26be63e30e9e02f6a494d8fdd350f8341148b0ec60aca6d712c5d83d8a11 SHA512 811bef3f86c29e35249617322598c3645230c5404a7e4f925d902d0e4067f3661ab6e5f8a55a3d14c4df5dd7b0a10e89b01a685eee9e50bf6b5a166ab8bef2aa
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.3.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.3.zip 2463145 BLAKE2B d5ac298a9567b43aedfba720e67d7c13a4b7f840949b6a55dd4f76ff89c31560efca1d3c50312bd696de577fef7c4fa47fcef8df4714337597e2b239d16a2ea5 SHA512 ef3efaced8d9ed39861f7bb571fc2ece7b8d3ffa1b383b0c6840e5692a8c9e1f9a280dd9ed7484c91f9779fb6452d3f1924094907985a9f82ca5d9d7af2deca4
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.4.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.20.4.zip 2463201 BLAKE2B fb56b4026153f16f52130f237880040d2d990ccfd56dfb3cf3ed2ad4f89f53d51ef4af0eef7f052950157c43a717a276a627e32ea40238f2a3cd9d470dddaf57 SHA512 e9f2da5847254a46aea9b87964de7ab0ee1dcdc291b07670dff9e75dd1933e1627368e346f458a0c7a9bbd7bedaada060fa7db4b65f74b81692aced73e842255
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.21.0.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.21.0.zip 2463235 BLAKE2B a19a3faf4694758cb46c3f7dbf3b602eae22c383fdfdc8440b017192c9d2368d1524923877e0714749836a3165cd67084eefc7d77d9a046079846db9743c006d SHA512 e3ad57f20b4b95d40f1ab1783be42f3dd74ec72170a85913c77942ab6fc8580b9e56af7c482450d053fa817f7fb4e98434fc65bca5cc8400570c58e906dbff92
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.22.0.mod 45 BLAKE2B 1eee601849740d90744f1819d6048998a21504a4400c9913fdbb01afad7ea6d5a9c07c70d0aa1d74a604e0d889c40e5358732f1f00f001fef2f58b16a1ce5293 SHA512 6308492c9daef5d00332441cbe7443a9da9226d24b41c216b8d2425c4c0c9d6d6e44a44669cb75d815c9641bc5c424f9d5cc97b4d9da7a1879c76580f4d5830d
-DIST github.com%2Frqlite%2Fgo-sqlite3%2F@v%2Fv1.22.0.zip 2463249 BLAKE2B b134cc649740142dcacd0981b3bcfe370dd77da91e47b705247c1464e86ea878f6705033a6a1fd49393ad054f80960b4d0ba646c9f98e9d4c06917344275b36f SHA512 2b16c12f96879446b5d28e2dbd6230f5529d3987267e68810e0ff78d839752511acd0c43026bfc3bf67f65d5f6147f9f0ed74fa846f7a187d6888d002ff50c25
-DIST github.com%2Frqlite%2Fraft-boltdb%2F@v%2Fv0.0.0-20210909125202-124e0a496d7e.mod 165 BLAKE2B 32efd540e1cbf47d37b06e87287a55dce3751abf00b64d460f5509c07b999998125308e8cb5ec3060c506fd37d731bbbf5050329598b424eeb323ff02fd1ace4 SHA512 3b9cbec938614601a6a64a84cbd6cb330c62b3003abf931965ef270bd1dfcfe16b32cac1a74505c36da445e1c6d531e93a79a5b8ee64d8afcace31934f6e2784
-DIST github.com%2Frqlite%2Fraft-boltdb%2F@v%2Fv0.0.0-20210909125202-124e0a496d7e.zip 15599 BLAKE2B d29e196af970e2afbc880939be80a3dbd899b2fc8d8adbf3dba247c01440fba249e6e6b72e171338337df9c9f6e13f274a9670c8a22814ebf541ec78576fc9f7 SHA512 9970b72add1b5ace6fb55033f4be64ceca110d05e9e9307ea02b79f8f29c2812237d22787d039288d087e0d0a875972f09458f8119bcb9b1291e202560726f37
-DIST github.com%2Frqlite%2Fraft-boltdb%2F@v%2Fv0.0.0-20210909131733-595768e10065.mod 165 BLAKE2B 32efd540e1cbf47d37b06e87287a55dce3751abf00b64d460f5509c07b999998125308e8cb5ec3060c506fd37d731bbbf5050329598b424eeb323ff02fd1ace4 SHA512 3b9cbec938614601a6a64a84cbd6cb330c62b3003abf931965ef270bd1dfcfe16b32cac1a74505c36da445e1c6d531e93a79a5b8ee64d8afcace31934f6e2784
-DIST github.com%2Frqlite%2Fraft-boltdb%2F@v%2Fv0.0.0-20210909131733-595768e10065.zip 15594 BLAKE2B 0965c28f2ad08be8ab9916c74b8100df890e4a885540200cb6339bcea5905425f9694a274f46cf0fedc38aba63d346b2cb6d9d78ebe78c98c2b0d6ed4ab4e59f SHA512 17ac6a3f7018422fb2f7a33fa7284ad66deb3f76b90ff16bd7874c66bb7941bdd02061bd11ba121bd9bf2445f224bb6552eaf7d8b3874a0111206fbef31c78d2
-DIST github.com%2Fshopspring%2Fdecimal%2F@v%2Fv0.0.0-20180709203117-cd690d0c9e24.mod 37 BLAKE2B 9945435440e0d3be57cdb12cab697382fe91c56329289bbde332bbd1fd15928a5101d7fcadd89064ecbd103130514a1cad383db097d02d596138fad0348c15d0 SHA512 7f46d39bc8f24a5c5c1ff513c0f0018d5341a008526a49bf0b3694008c272b3080b0386a44ba6c27f2894bef19dfbec5095c9189ed222ed5a55797788668315e
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.mod 337 BLAKE2B 94ce7d2e23281061ee0ac0b1be2f8c3439c86e62c56ecf556a81123d57d819b1e0e95ec3b7c6425f13abaaa1683942b7a3d0bb8ad489577284b2a6063c777b37 SHA512 38a79599dbd09661614d54fc92149fe581575b7833e89dd73a3f754fafa4bc549c6c9078753ab8e2a85ce2be3ab81e528e29b6d19e7c329e0cb0f74896d2e418
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.zip 90474 BLAKE2B 2f79f0cac2c15acaeae764aeb640534f58ec2ae86fe88a82533498e718cf37d67c563606090ad39b38e22ffca1e63a25cd881d6a472b862ddaf150c7d329b16a SHA512 a047ba8d5f529d459fb6ae8dd39367e6f6cd2e785e90f54a5f8759ff76e4cfff990f1b8c1e0cf49c67b97ca8de36ecf8fdeb3b8f16e579aeae2d563d38da69db
-DIST github.com%2Ftv42%2Fhttpunix%2F@v%2Fv0.0.0-20150427012821-b75d8614f926.mod 32 BLAKE2B c5bd918ed79f8ad33509bee3028b85da9941f721e12735da810f7cf4238ddf83d3c5b7634c01944ebbe9d0c77fea36d5480d945d2dad9d9126cdb5ceb1cc1d11 SHA512 4168487b908d7fbec0813e5ac4d1cc854216d2355fd2843c2856ce81ee7bc399d9fc2b0811b5fbf1f0f1f26e92d327aab3d54b30809ffed621aff37a706e3417
-DIST github.com%2Fvalyala%2Fbytebufferpool%2F@v%2Fv1.0.0.mod 41 BLAKE2B b7c7dfaa36f45deedb2b403a7a0f09577321cdcd86d714724f9d8dd8044c05aae91dbee433deec1dc094d8af6ceb8d01924bf4a9812b7521ce52ffe5678e4a22 SHA512 887a7529d78ca53e5e8822ac041705ae20c34c337b1bb94d3f6b671e4afd2dbdcce3a52aac4a42defe3da92fde14eef180bc01293040f6150c362f23408e3fa3
-DIST github.com%2Fvalyala%2Ffasttemplate%2F@v%2Fv1.0.1.mod 89 BLAKE2B 6dd7632179015369088b8e1271127271daac6a3af65032e723691e1d19ae50428b705a8f417950dd1b86c6aae63a0518636029f589eb4ef722e1c21ef0d0aa9a SHA512 02820d9107d43b1d41e74fb2281edb421bd95f852ae1062536d3f2ad9d6e97e2154b90a831f4618a0f83f9c4a828c176759132c0565a7a4d99dfe3b76e5f6d10
-DIST github.com%2Fziutek%2Fmymysql%2F@v%2Fv1.5.4.mod 33 BLAKE2B 06075bbd3eb02ab2dd096de6cce4658000082d9afe5616c75d74b0dadf777263a3c914517bf0df87908d043370cd066c4a5c45b6843cf02bb3fd67928a8d5197 SHA512 cd6a60a15f71d86acc64da0657180522cc0cb7a6e43428e131241bcf791a9c73d6dd8813fb8dd5b3d8e9bf99ac9264b0519c796053a7d519bf66143e1b0643ac
-DIST go.opencensus.io%2F@v%2Fv0.20.1.mod 408 BLAKE2B 01a022e76e1605416e74ffa8aafc0868304c7810d9e9de804bd611a2eb7417adf113cf10ecf607d89d1ef18f1e17fdbd1efc35f889854210114fb8a4e8db1d6f SHA512 2bfbe633ffde1f91834ca77f19d0b32cc4c9480b8a59e101199cf3e8ab0285c16fb45a00326353f02a7dbe06c1562c4695ce7d98767c4149ed2321acd527bebd
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190325154230-a5d413f7728c.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191219195013-becbf705a915.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191219195013-becbf705a915.zip 1861363 BLAKE2B ee9b24e4db030aca81dde9b7c3e8e9cf8834be2ccff243da43198fc414d088f7a2d36dc3a6ad7269f07f3186fe183d04a6643474f1d0973272657920e190d13a SHA512 75cbea0d611fc561e0ec8632afb5078892a54aaf39390c6cd79ec71e099622c437a644844597f4d1305eb66fcd0a2182caeb864c4613d0f47d7d9cbf5e87c96f
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200622213623-75b288015ac9.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200820211705-5c72a883971a.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200820211705-5c72a883971a.zip 1876176 BLAKE2B 84ea067e58783d36780037272d669162fce90fac23d5bb6090898e14ed6753ebd4bafc001b3e3ec792a29a2a802d57763a365a3f89f1acfc37f18e320aee42e6 SHA512 1a94d4b9e787a0f322cf9ee223c3b01d8dbd34b59381330808d2682ae05de0cdad62c31e085c554033e852bc5fe49d789993a668a2d75bd7eb8b2389ac774e65
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20201116153603-4be66e5b6582.mod 209 BLAKE2B 3c7f74d8c14c4bf61492915500dd2ff7e3622dea9584686df4169fc8f9bd43019a9fbc75fe9949cb7b27e21f0e5ac25009c4c25476c538294a70d5dd608681eb SHA512 0a9254b2d0f816892ac9d8231d2cd65cbabd604785bb4b11c696bc321b3a2d14f19ce4337fea3df4a9a2bc17092ac6438a7d00d412392db8c594b0006c238fcb
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20201116153603-4be66e5b6582.zip 1861830 BLAKE2B 3ee7018880e8596549f2885209fa624a41f050646d94d93b6d1906f796c080e50ca2ad0fbb983831753e293f5e0fbb733fa795d6b6b8629788ce34cc3f552289 SHA512 d1fb9786bf476f190f50a2cffc231faee6aef3e78c6d09d0476a06e069e538101359a7fecc47cfde0433d6038b7ce28e0c82df869299db9780b5f9a868b3e1b6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20201221181555-eec23a3978ad.mod 209 BLAKE2B ce8c2a54376fa42fbd394e92db1f08d4c639eb7b5e1b33ba41c8a6ad212ccaf4bc7a7c761c43449177761b06296cce60aed17b0f542978a892b1de054b23286d SHA512 d43d530154c2fda6d171696efbe118c4c021d4f3cb5d8ac9262465e0cc906257330a489f6b950465196bf30c91afeb4d4946b3aada3dc182b5c7307a8e702fc7
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20201221181555-eec23a3978ad.zip 1864231 BLAKE2B a7261951977aa8143153915d72e608ef263a760de7b4977a11d0d2ead32f88ad370b993ada6344556616343a700a93edce3294df354f93d51214cfe888b97836 SHA512 1b7237562a92560aedb2527d8242b46c5a421488f638c0049812ceed87144828ca682bc4eeb87869db947479ac9e1350e5abbd31e1ff3e53734d4ea25bf5c27d
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210322153248-0c34fe9e7dc2.mod 209 BLAKE2B ae212ac1167b75a96c3b74f33594fa85e980530886edcf3bb58fb5e077793d24e69d1015e8581caafcc78b2d41cc75e4e17e82b2d3f76f10058ff5a715f00641 SHA512 c2a45c244884d6ccc5c4f73b6b3852d28c9ed1d3acd4805ff36292681e5011284af42ab75ebf6274cda4cc3bcd426496515db7eaca2a529500c0e896190f26a8
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210322153248-0c34fe9e7dc2.zip 1864784 BLAKE2B 6e21ae64d3917f37cc233bb3d63c25149182930d022ff1e70bfc50ead953f49d6fd434405b9c1a4ad5b31ea39471b0a9ae6a0093b53d8b7e6cc1e88a34a45544 SHA512 f7077f2cb6f051911f8d97449b22ca79679c5f8e0a29c3c438a4f4bad25fdc58dbfdb9baa32b008663059bf9054cb9ec029215262559fc655f05a413b7214bd3
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210421170649-83a5a9bb288b.mod 209 BLAKE2B ae212ac1167b75a96c3b74f33594fa85e980530886edcf3bb58fb5e077793d24e69d1015e8581caafcc78b2d41cc75e4e17e82b2d3f76f10058ff5a715f00641 SHA512 c2a45c244884d6ccc5c4f73b6b3852d28c9ed1d3acd4805ff36292681e5011284af42ab75ebf6274cda4cc3bcd426496515db7eaca2a529500c0e896190f26a8
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210421170649-83a5a9bb288b.zip 1865984 BLAKE2B abd0df884c2851ab704abeb85c69a2adbe22d06c157475c696fd051532f445e294d565c0660e57ead8321bb81fb8d7577f58bcf3bf733267161837d04e1d3aac SHA512 6ba80db2a779423dc5d67f5cb6a70f86149cbb8d710c5ba6bef7dd9cc13caee548f04adfd47b74433c640b1eb6ac0a8ea6f14d44c95e316f9484c63d738478d2
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210711020723-a769d52b0f97.mod 247 BLAKE2B 20aabe045c2a6dd88b13c66106c962e31d3da87b33accf5085106d9e9c43fed4d5867909580ad37ea560d791e1a3243ddc2dff81ac6205f7fb949a46b0c3634d SHA512 32f94123c2845965432016800e6f051341f6d5d0af3678e367ac6c55022c68e86e929cc545a576d466f2533c235c29fb72542de75eae7419dfb5640cd80df3ef
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210711020723-a769d52b0f97.zip 1874721 BLAKE2B f6374336811be4922eca9207154b37d67479968a570768a88d77c3fdaef70e4573e59ae3e2bc09e15262651e414eeb1d0c5a9c5faf558f013e355693cb1589c5 SHA512 dde077a273c3b6851385e64c5621a084287b92b62e2a96ef6586cc2fb7e8e84517a54ce1d6354a0b64d8d3df1de6c3081699730a30ca61dd0b082f0993725f86
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210817164053-32db794688a5.mod 247 BLAKE2B 20aabe045c2a6dd88b13c66106c962e31d3da87b33accf5085106d9e9c43fed4d5867909580ad37ea560d791e1a3243ddc2dff81ac6205f7fb949a46b0c3634d SHA512 32f94123c2845965432016800e6f051341f6d5d0af3678e367ac6c55022c68e86e929cc545a576d466f2533c235c29fb72542de75eae7419dfb5640cd80df3ef
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210817164053-32db794688a5.zip 1876172 BLAKE2B 3b1e29d33ba8af42f20fc885b38014859d3c4d9d688f82354d2165649166a2211ce456afe273d61f302e2c1dab9f2ecbe8afdb0d6fde391e788c4783954bb104 SHA512 bb0e7965c8f5f6910d8d63951b16c23f0a832b2b5ed379b3261207f38dd4e859af47007163f5cea2bf7f8ab618f3e93abd91fcfcb64a942643d5273ea92f38af
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190301231843-5614ed5bae6f.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180906233101-161cd47e91fd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181201002055-351d144fa1fc.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190108225652-1e06a53dbb7e.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190125091013-d26f9f9a57f3.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190613194153-d28f0bde5980.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200707034311-ab3426394381.mod 181 BLAKE2B 05d6754fa387bac4a6481ad34fb7b681064fc6443b3f70cba316fe2fd0896050e4a772fd8e1be655130a00bb5feaded4725ffea1c5dd6ba55ba55315aaae34d2 SHA512 54d242da2536da38e292b62a955b3961f7b0a9789fe36c5f7ae93577eeac734a6e5bac21a657cf71d488395278cd7683db538e16a9c853835277a800a9d43471
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200707034311-ab3426394381.zip 1503811 BLAKE2B c8cfe6b14a455a6ad71c42ce03235c650b7efe842131874cf99570716907e02c9fbe42df586e69332189518cbdcf6e2e417caebec84ce928e7ba959b66ab869c SHA512 bc3772a7ae7cd2b50f61ec8d07e7f7e1af9f24e0b737131da375a525be44dc993ee740ce0a11e0baaf0cbd81e819e3ecad889c0c7ece95086cb428e52b10a785
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210226172049-e18ecbb05110.mod 179 BLAKE2B 509f289757a1f923d7b423a77cc3f1ddb08a2ee3eedb8f5f3869c2011a86121e79f02a34fb73076255e6973c8d66ca47b4690c34d7d3a5d33e1dbd04c4ea092c SHA512 f8ad754f922057fe78b5497cc77089a5eedc774800b2728a3ccd74cc82d83ba1ff00cc2d28110d5535623b733af7e34616f2fe127e68a936b9551395487ec146
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210226172049-e18ecbb05110.zip 1587056 BLAKE2B b8b8cb2f12231f2e5129646f34a1138b138ea6b38af50ad8baafcaf155e9eb623e320823ec1b7502431df3f95dfa7ea1c8cc21abfee3c8831d913347aead0669 SHA512 0e635def6bc35ca664d28575366161fcce349c9f78386a9ffa3dc700da1e1badd6fbb8440113451ad7c1cb9a18b49f949632734946ec56ff56d894d8d74b56bb
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190226205417-e64efc72b421.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180909124046-d0be0721c37e.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181116152217-5ac8a444bdc5.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181122145206-62eef0e2fa9b.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190222072716-a9d3bda3a223.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190422165155-953cdadca894.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190523142557-0e01d883c5c5.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190602015325-4c4f7f33c9ed.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190602015325-4c4f7f33c9ed.zip 1784999 BLAKE2B 53d1fff8c1f3427dd91a5c6052e671dc97c646c267448a18beaad4b5c3108aa08a94c6cf2adbae4be847238e2bc02189a2c59f29500fe1be904f66c2daaa0ada SHA512 f63a04e8a940a998a028bd9489af913d2e47948bb927f669046d03a90765806da33ba45c53550d7b9a553c6b58257320486b5b0211854a8cb894e4cde4e59a3a
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190813064441-fde4db37ae7a.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191008105621-543471e840be.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191026070338-33540a1f6037.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191026070338-33540a1f6037.zip 1867927 BLAKE2B bd890b16f2adb601f5655ca3f4815bbb335fe48c961b06f316ec579ff6efa2fc8f360d7c0bf272dc2d35e9a0470235c36cee331399ed01d8c455172f39921194 SHA512 59a4db96e438a1f03af9b00070f4d3772f1eeeff72334e6bc8ad1774bf202d39f7129572cd75fb9e1ecdfc7a532c5cd91bfdbfab3ebd10228bc6733e9556f70c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200116001909-b77594299b42.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200122134326-e047566fdf82.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200223170610-d5e6a3e2c0ae.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200323222414-85ca7c5b95cd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201116194326-cc9327a14d48.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201116194326-cc9327a14d48.zip 1528232 BLAKE2B 9cddfa965bfb142308706b0f3ce20c8738800ae047d80162608d2a3d0e88413fa7514e4dfdf0fe965680fe12d09ac6d400b47b556eca3be6c92f1825294ab742 SHA512 83c43c31549794d37661228afeb954703b20470ca8170e82e451d565a7cbb6a1af72d60ed6edb7bb52d202f760aaeab087cd7a829992ad25d5536eb4d850a3a3
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201119102817-f84b799fce68.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201223074533-0d417f636930.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201223074533-0d417f636930.zip 1533200 BLAKE2B 3eeebc8d4cb2982446d4de432fa87efec38d572f0c655ce06368db86974481590afba70a16db3bea9538695f150194853a4ae688b5f9e3f3bd8e9856e11d1267 SHA512 ad71626ffdebd4147754bfbec2b2382cf987536a62b3e477634f1b1f42ec999a8baf9b96b89a388b12005a04e9a44ff5fa7772736247e8e623bdc2594bfbaaab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210124154548-22da62e12c0c.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210124154548-22da62e12c0c.zip 1549338 BLAKE2B 94514181eb8c63293bcc8586586ed12574ed1aeb1f64247ec4953c4a591d8cfff3f32f8cb919eea69b67ee0b6edf406d65b7676dc27db2fea86549148f372127 SHA512 8ac070589db0adff74a784cf233ff80bfafbca77d840fc13f8f5c03e66bd62c960248e13aeee5d6b401282c913adc5d42ab3e4eef64ed199700c953500309ad4
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210414055047-fe65e336abe0.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210414055047-fe65e336abe0.zip 1668802 BLAKE2B f6adebace5d9577bedd5790b0f9553f506ee4e76a56c1115e7d86f1656caf46c78aaa4c2c3ddab8bf6a5a50f1d72052cd66ee52b808326a2f82be0b248890931 SHA512 c915f3226d47043579dee93cd8e8ba6cb3d5e5e0b48325fe53b2478f6a391e18350486d06a58bb13c023bb6768b73f17d68eee15370170b45ee562dc802e10c8
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210423185535-09eb48e85fd7.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210423185535-09eb48e85fd7.zip 1691487 BLAKE2B b78a1984bc8b3a57c43cb2ffa57503e6fa453e627e25507b57500de85f7363b7b9d7a4813af1f6814889fbc77296fded62dfefe8bf151788f8bb6191961f64d7 SHA512 cd6748d0073cd4e11e22785ef208b2a36a53cd19f729d96e7bab9056a4e9a320624e49e4e5cfa62f4483f87f1c4e5c7c11662efa0a9b35c6609cc7dae3694ac2
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210615035016-665e8c7367d1.mod 33 BLAKE2B b74677ab15ab6b31640d71b052db667b0fb585ed6d1044e26bc5e4cf8da90e1ede81f8876babea843dd322b8b707189138e70c24d13d931f1f6dd04978ac222c SHA512 85e511b1261c1935f5ee4754ad31d1d946f9e10f0af9905f44c4348d6ce5104319c03fb38517dde616698f6487b0c62788cfa96bc0ffb3b6db80accd7e552655
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210630005230-0f9fa26af87c.mod 33 BLAKE2B b74677ab15ab6b31640d71b052db667b0fb585ed6d1044e26bc5e4cf8da90e1ede81f8876babea843dd322b8b707189138e70c24d13d931f1f6dd04978ac222c SHA512 85e511b1261c1935f5ee4754ad31d1d946f9e10f0af9905f44c4348d6ce5104319c03fb38517dde616698f6487b0c62788cfa96bc0ffb3b6db80accd7e552655
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210630005230-0f9fa26af87c.zip 1646674 BLAKE2B a2975e42ede4b3923b53f6c28b8360a49b47734e5512ffe9e52e8920f79af09420d3702d3d7e54e5755c04fddd0836e11c7fb83441065bf9dd31da363f5121a2 SHA512 6a36b9dd8ab6582abf0721e3fdfd19c2cbf9caf02a2f8aeff8952175553e35ab9f9972c2e524ad947e51e24f5eaee23984fc1670d512c04e50b2d71890c5d392
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210908233432-aa78b53d3365.mod 33 BLAKE2B b74677ab15ab6b31640d71b052db667b0fb585ed6d1044e26bc5e4cf8da90e1ede81f8876babea843dd322b8b707189138e70c24d13d931f1f6dd04978ac222c SHA512 85e511b1261c1935f5ee4754ad31d1d946f9e10f0af9905f44c4348d6ce5104319c03fb38517dde616698f6487b0c62788cfa96bc0ffb3b6db80accd7e552655
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210908233432-aa78b53d3365.zip 1658199 BLAKE2B adc5a2a57ba6aa66dd1d0cf3fe103b7dae9a490ff01f81b6c13368ece92471135fcd8507c878de63b585068e807b0f23801ad48f03abbd4e7399cf26b183fff1 SHA512 67615b7c3cd13e41b872642f74bd39b4848fa0ca15d8a604411cc3c2f4bbe8a25f96b88592a2f50f47deeed7ff9ca7e26aac79d9456516e5efe4c21e0af2f2a8
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201113234701-d7a72108b828.mod 95 BLAKE2B d86fb6e63016a8645cdec646a8ea85e1ab94e8be82123ebbe037124f353f21474e3396a64dc5f18299dc97c395759914a737699097f371c16806cc8b1e0eee64 SHA512 3295d1778ba3160c8360d99fbc648bbb4356fadd7947466f8b2f493a3c4c406515033268cf3525bdf50430b0cc31169838b5d3223842c7b1cd881e155744506e
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201113234701-d7a72108b828.zip 24204 BLAKE2B 1842cd2a55c2e2f634a4c349a27d3861e2597a8033f023661e97629e6a5837f7ec3ac3e266b8474fbfecfef19442fba7bf205ab983d1491fee91affc4a680027 SHA512 1fe3e275927653b69c4cf054aac217b195f322b19edbb8bfb48f44b4a0864cee40788c1b534408c5e79e826aaa53b48fcd8660d47d4f6c91061d7e3a85926638
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201117132131-f5c789dd3221.mod 95 BLAKE2B d86fb6e63016a8645cdec646a8ea85e1ab94e8be82123ebbe037124f353f21474e3396a64dc5f18299dc97c395759914a737699097f371c16806cc8b1e0eee64 SHA512 3295d1778ba3160c8360d99fbc648bbb4356fadd7947466f8b2f493a3c4c406515033268cf3525bdf50430b0cc31169838b5d3223842c7b1cd881e155744506e
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201117132131-f5c789dd3221.zip 23282 BLAKE2B 9bfaf8ea78b49038403d7a49abdfa9ab6cfc4fc2d71e693a15368da8cbdcd99437898f72f8a240ec7484a7f2a11405258e4cd17bab00aaaed291e2a1d1566e3f SHA512 fa88149897dd4470a7e36683de33db945e219819ce74f39f384cad03db8fd6829d47e2711dec895fafa7aa24d576dffc7cb8594a499cb1e66abeada196d502be
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201126162022-7de9c90e9dd1.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201210144234-2321bbc49cbf.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201210144234-2321bbc49cbf.zip 23324 BLAKE2B 2374b37a902f15136181d5a52759aa5f2755ef5aab7f8ad2ff58ac31a1f249d1349b32d945075c3158b7c4a89f7e22887a2cd6f565ea3ab79b9d86955fba3ff6 SHA512 2774ed5c167d2f4d26d7b0fe2ff5beeb0bd2b7a45b9cfc4bd9a57c9fd5491c960de8d9fbd5f02c090d74ba45a8842fd94beb016c53ded33f9f3d50e65d601d09
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210406210042-72f3dc4e9b72.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210406210042-72f3dc4e9b72.zip 22672 BLAKE2B e36e6cfa566c936219702eb086d6fe20936dfd57b58f7643331b116b63dfbfd40e679794d453b9a4c5952d5523a52dc6538ea05466e6a291f9d1240d3a2381c6 SHA512 9dca218e749d2a405b7d7bdc29ce1a3219e5f965103a7cccd5468c861262539c0c13212b28059d27937a9b39ce0e16dff386f92a31b62cb23f3dbb52bf992660
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210422114643-f5beecf764ed.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210422114643-f5beecf764ed.zip 22714 BLAKE2B 10545c76ecd42f673e027368d2c8f20e9c704e1ea777dd58dce7376b0a52a90be023d412787b95cf7a5b251814ca4dc0a97b3725a1c3fd7253232ce51fd1df83 SHA512 c127f2f4e68b3343926dbd290221c640a36c5996f4d6557b3ed8f092fb246022dbc25c24b766164b4b8546fba00d6654f35ef581b7961205d1b136a3d1efc2e0
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210615171337-6886f2dfbf5b.mod 95 BLAKE2B 1d166082ebb4ba2dc69bdce6b84f285aa98967551bbfc1cbadeb2db086ef01b66455cd86b78deeec5ae998a7057c7e4f12026b2e02a9c5053093b9f644a59d1f SHA512 81f571821c669188c4482da38b6921ac4c2c1747f8a803a6846531127cfde25dd04819d971f08f601c2d2cee2e636644c1648eff55dd24d89dfb3777e90fe9a0
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210615171337-6886f2dfbf5b.zip 21403 BLAKE2B f95e96b20328a04dd2a3a20985bf54d0d859a88e45f5f61eaee3f2bc22b575ae37c8ccf7275dbd68ac2851fd0d374f7ff8874ecc44c51629199a846154ed93d8 SHA512 82711ee27037e2ec090919fe58efb173626b31b4bc9e0118d732eb585ba4a16de6f1ee994b97ae78b7ff1cb89c34f6aa7392ff4b3432cf1cf2c56d101c64fec8
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.zip 6872962 BLAKE2B 60b7225842e40bb0fa279caaf787b3095eb04b0d245b5c098a7612048c61db7ccb64930a380872bc2eac5d49314a51dc482af03d728c864abea2f0a0a87027f4 SHA512 84dc45aa00cda5d6da40b3c063001f7bf62d96b6c21a8a83f2e507c979afc30cb12fda860082500c467815912c15f84639c5f9480521e3d88187b36cded5d46f
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.zip 8010747 BLAKE2B 78d999113a75f84966ffd23356e7cf60811b614754936851f197e547657cb6ff40acd074593c9cb6a2ae39ba625b36731c2fc0bc4b2b5ff68a2d377a6c7192db SHA512 024719305765ca737b225fec6268f84fc4c7d17c04e31eadfacafbb24a5f30af61920f4633e95d74dd2a266de40d1d2d13587881a3c22829ffeafb01fd75959f
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20181108054448-85acf8d2951c.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180828015842-6cd1fcedba52.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312170243-e65039ee4138.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190424220101-1e8e1cfdf96b.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.zip 22282 BLAKE2B 68df6b35d9043f23df13432b80074544f46833467294955ae5706713055d0cc9ababda892853c14e99c80a3571fd4a807a019a098fdd2ca695ba90c577ead5c4 SHA512 c72b8b73f89624889a2874c1b2445cb82f0e545fccf6a7761a278f3f659eb19f5f1c8585641b8f89f2bcfc3817ad2c0e267751cfeeab949e287e43af5df57e28
-DIST google.golang.org%2Fapi%2F@v%2Fv0.3.1.mod 506 BLAKE2B 106ba1eae2f79ddc10b69e21988215a1be000c5b32a4bd8315d473748780be8785e89ce269f1560dc23a8afcb199c8a0428aefdf8035991051021443c17fd206 SHA512 37d49dd9c576465cc9dec58fab5cd9c0fa84ab472d46c961e64f34fcda27f88c45925da72368268f857db22bc9cd1378c6595933ee33ed5a6253f62c221ca6ef
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190307195333-5fe7a883aa19.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190404172233-64821d5d2107.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200526211855-cb27e3aa2013.mod 353 BLAKE2B 7e159067adb934153bc2a45c1a091ea85083c9e52927db8aba3e7ef9e13f984dd738aaf3890e85f7daf86afdab8e5717775250715285c0edc05625a544664cd2 SHA512 17266a643d974e2fae18e7055986002b9705bd2a7fb1e3cd3664fe6dbefbc7a04aef6900146c1e1c3ed84bea8b4d1bda4d6c355af2cda013c01f19eed57568d5
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.17.0.mod 832 BLAKE2B 9de27394e05cf42e762a8b7ed42b6715244ea1086acd7c44f71b04bc0dc23c31ab236e6474fea423953eb3001dcaa357938daad1d54debfb5d52bdecc1de6bda SHA512 ac90f3fc374cc1ac7706146efaa8488a59634a209c30bf87453fa150bf8849870db2ec04e854438d59911ea35930a5dd8f40f5d5954786d0e0565907fc42f711
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.27.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200109180630-ec00e32a8dfd.mod 83 BLAKE2B 4cef0579e4d6b156c1af532343070021171ead815734fe1210a0be6a8ba9bc5f3d11b97ee14cde810f2556bca76c206520f56363ee82af7409772d33301e413d SHA512 3cb3393e78f44d9de80074244756d5e309d19adca15e8313a392b925a687edad46e93c612da1539dc09d0c0072a063eede6f04fbd9e5671059e9857da0f7b1e6
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200221191635-4d8936d0db64.mod 128 BLAKE2B 79cca062b7c73fedaa5357b7b43af16adc1ef83a86be48787887ec450e022d31e0700b7ca4cf5dca03bf2ad9db79727da0fbb89c73bdb006db6b68d75c3e1751 SHA512 bf45db2ba4ae10b447c471118551d337125d5432142f5aa4ba964054d09393730c23373e42eb34574ca93f9b1a12364669be13ba7faa7d9908cacb982984d414
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200228230310-ab0ca4ff8a60.mod 158 BLAKE2B 8cafd0a40647244f2dd1d3d3da7ef8e376c6eb3823fca68d7aeb041d480e1147b70b70c49c65e47ff1e9b92eba026a109c67c7900da88cf8569ebd037912a35c SHA512 7d00ab108b35ba41ed8c6ad54533bbbd967e0cdf39e62cb8914c0c6e4a531c779a28ea3fb2a4a7f6f4af7f3c922246a8d8ec8eabb779758245cedbebfdd97378
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.20.1-0.20200309200217-e05f789c0967.mod 128 BLAKE2B e36e105129abbd7729a6d509724246766c16df526ce22637e92ca8f29bf854b66622a0afc5afe8e4ad29c9efc498c488a87020fad5969e044757d49ed4bd6399 SHA512 802c0df5ed11f0bb2e221c01152c6339d3634068f89aac760654411884e6b936b031cbfabad57c5add340f9d504edfcd683c77cb0ba7d753e06bc604095257ce
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.21.0.mod 158 BLAKE2B 46e19153fe487751cddafb86818a962b621b10c109e513ef22e7f5c93b44dd94c6a1636e6c03d0db6e5099536901821549859bcf84f06c00483637d5d4284c43 SHA512 4797f4305d5b0159aba0825c0432cc5678cb74e55cd95eb5c42e9879a62db5aefa76c6286a436aee9a31b096193e8a3bc2e67175f0296c9d5eca3d03e98ab2d9
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.22.0.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.23.0.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.23.0.zip 1491602 BLAKE2B 7fcfd0d05fe509a3e30885304b7ec76a538fdc9cde84d44fb90a32aebbd14bdffd5f3f7e36f9ba24ef87decec89fa824963780b152faf43f3799c8e64e822f34 SHA512 91a070430e3a44edc4f66d6b2ecfcfeb4c633a07c252d1494ecbc9a37141483cb7bc9bfc641022a59e740ccfe9c4ed52e263d59eb85b5bc37a66088bafb6ca8a
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.23.1-0.20200526195155-81db48ad09cc.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.25.0.mod 186 BLAKE2B 7df4a9ba66d7fcfc40d73332ba6fcece38a38ffef4e9686fe7887272cdc81904438cfdd0e733224058289d24ee23efe087ed9a2b4f2dc31e7213bc3038ed9512 SHA512 1b0e5543fcdbca876b51ed261aa7b8abf09e985e4622111d46378893b7a2bbad882135fc1eb26ebbf97078800f6ad9f2983dd11c62a8aaa2ab1a4f0774585e65
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.25.0.zip 1543881 BLAKE2B 2f556bdf8ed16bde9e6ecc8fc7339578c719ed0ec73ee426caa75b672ff5fcc442ea7dfed7f737900c98d5a5afc014b9e44b1b7f0f8147edb4627f3b390814c2 SHA512 29073698d91f0bd9d37cba38102b19e6223ea362f6eb331bb186670a0549391eaf856855d2978f70861e775af0a1f678a7669754862c9247edb0a682992debc7
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.26.0-rc.1.mod 83 BLAKE2B 0e4901ba1d4e31ef22f0f978ee7b7d926ac2cd3a1cb5d8d8a81a33e02f9dc81aad6508280d65659862c3a9bc0667c334cb6cd8c0c532d5fdb3735a415c2a5eca SHA512 a7b2aad691925341e3d1f6d1d1453b68386902a4e2e1c0deb406bc157d04328c5519a01ce938a33a6e358cbd9dc0c2f862c9822bde5314d2eb9d416d7bf789d2
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.26.0.mod 123 BLAKE2B 73f875413489557d8f0bbcd665c06356b900f87e2cd9ef0ee5aba218a3a910842912d36dc9e653afa538c99cc723d28327a8bec6eac1f6bd93277d70fa891339 SHA512 d618524aca1cb3e525060bb66b0c8f06c9ad6be5389be228d265dbcdb368442f4f0a7e98f8c9082916b2579d77e627a550904f0b1c058b7d5e45eb7ceb77c2e0
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.26.0.zip 1557709 BLAKE2B bc672854cc46d48461bf28395c5be02fe99ff9da1d23e212078e549bf3e2beeaf953cc185e059c73a374f3e2662cb81fd6c3ff53472934964b8461f370b51a78 SHA512 de309c033d05be35503d6073e14ead585db4e6b75d478a674a37f93c7757e914c67bad446cf7ce04ccd49659d1ab2f9a024ee639a7536480ef92bb6b8b52dfdb
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.27.1.mod 123 BLAKE2B 73f875413489557d8f0bbcd665c06356b900f87e2cd9ef0ee5aba218a3a910842912d36dc9e653afa538c99cc723d28327a8bec6eac1f6bd93277d70fa891339 SHA512 d618524aca1cb3e525060bb66b0c8f06c9ad6be5389be228d265dbcdb368442f4f0a7e98f8c9082916b2579d77e627a550904f0b1c058b7d5e45eb7ceb77c2e0
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.27.1.zip 1572746 BLAKE2B 372a55a68ec03bf9367368d85088a51267228a63a1fc04777dc435a5e9a6c46495f5dae27f82f3f5cf6effa41d6bc9c0a49fe1678f94d435b2516b952d24a484 SHA512 0a27f0189b04291bcd96a52a84e4ebbac6424c02e1d899655d0ecf1592150290144f5e6c8ef81c6a2f0c43db5cbda7d383119a027ef9aed8cf5e623495001077
-DIST gopkg.in%2Falecthomas%2Fkingpin.v2%2F@v%2Fv2.2.6.mod 38 BLAKE2B e7781691d8c15b764ef6c89fcdf20e69fc28d46e8df2703b6fdc342247595c10ed25e3cc5b30cd29b81c57837f5685e4122e1b2c218a51fffbb1567c85b0835a SHA512 585188d3a75067e6b7d8a8321959fe7df80c6a19f8668a87f0d1b8687c4d2cefc039167446f6d02f7eeeb147371bc7a673348213bcb07f4d90bebc0ccf9f2015
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20190902080502-41f04d3bba15.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Ffsnotify.v1%2F@v%2Fv1.4.7.mod 28 BLAKE2B ee2514c386f6cb3ff4a9b829d903e57372ce765aeab91fb2f29e95358e3472e0612a00f2982f53790159738e416819e368afa03e44bf8f6b43511347bc6d6995 SHA512 7cf7d1933039974dd4fa16febc52cc118bcd0e35c329d4c563c7f411b8000d9e17be5bca9a60d94f5309cbef97b3d176110704ebfbc3c114572cbadf63a55a34
-DIST gopkg.in%2Fredis.v5%2F@v%2Fv5.2.9.mod 25 BLAKE2B bbe629e67d59873850727cdcbfce1caf861de887cf5d27f8cc2e62839ac46a9f44ec4096d6462a66cda6ee4c754f7b556a4d1cf4ee9e93a5a19a86ecf9709e6a SHA512 b6e0ffefd02ffd73eeb9e13218c19bf6a3fd525b94ff388b4bda6c1fc6ff5162c921872663ff85cd59aa587aa34e1d5b6e3c0fbd9533e56eadf40c7886b7f8d8
-DIST gopkg.in%2Ftomb.v1%2F@v%2Fv1.0.0-20141024135613-dd632973f1e7.mod 24 BLAKE2B 24a0c476e6590543f1b46175c4f0e036498afd9af616f6e204cac280e61cc10454e0c2a54fe10b9a7a306715ab966a5822ad78626c6cf20c2c78aac02598c922 SHA512 b147b03cabc4666519b94f4d9c7d9fefdea45810e3e35a9b3d303dba491d486fe03c0d5969a6186adbb9c75665e4f3e9811c7bf4ce72c46280b053611c198c41
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.5.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.5.zip 80253 BLAKE2B 175e08dfe0913765b5a913c23cf2803dbbdfa007430caaaa5a8e46cd9df8e1c48e3b84ffe248800422b963ad2d5db8031c86df926cc6f413b0ce05fa21326113 SHA512 371da5f4c32800cadd40127a78d4ae29918f4477ca87e42c414bdb7adfb9e9ab22e5f22e821d76f543204b0be8b9297dfe1b4e20814ab8015088492309676e0a
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20180728063816-88497007e858.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190106161140-3f1c8253044a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST rqlite-5.10.2.tar.gz 363210 BLAKE2B b3200b7e945cef01dfba20aa29cd36789fcf325565e37cfc8a765becbacfa77857abb8760f3aeb20a1e5823fac41ab1056d17234644122e83ab3e4b06a02ea32 SHA512 f633a4114c1adb905e30d28e8eef363cf6f2e8a773ad6c5ba5f45e6e0c95ad0b3287d31b1aa9a324aec19c60e3ef6837b4a38cec9d18cf3fe287c001b1c56fd3
-DIST rqlite-6.1.0.tar.gz 380849 BLAKE2B 87f7d0531e3abe4a574672e17921f4a7bec76dee9ebf192f7c6d303bd8796a14c8cf7d8884eea956453a4116817423b7b0f8f8c62fbc0d92c67b828a996acf7c SHA512 e1f9a4b90a09b45953924686386e5d43e8df3a7082ee3ad204c8ea06469aaf1cf6ce40f8c8158253c55c33e3d3714deb62d84962f63ac565d36f95a474af67c8
-DIST rqlite-6.7.0.tar.gz 405614 BLAKE2B 9845acc7310d0c5611b3922215db473f04f0828d7267c6f84607ca7cae744ff8fe0eccd3f4d4d0617e89b0490e00a0136e1959a2ec70a608c05d4af79b05d5e1 SHA512 c0df563216062fae9b2751d9417133fdd5c02834d3b388e3132902a921ed04b9fa43a41d750bd763882bbd0369ba51f454282f071f893a03b02e2f60c6d9494e
-DIST rqlite-6.8.0.tar.gz 405944 BLAKE2B 74b7feae8c26e2cbd3537df1a5de995ed63c403b54d9ceba46f914bb62ae7c486ee0b7b0e8d6ca05518b26d4ce25170c6e6760eade6cecd965ebe91ef2a02f12 SHA512 26648b411ca8a8af436400dfd0d2316fa8a0ac86de1427b4e810d05fa809c3457b7e31f321e8e28840dd671530216b9a2a3e611785d7863f6212ee2bd2b028cb
-DIST rqlite-6.8.1.tar.gz 406206 BLAKE2B edf0450e443c7da683b02bc3eb87e82ee900519a030e1b579e8849b417de006b219df0d322c6efc26ec2f7cb70ecf617d4b1bbe174d42a52d3bb3f7e4cd8356e SHA512 c2015637ee1f2ac1611e2b0ebf1adc44ef7bdc136b0253f99a89e33877851d688b15bda1c5e5d2b4906b8bd987522d5cc91e7b56efb85aeb4215ea3afd6e35ea
-DIST xorm.io%2Fbuilder%2F@v%2Fv0.3.6.mod 146 BLAKE2B 2db3e352ea5e2e318fe56cfa165d5345f4d85f0523ef6cc495c7f4596bedfb4dc3730c1842a62b75e532cb50505db10162dce1dee8ce5860a3e7b17c83a37910 SHA512 05161f20c13095943f26bbddf4e8ecf60a79121edef21567e51366fe13f5ac24ed8a5ff836484a23d27ccc5b5345a780973097218e2fbf43847cdc94d45ab7ec
-DIST xorm.io%2Fcore%2F@v%2Fv0.7.2-0.20190928055935-90aeac8d08eb.mod 193 BLAKE2B ee37149b40933dc6446d105468e577643ff324821320be45bb82bcedc13882e5e1236dd89eaec2d883db33ccc60584dd9a4c5309b60822b778a393897478bb22 SHA512 5af3eed4c6cfb8f258f0fd2e8fc924aa15e16431298e1d79ffc9701fb37b8393dfa4dcf922d8ce704df7dbf6b36684540eb0972da3f13ddc4c5f3bdb07dc7090
+DIST rqlite-8.16.8-vendor.tar.gz 7715303 BLAKE2B 50660bdfb8ce9fa8238ae028916d822e9f5d8e027ee4865f543f97f8a49b92a13e549deb07a5b79e7a52c2c9e994cf6891562a15873b09398c74773f82ffc3d2 SHA512 987c9dbe91766f4847233949cd4251aa3d0a56d23b850bbb552d8f9bb255de3908c4fa440c45e730e861e6f4f60e559a41353659ab9d953b978c45ff986ee9b5
+DIST rqlite-8.23.0-deps.tar.xz 3934116 BLAKE2B 3f56e99ab7cc6e9ae6584bfc3bb10ff28a866961a90bb77ee7acc9442d16d37eaa705b5cc85abbf7de3daea77df24ec9b4b65fbff43a11033bc8e0a11bcb089e SHA512 cace762d4f7e3a6d973dcba7ccf40ddc45d05a0cb5669d67a4c9fd4917e826828664779ab2bb293757fb46f2d5fc956d7ecae46b59f4914afe8fadc42d9d95b1
+DIST rqlite-8.23.0.tar.gz 613529 BLAKE2B 0c6c790f1a211a10f14a2f03a231567c186504c05618509733f94a7cacb6b4b23abdbeb119067a4a884ddcbc5862d301ede0a83b3059e9ff55b20876c27f85dc SHA512 6247cf72ac295a5892fe992ec90c7733de311142996d4eead2c69752d71ad55326a5f6c4f26f4c5fee229bd0b75a3379460bf69abe0c473517a8fb3ef322889f
diff --git a/dev-db/rqlite/rqlite-5.10.2.ebuild b/dev-db/rqlite/rqlite-5.10.2.ebuild
deleted file mode 100644
index 872e2e1e33da..000000000000
--- a/dev-db/rqlite/rqlite-5.10.2.ebuild
+++ /dev/null
@@ -1,383 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=0ff0bab8f576e9e746b249b74e1078a6a70725e4
-
-DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
-HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
-
-EGO_SUM=(
-"cloud.google.com/go v0.26.0/go.mod"
-"cloud.google.com/go v0.34.0/go.mod"
-"cloud.google.com/go v0.37.4/go.mod"
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75"
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod"
-"github.com/BurntSushi/toml v0.3.1/go.mod"
-"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
-"github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod"
-"github.com/Shopify/sarama v1.19.0/go.mod"
-"github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod"
-"github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
-"github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod"
-"github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
-"github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod"
-"github.com/apache/thrift v0.12.0/go.mod"
-"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878"
-"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
-"github.com/armon/go-metrics v0.3.4"
-"github.com/armon/go-metrics v0.3.4/go.mod"
-"github.com/armon/go-metrics v0.3.5"
-"github.com/armon/go-metrics v0.3.5/go.mod"
-"github.com/armon/go-metrics v0.3.6"
-"github.com/armon/go-metrics v0.3.6/go.mod"
-"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
-"github.com/beorn7/perks v1.0.0/go.mod"
-"github.com/beorn7/perks v1.0.1/go.mod"
-"github.com/boltdb/bolt v1.3.1"
-"github.com/boltdb/bolt v1.3.1/go.mod"
-"github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
-"github.com/cespare/xxhash/v2 v2.1.1/go.mod"
-"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
-"github.com/circonus-labs/circonusllhist v0.1.3/go.mod"
-"github.com/client9/misspell v0.3.4/go.mod"
-"github.com/cockroachdb/apd v1.1.0/go.mod"
-"github.com/comail/colog v0.0.0-20160416085026-fba8e7b1f46c/go.mod"
-"github.com/davecgh/go-spew v1.1.0/go.mod"
-"github.com/davecgh/go-spew v1.1.1/go.mod"
-"github.com/denisenkom/go-mssqldb v0.0.0-20190707035753-2be1aa521ff4/go.mod"
-"github.com/eapache/go-resiliency v1.1.0/go.mod"
-"github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod"
-"github.com/eapache/queue v1.1.0/go.mod"
-"github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
-"github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
-"github.com/fatih/color v1.7.0"
-"github.com/fatih/color v1.7.0/go.mod"
-"github.com/fatih/color v1.10.0"
-"github.com/fatih/color v1.10.0/go.mod"
-"github.com/fsnotify/fsnotify v1.4.7/go.mod"
-"github.com/go-kit/kit v0.8.0/go.mod"
-"github.com/go-kit/kit v0.9.0/go.mod"
-"github.com/go-logfmt/logfmt v0.3.0/go.mod"
-"github.com/go-logfmt/logfmt v0.4.0/go.mod"
-"github.com/go-sql-driver/mysql v1.4.1/go.mod"
-"github.com/go-stack/stack v1.8.0/go.mod"
-"github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod"
-"github.com/go-xorm/xorm v0.7.9/go.mod"
-"github.com/gofrs/uuid v3.2.0+incompatible/go.mod"
-"github.com/gogo/protobuf v1.1.1/go.mod"
-"github.com/gogo/protobuf v1.2.0/go.mod"
-"github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
-"github.com/golang/mock v1.1.1/go.mod"
-"github.com/golang/mock v1.2.0/go.mod"
-"github.com/golang/protobuf v1.2.0/go.mod"
-"github.com/golang/protobuf v1.3.1/go.mod"
-"github.com/golang/protobuf v1.3.2"
-"github.com/golang/protobuf v1.3.2/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.1/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.2/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod"
-"github.com/golang/protobuf v1.4.0/go.mod"
-"github.com/golang/protobuf v1.4.1/go.mod"
-"github.com/golang/protobuf v1.4.3"
-"github.com/golang/protobuf v1.4.3/go.mod"
-"github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
-"github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
-"github.com/google/go-cmp v0.2.0/go.mod"
-"github.com/google/go-cmp v0.3.0/go.mod"
-"github.com/google/go-cmp v0.3.1/go.mod"
-"github.com/google/go-cmp v0.4.0/go.mod"
-"github.com/google/go-cmp v0.5.0/go.mod"
-"github.com/google/gofuzz v1.0.0/go.mod"
-"github.com/google/martian v2.1.0+incompatible/go.mod"
-"github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
-"github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
-"github.com/gorilla/context v1.1.1/go.mod"
-"github.com/gorilla/mux v1.6.2/go.mod"
-"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
-"github.com/hashicorp/go-hclog v0.9.1"
-"github.com/hashicorp/go-hclog v0.9.1/go.mod"
-"github.com/hashicorp/go-hclog v0.15.0"
-"github.com/hashicorp/go-hclog v0.15.0/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.0.0"
-"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.3.0"
-"github.com/hashicorp/go-immutable-radix v1.3.0/go.mod"
-"github.com/hashicorp/go-msgpack v0.5.5"
-"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
-"github.com/hashicorp/go-msgpack v1.1.5"
-"github.com/hashicorp/go-msgpack v1.1.5/go.mod"
-"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
-"github.com/hashicorp/go-uuid v1.0.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.0"
-"github.com/hashicorp/golang-lru v0.5.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.4"
-"github.com/hashicorp/golang-lru v0.5.4/go.mod"
-"github.com/hashicorp/raft v1.1.0/go.mod"
-"github.com/hashicorp/raft v1.1.1"
-"github.com/hashicorp/raft v1.1.1/go.mod"
-"github.com/hashicorp/raft v1.2.0"
-"github.com/hashicorp/raft v1.2.0/go.mod"
-"github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod"
-"github.com/hashicorp/raft-boltdb v0.0.0-20191021154308-4207f1bf0617"
-"github.com/hashicorp/raft-boltdb v0.0.0-20191021154308-4207f1bf0617/go.mod"
-"github.com/hpcloud/tail v1.0.0/go.mod"
-"github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod"
-"github.com/jackc/pgx v3.6.0+incompatible/go.mod"
-"github.com/json-iterator/go v1.1.6/go.mod"
-"github.com/json-iterator/go v1.1.9/go.mod"
-"github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
-"github.com/julienschmidt/httprouter v1.2.0/go.mod"
-"github.com/kisielk/gotool v1.0.0/go.mod"
-"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
-"github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
-"github.com/kr/pretty v0.1.0/go.mod"
-"github.com/kr/pty v1.1.1/go.mod"
-"github.com/kr/text v0.1.0/go.mod"
-"github.com/labstack/gommon v0.3.0"
-"github.com/labstack/gommon v0.3.0/go.mod"
-"github.com/lib/pq v1.0.0/go.mod"
-"github.com/mattn/go-colorable v0.1.2/go.mod"
-"github.com/mattn/go-colorable v0.1.4"
-"github.com/mattn/go-colorable v0.1.4/go.mod"
-"github.com/mattn/go-colorable v0.1.7/go.mod"
-"github.com/mattn/go-colorable v0.1.8"
-"github.com/mattn/go-colorable v0.1.8/go.mod"
-"github.com/mattn/go-isatty v0.0.8/go.mod"
-"github.com/mattn/go-isatty v0.0.9/go.mod"
-"github.com/mattn/go-isatty v0.0.10/go.mod"
-"github.com/mattn/go-isatty v0.0.11"
-"github.com/mattn/go-isatty v0.0.11/go.mod"
-"github.com/mattn/go-isatty v0.0.12"
-"github.com/mattn/go-isatty v0.0.12/go.mod"
-"github.com/mattn/go-sqlite3 v1.10.0/go.mod"
-"github.com/mattn/go-sqlite3 v1.14.5"
-"github.com/mattn/go-sqlite3 v1.14.5/go.mod"
-"github.com/mattn/go-sqlite3 v1.14.6"
-"github.com/mattn/go-sqlite3 v1.14.6/go.mod"
-"github.com/mattn/go-sqlite3 v2.0.2+incompatible"
-"github.com/mattn/go-sqlite3 v2.0.2+incompatible/go.mod"
-"github.com/mattn/go-sqlite3 v2.0.3+incompatible"
-"github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod"
-"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
-"github.com/mkideal/cli v0.0.3"
-"github.com/mkideal/cli v0.0.3/go.mod"
-"github.com/mkideal/cli v0.2.3"
-"github.com/mkideal/cli v0.2.3/go.mod"
-"github.com/mkideal/log v1.0.0/go.mod"
-"github.com/mkideal/pkg v0.0.0-20170503154153-3e188c9e7ecc"
-"github.com/mkideal/pkg v0.0.0-20170503154153-3e188c9e7ecc/go.mod"
-"github.com/mkideal/pkg v0.1.2"
-"github.com/mkideal/pkg v0.1.2/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
-"github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
-"github.com/modern-go/reflect2 v1.0.1/go.mod"
-"github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
-"github.com/onsi/ginkgo v1.6.0/go.mod"
-"github.com/onsi/ginkgo v1.7.0/go.mod"
-"github.com/onsi/gomega v1.4.3/go.mod"
-"github.com/openzipkin/zipkin-go v0.1.6/go.mod"
-"github.com/pascaldekloe/goe v0.1.0/go.mod"
-"github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
-"github.com/pkg/errors v0.8.0/go.mod"
-"github.com/pkg/errors v0.8.1/go.mod"
-"github.com/pmezard/go-difflib v1.0.0/go.mod"
-"github.com/prometheus/client_golang v0.9.1/go.mod"
-"github.com/prometheus/client_golang v0.9.2/go.mod"
-"github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod"
-"github.com/prometheus/client_golang v1.0.0/go.mod"
-"github.com/prometheus/client_golang v1.4.0/go.mod"
-"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
-"github.com/prometheus/client_model v0.2.0/go.mod"
-"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
-"github.com/prometheus/common v0.2.0/go.mod"
-"github.com/prometheus/common v0.4.1/go.mod"
-"github.com/prometheus/common v0.9.1/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
-"github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod"
-"github.com/prometheus/procfs v0.0.2/go.mod"
-"github.com/prometheus/procfs v0.0.8/go.mod"
-"github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod"
-"github.com/rqlite/go-sqlite3 v1.15.0"
-"github.com/rqlite/go-sqlite3 v1.15.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.18.0"
-"github.com/rqlite/go-sqlite3 v1.18.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.19.0"
-"github.com/rqlite/go-sqlite3 v1.19.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.20.0"
-"github.com/rqlite/go-sqlite3 v1.20.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.20.1"
-"github.com/rqlite/go-sqlite3 v1.20.1/go.mod"
-"github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod"
-"github.com/sirupsen/logrus v1.2.0/go.mod"
-"github.com/sirupsen/logrus v1.4.2/go.mod"
-"github.com/stretchr/objx v0.1.0/go.mod"
-"github.com/stretchr/objx v0.1.1/go.mod"
-"github.com/stretchr/testify v1.2.2/go.mod"
-"github.com/stretchr/testify v1.3.0/go.mod"
-"github.com/stretchr/testify v1.4.0/go.mod"
-"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
-"github.com/valyala/bytebufferpool v1.0.0/go.mod"
-"github.com/valyala/fasttemplate v1.0.1/go.mod"
-"github.com/ziutek/mymysql v1.5.4/go.mod"
-"go.opencensus.io v0.20.1/go.mod"
-"golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
-"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
-"golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod"
-"golang.org/x/crypto v0.0.0-20191219195013-becbf705a915"
-"golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod"
-"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
-"golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a"
-"golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod"
-"golang.org/x/crypto v0.0.0-20201116153603-4be66e5b6582"
-"golang.org/x/crypto v0.0.0-20201116153603-4be66e5b6582/go.mod"
-"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad"
-"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod"
-"golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
-"golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
-"golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
-"golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
-"golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
-"golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
-"golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
-"golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
-"golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
-"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
-"golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
-"golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod"
-"golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
-"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
-"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
-"golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
-"golang.org/x/net v0.0.0-20200707034311-ab3426394381"
-"golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod"
-"golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
-"golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
-"golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
-"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
-"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
-"golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
-"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
-"golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
-"golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
-"golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
-"golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod"
-"golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
-"golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod"
-"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
-"golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod"
-"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
-"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
-"golang.org/x/sys v0.0.0-20190523142557-0e01d883c5c5/go.mod"
-"golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed"
-"golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod"
-"golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod"
-"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
-"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037"
-"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
-"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
-"golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod"
-"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
-"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
-"golang.org/x/sys v0.0.0-20201116194326-cc9327a14d48"
-"golang.org/x/sys v0.0.0-20201116194326-cc9327a14d48/go.mod"
-"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
-"golang.org/x/sys v0.0.0-20201223074533-0d417f636930"
-"golang.org/x/sys v0.0.0-20201223074533-0d417f636930/go.mod"
-"golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c"
-"golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod"
-"golang.org/x/term v0.0.0-20201113234701-d7a72108b828"
-"golang.org/x/term v0.0.0-20201113234701-d7a72108b828/go.mod"
-"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221"
-"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod"
-"golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf"
-"golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod"
-"golang.org/x/text v0.3.0/go.mod"
-"golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2"
-"golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
-"golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
-"golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod"
-"golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
-"golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
-"golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
-"golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
-"golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod"
-"golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
-"google.golang.org/api v0.3.1/go.mod"
-"google.golang.org/appengine v1.1.0/go.mod"
-"google.golang.org/appengine v1.4.0/go.mod"
-"google.golang.org/appengine v1.6.0/go.mod"
-"google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
-"google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
-"google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod"
-"google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
-"google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod"
-"google.golang.org/grpc v1.17.0/go.mod"
-"google.golang.org/grpc v1.19.0/go.mod"
-"google.golang.org/grpc v1.23.0/go.mod"
-"google.golang.org/grpc v1.27.0/go.mod"
-"google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod"
-"google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod"
-"google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod"
-"google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod"
-"google.golang.org/protobuf v1.21.0/go.mod"
-"google.golang.org/protobuf v1.22.0/go.mod"
-"google.golang.org/protobuf v1.23.0"
-"google.golang.org/protobuf v1.23.0/go.mod"
-"google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod"
-"google.golang.org/protobuf v1.25.0"
-"google.golang.org/protobuf v1.25.0/go.mod"
-"gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
-"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
-"gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
-"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
-"gopkg.in/fsnotify.v1 v1.4.7/go.mod"
-"gopkg.in/redis.v5 v5.2.9/go.mod"
-"gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
-"gopkg.in/yaml.v2 v2.2.1/go.mod"
-"gopkg.in/yaml.v2 v2.2.2/go.mod"
-"gopkg.in/yaml.v2 v2.2.4/go.mod"
-"gopkg.in/yaml.v2 v2.2.5/go.mod"
-"honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod"
-"honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
-"honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
-"honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
-"xorm.io/builder v0.3.6/go.mod"
-"xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb/go.mod"
-)
-go-module_set_globals
-SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT BSD MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install \
- -ldflags="-X main.version=v${PV}
- -X main.branch=master
- -X main.commit=${EGIT_COMMIT}
- -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
- ./cmd/... || die
-}
-
-src_test() {
- GOBIN="${S}/bin" \
- go test ./... || die
-}
-
-src_install() {
- dobin bin/*
- dodoc -r *.md DOC
-}
diff --git a/dev-db/rqlite/rqlite-6.1.0.ebuild b/dev-db/rqlite/rqlite-6.1.0.ebuild
deleted file mode 100644
index d6327569866b..000000000000
--- a/dev-db/rqlite/rqlite-6.1.0.ebuild
+++ /dev/null
@@ -1,456 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=7103d425c8a50a24fa81812d85c45d5fc26b15d7
-
-DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
-HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
-
-EGO_SUM=(
-"cloud.google.com/go v0.26.0/go.mod"
-"cloud.google.com/go v0.34.0/go.mod"
-"cloud.google.com/go v0.37.4/go.mod"
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75"
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod"
-"github.com/BurntSushi/toml v0.3.1/go.mod"
-"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
-"github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod"
-"github.com/Shopify/sarama v1.19.0/go.mod"
-"github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod"
-"github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
-"github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod"
-"github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
-"github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod"
-"github.com/apache/thrift v0.12.0/go.mod"
-"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878"
-"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
-"github.com/armon/go-metrics v0.3.4"
-"github.com/armon/go-metrics v0.3.4/go.mod"
-"github.com/armon/go-metrics v0.3.5"
-"github.com/armon/go-metrics v0.3.5/go.mod"
-"github.com/armon/go-metrics v0.3.6"
-"github.com/armon/go-metrics v0.3.6/go.mod"
-"github.com/armon/go-metrics v0.3.7"
-"github.com/armon/go-metrics v0.3.7/go.mod"
-"github.com/armon/go-metrics v0.3.9"
-"github.com/armon/go-metrics v0.3.9/go.mod"
-"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
-"github.com/beorn7/perks v1.0.0/go.mod"
-"github.com/beorn7/perks v1.0.1/go.mod"
-"github.com/boltdb/bolt v1.3.1"
-"github.com/boltdb/bolt v1.3.1/go.mod"
-"github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
-"github.com/cespare/xxhash/v2 v2.1.1/go.mod"
-"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
-"github.com/circonus-labs/circonusllhist v0.1.3/go.mod"
-"github.com/client9/misspell v0.3.4/go.mod"
-"github.com/cockroachdb/apd v1.1.0/go.mod"
-"github.com/comail/colog v0.0.0-20160416085026-fba8e7b1f46c/go.mod"
-"github.com/davecgh/go-spew v1.1.0/go.mod"
-"github.com/davecgh/go-spew v1.1.1/go.mod"
-"github.com/denisenkom/go-mssqldb v0.0.0-20190707035753-2be1aa521ff4/go.mod"
-"github.com/eapache/go-resiliency v1.1.0/go.mod"
-"github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod"
-"github.com/eapache/queue v1.1.0/go.mod"
-"github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
-"github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
-"github.com/fatih/color v1.7.0"
-"github.com/fatih/color v1.7.0/go.mod"
-"github.com/fatih/color v1.10.0"
-"github.com/fatih/color v1.10.0/go.mod"
-"github.com/fatih/color v1.12.0"
-"github.com/fatih/color v1.12.0/go.mod"
-"github.com/fsnotify/fsnotify v1.4.7/go.mod"
-"github.com/go-kit/kit v0.8.0/go.mod"
-"github.com/go-kit/kit v0.9.0/go.mod"
-"github.com/go-logfmt/logfmt v0.3.0/go.mod"
-"github.com/go-logfmt/logfmt v0.4.0/go.mod"
-"github.com/go-sql-driver/mysql v1.4.1/go.mod"
-"github.com/go-stack/stack v1.8.0/go.mod"
-"github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod"
-"github.com/go-xorm/xorm v0.7.9/go.mod"
-"github.com/gofrs/uuid v3.2.0+incompatible/go.mod"
-"github.com/gogo/protobuf v1.1.1/go.mod"
-"github.com/gogo/protobuf v1.2.0/go.mod"
-"github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
-"github.com/golang/mock v1.1.1/go.mod"
-"github.com/golang/mock v1.2.0/go.mod"
-"github.com/golang/protobuf v1.2.0/go.mod"
-"github.com/golang/protobuf v1.3.1/go.mod"
-"github.com/golang/protobuf v1.3.2"
-"github.com/golang/protobuf v1.3.2/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.1/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.2/go.mod"
-"github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod"
-"github.com/golang/protobuf v1.4.0/go.mod"
-"github.com/golang/protobuf v1.4.1/go.mod"
-"github.com/golang/protobuf v1.4.3"
-"github.com/golang/protobuf v1.4.3/go.mod"
-"github.com/golang/protobuf v1.5.0/go.mod"
-"github.com/golang/protobuf v1.5.2"
-"github.com/golang/protobuf v1.5.2/go.mod"
-"github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
-"github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
-"github.com/google/go-cmp v0.2.0/go.mod"
-"github.com/google/go-cmp v0.3.0/go.mod"
-"github.com/google/go-cmp v0.3.1/go.mod"
-"github.com/google/go-cmp v0.4.0/go.mod"
-"github.com/google/go-cmp v0.5.0/go.mod"
-"github.com/google/go-cmp v0.5.5/go.mod"
-"github.com/google/gofuzz v1.0.0/go.mod"
-"github.com/google/martian v2.1.0+incompatible/go.mod"
-"github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
-"github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
-"github.com/gorilla/context v1.1.1/go.mod"
-"github.com/gorilla/mux v1.6.2/go.mod"
-"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
-"github.com/hashicorp/go-hclog v0.9.1"
-"github.com/hashicorp/go-hclog v0.9.1/go.mod"
-"github.com/hashicorp/go-hclog v0.15.0"
-"github.com/hashicorp/go-hclog v0.15.0/go.mod"
-"github.com/hashicorp/go-hclog v0.16.0"
-"github.com/hashicorp/go-hclog v0.16.0/go.mod"
-"github.com/hashicorp/go-hclog v0.16.2"
-"github.com/hashicorp/go-hclog v0.16.2/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.0.0"
-"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.3.0"
-"github.com/hashicorp/go-immutable-radix v1.3.0/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.3.1"
-"github.com/hashicorp/go-immutable-radix v1.3.1/go.mod"
-"github.com/hashicorp/go-msgpack v0.5.5"
-"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
-"github.com/hashicorp/go-msgpack v1.1.5"
-"github.com/hashicorp/go-msgpack v1.1.5/go.mod"
-"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
-"github.com/hashicorp/go-uuid v1.0.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.0"
-"github.com/hashicorp/golang-lru v0.5.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.4"
-"github.com/hashicorp/golang-lru v0.5.4/go.mod"
-"github.com/hashicorp/raft v1.1.0/go.mod"
-"github.com/hashicorp/raft v1.1.1"
-"github.com/hashicorp/raft v1.1.1/go.mod"
-"github.com/hashicorp/raft v1.2.0"
-"github.com/hashicorp/raft v1.2.0/go.mod"
-"github.com/hashicorp/raft v1.3.0"
-"github.com/hashicorp/raft v1.3.0/go.mod"
-"github.com/hashicorp/raft v1.3.1"
-"github.com/hashicorp/raft v1.3.1/go.mod"
-"github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod"
-"github.com/hashicorp/raft-boltdb v0.0.0-20191021154308-4207f1bf0617"
-"github.com/hashicorp/raft-boltdb v0.0.0-20191021154308-4207f1bf0617/go.mod"
-"github.com/hashicorp/raft-boltdb v0.0.0-20210409134258-03c10cc3d4ea"
-"github.com/hashicorp/raft-boltdb v0.0.0-20210409134258-03c10cc3d4ea/go.mod"
-"github.com/hashicorp/raft-boltdb v0.0.0-20210422161416-485fa74b0b01"
-"github.com/hashicorp/raft-boltdb v0.0.0-20210422161416-485fa74b0b01/go.mod"
-"github.com/hpcloud/tail v1.0.0/go.mod"
-"github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod"
-"github.com/jackc/pgx v3.6.0+incompatible/go.mod"
-"github.com/json-iterator/go v1.1.6/go.mod"
-"github.com/json-iterator/go v1.1.9/go.mod"
-"github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
-"github.com/julienschmidt/httprouter v1.2.0/go.mod"
-"github.com/kisielk/gotool v1.0.0/go.mod"
-"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
-"github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
-"github.com/kr/pretty v0.1.0/go.mod"
-"github.com/kr/pretty v0.2.1/go.mod"
-"github.com/kr/pty v1.1.1/go.mod"
-"github.com/kr/text v0.1.0/go.mod"
-"github.com/labstack/gommon v0.3.0"
-"github.com/labstack/gommon v0.3.0/go.mod"
-"github.com/lib/pq v1.0.0/go.mod"
-"github.com/mattn/go-colorable v0.1.2/go.mod"
-"github.com/mattn/go-colorable v0.1.4"
-"github.com/mattn/go-colorable v0.1.4/go.mod"
-"github.com/mattn/go-colorable v0.1.7/go.mod"
-"github.com/mattn/go-colorable v0.1.8"
-"github.com/mattn/go-colorable v0.1.8/go.mod"
-"github.com/mattn/go-isatty v0.0.8/go.mod"
-"github.com/mattn/go-isatty v0.0.9/go.mod"
-"github.com/mattn/go-isatty v0.0.10/go.mod"
-"github.com/mattn/go-isatty v0.0.11"
-"github.com/mattn/go-isatty v0.0.11/go.mod"
-"github.com/mattn/go-isatty v0.0.12"
-"github.com/mattn/go-isatty v0.0.12/go.mod"
-"github.com/mattn/go-isatty v0.0.13"
-"github.com/mattn/go-isatty v0.0.13/go.mod"
-"github.com/mattn/go-sqlite3 v1.10.0/go.mod"
-"github.com/mattn/go-sqlite3 v1.14.5"
-"github.com/mattn/go-sqlite3 v1.14.5/go.mod"
-"github.com/mattn/go-sqlite3 v1.14.6"
-"github.com/mattn/go-sqlite3 v1.14.6/go.mod"
-"github.com/mattn/go-sqlite3 v2.0.2+incompatible"
-"github.com/mattn/go-sqlite3 v2.0.2+incompatible/go.mod"
-"github.com/mattn/go-sqlite3 v2.0.3+incompatible"
-"github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod"
-"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
-"github.com/mkideal/cli v0.0.3"
-"github.com/mkideal/cli v0.0.3/go.mod"
-"github.com/mkideal/cli v0.2.3"
-"github.com/mkideal/cli v0.2.3/go.mod"
-"github.com/mkideal/cli v0.2.5"
-"github.com/mkideal/cli v0.2.5/go.mod"
-"github.com/mkideal/cli v0.2.7"
-"github.com/mkideal/cli v0.2.7/go.mod"
-"github.com/mkideal/expr v0.1.0"
-"github.com/mkideal/expr v0.1.0/go.mod"
-"github.com/mkideal/log v1.0.0/go.mod"
-"github.com/mkideal/pkg v0.0.0-20170503154153-3e188c9e7ecc"
-"github.com/mkideal/pkg v0.0.0-20170503154153-3e188c9e7ecc/go.mod"
-"github.com/mkideal/pkg v0.1.2"
-"github.com/mkideal/pkg v0.1.2/go.mod"
-"github.com/mkideal/pkg v0.1.3"
-"github.com/mkideal/pkg v0.1.3/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
-"github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
-"github.com/modern-go/reflect2 v1.0.1/go.mod"
-"github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
-"github.com/onsi/ginkgo v1.6.0/go.mod"
-"github.com/onsi/ginkgo v1.7.0/go.mod"
-"github.com/onsi/gomega v1.4.3/go.mod"
-"github.com/openzipkin/zipkin-go v0.1.6/go.mod"
-"github.com/pascaldekloe/goe v0.1.0/go.mod"
-"github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
-"github.com/pkg/errors v0.8.0/go.mod"
-"github.com/pkg/errors v0.8.1/go.mod"
-"github.com/pmezard/go-difflib v1.0.0/go.mod"
-"github.com/prometheus/client_golang v0.9.1/go.mod"
-"github.com/prometheus/client_golang v0.9.2/go.mod"
-"github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod"
-"github.com/prometheus/client_golang v1.0.0/go.mod"
-"github.com/prometheus/client_golang v1.4.0/go.mod"
-"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
-"github.com/prometheus/client_model v0.2.0/go.mod"
-"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
-"github.com/prometheus/common v0.2.0/go.mod"
-"github.com/prometheus/common v0.4.1/go.mod"
-"github.com/prometheus/common v0.9.1/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
-"github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod"
-"github.com/prometheus/procfs v0.0.2/go.mod"
-"github.com/prometheus/procfs v0.0.8/go.mod"
-"github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod"
-"github.com/rqlite/go-sqlite3 v1.15.0"
-"github.com/rqlite/go-sqlite3 v1.15.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.18.0"
-"github.com/rqlite/go-sqlite3 v1.18.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.19.0"
-"github.com/rqlite/go-sqlite3 v1.19.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.20.0"
-"github.com/rqlite/go-sqlite3 v1.20.0/go.mod"
-"github.com/rqlite/go-sqlite3 v1.20.1"
-"github.com/rqlite/go-sqlite3 v1.20.1/go.mod"
-"github.com/rqlite/go-sqlite3 v1.20.2"
-"github.com/rqlite/go-sqlite3 v1.20.2/go.mod"
-"github.com/rqlite/go-sqlite3 v1.20.3"
-"github.com/rqlite/go-sqlite3 v1.20.3/go.mod"
-"github.com/rqlite/go-sqlite3 v1.20.4"
-"github.com/rqlite/go-sqlite3 v1.20.4/go.mod"
-"github.com/rqlite/go-sqlite3 v1.21.0"
-"github.com/rqlite/go-sqlite3 v1.21.0/go.mod"
-"github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod"
-"github.com/sirupsen/logrus v1.2.0/go.mod"
-"github.com/sirupsen/logrus v1.4.2/go.mod"
-"github.com/stretchr/objx v0.1.0/go.mod"
-"github.com/stretchr/objx v0.1.1/go.mod"
-"github.com/stretchr/testify v1.2.2/go.mod"
-"github.com/stretchr/testify v1.3.0/go.mod"
-"github.com/stretchr/testify v1.4.0/go.mod"
-"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
-"github.com/valyala/bytebufferpool v1.0.0/go.mod"
-"github.com/valyala/fasttemplate v1.0.1/go.mod"
-"github.com/ziutek/mymysql v1.5.4/go.mod"
-"go.opencensus.io v0.20.1/go.mod"
-"golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
-"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
-"golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod"
-"golang.org/x/crypto v0.0.0-20191219195013-becbf705a915"
-"golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod"
-"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
-"golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a"
-"golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod"
-"golang.org/x/crypto v0.0.0-20201116153603-4be66e5b6582"
-"golang.org/x/crypto v0.0.0-20201116153603-4be66e5b6582/go.mod"
-"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad"
-"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod"
-"golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2"
-"golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod"
-"golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b"
-"golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod"
-"golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97"
-"golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod"
-"golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
-"golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
-"golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
-"golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
-"golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
-"golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
-"golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
-"golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
-"golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
-"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
-"golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
-"golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod"
-"golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
-"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
-"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
-"golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
-"golang.org/x/net v0.0.0-20200707034311-ab3426394381"
-"golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod"
-"golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
-"golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
-"golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
-"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
-"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
-"golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
-"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
-"golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
-"golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
-"golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
-"golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod"
-"golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
-"golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod"
-"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
-"golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod"
-"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
-"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
-"golang.org/x/sys v0.0.0-20190523142557-0e01d883c5c5/go.mod"
-"golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed"
-"golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod"
-"golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod"
-"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
-"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037"
-"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
-"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
-"golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod"
-"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
-"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
-"golang.org/x/sys v0.0.0-20201116194326-cc9327a14d48"
-"golang.org/x/sys v0.0.0-20201116194326-cc9327a14d48/go.mod"
-"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
-"golang.org/x/sys v0.0.0-20201223074533-0d417f636930"
-"golang.org/x/sys v0.0.0-20201223074533-0d417f636930/go.mod"
-"golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c"
-"golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod"
-"golang.org/x/sys v0.0.0-20210414055047-fe65e336abe0"
-"golang.org/x/sys v0.0.0-20210414055047-fe65e336abe0/go.mod"
-"golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7"
-"golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod"
-"golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod"
-"golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c"
-"golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod"
-"golang.org/x/term v0.0.0-20201113234701-d7a72108b828"
-"golang.org/x/term v0.0.0-20201113234701-d7a72108b828/go.mod"
-"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221"
-"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod"
-"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
-"golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf"
-"golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod"
-"golang.org/x/term v0.0.0-20210406210042-72f3dc4e9b72"
-"golang.org/x/term v0.0.0-20210406210042-72f3dc4e9b72/go.mod"
-"golang.org/x/term v0.0.0-20210422114643-f5beecf764ed"
-"golang.org/x/term v0.0.0-20210422114643-f5beecf764ed/go.mod"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod"
-"golang.org/x/text v0.3.0/go.mod"
-"golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2"
-"golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
-"golang.org/x/text v0.3.3"
-"golang.org/x/text v0.3.3/go.mod"
-"golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
-"golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod"
-"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
-"golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
-"golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
-"golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
-"golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
-"golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod"
-"golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
-"google.golang.org/api v0.3.1/go.mod"
-"google.golang.org/appengine v1.1.0/go.mod"
-"google.golang.org/appengine v1.4.0/go.mod"
-"google.golang.org/appengine v1.6.0/go.mod"
-"google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
-"google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
-"google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod"
-"google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
-"google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod"
-"google.golang.org/grpc v1.17.0/go.mod"
-"google.golang.org/grpc v1.19.0/go.mod"
-"google.golang.org/grpc v1.23.0/go.mod"
-"google.golang.org/grpc v1.27.0/go.mod"
-"google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod"
-"google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod"
-"google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod"
-"google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod"
-"google.golang.org/protobuf v1.21.0/go.mod"
-"google.golang.org/protobuf v1.22.0/go.mod"
-"google.golang.org/protobuf v1.23.0"
-"google.golang.org/protobuf v1.23.0/go.mod"
-"google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod"
-"google.golang.org/protobuf v1.25.0"
-"google.golang.org/protobuf v1.25.0/go.mod"
-"google.golang.org/protobuf v1.26.0-rc.1/go.mod"
-"google.golang.org/protobuf v1.26.0"
-"google.golang.org/protobuf v1.26.0/go.mod"
-"google.golang.org/protobuf v1.27.1"
-"google.golang.org/protobuf v1.27.1/go.mod"
-"gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
-"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
-"gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
-"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
-"gopkg.in/fsnotify.v1 v1.4.7/go.mod"
-"gopkg.in/redis.v5 v5.2.9/go.mod"
-"gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
-"gopkg.in/yaml.v2 v2.2.1/go.mod"
-"gopkg.in/yaml.v2 v2.2.2/go.mod"
-"gopkg.in/yaml.v2 v2.2.4/go.mod"
-"gopkg.in/yaml.v2 v2.2.5/go.mod"
-"honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod"
-"honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
-"honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
-"honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
-"xorm.io/builder v0.3.6/go.mod"
-"xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb/go.mod"
-)
-go-module_set_globals
-SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install \
- -ldflags="-X main.version=v${PV}
- -X main.branch=master
- -X main.commit=${EGIT_COMMIT}
- -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
- ./cmd/... || die
-}
-
-src_test() {
- GOBIN="${S}/bin" \
- go test ./... || die
-}
-
-src_install() {
- dobin bin/*
- dodoc -r *.md DOC
-}
diff --git a/dev-db/rqlite/rqlite-6.7.0.ebuild b/dev-db/rqlite/rqlite-6.7.0.ebuild
deleted file mode 100644
index 9f6e532e4bea..000000000000
--- a/dev-db/rqlite/rqlite-6.7.0.ebuild
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=eb6da8f22cfd57d9f46cc31179de7d0cefe2f962
-
-DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
-HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
-
-EGO_SUM=(
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75"
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod"
-"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
-"github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod"
-"github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
-"github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod"
-"github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
-"github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod"
-"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
-"github.com/armon/go-metrics v0.3.9"
-"github.com/armon/go-metrics v0.3.9/go.mod"
-"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
-"github.com/beorn7/perks v1.0.0/go.mod"
-"github.com/beorn7/perks v1.0.1/go.mod"
-"github.com/boltdb/bolt v1.3.1"
-"github.com/boltdb/bolt v1.3.1/go.mod"
-"github.com/cespare/xxhash/v2 v2.1.1/go.mod"
-"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
-"github.com/circonus-labs/circonusllhist v0.1.3/go.mod"
-"github.com/davecgh/go-spew v1.1.0/go.mod"
-"github.com/davecgh/go-spew v1.1.1"
-"github.com/davecgh/go-spew v1.1.1/go.mod"
-"github.com/fatih/color v1.7.0/go.mod"
-"github.com/fatih/color v1.12.0"
-"github.com/fatih/color v1.12.0/go.mod"
-"github.com/go-kit/kit v0.8.0/go.mod"
-"github.com/go-kit/kit v0.9.0/go.mod"
-"github.com/go-logfmt/logfmt v0.3.0/go.mod"
-"github.com/go-logfmt/logfmt v0.4.0/go.mod"
-"github.com/go-stack/stack v1.8.0/go.mod"
-"github.com/gogo/protobuf v1.1.1/go.mod"
-"github.com/golang/protobuf v1.2.0/go.mod"
-"github.com/golang/protobuf v1.3.1/go.mod"
-"github.com/golang/protobuf v1.3.2/go.mod"
-"github.com/golang/protobuf v1.5.0/go.mod"
-"github.com/golang/protobuf v1.5.2"
-"github.com/golang/protobuf v1.5.2/go.mod"
-"github.com/google/go-cmp v0.3.1/go.mod"
-"github.com/google/go-cmp v0.4.0/go.mod"
-"github.com/google/go-cmp v0.5.5"
-"github.com/google/go-cmp v0.5.5/go.mod"
-"github.com/google/gofuzz v1.0.0/go.mod"
-"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
-"github.com/hashicorp/go-hclog v0.9.1/go.mod"
-"github.com/hashicorp/go-hclog v0.16.2"
-"github.com/hashicorp/go-hclog v0.16.2/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.3.1"
-"github.com/hashicorp/go-immutable-radix v1.3.1/go.mod"
-"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
-"github.com/hashicorp/go-msgpack v1.1.5"
-"github.com/hashicorp/go-msgpack v1.1.5/go.mod"
-"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
-"github.com/hashicorp/go-uuid v1.0.0"
-"github.com/hashicorp/go-uuid v1.0.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.4"
-"github.com/hashicorp/golang-lru v0.5.4/go.mod"
-"github.com/hashicorp/raft v1.1.0/go.mod"
-"github.com/hashicorp/raft v1.3.1"
-"github.com/hashicorp/raft v1.3.1/go.mod"
-"github.com/json-iterator/go v1.1.6/go.mod"
-"github.com/json-iterator/go v1.1.9/go.mod"
-"github.com/julienschmidt/httprouter v1.2.0/go.mod"
-"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
-"github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
-"github.com/kr/pretty v0.1.0/go.mod"
-"github.com/kr/pty v1.1.1/go.mod"
-"github.com/kr/text v0.1.0/go.mod"
-"github.com/labstack/gommon v0.3.0"
-"github.com/labstack/gommon v0.3.0/go.mod"
-"github.com/mattn/go-colorable v0.1.2/go.mod"
-"github.com/mattn/go-colorable v0.1.4/go.mod"
-"github.com/mattn/go-colorable v0.1.7/go.mod"
-"github.com/mattn/go-colorable v0.1.8"
-"github.com/mattn/go-colorable v0.1.8/go.mod"
-"github.com/mattn/go-isatty v0.0.8/go.mod"
-"github.com/mattn/go-isatty v0.0.9/go.mod"
-"github.com/mattn/go-isatty v0.0.10/go.mod"
-"github.com/mattn/go-isatty v0.0.12/go.mod"
-"github.com/mattn/go-isatty v0.0.14"
-"github.com/mattn/go-isatty v0.0.14/go.mod"
-"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
-"github.com/mkideal/cli v0.2.7"
-"github.com/mkideal/cli v0.2.7/go.mod"
-"github.com/mkideal/expr v0.1.0"
-"github.com/mkideal/expr v0.1.0/go.mod"
-"github.com/mkideal/pkg v0.1.3"
-"github.com/mkideal/pkg v0.1.3/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
-"github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
-"github.com/modern-go/reflect2 v1.0.1/go.mod"
-"github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
-"github.com/pascaldekloe/goe v0.1.0"
-"github.com/pascaldekloe/goe v0.1.0/go.mod"
-"github.com/pkg/errors v0.8.0/go.mod"
-"github.com/pkg/errors v0.8.1/go.mod"
-"github.com/pmezard/go-difflib v1.0.0"
-"github.com/pmezard/go-difflib v1.0.0/go.mod"
-"github.com/prometheus/client_golang v0.9.1/go.mod"
-"github.com/prometheus/client_golang v0.9.2/go.mod"
-"github.com/prometheus/client_golang v1.0.0/go.mod"
-"github.com/prometheus/client_golang v1.4.0/go.mod"
-"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
-"github.com/prometheus/client_model v0.2.0/go.mod"
-"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
-"github.com/prometheus/common v0.4.1/go.mod"
-"github.com/prometheus/common v0.9.1/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
-"github.com/prometheus/procfs v0.0.2/go.mod"
-"github.com/prometheus/procfs v0.0.8/go.mod"
-"github.com/rqlite/go-sqlite3 v1.22.0"
-"github.com/rqlite/go-sqlite3 v1.22.0/go.mod"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e/go.mod"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065/go.mod"
-"github.com/sirupsen/logrus v1.2.0/go.mod"
-"github.com/sirupsen/logrus v1.4.2/go.mod"
-"github.com/stretchr/objx v0.1.0/go.mod"
-"github.com/stretchr/objx v0.1.1/go.mod"
-"github.com/stretchr/testify v1.2.2/go.mod"
-"github.com/stretchr/testify v1.3.0/go.mod"
-"github.com/stretchr/testify v1.4.0"
-"github.com/stretchr/testify v1.4.0/go.mod"
-"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
-"github.com/valyala/bytebufferpool v1.0.0/go.mod"
-"github.com/valyala/fasttemplate v1.0.1/go.mod"
-"golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
-"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
-"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
-"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod"
-"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5"
-"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod"
-"golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
-"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
-"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
-"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
-"golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
-"golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod"
-"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
-"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
-"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
-"golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
-"golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
-"golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
-"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
-"golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod"
-"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
-"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
-"golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod"
-"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
-"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
-"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
-"golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod"
-"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
-"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
-"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
-"golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod"
-"golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod"
-"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365"
-"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod"
-"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod"
-"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod"
-"golang.org/x/text v0.3.0/go.mod"
-"golang.org/x/text v0.3.3"
-"golang.org/x/text v0.3.3/go.mod"
-"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
-"golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
-"google.golang.org/protobuf v1.26.0-rc.1/go.mod"
-"google.golang.org/protobuf v1.26.0/go.mod"
-"google.golang.org/protobuf v1.27.1"
-"google.golang.org/protobuf v1.27.1/go.mod"
-"gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
-"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
-"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
-"gopkg.in/yaml.v2 v2.2.1/go.mod"
-"gopkg.in/yaml.v2 v2.2.2/go.mod"
-"gopkg.in/yaml.v2 v2.2.4/go.mod"
-"gopkg.in/yaml.v2 v2.2.5"
-"gopkg.in/yaml.v2 v2.2.5/go.mod"
-)
-go-module_set_globals
-SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install \
- -ldflags="-X main.version=v${PV}
- -X main.branch=master
- -X main.commit=${EGIT_COMMIT}
- -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
- ./cmd/... || die
-}
-
-src_test() {
- GOBIN="${S}/bin" \
- go test ./... || die
-}
-
-src_install() {
- dobin bin/*
- dodoc -r *.md DOC
-}
diff --git a/dev-db/rqlite/rqlite-6.8.0.ebuild b/dev-db/rqlite/rqlite-6.8.0.ebuild
deleted file mode 100644
index 680b2abb03c8..000000000000
--- a/dev-db/rqlite/rqlite-6.8.0.ebuild
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=33fdada94e9c99185d37853bc31888ccf92c7138
-
-DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
-HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
-
-EGO_SUM=(
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75"
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod"
-"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
-"github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod"
-"github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
-"github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod"
-"github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
-"github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod"
-"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
-"github.com/armon/go-metrics v0.3.9"
-"github.com/armon/go-metrics v0.3.9/go.mod"
-"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
-"github.com/beorn7/perks v1.0.0/go.mod"
-"github.com/beorn7/perks v1.0.1/go.mod"
-"github.com/boltdb/bolt v1.3.1"
-"github.com/boltdb/bolt v1.3.1/go.mod"
-"github.com/cespare/xxhash/v2 v2.1.1/go.mod"
-"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
-"github.com/circonus-labs/circonusllhist v0.1.3/go.mod"
-"github.com/davecgh/go-spew v1.1.0/go.mod"
-"github.com/davecgh/go-spew v1.1.1"
-"github.com/davecgh/go-spew v1.1.1/go.mod"
-"github.com/fatih/color v1.7.0/go.mod"
-"github.com/fatih/color v1.12.0"
-"github.com/fatih/color v1.12.0/go.mod"
-"github.com/go-kit/kit v0.8.0/go.mod"
-"github.com/go-kit/kit v0.9.0/go.mod"
-"github.com/go-logfmt/logfmt v0.3.0/go.mod"
-"github.com/go-logfmt/logfmt v0.4.0/go.mod"
-"github.com/go-stack/stack v1.8.0/go.mod"
-"github.com/gogo/protobuf v1.1.1/go.mod"
-"github.com/golang/protobuf v1.2.0/go.mod"
-"github.com/golang/protobuf v1.3.1/go.mod"
-"github.com/golang/protobuf v1.3.2/go.mod"
-"github.com/golang/protobuf v1.5.0/go.mod"
-"github.com/golang/protobuf v1.5.2"
-"github.com/golang/protobuf v1.5.2/go.mod"
-"github.com/google/go-cmp v0.3.1/go.mod"
-"github.com/google/go-cmp v0.4.0/go.mod"
-"github.com/google/go-cmp v0.5.5"
-"github.com/google/go-cmp v0.5.5/go.mod"
-"github.com/google/gofuzz v1.0.0/go.mod"
-"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
-"github.com/hashicorp/go-hclog v0.9.1/go.mod"
-"github.com/hashicorp/go-hclog v0.16.2"
-"github.com/hashicorp/go-hclog v0.16.2/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.3.1"
-"github.com/hashicorp/go-immutable-radix v1.3.1/go.mod"
-"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
-"github.com/hashicorp/go-msgpack v1.1.5"
-"github.com/hashicorp/go-msgpack v1.1.5/go.mod"
-"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
-"github.com/hashicorp/go-uuid v1.0.0"
-"github.com/hashicorp/go-uuid v1.0.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.4"
-"github.com/hashicorp/golang-lru v0.5.4/go.mod"
-"github.com/hashicorp/raft v1.1.0/go.mod"
-"github.com/hashicorp/raft v1.3.1"
-"github.com/hashicorp/raft v1.3.1/go.mod"
-"github.com/json-iterator/go v1.1.6/go.mod"
-"github.com/json-iterator/go v1.1.9/go.mod"
-"github.com/julienschmidt/httprouter v1.2.0/go.mod"
-"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
-"github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
-"github.com/kr/pretty v0.1.0/go.mod"
-"github.com/kr/pty v1.1.1/go.mod"
-"github.com/kr/text v0.1.0/go.mod"
-"github.com/labstack/gommon v0.3.0"
-"github.com/labstack/gommon v0.3.0/go.mod"
-"github.com/mattn/go-colorable v0.1.2/go.mod"
-"github.com/mattn/go-colorable v0.1.4/go.mod"
-"github.com/mattn/go-colorable v0.1.7/go.mod"
-"github.com/mattn/go-colorable v0.1.8"
-"github.com/mattn/go-colorable v0.1.8/go.mod"
-"github.com/mattn/go-isatty v0.0.8/go.mod"
-"github.com/mattn/go-isatty v0.0.9/go.mod"
-"github.com/mattn/go-isatty v0.0.10/go.mod"
-"github.com/mattn/go-isatty v0.0.12/go.mod"
-"github.com/mattn/go-isatty v0.0.14"
-"github.com/mattn/go-isatty v0.0.14/go.mod"
-"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
-"github.com/mkideal/cli v0.2.7"
-"github.com/mkideal/cli v0.2.7/go.mod"
-"github.com/mkideal/expr v0.1.0"
-"github.com/mkideal/expr v0.1.0/go.mod"
-"github.com/mkideal/pkg v0.1.3"
-"github.com/mkideal/pkg v0.1.3/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
-"github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
-"github.com/modern-go/reflect2 v1.0.1/go.mod"
-"github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
-"github.com/pascaldekloe/goe v0.1.0"
-"github.com/pascaldekloe/goe v0.1.0/go.mod"
-"github.com/pkg/errors v0.8.0/go.mod"
-"github.com/pkg/errors v0.8.1/go.mod"
-"github.com/pmezard/go-difflib v1.0.0"
-"github.com/pmezard/go-difflib v1.0.0/go.mod"
-"github.com/prometheus/client_golang v0.9.1/go.mod"
-"github.com/prometheus/client_golang v0.9.2/go.mod"
-"github.com/prometheus/client_golang v1.0.0/go.mod"
-"github.com/prometheus/client_golang v1.4.0/go.mod"
-"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
-"github.com/prometheus/client_model v0.2.0/go.mod"
-"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
-"github.com/prometheus/common v0.4.1/go.mod"
-"github.com/prometheus/common v0.9.1/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
-"github.com/prometheus/procfs v0.0.2/go.mod"
-"github.com/prometheus/procfs v0.0.8/go.mod"
-"github.com/rqlite/go-sqlite3 v1.22.0"
-"github.com/rqlite/go-sqlite3 v1.22.0/go.mod"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e/go.mod"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065/go.mod"
-"github.com/sirupsen/logrus v1.2.0/go.mod"
-"github.com/sirupsen/logrus v1.4.2/go.mod"
-"github.com/stretchr/objx v0.1.0/go.mod"
-"github.com/stretchr/objx v0.1.1/go.mod"
-"github.com/stretchr/testify v1.2.2/go.mod"
-"github.com/stretchr/testify v1.3.0/go.mod"
-"github.com/stretchr/testify v1.4.0"
-"github.com/stretchr/testify v1.4.0/go.mod"
-"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
-"github.com/valyala/bytebufferpool v1.0.0/go.mod"
-"github.com/valyala/fasttemplate v1.0.1/go.mod"
-"golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
-"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
-"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
-"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod"
-"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5"
-"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod"
-"golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
-"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
-"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
-"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
-"golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
-"golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod"
-"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
-"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
-"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
-"golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
-"golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
-"golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
-"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
-"golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod"
-"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
-"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
-"golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod"
-"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
-"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
-"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
-"golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod"
-"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
-"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
-"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
-"golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod"
-"golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod"
-"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365"
-"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod"
-"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod"
-"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod"
-"golang.org/x/text v0.3.0/go.mod"
-"golang.org/x/text v0.3.3"
-"golang.org/x/text v0.3.3/go.mod"
-"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
-"golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
-"google.golang.org/protobuf v1.26.0-rc.1/go.mod"
-"google.golang.org/protobuf v1.26.0/go.mod"
-"google.golang.org/protobuf v1.27.1"
-"google.golang.org/protobuf v1.27.1/go.mod"
-"gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
-"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
-"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
-"gopkg.in/yaml.v2 v2.2.1/go.mod"
-"gopkg.in/yaml.v2 v2.2.2/go.mod"
-"gopkg.in/yaml.v2 v2.2.4/go.mod"
-"gopkg.in/yaml.v2 v2.2.5"
-"gopkg.in/yaml.v2 v2.2.5/go.mod"
-)
-go-module_set_globals
-SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install \
- -ldflags="-X main.version=v${PV}
- -X main.branch=master
- -X main.commit=${EGIT_COMMIT}
- -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
- ./cmd/... || die
-}
-
-src_test() {
- GOBIN="${S}/bin" \
- go test ./... || die
-}
-
-src_install() {
- dobin bin/*
- dodoc -r *.md DOC
-}
diff --git a/dev-db/rqlite/rqlite-6.8.1.ebuild b/dev-db/rqlite/rqlite-6.8.1.ebuild
deleted file mode 100644
index cbcfbe0fe7d7..000000000000
--- a/dev-db/rqlite/rqlite-6.8.1.ebuild
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=58413c9cb9bf65a956f73fd2e04925d99c6e7d36
-
-DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
-HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
-
-EGO_SUM=(
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75"
-"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod"
-"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
-"github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod"
-"github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
-"github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod"
-"github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
-"github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod"
-"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
-"github.com/armon/go-metrics v0.3.9"
-"github.com/armon/go-metrics v0.3.9/go.mod"
-"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
-"github.com/beorn7/perks v1.0.0/go.mod"
-"github.com/beorn7/perks v1.0.1/go.mod"
-"github.com/boltdb/bolt v1.3.1"
-"github.com/boltdb/bolt v1.3.1/go.mod"
-"github.com/cespare/xxhash/v2 v2.1.1/go.mod"
-"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
-"github.com/circonus-labs/circonusllhist v0.1.3/go.mod"
-"github.com/davecgh/go-spew v1.1.0/go.mod"
-"github.com/davecgh/go-spew v1.1.1"
-"github.com/davecgh/go-spew v1.1.1/go.mod"
-"github.com/fatih/color v1.7.0/go.mod"
-"github.com/fatih/color v1.12.0"
-"github.com/fatih/color v1.12.0/go.mod"
-"github.com/go-kit/kit v0.8.0/go.mod"
-"github.com/go-kit/kit v0.9.0/go.mod"
-"github.com/go-logfmt/logfmt v0.3.0/go.mod"
-"github.com/go-logfmt/logfmt v0.4.0/go.mod"
-"github.com/go-stack/stack v1.8.0/go.mod"
-"github.com/gogo/protobuf v1.1.1/go.mod"
-"github.com/golang/protobuf v1.2.0/go.mod"
-"github.com/golang/protobuf v1.3.1/go.mod"
-"github.com/golang/protobuf v1.3.2/go.mod"
-"github.com/golang/protobuf v1.5.0/go.mod"
-"github.com/golang/protobuf v1.5.2"
-"github.com/golang/protobuf v1.5.2/go.mod"
-"github.com/google/go-cmp v0.3.1/go.mod"
-"github.com/google/go-cmp v0.4.0/go.mod"
-"github.com/google/go-cmp v0.5.5"
-"github.com/google/go-cmp v0.5.5/go.mod"
-"github.com/google/gofuzz v1.0.0/go.mod"
-"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
-"github.com/hashicorp/go-hclog v0.9.1/go.mod"
-"github.com/hashicorp/go-hclog v0.16.2"
-"github.com/hashicorp/go-hclog v0.16.2/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
-"github.com/hashicorp/go-immutable-radix v1.3.1"
-"github.com/hashicorp/go-immutable-radix v1.3.1/go.mod"
-"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
-"github.com/hashicorp/go-msgpack v1.1.5"
-"github.com/hashicorp/go-msgpack v1.1.5/go.mod"
-"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
-"github.com/hashicorp/go-uuid v1.0.0"
-"github.com/hashicorp/go-uuid v1.0.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.0/go.mod"
-"github.com/hashicorp/golang-lru v0.5.4"
-"github.com/hashicorp/golang-lru v0.5.4/go.mod"
-"github.com/hashicorp/raft v1.1.0/go.mod"
-"github.com/hashicorp/raft v1.3.1"
-"github.com/hashicorp/raft v1.3.1/go.mod"
-"github.com/json-iterator/go v1.1.6/go.mod"
-"github.com/json-iterator/go v1.1.9/go.mod"
-"github.com/julienschmidt/httprouter v1.2.0/go.mod"
-"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
-"github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
-"github.com/kr/pretty v0.1.0/go.mod"
-"github.com/kr/pty v1.1.1/go.mod"
-"github.com/kr/text v0.1.0/go.mod"
-"github.com/labstack/gommon v0.3.0"
-"github.com/labstack/gommon v0.3.0/go.mod"
-"github.com/mattn/go-colorable v0.1.2/go.mod"
-"github.com/mattn/go-colorable v0.1.4/go.mod"
-"github.com/mattn/go-colorable v0.1.7/go.mod"
-"github.com/mattn/go-colorable v0.1.8"
-"github.com/mattn/go-colorable v0.1.8/go.mod"
-"github.com/mattn/go-isatty v0.0.8/go.mod"
-"github.com/mattn/go-isatty v0.0.9/go.mod"
-"github.com/mattn/go-isatty v0.0.10/go.mod"
-"github.com/mattn/go-isatty v0.0.12/go.mod"
-"github.com/mattn/go-isatty v0.0.14"
-"github.com/mattn/go-isatty v0.0.14/go.mod"
-"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
-"github.com/mkideal/cli v0.2.7"
-"github.com/mkideal/cli v0.2.7/go.mod"
-"github.com/mkideal/expr v0.1.0"
-"github.com/mkideal/expr v0.1.0/go.mod"
-"github.com/mkideal/pkg v0.1.3"
-"github.com/mkideal/pkg v0.1.3/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
-"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
-"github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
-"github.com/modern-go/reflect2 v1.0.1/go.mod"
-"github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
-"github.com/pascaldekloe/goe v0.1.0"
-"github.com/pascaldekloe/goe v0.1.0/go.mod"
-"github.com/pkg/errors v0.8.0/go.mod"
-"github.com/pkg/errors v0.8.1/go.mod"
-"github.com/pmezard/go-difflib v1.0.0"
-"github.com/pmezard/go-difflib v1.0.0/go.mod"
-"github.com/prometheus/client_golang v0.9.1/go.mod"
-"github.com/prometheus/client_golang v0.9.2/go.mod"
-"github.com/prometheus/client_golang v1.0.0/go.mod"
-"github.com/prometheus/client_golang v1.4.0/go.mod"
-"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
-"github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
-"github.com/prometheus/client_model v0.2.0/go.mod"
-"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
-"github.com/prometheus/common v0.4.1/go.mod"
-"github.com/prometheus/common v0.9.1/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
-"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
-"github.com/prometheus/procfs v0.0.2/go.mod"
-"github.com/prometheus/procfs v0.0.8/go.mod"
-"github.com/rqlite/go-sqlite3 v1.22.0"
-"github.com/rqlite/go-sqlite3 v1.22.0/go.mod"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e/go.mod"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065"
-"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065/go.mod"
-"github.com/sirupsen/logrus v1.2.0/go.mod"
-"github.com/sirupsen/logrus v1.4.2/go.mod"
-"github.com/stretchr/objx v0.1.0/go.mod"
-"github.com/stretchr/objx v0.1.1/go.mod"
-"github.com/stretchr/testify v1.2.2/go.mod"
-"github.com/stretchr/testify v1.3.0/go.mod"
-"github.com/stretchr/testify v1.4.0"
-"github.com/stretchr/testify v1.4.0/go.mod"
-"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
-"github.com/valyala/bytebufferpool v1.0.0/go.mod"
-"github.com/valyala/fasttemplate v1.0.1/go.mod"
-"golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
-"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
-"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
-"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod"
-"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5"
-"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod"
-"golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
-"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
-"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
-"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
-"golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
-"golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110"
-"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod"
-"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
-"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
-"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
-"golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
-"golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
-"golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
-"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
-"golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod"
-"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
-"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
-"golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod"
-"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
-"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
-"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
-"golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod"
-"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
-"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
-"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
-"golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod"
-"golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod"
-"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365"
-"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod"
-"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod"
-"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b"
-"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod"
-"golang.org/x/text v0.3.0/go.mod"
-"golang.org/x/text v0.3.3"
-"golang.org/x/text v0.3.3/go.mod"
-"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
-"golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
-"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
-"google.golang.org/protobuf v1.26.0-rc.1/go.mod"
-"google.golang.org/protobuf v1.26.0/go.mod"
-"google.golang.org/protobuf v1.27.1"
-"google.golang.org/protobuf v1.27.1/go.mod"
-"gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
-"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
-"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
-"gopkg.in/yaml.v2 v2.2.1/go.mod"
-"gopkg.in/yaml.v2 v2.2.2/go.mod"
-"gopkg.in/yaml.v2 v2.2.4/go.mod"
-"gopkg.in/yaml.v2 v2.2.5"
-"gopkg.in/yaml.v2 v2.2.5/go.mod"
-)
-go-module_set_globals
-SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install \
- -ldflags="-X main.version=v${PV}
- -X main.branch=master
- -X main.commit=${EGIT_COMMIT}
- -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
- ./cmd/... || die
-}
-
-src_test() {
- GOBIN="${S}/bin" \
- go test ./... || die
-}
-
-src_install() {
- dobin bin/*
- dodoc -r *.md DOC
-}
diff --git a/dev-db/rqlite/rqlite-8.16.8.ebuild b/dev-db/rqlite/rqlite-8.16.8.ebuild
new file mode 100644
index 000000000000..fb6d652092cd
--- /dev/null
+++ b/dev-db/rqlite/rqlite-8.16.8.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+EGIT_COMMIT=10a5c9bd0e89e05c61e6de1a012470c432ee3591
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+SRC_URI="https://github.com/zmedico/rqlite/archive/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz"
+
+LICENSE="MIT"
+LICENSE+=" Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S=${WORKDIR}/${P}-vendor
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-db/rqlite/rqlite-8.23.0.ebuild b/dev-db/rqlite/rqlite-8.23.0.ebuild
new file mode 100644
index 000000000000..56c35cd04c40
--- /dev/null
+++ b/dev-db/rqlite/rqlite-8.23.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+EGIT_COMMIT=47dfcd9d56f544c58795b6ca98a1dfd378a0505f
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
+
+LICENSE="MIT"
+LICENSE+=" Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-db/slony1/slony1-2.2.10.ebuild b/dev-db/slony1/slony1-2.2.10-r1.ebuild
index f78c2c8e6a18..1115cf1c6835 100644
--- a/dev-db/slony1/slony1-2.2.10.ebuild
+++ b/dev-db/slony1/slony1-2.2.10-r1.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 9.6 {10..13} )
-POSTGRES_USEDEP="server,threads"
+POSTGRES_COMPAT=( 9.6 {10..14} )
+POSTGRES_USEDEP="server,threads(+)"
-inherit postgres-multi
+inherit flag-o-matic postgres-multi
IUSE="doc perl"
@@ -27,7 +27,7 @@ DEPEND="${POSTGRES_DEP}
"
RDEPEND=${DEPEND}
-REQUIRE_USE="${POSTGRES_REQ_USE}"
+REQUIRED_USE="${POSTGRES_REQ_USE}"
# Testing requires a more complex setup than we benefit from being able
# to perform.
@@ -47,6 +47,11 @@ src_unpack() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855251
+ # https://github.com/ssinger/slony1-engine/issues/21
+ filter-lto
+
local slot_bin_dir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/bin"
use perl && myconf=" --with-perltools=\"${slot_bin_dir}\""
postgres-multi_foreach econf ${myconf} \
diff --git a/dev-db/spatialite-tools/Manifest b/dev-db/spatialite-tools/Manifest
index e3540bda8957..05d9328e1ec2 100644
--- a/dev-db/spatialite-tools/Manifest
+++ b/dev-db/spatialite-tools/Manifest
@@ -1,2 +1 @@
-DIST spatialite-tools-4.3.0.tar.gz 540811 BLAKE2B 3de4301380a0b64cdd388cb0dc1917b90a02a721b1e34d3781b5b4e14a810809c922a3760a269c3980790801b66a100f9bacf1249f2874374295b5bb9431b133 SHA512 e1de27c1c65ff2ff0b08583113517bea74edf33fff59ad6e9c77492ea3ae87d9c0f17d7670ee6602b32eea73ad3678bb5410ef2c6fac6e213bf2e341a907db88
DIST spatialite-tools-5.0.1.tar.gz 578520 BLAKE2B ec01bc73bb9001b439e52794b172aba4197d6a55297abbdf8397f3d984c2463df19da5a1cbcc5baba5c23e47990287d750f30f0731144d69876a0df82a4727d5 SHA512 dad52f6ed3c66ffd95f3a5c21225cd1b20641523af616f7e8defba8e4e46921da169e5f7bf9c53a355e132b6e74750d6db3fe02c870a3386f850df49c83bb8cd
diff --git a/dev-db/spatialite-tools/spatialite-tools-4.3.0-r1.ebuild b/dev-db/spatialite-tools/spatialite-tools-4.3.0-r1.ebuild
deleted file mode 100644
index a4a242e63a90..000000000000
--- a/dev-db/spatialite-tools/spatialite-tools-4.3.0-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A collection of CLI tools supporting SpatiaLite"
-HOMEPAGE="https://www.gaia-gis.it/spatialite"
-SRC_URI="https://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
-
-LICENSE="MPL-1.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="readline"
-
-RDEPEND="
- dev-db/sqlite:3[extensions(+)]
- >=dev-db/spatialite-3.0.1[geos,xls]
- dev-libs/expat
- dev-libs/libxml2
- sci-geosciences/readosm
- sci-libs/geos
- sci-libs/proj
- readline? (
- sys-libs/ncurses:=
- sys-libs/readline:=
- )
-"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- econf \
- $(use_enable readline)
-}
diff --git a/dev-db/spatialite/Manifest b/dev-db/spatialite/Manifest
index 715e1ee9f065..e8acae8fd106 100644
--- a/dev-db/spatialite/Manifest
+++ b/dev-db/spatialite/Manifest
@@ -1,2 +1,2 @@
-DIST libspatialite-4.3.0a.tar.gz 4440660 BLAKE2B 2eb2afb96b096b86be9c30cf71663b7b2839d345b6c418fc8511653ed59d0aeff1756b6b19807140c67128c938e39be66d13088640658d14883c92c438c97251 SHA512 adfd63e8dde0f370b07e4e7bb557647d2bfb5549205b60bdcaaca69ff81298a3d885e7c1ca515ef56dd0aca152ae940df8b5dbcb65bb61ae0a9337499895c3c0
DIST libspatialite-5.0.1.tar.gz 6372753 BLAKE2B 0fe5b37efac134e3796c96ed012b434ce99547037a44df69d3e98c7ac586c1173faa1fe93c4578e7cc0f47a9f1c539710661bad57f8012c3bdabde427221a842 SHA512 c2552994bc30d69d1e80aa274760f048cd384f71e8350a1e48a47cb8222ba71a1554a69c6534eedde9a09dc582c39c089967bcc1c57bf158cc91a3e7b1840ddf
+DIST libspatialite-5.1.0.tar.gz 6517377 BLAKE2B 871e2be82dd1f02de76f0755b6ea7a53797dd9905fe481d6f56dcf8a87278f0a9326a3e0662620cbf6bfe53f932dab199602885c7efcbc5a5e56781a7599d226 SHA512 2745b373e31cea58623224def6090c491b58409803bb71231450dfa2cfdf3aafc3fc6f680585d55d085008f8cf362c3062ae67ffc7d80257775a22eb81ef1e57
diff --git a/dev-db/spatialite/metadata.xml b/dev-db/spatialite/metadata.xml
index 3d4b1b79db43..8ca3a8f8ce3f 100644
--- a/dev-db/spatialite/metadata.xml
+++ b/dev-db/spatialite/metadata.xml
@@ -9,5 +9,6 @@
<flag name="geos">Add the <pkg>sci-libs/geos</pkg> library for exact topological tests</flag>
<flag name="proj">Add the <pkg>sci-libs/proj</pkg> library for reprojection features</flag>
<flag name="xls">Add the <pkg>dev-libs/freexl</pkg> library for xls import support</flag>
+ <flag name="rttopo">Add the <pkg>sci-geosciences/librttopo</pkg> library for topology support</flag>
</use>
</pkgmetadata>
diff --git a/dev-db/spatialite/spatialite-4.3.0a.ebuild b/dev-db/spatialite/spatialite-5.0.1-r2.ebuild
index e745b55a7969..fceb9a7de979 100644
--- a/dev-db/spatialite/spatialite-4.3.0a.ebuild
+++ b/dev-db/spatialite/spatialite-5.0.1-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit flag-o-matic
+inherit libtool
MY_PN="lib${PN}"
MY_P="${MY_PN}-${PV}"
@@ -11,36 +11,42 @@ MY_P="${MY_PN}-${PV}"
DESCRIPTION="A complete Spatial DBMS in a nutshell built upon sqlite"
HOMEPAGE="https://www.gaia-gis.it/gaia-sins/"
SRC_URI="https://www.gaia-gis.it/gaia-sins/${MY_PN}-sources/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 x86"
-IUSE="+geos iconv +proj test +xls +xml"
-RESTRICT="!test? ( test )"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv x86"
+IUSE="+geos iconv +proj rttopo test +xls +xml"
+# Further poking required
+RESTRICT="test"
RDEPEND="
>=dev-db/sqlite-3.7.5:3[extensions(+)]
- sys-libs/zlib
+ sys-libs/zlib[minizip]
geos? ( >=sci-libs/geos-3.4 )
proj? ( sci-libs/proj:= )
xls? ( dev-libs/freexl )
xml? ( dev-libs/libxml2 )
+ rttopo? ( sci-geosciences/librttopo )
"
DEPEND="${RDEPEND}"
REQUIRED_USE="test? ( iconv )"
-S="${WORKDIR}/${MY_P}"
+src_prepare() {
+ default
+ elibtoolize
+}
src_configure() {
- if use proj && has_version ">=sci-libs/proj-6.0.0"; then
- append-flags "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H"
- fi
+ # 1) gcp disabled for now to preserve MPL licence
econf \
+ --disable-gcp \
--disable-examples \
--disable-static \
--enable-epsg \
--enable-geocallbacks \
+ $(use_enable rttopo) \
$(use_enable geos) \
$(use_enable geos geosadvanced) \
$(use_enable iconv) \
@@ -51,5 +57,5 @@ src_configure() {
src_install() {
default
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-db/spatialite/spatialite-5.1.0-r1.ebuild b/dev-db/spatialite/spatialite-5.1.0-r1.ebuild
new file mode 100644
index 000000000000..ccfc1ed4aa66
--- /dev/null
+++ b/dev-db/spatialite/spatialite-5.1.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool
+
+MY_PN="lib${PN}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A complete Spatial DBMS in a nutshell built upon sqlite"
+HOMEPAGE="https://www.gaia-gis.it/gaia-sins/"
+SRC_URI="https://www.gaia-gis.it/gaia-sins/${MY_PN}-sources/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+geos iconv +proj rttopo test +xls"
+# Further poking required
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-db/sqlite-3.7.5:3[extensions(+)]
+ dev-libs/libxml2
+ sys-libs/zlib[minizip]
+ geos? ( >=sci-libs/geos-3.11.0 )
+ proj? ( sci-libs/proj:= )
+ xls? ( >=dev-libs/freexl-2.0.0[xml(+)] )
+ rttopo? ( sci-geosciences/librttopo )
+"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="test? ( iconv )"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ # 1) gcp disabled for now to preserve MPL licence
+ econf \
+ --disable-gcp \
+ --disable-examples \
+ --disable-static \
+ --enable-epsg \
+ --enable-libxml2 \
+ $(use_enable rttopo) \
+ $(use_enable geos) \
+ $(use_enable geos geosadvanced) \
+ $(use_enable geos geos3100) \
+ $(use_enable geos geos3110) \
+ $(use_enable iconv) \
+ $(use_enable proj) \
+ $(use_enable xls freexl)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-db/sqlcipher/Manifest b/dev-db/sqlcipher/Manifest
index 35e3d49592a9..a9cadb5ca496 100644
--- a/dev-db/sqlcipher/Manifest
+++ b/dev-db/sqlcipher/Manifest
@@ -1,2 +1,2 @@
-DIST sqlcipher-3.4.2.tar.gz 14743960 BLAKE2B 88ee265b02bb9a42734c2ef93070c8fd8e13d546d7cc85e7fbfd6e6046ccbf2626d75e14b19cbba379c99784c7311d0100de06235b99b4908c60c99890d8d7a2 SHA512 c620bf2b175e404afd60ebe76b5476f5a447ff5fcdfa31bebc3f4bd7f1ebfcd507ee423cd582c9b3d6431d8b57320171492da2586e1a739adb4f440e7443dc03
-DIST sqlcipher-4.0.1.tar.gz 17006324 BLAKE2B 44e8eb4e1230c3625b4fe1b4af608cd8edc25f3c6adf7e11450c8f9ddb7970fea92ff0823f3a1e631d1b0acfbab6cf078c80e4645c535d66de57f1d73b55ff47 SHA512 0fb48326860a10e9849b2f56fae0c310deae124c7203b54d51f92d346782be795d505c29eafbdfb7206f5e7be54c0f7228fe50c45bd9d2b23cca976b263264fc
+DIST sqlcipher-4.5.1.tar.gz 18132121 BLAKE2B 233ffbd9636eae78533553325f08fa3ceb1e01ce0d809be44ca8ed64d46478d6a70dd40f81c38a1f0524986932ebe8614e52fda9dfc1c2f20134692cac7d4b16 SHA512 157ab90e1b80ae9ae85c68c6b77008fe8ab5b526cbb2604297a5ba54279286b4cac1fecd0db552e0113a75ff61a198f649611b8bde4dec5156c443e7b7fbe0c3
+DIST sqlcipher-4.5.5.tar.gz 18816611 BLAKE2B 46c6c64140848e02f7572afc3268db648f9968c41bd7d7e945d4918904ac572d57e0fdc049cf3dac40cc0fd0b034fb96693438ff04fffb4fcd603db2263b7ae9 SHA512 034774f8d320a53f08a9735c035bf83f81ef9223780473c39ec07658b80af89dc665599caa3b2662055039fa678c7a29cbf777d046922948e86123e677b823bc
diff --git a/dev-db/sqlcipher/sqlcipher-4.0.1.ebuild b/dev-db/sqlcipher/sqlcipher-4.5.1.ebuild
index 9751b1c88489..9c9ca41bb64d 100644
--- a/dev-db/sqlcipher/sqlcipher-4.0.1.ebuild
+++ b/dev-db/sqlcipher/sqlcipher-4.5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,8 +17,9 @@ IUSE="debug libedit readline static-libs tcl test"
# Tcl is always needed by buildsystem
RDEPEND="
- libedit? ( dev-libs/libedit[${MULTILIB_USEDEP}] )
dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ libedit? ( dev-libs/libedit[${MULTILIB_USEDEP}] )
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
"
diff --git a/dev-db/sqlcipher/sqlcipher-3.4.2.ebuild b/dev-db/sqlcipher/sqlcipher-4.5.5.ebuild
index d67124b09e38..ab295c81df0f 100644
--- a/dev-db/sqlcipher/sqlcipher-3.4.2.ebuild
+++ b/dev-db/sqlcipher/sqlcipher-4.5.5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools flag-o-matic multilib-minimal
@@ -11,52 +11,56 @@ SRC_URI="https://github.com/sqlcipher/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="libedit readline static-libs tcl test"
-RESTRICT="!test? ( test )"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug libedit readline tcl test"
+# libedit and readline support are mutually exclusive
+# Testsuite requires compilation with TCL, bug #582584
+REQUIRED_USE="
+ ?? ( libedit readline )
+ test? ( tcl )"
+# Testsuite fails, bug #692310
+RESTRICT="test"
# Tcl is always needed by buildsystem
RDEPEND="
+ dev-libs/openssl:=[${MULTILIB_USEDEP}]
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
libedit? ( dev-libs/libedit[${MULTILIB_USEDEP}] )
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
-"
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
dev-lang/tcl:*"
-# Libedit and readline support are mutually exclusive
-# Testsuite requires compilation with TCL, bug #582584
-REQUIRED_USE="
- libedit? ( !readline )
- test? ( tcl )
-"
-
-DOCS=( README.md )
-
src_prepare() {
- append-cflags -DSQLITE_HAS_CODEC
default
eautoreconf
}
+src_configure() {
+ # Column metadata added due to bug #670346
+ append-cflags -DSQLITE_HAS_CODEC -DSQLITE_ENABLE_COLUMN_METADATA
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
ECONF_SOURCE="${S}" \
econf \
--enable-fts3 \
--enable-fts4 \
--enable-fts5 \
- --enable-json1 \
+ --enable-geopoly \
+ --enable-memsys5 \
+ --enable-rtree \
+ --enable-session \
--enable-tempstore \
+ $(use_enable debug) \
$(use_enable libedit editline) \
$(use_enable readline) \
- $(use_enable static-libs static) \
$(use_enable tcl)
}
multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
-
einstalldocs
+ find "${ED}" -name '*.la' -type f -delete || die
}
diff --git a/dev-db/sqlcl-bin/Manifest b/dev-db/sqlcl-bin/Manifest
index 2af936775761..8ea1a36cff4b 100644
--- a/dev-db/sqlcl-bin/Manifest
+++ b/dev-db/sqlcl-bin/Manifest
@@ -1 +1 @@
-DIST sqlcl-21.3.1.281.1748.zip 37930215 BLAKE2B a28b3d0a7b67c371bc25148b7640c8deeed735d81762247ce16590865a00bcf85c712dd8706a03370e20082af0a88687cf127b20d8adfd57cea6454736e0cfe8 SHA512 198f745e72b0030f997f948fea45392783ac4aa76ec612a45df59daed28161946bc8dcf94a17ca955124edecd92e1d91719ad6863609a44fc15aa8ef7f4e904f
+DIST sqlcl-23.4.0.023.2321.zip 70205047 BLAKE2B 8b6a3680aeab30c5611f5c7718c488ba636e265e8d618d4698b26fc66d80b3bf167bee8801c1e909f71a9dc0875802bbda90146847c51f011310188c704e5e80 SHA512 2d5310f29c13f801392f3278dcb6241fc5fdc8da219077c5a63fb7ba461b904e3ecb2e813111a6159d1f6ca81aac1b3bfdc17434fc320423a10cc7303a345d77
diff --git a/dev-db/sqlcl-bin/sqlcl-bin-21.3.1.281.1748.ebuild b/dev-db/sqlcl-bin/sqlcl-bin-23.4.0.023.2321.ebuild
index 4abb49d13644..cfea6a71f095 100644
--- a/dev-db/sqlcl-bin/sqlcl-bin-21.3.1.281.1748.ebuild
+++ b/dev-db/sqlcl-bin/sqlcl-bin-23.4.0.023.2321.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_PN="${PN/-bin}"
MY_P="${MY_PN}-${PV}"
@@ -20,7 +20,7 @@ KEYWORDS="~amd64 ~x86"
BDEPEND="app-arch/unzip"
RDEPEND="dev-db/oracle-instantclient
dev-java/java-config:2
- >=virtual/jre-1.8"
+ >=virtual/jre-11"
S="${WORKDIR}"
diff --git a/dev-db/sqldeveloper/Manifest b/dev-db/sqldeveloper/Manifest
index 422df38572bf..d91cec185a72 100644
--- a/dev-db/sqldeveloper/Manifest
+++ b/dev-db/sqldeveloper/Manifest
@@ -1,2 +1 @@
-DIST sqldeveloper-21.2.1.204.1703-no-jre.zip 458220863 BLAKE2B 0f5bfb3a97667a728db6b8d61178cdfc90db0958ea7e08460de8d854037f775aa5b97e7e334048c5a717acb35db64334358918b45046395b0170f3ff733d3c65 SHA512 4cdff031ea008bb7b31a202487bb98c1748599b7190ba5b82c9c3fbcc86d453e75751585c243ca9f52d255a43e24a720a0929630b3c3742cf8e91cfa980cf3bb
-DIST sqldeveloper-4.2.0.17.089.1709-no-jre.zip 348604841 BLAKE2B 0c3adff04f148102e6460c7550f787329c7e5a69aca0b81c2de4725b9c9ea27c03bb2f588671a95371aa3612839805f2042855b443bb5635c70d0e0b2140295b SHA512 4d1e270376ae125a60146228e35fcb2cb615d593c0e9f2ca98e4deef4d8fd1ddff59cf15064d63e33e77125f49e8da9fe317ed1fd96a9b00a699bf6c5e739874
+DIST sqldeveloper-23.1.1.345.2114-no-jre.zip 509665648 BLAKE2B 28ae11d4a3f0f760620247d353db8b8100443f639b39354ed687ed05e124739aacf5bd2a8fa816ed7e14d55d02a7391af44855fd7cc07e942c5d904131fa9bb3 SHA512 e1a69e569fa8052cdc5144b23c9b6cbf9b1aa13280286233c0e531671ae702a8bf33f3ff6a6f28a166c44c88037b758e854f8dbc525e7714cca8031573b6db52
diff --git a/dev-db/sqldeveloper/files/sqldeveloper b/dev-db/sqldeveloper/files/sqldeveloper
deleted file mode 100644
index eba773e10267..000000000000
--- a/dev-db/sqldeveloper/files/sqldeveloper
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# skip their stupid [ -f `which java` ] test, which will always fail on Gentoo
-export APP_SKIP_J2SE_TEST=1
-export JAVA_HOME=$(java-config -o)
-
-cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $@
diff --git a/dev-db/sqldeveloper/sqldeveloper-21.2.1.204.1703.ebuild b/dev-db/sqldeveloper/sqldeveloper-23.1.1.345.2114.ebuild
index 3707f45ec26d..835081018271 100644
--- a/dev-db/sqldeveloper/sqldeveloper-21.2.1.204.1703.ebuild
+++ b/dev-db/sqldeveloper/sqldeveloper-23.1.1.345.2114.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit desktop java-pkg-2
@@ -19,8 +19,8 @@ KEYWORDS="-* ~amd64"
IUSE="mssql mysql postgres sybase"
RDEPEND="
- >=dev-java/openjdk-8:*[javafx]
- >=virtual/jre-1.8:*
+ dev-java/openjdk:11[javafx]
+ virtual/jre:11
mssql? ( dev-java/jtds:1.3 )
mysql? ( dev-java/jdbc-mysql:0 )
postgres? ( dev-java/jdbc-postgresql:0 )
@@ -36,7 +36,7 @@ QA_PREBUILT="
pkg_nofetch() {
einfo "Please go to"
- einfo " ${HOMEPAGE}"
+ einfo " https://www.oracle.com/tools/downloads/sqldev-downloads.html"
einfo "and download"
einfo " Oracle SQL Developer for other platforms"
einfo " ${SRC_URI}"
@@ -74,7 +74,7 @@ src_prepare() {
src_install() {
insinto /opt/${PN}
- doins -r {configuration,d{ataminer,ropins},e{quinox,xternal},ide,j{avavm,d{bc,ev},lib,views},modules,netbeans,orakafka,rdbms,s{leepycat,ql{developer,j},vnkit}}
+ doins -r {configuration,d{ataminer,ropins},e{quinox,xternal},ide,j{avavm,d{bc,ev},lib,views},modules,netbeans,rdbms,s{leepycat,ql{developer,j},vnkit}}
fperms +x /opt/${PN}/netbeans/platform/modules/lib/amd64/linux/libjnidispatch-422.so
dodir /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log
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
deleted file mode 100644
index 4bac238ce42b..000000000000
--- a/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils java-pkg-2
-
-DESCRIPTION="Oracle SQL Developer is a graphical tool for database development"
-HOMEPAGE="http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html"
-SRC_URI="${P}-no-jre.zip"
-
-RESTRICT="fetch"
-
-LICENSE="OTN"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="mssql mysql sybase"
-
-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
- ${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-QA_PREBUILT="
-opt/${PN}/netbeans/platform/modules/lib/amd64/linux/*.so
-opt/${PN}/netbeans/platform/modules/lib/i386/linux/*.so
-"
-
-pkg_nofetch() {
- eerror "Please go to"
- eerror " ${HOMEPAGE}"
- eerror "and download"
- eerror " Oracle SQL Developer for other platforms"
- eerror " ${SRC_URI}"
- eerror "and move it to your DISTDIR directory."
-}
-
-src_prepare() {
- # we don't need these, do we?
- find ./ \( -iname "*.exe" -or -iname "*.dll" -or -iname "*.bat" \) -exec rm {} +
-
- # they both use jtds, enabling one of them also enables the other one
- if use mssql && ! use sybase; then
- einfo "You requested MSSQL support, this also enables Sybase support."
- fi
- if use sybase && ! use mssql; then
- einfo "You requested Sybase support, this also enables MSSQL support."
- fi
-
- if use mssql || use sybase; then
- echo "AddJavaLibFile $(java-pkg_getjars jtds-1.3)" >> sqldeveloper/bin/sqldeveloper.conf || die
- fi
-
- if use mysql; then
- echo "AddJavaLibFile $(java-pkg_getjars jdbc-mysql)" >> sqldeveloper/bin/sqldeveloper.conf || die
- fi
-}
-
-src_install() {
- dodir /opt/${PN}
- # NOTE For future version to get that line (what to copy) go to the unpacked sources dir
- # using `bash` and press Meta+_ (i.e. Meta+Shift+-) -- that is a builtin bash feature ;-)
- cp -r {configuration,d{ataminer,ropins,vt},e{quinox,xternal},ide,j{avavm,d{bc,ev},lib,views},modules,netbeans,ords,rdbms,s{leepycat,ql{developer,j},vnkit}} \
- "${D}"/opt/${PN}/ || die "Install failed"
-
- newbin "${FILESDIR}"/${PN}-r1 ${PN}
-
- newicon icon.png ${PN}-32x32.png
- make_desktop_entry ${PN} "Oracle SQL Developer" ${PN}-32x32
-
- # This is normally called automatically by java-pkg_dojar, which
- # hasn't been used above. We need to create package.env to help the
- # launcher select the correct VM.
- java-pkg_do_write_
-}
-
-pkg_postinst() {
- # this temporary fixes FileNotFoundException with datamodeler
- # this is more like a workaround than permanent fix
- mkdir -p /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log || die
- touch /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log/datamodeler.log || die
- chmod -R 1777 /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log/datamodeler.log || die
-
- # this fixes another datamodeler FileNotFoundException
- # also more like a workaround than permanent fix
- chmod 1777 /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/types/dr_custom_scripts.xml || die
-
- echo
- einfo "If you want to use the TNS connection type you need to set up the"
- einfo "TNS_ADMIN environment variable to point to the directory your"
- einfo "tnsnames.ora resides in."
- echo
-}
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index e711936f33c7..35aa98d4002b 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,14 +1,8 @@
-DIST sqlite-doc-3340100.zip 10074559 BLAKE2B 66aa999d87b7f3c994c289eda320d6a4e371b0a6a2ab8bcebde540aa955f3bdf4f00b739ca32aa913685cd35a88ee83bebd7fa43a0c148614e9086a1d3f5652a SHA512 20cbb9f05cd329bf7aa2877431781e46192544806042f4104e4eb0e87d84cd2dfc02c7ff226d4bef9bb2c6a69cc612201844d116abe99b0cfed9602adf243a60
-DIST sqlite-doc-3350000.zip 10165959 BLAKE2B e24ae04764617d07fafc82f4c27d96b853df77de2a945109c2ff28abd3b61f8bdd318756d14b8d20e22a0dff05fcca26c9a8c9972f600af0a996cd8e13478c9d SHA512 f6b92cf1a087a97071c55605e85676c4d76b9435a1a433e4663ff3d7937557d72e4fb99931a14abda9ab3dece654da09d10f7ca2560ca3e0972e4b7690997132
-DIST sqlite-doc-3350100.zip 10175402 BLAKE2B c8ac8814837dc88320ae0f6973b5ec0b815a4fbfefae26ea2b5365485decb33e9e4add9097865819a5facb2568198535166dd8c492cb621ec845d8bfc2056721 SHA512 4843d8186f4cc98fc9ad5459a1b987d4512e72ceeeb985372c22d44f35856e33ee41ab0fa4372c273cfa4730f9461dc3f359ba50f26e53a0c7abd87e70cdfe86
-DIST sqlite-doc-3350200.zip 10182547 BLAKE2B f50b04495aa79eca1ce935c8a96fe83d0a415f15ec55fda0cd982d02b4473ba8f5175c97d9816de2b79526787bc958b3be5e1234994e5f00d8ee1b432627391e SHA512 7ef973b804d059cf00c759a0ae001b7714df0472398e7cd55e34f59222df816a36511cefd15fa99abf67dec4291ee6babbc12bd87855194608ff556a5c1182ae
-DIST sqlite-doc-3350300.zip 10197905 BLAKE2B ffe3e800fa7c9066c6f180a5989cceb89dfff81729258278256901eee717872ef6993a8bb30ebb6c1de5a66c128009c21494ec9bf0011accdd6f8beef712213a SHA512 260981abaf54f452777e37e99474d100010ec2340c740f78445b7794fa17bcbb814e90f004f870d929a9ccab1d89417ee3d65ffe3b65dbf511ca1de7b6a6a4c8
-DIST sqlite-doc-3350400.zip 10206227 BLAKE2B 82572a771e72e76149fc7ca4e3d5b6f268d6b2d441cc8a4c02be7f2062582b55cefd1577dbb3c77d2e932e93f1a0403f55a9ffc8b74f7eada06435ef23a6b065 SHA512 cc967b6625e0ae3ffb4a84f87a6efb5bc0e2d3cb2080e438c9e1ba3b8c2ba707612b8bdfc2bf3291ef2ad2836780127050762945a3ff7503f662cf30ab4fde4a
-DIST sqlite-doc-3350500.zip 10205830 BLAKE2B e078713786522f8da7984df6ddf62671c24ec5381cac88fe976c97fcdf4800cff8dc1a595df9c9010c687c9929cb5ab070957f8ccbc0b5e8bd7add88ae9a0514 SHA512 2da5357623f4db7003f46ec7ea8bdd8a794ad6e1be9a25a8ebccfe5222da43eabc32d9d17acfd7766aa4cf1fd010e476a8087fab78ac6f6596c7c5b8a06de685
-DIST sqlite-src-3340100.zip 12623711 BLAKE2B 08c98d0c56d46fe909f449f322002ae4d69fd952930d2f04514988a939b31744a13aea85935d84bc05db52faca1aad6a70d7c31e7da0e396bb649685a49699bb SHA512 5ed02fe609b3d08c3297cc43b21e6ee3f56fb51a6616ac391a0e50cd1677dbad03c6bf9bf9c8409cf94b83b16fe6b6e4a112640b18c7d4fd95328066da3c3943
-DIST sqlite-src-3350000.zip 12814378 BLAKE2B f77880bfb335da078623841f9d9d9fc690085630757d8d8e3d40d42646902f809febf8dcc5048d38be0e2d74c0114c35f09789bc261e51d49f9685201f6d1297 SHA512 4b77d963092a6aed61b50e59450edf2af187f16b185b05ca54d81c3eecf71b1cb9bc2883a8aadeb971fcebe343fa430ea788aedb77e3712c8b39d4892c93a797
-DIST sqlite-src-3350100.zip 12814875 BLAKE2B bc4f6913ce93c32e1c6fbd39f45666a14476096b09f7534047aee56cbb18e949bf5225c080c813281a0abae9198a35165161393db39df0c2af2a92138b4604d9 SHA512 004bcca9c2ae883b05d8f15c8bf28a12fd2fdf9527d1560d137f8e2570c153d14ea5405c500d0e79966a3881a516df4d9ed07be751712f1584df411e86c60977
-DIST sqlite-src-3350200.zip 12815298 BLAKE2B a65034fc59c32e950b5337ef4fe1b2476190fe6f1272494b12f9e1d048aac759ac31e7c0f252774c850b0f313bf44b34a97fc563c049e30d2a896f262b199dce SHA512 d5382bf31d812bc51533d28a583c78d3f389b1ecbe1f9f30cc755059f2867f832c0529e9f97b090be5c5bc855c45611b220b8c29b5648c451490566a70cc5122
-DIST sqlite-src-3350300.zip 12817388 BLAKE2B 5b07d15ec5ed934ffa776ae4e079d4b4a3d9c91c526577683c7eea4f95ba62738d82b6fd26f1c10560a6f87fd02b070e5786bcc45e908a338a316071009e5b92 SHA512 5b994833e37e5f7579f4e3eefbbadd5b2a3d691b5f662b7d3dc2bbf80ff1cdaf89262ce5612513fcb2daa0a7d1db3de871dfc462f9d162c954593ff7f4ad90fd
-DIST sqlite-src-3350400.zip 12818802 BLAKE2B c671c5666d754c763e70f20e742e017320ceb27e1a8668e8713dbe5257aa0842ba8d7343e535be06eefd371dc2bae9ded6718194b7891e46c6eb4081531b4944 SHA512 3a3fa1df47b8f148fffbb056522e0e671d9e295c154173124208b7b1348d321eba410a40fbdea02fdc1af3b55cdfce37044ed09f328502fc50f42f5ecabc1236
-DIST sqlite-src-3350500.zip 12819198 BLAKE2B 0f0d39cd663d78a3c698df62dd533019c32244e8c998e625354cb069f5839cc374476b825e2e2a6408916301333a9954c0c7b9cbab5493522fdffe8859f9b6a5 SHA512 f9afd11b3c42a8241f91e2ecafc3928e7391cc0f1fbee236b8122c2d3ca922d0c82d2605968b131351b6c5e38f983f8eed29b86c94cfa72799e2387b3b3db561
+DIST sqlite-doc-3440200.zip 10704552 BLAKE2B 3d50ac157bd2793c9167328994334a417835e5381e432fd8028e064869b8eab2ab1d213815d2232850d695bc71626e9d89518b201888a43673274cba2a1b345d SHA512 a7c92af0d3a61a2450511cfb507785c7ab64c21c6dbcf5a8bdef509d25a6b3ca35ce93a25ca827497c27abca77d11b794fbbc783e4d8e131981bf1d4b29f83e8
+DIST sqlite-doc-3450100.zip 10746925 BLAKE2B 6e45a33b41b8fd1e0b5ef3a44febf5ed53a19883441f0eaef6d811190a26cd072a49d254a35d5b90f92255082f91d3f7956a6e574b638b34f156f7297588b57e SHA512 dc036737973a29ea2b6cb4fe7ab4468f449e21eed34a773600570ed2e57ed4d195286c75afec91ab76ac55e25a0cc82e73c3b3119a9c8e7b5918bae8a1a3c8c0
+DIST sqlite-doc-3450200.zip 10755940 BLAKE2B 5d70100ae972024a44a0dbe3214e0465b819710dc23e7b68e6995d2a8f66286ef4378b7bbb96bfaab2551954aa09f0aa85ebde60b5a672d5a3e2d6c739393a81 SHA512 5e80255b0030dd6dfc0f93a1d6863a35dc319c6567300ac5f4e16d15c322f0b3fc2681cae7d27de0d23bf6731069d0060b9edddf3d7e0b105c538beab53979dc
+DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31
+DIST sqlite-src-3440200.zip 14070781 BLAKE2B 9d29964ee15da6a104f4857cb5f2621df5b51d043012789793526f34c56097d7b1b1dcaa7672637f2d16bcab4ff775ba2c8415213b79f80636c0ff2aeff883ba SHA512 5c1fed9c399dad75735a1b4451f8f6be474b07652d74500649e60474691923f56156ef6d5bce51b58367c1676371f1184e32584fe9ac4d5dd0c4776fa6f1d9a3
+DIST sqlite-src-3450100.zip 14152147 BLAKE2B 815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153 SHA512 475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005
+DIST sqlite-src-3450200.zip 14156848 BLAKE2B a830dce41fd6c9ef936115460ed4aa9be277688389c50545fcb5e8ee65317d3adaf51873ec789556cf293418f7059868c7ffac229dc30756ba5137431839ec69 SHA512 b6e875ab4ed24cd564330e50a87f35aae43c382f88ca86c2eedf5308c7fab683c1880c0053408e864b0cec1feb7ae81aca8a91979a3ee3975f26037a7983011a
+DIST sqlite-src-3450300.zip 14160555 BLAKE2B 1c16a9b26587ed6b50dcd8373d4328266da0a47da7ffff15d505eddc8df74850a5bca3330bd9ee2b52036ccff9fb8aeebea02ef5713cc933753b4d8a4c15b2e8 SHA512 8f44ffdefd2cf09e7edb7cd78d5416fe7b42e01fe4b4e4803ce9d34c7b1b2971ec170a908a94b4bb11737dd3888675c8ff101ff2b41c53b8db05b5954e947cc9
diff --git a/dev-db/sqlite/files/sqlite-3.34.1-build_1.1.patch b/dev-db/sqlite/files/sqlite-3.34.1-build_1.1.patch
deleted file mode 100644
index d7f759af35d8..000000000000
--- a/dev-db/sqlite/files/sqlite-3.34.1-build_1.1.patch
+++ /dev/null
@@ -1,375 +0,0 @@
-Add initialization functions for internal usage in libsqlite3.so.
-
-SQLite revision: 10e20c0b43500cfb9bbc0eaa061c57514f715d87238f4d835880cd846b9ebd1f
-
---- /ext/misc/amatch.c
-+++ /ext/misc/amatch.c
-@@ -1480,9 +1480,18 @@
-
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
-
-+int sqlite3AmatchInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+ rc = sqlite3_create_module(db, "approximate_match", &amatchModule, 0);
-+#endif /* SQLITE_OMIT_VIRTUALTABLE */
-+ return rc;
-+}
-+
- /*
- ** Register the amatch virtual table
- */
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -1491,11 +1500,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Not used */
--#ifndef SQLITE_OMIT_VIRTUALTABLE
-- rc = sqlite3_create_module(db, "approximate_match", &amatchModule, 0);
--#endif /* SQLITE_OMIT_VIRTUALTABLE */
-- return rc;
-+ return sqlite3AmatchInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/carray.c
-+++ /ext/misc/carray.c
-@@ -498,16 +498,8 @@
-
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_carray_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3CarrayInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
- #ifndef SQLITE_OMIT_VIRTUALTABLE
- rc = sqlite3_create_module(db, "carray", &carrayModule, 0);
- #ifdef SQLITE_TEST
-@@ -519,3 +511,18 @@
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_carray_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3CarrayInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/completion.c
-+++ /ext/misc/completion.c
-@@ -483,12 +483,13 @@
- return rc;
- }
-
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
- int sqlite3_completion_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-+ sqlite3 *db,
-+ char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
- int rc = SQLITE_OK;
-@@ -499,3 +500,4 @@
- #endif
- return rc;
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/csv.c
-+++ /ext/misc/csv.c
-@@ -928,6 +928,22 @@
- #endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */
-
-
-+int sqlite3CsvInit(sqlite3 *db){
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+ int rc;
-+ rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
-+#ifdef SQLITE_TEST
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
-+ }
-+#endif
-+ return rc;
-+#else
-+ return SQLITE_OK;
-+#endif
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -941,17 +957,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
--#ifndef SQLITE_OMIT_VIRTUALTABLE
-- int rc;
- SQLITE_EXTENSION_INIT2(pApi);
-- rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
--#ifdef SQLITE_TEST
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
-- }
--#endif
-- return rc;
--#else
-- return SQLITE_OK;
--#endif
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3CsvInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/dbdata.c
-+++ /ext/misc/dbdata.c
-@@ -803,7 +803,7 @@
- /*
- ** Invoke this routine to register the "sqlite_dbdata" virtual table module
- */
--static int sqlite3DbdataRegister(sqlite3 *db){
-+int sqlite3DbdataRegister(sqlite3 *db){
- static sqlite3_module dbdata_module = {
- 0, /* iVersion */
- 0, /* xCreate */
-@@ -838,6 +838,7 @@
- return rc;
- }
-
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -849,3 +850,4 @@
- SQLITE_EXTENSION_INIT2(pApi);
- return sqlite3DbdataRegister(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/decimal.c
-+++ /ext/misc/decimal.c
-@@ -590,14 +590,7 @@
- decimal_free(pB);
- }
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_decimal_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3DecimalInit(sqlite3 *db){
- int rc = SQLITE_OK;
- static const struct {
- const char *zFuncName;
-@@ -611,10 +604,6 @@
- { "decimal_mul", 2, decimalMulFunc },
- };
- unsigned int i;
-- (void)pzErrMsg; /* Unused parameter */
--
-- SQLITE_EXTENSION_INIT2(pApi);
--
- for(i=0; i<sizeof(aFunc)/sizeof(aFunc[0]) && rc==SQLITE_OK; i++){
- rc = sqlite3_create_function(db, aFunc[i].zFuncName, aFunc[i].nArg,
- SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
-@@ -632,3 +621,20 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_decimal_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ (void)pzErrMsg; /* Unused parameter */
-+
-+ SQLITE_EXTENSION_INIT2(pApi);
-+
-+ return sqlite3DecimalInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/eval.c
-+++ /ext/misc/eval.c
-@@ -102,6 +102,20 @@
- }
-
-
-+int sqlite3EvalInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "eval", 1,
-+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-+ sqlEvalFunc, 0, 0);
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_function(db, "eval", 2,
-+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-+ sqlEvalFunc, 0, 0);
-+ }
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -110,16 +124,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "eval", 1,
-- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-- sqlEvalFunc, 0, 0);
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "eval", 2,
-- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-- sqlEvalFunc, 0, 0);
-- }
-- return rc;
-+ return sqlite3EvalInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/fileio.c
-+++ /ext/misc/fileio.c
-@@ -340,7 +340,7 @@
- ** This function does the work for the writefile() UDF. Refer to
- ** header comments at the top of this file for details.
- */
--static int writeFile(
-+static int writeFileContents(
- sqlite3_context *pCtx, /* Context to return bytes written in */
- const char *zFile, /* File to write */
- sqlite3_value *pData, /* Data to write */
-@@ -480,10 +480,10 @@
- mtime = sqlite3_value_int64(argv[3]);
- }
-
-- res = writeFile(context, zFile, argv[1], mode, mtime);
-+ res = writeFileContents(context, zFile, argv[1], mode, mtime);
- if( res==1 && errno==ENOENT ){
- if( makeDirectory(zFile)==SQLITE_OK ){
-- res = writeFile(context, zFile, argv[1], mode, mtime);
-+ res = writeFileContents(context, zFile, argv[1], mode, mtime);
- }
- }
-
-@@ -970,18 +970,9 @@
- # define fsdirRegister(x) SQLITE_OK
- #endif
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_fileio_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3FileioInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "readfile", 1,
-+ rc = sqlite3_create_function(db, "readfile", 1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- readfileFunc, 0, 0);
- if( rc==SQLITE_OK ){
-@@ -998,3 +989,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_fileio_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3FileioInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/ieee754.c
-+++ /ext/misc/ieee754.c
-@@ -245,14 +245,7 @@
- }
-
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_ieee_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3IeeeInit(sqlite3 *db){
- static const struct {
- char *zFName;
- int nArg;
-@@ -269,13 +262,26 @@
- };
- unsigned int i;
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- for(i=0; i<sizeof(aFunc)/sizeof(aFunc[0]) && rc==SQLITE_OK; i++){
-- rc = sqlite3_create_function(db, aFunc[i].zFName, aFunc[i].nArg,
-+ rc = sqlite3_create_function(db, aFunc[i].zFName, aFunc[i].nArg,
- SQLITE_UTF8|SQLITE_INNOCUOUS,
- (void*)&aFunc[i].iAux,
- aFunc[i].xFunc, 0, 0);
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_ieee_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3IeeeInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
diff --git a/dev-db/sqlite/files/sqlite-3.34.1-build_1.2.patch b/dev-db/sqlite/files/sqlite-3.34.1-build_1.2.patch
deleted file mode 100644
index 5c5d6e93b1a8..000000000000
--- a/dev-db/sqlite/files/sqlite-3.34.1-build_1.2.patch
+++ /dev/null
@@ -1,500 +0,0 @@
-Add initialization functions for internal usage in libsqlite3.so.
-
-SQLite revision: 10e20c0b43500cfb9bbc0eaa061c57514f715d87238f4d835880cd846b9ebd1f
-
---- /ext/misc/nextchar.c
-+++ /ext/misc/nextchar.c
-@@ -286,17 +286,8 @@
- sqlite3_free(c.aResult);
- }
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_nextchar_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3NextcharInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "next_char", 3,
- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- nextCharFunc, 0, 0);
-@@ -312,3 +303,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_nextchar_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3NextcharInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/percentile.c
-+++ /ext/misc/percentile.c
-@@ -202,6 +202,15 @@
- }
-
-
-+int sqlite3PercentileInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "percentile", 2,
-+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-+ 0, percentStep, percentFinal);
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -210,11 +219,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "percentile", 2,
-- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-- 0, percentStep, percentFinal);
-- return rc;
-+ return sqlite3PercentileInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/regexp.c
-+++ /ext/misc/regexp.c
-@@ -740,10 +740,18 @@
- }
- }
-
-+int sqlite3RegexpInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
-+ 0, re_sql_func, 0, 0);
-+ return rc;
-+}
-+
- /*
- ** Invoke this routine to register the regexp() function with the
- ** SQLite database connection.
- */
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -752,9 +760,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
-- rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
-- 0, re_sql_func, 0, 0);
-- return rc;
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3RegexpInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/series.c
-+++ /ext/misc/series.c
-@@ -413,6 +413,15 @@
-
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
-
-+int sqlite3SeriesInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+ rc = sqlite3_create_module(db, "generate_series", &seriesModule, 0);
-+#endif
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -421,7 +430,6 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- #ifndef SQLITE_OMIT_VIRTUALTABLE
- if( sqlite3_libversion_number()<3008012 ){
-@@ -429,7 +437,7 @@
- "generate_series() requires SQLite 3.8.12 or later");
- return SQLITE_ERROR;
- }
-- rc = sqlite3_create_module(db, "generate_series", &seriesModule, 0);
- #endif
-- return rc;
-+ return sqlite3SeriesInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/sha1.c
-+++ /ext/misc/sha1.c
-@@ -175,7 +175,7 @@
- }
-
- /* Compute a string using sqlite3_vsnprintf() and hash it */
--static void hash_step_vformat(
-+static void sha1_hash_step_vformat(
- SHA1Context *p, /* Add content to this context */
- const char *zFormat,
- ...
-@@ -306,7 +306,7 @@
- nCol = sqlite3_column_count(pStmt);
- z = sqlite3_sql(pStmt);
- n = (int)strlen(z);
-- hash_step_vformat(&cx,"S%d:",n);
-+ sha1_hash_step_vformat(&cx,"S%d:",n);
- hash_step(&cx,(unsigned char*)z,n);
-
- /* Compute a hash over the result of the query */
-@@ -349,14 +349,14 @@
- case SQLITE_TEXT: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_text(pStmt, i);
-- hash_step_vformat(&cx,"T%d:",n2);
-+ sha1_hash_step_vformat(&cx,"T%d:",n2);
- hash_step(&cx, z2, n2);
- break;
- }
- case SQLITE_BLOB: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
-- hash_step_vformat(&cx,"B%d:",n2);
-+ sha1_hash_step_vformat(&cx,"B%d:",n2);
- hash_step(&cx, z2, n2);
- break;
- }
-@@ -370,6 +370,20 @@
- }
-
-
-+int sqlite3ShaInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "sha1", 1,
-+ SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
-+ 0, sha1Func, 0, 0);
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_function(db, "sha1_query", 1,
-+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-+ sha1QueryFunc, 0, 0);
-+ }
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -378,16 +392,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "sha1", 1,
-- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
-- 0, sha1Func, 0, 0);
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "sha1_query", 1,
-- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-- sha1QueryFunc, 0, 0);
-- }
-- return rc;
-+ return sqlite3ShaInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/shathree.c
-+++ /ext/misc/shathree.c
-@@ -527,7 +527,7 @@
- /* Compute a string using sqlite3_vsnprintf() with a maximum length
- ** of 50 bytes and add it to the hash.
- */
--static void hash_step_vformat(
-+static void sha3_hash_step_vformat(
- SHA3Context *p, /* Add content to this context */
- const char *zFormat,
- ...
-@@ -623,7 +623,7 @@
- z = sqlite3_sql(pStmt);
- if( z ){
- n = (int)strlen(z);
-- hash_step_vformat(&cx,"S%d:",n);
-+ sha3_hash_step_vformat(&cx,"S%d:",n);
- SHA3Update(&cx,(unsigned char*)z,n);
- }
-
-@@ -667,14 +667,14 @@
- case SQLITE_TEXT: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_text(pStmt, i);
-- hash_step_vformat(&cx,"T%d:",n2);
-+ sha3_hash_step_vformat(&cx,"T%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
- case SQLITE_BLOB: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
-- hash_step_vformat(&cx,"B%d:",n2);
-+ sha3_hash_step_vformat(&cx,"B%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
-@@ -687,17 +687,8 @@
- }
-
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_shathree_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3ShathreeInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "sha3", 1,
- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
- 0, sha3Func, 0, 0);
-@@ -718,3 +709,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_shathree_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3ShathreeInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/sqlar.c
-+++ /ext/misc/sqlar.c
-@@ -14,6 +14,8 @@
- ** for working with sqlar archives and used by the shell tool's built-in
- ** sqlar support.
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <zlib.h>
-@@ -101,6 +103,20 @@
- }
-
-
-+int sqlite3SqlarInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "sqlar_compress", 1,
-+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-+ sqlarCompressFunc, 0, 0);
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
-+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-+ sqlarUncompressFunc, 0, 0);
-+ }
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -109,16 +125,10 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "sqlar_compress", 1,
-- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-- sqlarCompressFunc, 0, 0);
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
-- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-- sqlarUncompressFunc, 0, 0);
-- }
-- return rc;
-+ return sqlite3SqlarInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
-+
-+#endif /* SQLITE_HAVE_ZLIB */
---- /ext/misc/totype.c
-+++ /ext/misc/totype.c
-@@ -491,17 +491,8 @@
- #pragma warning(default: 4748)
- #endif
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_totype_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3TotypeInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "tointeger", 1,
- SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS, 0,
- tointegerFunc, 0, 0);
-@@ -512,3 +503,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_totype_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3TotypeInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/uint.c
-+++ /ext/misc/uint.c
-@@ -78,6 +78,11 @@
- return (nKey1 - i) - (nKey2 - j);
- }
-
-+int sqlite3UintInit(sqlite3 *db){
-+ return sqlite3_create_collation(db, "UINT", SQLITE_UTF8, 0, uintCollFunc);
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -88,5 +93,6 @@
- ){
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- return sqlite3_create_collation(db, "uint", SQLITE_UTF8, 0, uintCollFunc);
-+ return sqlite3UintInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/uuid.c
-+++ /ext/misc/uuid.c
-@@ -206,21 +206,12 @@
- sqlite3_result_blob(context, pBlob, 16, SQLITE_TRANSIENT);
- }
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_uuid_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3UuidInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "uuid", 0, SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- sqlite3UuidFunc, 0, 0);
- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "uuid_str", 1,
-+ rc = sqlite3_create_function(db, "uuid_str", 1,
- SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
- 0, sqlite3UuidStrFunc, 0, 0);
- }
-@@ -231,3 +222,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_uuid_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3UuidInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/zipfile.c
-+++ /ext/misc/zipfile.c
-@@ -24,6 +24,8 @@
- ** * No support for zip64 extensions
- ** * Only the "inflate/deflate" (zlib) compression method is supported
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <stdio.h>
-@@ -2139,7 +2141,7 @@
- /*
- ** Register the "zipfile" virtual table.
- */
--static int zipfileRegister(sqlite3 *db){
-+int sqlite3ZipfileInit(sqlite3 *db){
- static sqlite3_module zipfileModule = {
- 1, /* iVersion */
- zipfileConnect, /* xCreate */
-@@ -2173,9 +2175,10 @@
- return rc;
- }
- #else /* SQLITE_OMIT_VIRTUALTABLE */
--# define zipfileRegister(x) SQLITE_OK
-+# define sqlite3ZipfileInit(x) SQLITE_OK
- #endif
-
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -2186,5 +2189,8 @@
- ){
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- return zipfileRegister(db);
-+ return sqlite3ZipfileInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
-+
-+#endif /* SQLITE_HAVE_ZLIB */
diff --git a/dev-db/sqlite/files/sqlite-3.34.1-build_2.1.patch b/dev-db/sqlite/files/sqlite-3.34.1-build_2.1.patch
deleted file mode 100644
index fe5fb7e78057..000000000000
--- a/dev-db/sqlite/files/sqlite-3.34.1-build_2.1.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-Move some code to libsqlite3.so to avoid duplication.
-Link executables against libsqlite3.so.
-Increase timeout for fuzzcheck.
-Update list of optionally available functions.
-Fix building with dlopen() not available.
-
-SQLite revision: 10e20c0b43500cfb9bbc0eaa061c57514f715d87238f4d835880cd846b9ebd1f
-
---- /Makefile.in
-+++ /Makefile.in
-@@ -313,6 +313,9 @@
- # Source code for extensions
- #
- SRC += \
-+ $(TOP)/ext/expert/sqlite3expert.c \
-+ $(TOP)/ext/expert/sqlite3expert.h
-+SRC += \
- $(TOP)/ext/fts1/fts1.c \
- $(TOP)/ext/fts1/fts1.h \
- $(TOP)/ext/fts1/fts1_hash.c \
-@@ -365,8 +368,29 @@
- $(TOP)/ext/rbu/sqlite3rbu.h \
- $(TOP)/ext/rbu/sqlite3rbu.c
- SRC += \
-+ $(TOP)/ext/misc/amatch.c \
-+ $(TOP)/ext/misc/appendvfs.c \
-+ $(TOP)/ext/misc/carray.c \
-+ $(TOP)/ext/misc/completion.c \
-+ $(TOP)/ext/misc/csv.c \
-+ $(TOP)/ext/misc/dbdata.c \
-+ $(TOP)/ext/misc/decimal.c \
-+ $(TOP)/ext/misc/eval.c \
-+ $(TOP)/ext/misc/fileio.c \
-+ $(TOP)/ext/misc/ieee754.c \
- $(TOP)/ext/misc/json1.c \
-- $(TOP)/ext/misc/stmt.c
-+ $(TOP)/ext/misc/nextchar.c \
-+ $(TOP)/ext/misc/percentile.c \
-+ $(TOP)/ext/misc/regexp.c \
-+ $(TOP)/ext/misc/series.c \
-+ $(TOP)/ext/misc/sha1.c \
-+ $(TOP)/ext/misc/shathree.c \
-+ $(TOP)/ext/misc/sqlar.c \
-+ $(TOP)/ext/misc/stmt.c \
-+ $(TOP)/ext/misc/totype.c \
-+ $(TOP)/ext/misc/uint.c \
-+ $(TOP)/ext/misc/uuid.c \
-+ $(TOP)/ext/misc/zipfile.c
-
- # Generated source code files
- #
-@@ -437,35 +461,21 @@
- # Statically linked extensions
- #
- TESTSRC += \
-- $(TOP)/ext/expert/sqlite3expert.c \
- $(TOP)/ext/expert/test_expert.c \
-- $(TOP)/ext/misc/amatch.c \
-- $(TOP)/ext/misc/carray.c \
- $(TOP)/ext/misc/cksumvfs.c \
- $(TOP)/ext/misc/closure.c \
-- $(TOP)/ext/misc/csv.c \
-- $(TOP)/ext/misc/decimal.c \
-- $(TOP)/ext/misc/eval.c \
- $(TOP)/ext/misc/explain.c \
-- $(TOP)/ext/misc/fileio.c \
- $(TOP)/ext/misc/fuzzer.c \
- $(TOP)/ext/fts5/fts5_tcl.c \
- $(TOP)/ext/fts5/fts5_test_mi.c \
- $(TOP)/ext/fts5/fts5_test_tok.c \
-- $(TOP)/ext/misc/ieee754.c \
- $(TOP)/ext/misc/mmapwarm.c \
-- $(TOP)/ext/misc/nextchar.c \
- $(TOP)/ext/misc/normalize.c \
-- $(TOP)/ext/misc/percentile.c \
- $(TOP)/ext/misc/prefixes.c \
-- $(TOP)/ext/misc/regexp.c \
- $(TOP)/ext/misc/remember.c \
-- $(TOP)/ext/misc/series.c \
- $(TOP)/ext/misc/spellfix.c \
-- $(TOP)/ext/misc/totype.c \
- $(TOP)/ext/misc/unionvtab.c \
- $(TOP)/ext/misc/wholenumber.c \
-- $(TOP)/ext/misc/zipfile.c \
- $(TOP)/ext/userauth/userauth.c
-
- # Source code to the library files needed by the test fixture
-@@ -647,25 +657,25 @@
-
- libtclsqlite3.la: tclsqlite.lo libsqlite3.la
- $(LTLINK) -no-undefined -o $@ tclsqlite.lo \
-- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \
-+ libsqlite3.la @TCL_STUB_LIB_SPEC@ \
- -rpath "$(TCLLIBDIR)" \
- -version-info "8:6:8" \
- -avoid-version
-
--sqlite3$(TEXE): shell.c sqlite3.c
-- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
-- shell.c sqlite3.c \
-- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
-+sqlite3$(TEXE): shell.c libsqlite3.la
-+ $(LTLINK) $(READLINE_FLAGS) -o $@ \
-+ shell.c libsqlite3.la \
-+ $(LIBREADLINE)
-
--sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h
-- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS)
-+sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la
-
--dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h
-- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS)
-+dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la
-
--scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo
-+scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la
- $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \
-- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS)
-+ $(TOP)/ext/misc/scrub.c libsqlite3.la
-
- srcck1$(BEXE): $(TOP)/tool/srcck1.c
- $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
-@@ -776,7 +786,7 @@
- # Rule to build the amalgamation
- #
- sqlite3.lo: sqlite3.c
-- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c
-+ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c
-
- # Rules to build the LEMON compiler generator
- #
-@@ -1082,18 +1092,6 @@
- # Source files that go into making shell.c
- SHELL_SRC = \
- $(TOP)/src/shell.c.in \
-- $(TOP)/ext/misc/appendvfs.c \
-- $(TOP)/ext/misc/completion.c \
-- $(TOP)/ext/misc/decimal.c \
-- $(TOP)/ext/misc/fileio.c \
-- $(TOP)/ext/misc/ieee754.c \
-- $(TOP)/ext/misc/series.c \
-- $(TOP)/ext/misc/shathree.c \
-- $(TOP)/ext/misc/sqlar.c \
-- $(TOP)/ext/misc/uint.c \
-- $(TOP)/ext/expert/sqlite3expert.c \
-- $(TOP)/ext/expert/sqlite3expert.h \
-- $(TOP)/ext/misc/zipfile.c \
- $(TOP)/ext/misc/memtrace.c \
- $(TOP)/src/test_windirent.c
-
-@@ -1263,11 +1261,11 @@
-
- # Fuzz testing
- fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
-- ./fuzzcheck$(TEXE) $(FUZZDATA)
-+ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA)
- ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
-
- valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
-- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
-+ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA)
- valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
-
- # The veryquick.test TCL tests.
-@@ -1301,24 +1299,23 @@
- shelltest: $(TESTPROGS)
- ./testfixture$(TEXT) $(TOP)/test/permutations.test shell
-
--sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in
-+sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in
- $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in >sqlite3_analyzer.c
-
--sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
-- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
-+sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la
-+ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL)
-
--sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
-+sqltclsh.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
- $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in >sqltclsh.c
-
--sqltclsh$(TEXE): sqltclsh.c
-- $(LTLINK) sqltclsh.c -o $@ $(LIBTCL) $(TLIBS)
-+sqltclsh$(TEXE): sqltclsh.c libsqlite3.la
-+ $(LTLINK) sqltclsh.c -o $@ libsqlite3.la $(LIBTCL)
-
--sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c
-- $(LTLINK) $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c -o sqlite3_expert $(TLIBS)
-+sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/expert.c libsqlite3.la
-+ $(LTLINK) $(TOP)/ext/expert/expert.c -o sqlite3_expert libsqlite3.la
-
- CHECKER_DEPS =\
- $(TOP)/tool/mkccode.tcl \
-- sqlite3.c \
- $(TOP)/src/tclsqlite.c \
- $(TOP)/ext/repair/sqlite3_checker.tcl \
- $(TOP)/ext/repair/checkindex.c \
-@@ -1329,36 +1326,36 @@
- sqlite3_checker.c: $(CHECKER_DEPS)
- $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@
-
--sqlite3_checker$(TEXE): sqlite3_checker.c
-- $(LTLINK) sqlite3_checker.c -o $@ $(LIBTCL) $(TLIBS)
-+sqlite3_checker$(TEXE): sqlite3_checker.c libsqlite3.la
-+ $(LTLINK) sqlite3_checker.c -o $@ libsqlite3.la $(LIBTCL)
-
--dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo
-+dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la
- $(LTLINK) -DDBDUMP_STANDALONE -o $@ \
-- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS)
-+ $(TOP)/ext/misc/dbdump.c libsqlite3.la
-
--dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c
-- $(LTLINK)-o $@ $(TOP)/tool/dbtotxt.c
-+dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c
-+ $(LTLINK) -o $@ $(TOP)/tool/dbtotxt.c
-
--showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
-+showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la
-
--showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS)
-+showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la
-
--showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS)
-+showjournal$(TEXE): $(TOP)/tool/showjournal.c
-+ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c
-
--showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS)
-+showwal$(TEXE): $(TOP)/tool/showwal.c
-+ $(LTLINK) -o $@ $(TOP)/tool/showwal.c
-
- showshm$(TEXE): $(TOP)/tool/showshm.c
- $(LTLINK) -o $@ $(TOP)/tool/showshm.c
-
--index_usage$(TEXE): $(TOP)/tool/index_usage.c sqlite3.lo
-- $(LTLINK) $(SHELL_OPT) -o $@ $(TOP)/tool/index_usage.c sqlite3.lo $(TLIBS)
-+index_usage$(TEXE): $(TOP)/tool/index_usage.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/index_usage.c libsqlite3.la
-
--changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS)
-+changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la
-
- changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS)
-@@ -1383,11 +1380,11 @@
- kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c
- $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS)
-
--rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
-- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
-+rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la
-+ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la
-
--loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
-- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
-+loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
-+ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@
-
- # This target will fail if the SQLite amalgamation contains any exported
- # symbols that do not begin with "sqlite3_". It is run as part of the
---- /configure.ac
-+++ /configure.ac
-@@ -108,7 +108,7 @@
- #########
- # Figure out whether or not we have these functions
- #
--AC_CHECK_FUNCS([fdatasync gmtime_r isnan localtime_r localtime_s malloc_usable_size strchrnul usleep utime pread pread64 pwrite pwrite64])
-+AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])
-
- #########
- # By default, we use the amalgamation (this may be changed below...)
-@@ -582,6 +582,9 @@
- if test "${enable_load_extension}" = "yes" ; then
- OPT_FEATURE_FLAGS=""
- AC_SEARCH_LIBS(dlopen, dl)
-+ if test "${ac_cv_search_dlopen}" = "no" ; then
-+ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
-+ fi
- else
- OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
- fi
diff --git a/dev-db/sqlite/files/sqlite-3.34.1-build_2.2.patch b/dev-db/sqlite/files/sqlite-3.34.1-build_2.2.patch
deleted file mode 100644
index 7bb99c63c154..000000000000
--- a/dev-db/sqlite/files/sqlite-3.34.1-build_2.2.patch
+++ /dev/null
@@ -1,441 +0,0 @@
-Move some code to libsqlite3.so to avoid duplication.
-Initialize some extensions in libsqlite3.so.
-Update test suite.
-
-SQLite revision: 10e20c0b43500cfb9bbc0eaa061c57514f715d87238f4d835880cd846b9ebd1f
-
---- /ext/repair/sqlite3_checker.c.in
-+++ /ext/repair/sqlite3_checker.c.in
-@@ -2,6 +2,7 @@
- ** Read an SQLite database file and analyze its space utilization. Generate
- ** text on standard output.
- */
-+#define SQLITE_CORE 1
- #define TCLSH_INIT_PROC sqlite3_checker_init_proc
- #define SQLITE_ENABLE_DBPAGE_VTAB 1
- #define SQLITE_ENABLE_JSON1 1
-@@ -14,7 +15,7 @@
- #define SQLITE_OMIT_SHARED_CACHE 1
- #define SQLITE_DEFAULT_MEMSTATUS 0
- #define SQLITE_MAX_EXPR_DEPTH 0
--INCLUDE sqlite3.c
-+#include "sqlite3.h"
- INCLUDE $ROOT/src/tclsqlite.c
- INCLUDE $ROOT/ext/misc/btreeinfo.c
- INCLUDE $ROOT/ext/repair/checkindex.c
---- /src/main.c
-+++ /src/main.c
-@@ -50,12 +50,36 @@
- #ifdef SQLITE_ENABLE_FTS5
- int sqlite3Fts5Init(sqlite3*);
- #endif
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
-+int sqlite3DbdataRegister(sqlite3*);
-+#endif
- #ifdef SQLITE_ENABLE_JSON1
- int sqlite3Json1Init(sqlite3*);
- #endif
- #ifdef SQLITE_ENABLE_STMTVTAB
- int sqlite3StmtVtabInit(sqlite3*);
- #endif
-+int sqlite3AmatchInit(sqlite3*);
-+int sqlite3CarrayInit(sqlite3*);
-+int sqlite3CompletionVtabInit(sqlite3*);
-+int sqlite3CsvInit(sqlite3*);
-+int sqlite3DecimalInit(sqlite3*);
-+int sqlite3EvalInit(sqlite3*);
-+int sqlite3FileioInit(sqlite3*);
-+int sqlite3IeeeInit(sqlite3*);
-+int sqlite3NextcharInit(sqlite3*);
-+int sqlite3PercentileInit(sqlite3*);
-+int sqlite3RegexpInit(sqlite3*);
-+int sqlite3SeriesInit(sqlite3*);
-+int sqlite3ShaInit(sqlite3*);
-+int sqlite3ShathreeInit(sqlite3*);
-+int sqlite3TotypeInit(sqlite3*);
-+int sqlite3UintInit(sqlite3*);
-+int sqlite3UuidInit(sqlite3*);
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB)
-+int sqlite3ZipfileInit(sqlite3*);
-+int sqlite3SqlarInit(sqlite3*);
-+#endif
-
- /*
- ** An array of pointers to extension initializer functions for
-@@ -83,6 +107,9 @@
- #ifdef SQLITE_ENABLE_DBPAGE_VTAB
- sqlite3DbpageRegister,
- #endif
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
-+ sqlite3DbdataRegister,
-+#endif
- #ifdef SQLITE_ENABLE_DBSTAT_VTAB
- sqlite3DbstatRegister,
- #endif
-@@ -96,6 +123,27 @@
- #ifdef SQLITE_ENABLE_BYTECODE_VTAB
- sqlite3VdbeBytecodeVtabInit,
- #endif
-+ sqlite3AmatchInit,
-+ sqlite3CarrayInit,
-+ sqlite3CompletionVtabInit,
-+ sqlite3CsvInit,
-+ sqlite3DecimalInit,
-+ sqlite3EvalInit,
-+ sqlite3FileioInit,
-+ sqlite3IeeeInit,
-+ sqlite3NextcharInit,
-+ sqlite3PercentileInit,
-+ sqlite3RegexpInit,
-+ sqlite3SeriesInit,
-+ sqlite3ShaInit,
-+ sqlite3ShathreeInit,
-+ sqlite3TotypeInit,
-+ sqlite3UintInit,
-+ sqlite3UuidInit,
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB)
-+ sqlite3ZipfileInit,
-+ sqlite3SqlarInit,
-+#endif
- };
-
- #ifndef SQLITE_AMALGAMATION
---- /src/shell.c.in
-+++ /src/shell.c.in
-@@ -69,6 +69,7 @@
- #include <stdio.h>
- #include <assert.h>
- #include "sqlite3.h"
-+#include "ext/expert/sqlite3expert.h"
- typedef sqlite3_int64 i64;
- typedef sqlite3_uint64 u64;
- typedef unsigned char u8;
-@@ -135,6 +136,10 @@
- # define SHELL_USE_LOCAL_GETLINE 1
- #endif
-
-+#ifdef SQLITE_HAVE_ZLIB
-+#include <zlib.h>
-+#endif
-+
-
- #if defined(_WIN32) || defined(WIN32)
- # if SQLITE_OS_WINRT
-@@ -1018,25 +1023,7 @@
- INCLUDE test_windirent.c
- #define dirent DIRENT
- #endif
--INCLUDE ../ext/misc/shathree.c
--INCLUDE ../ext/misc/fileio.c
--INCLUDE ../ext/misc/completion.c
--INCLUDE ../ext/misc/appendvfs.c
- INCLUDE ../ext/misc/memtrace.c
--INCLUDE ../ext/misc/uint.c
--INCLUDE ../ext/misc/decimal.c
--INCLUDE ../ext/misc/ieee754.c
--INCLUDE ../ext/misc/series.c
--#ifdef SQLITE_HAVE_ZLIB
--INCLUDE ../ext/misc/zipfile.c
--INCLUDE ../ext/misc/sqlar.c
--#endif
--INCLUDE ../ext/expert/sqlite3expert.h
--INCLUDE ../ext/expert/sqlite3expert.c
--
--#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
--INCLUDE ../ext/misc/dbdata.c
--#endif
-
- #if defined(SQLITE_ENABLE_SESSION)
- /*
-@@ -4608,20 +4595,6 @@
- #ifndef SQLITE_OMIT_LOAD_EXTENSION
- sqlite3_enable_load_extension(p->db, 1);
- #endif
-- sqlite3_fileio_init(p->db, 0, 0);
-- sqlite3_shathree_init(p->db, 0, 0);
-- sqlite3_completion_init(p->db, 0, 0);
-- sqlite3_uint_init(p->db, 0, 0);
-- sqlite3_decimal_init(p->db, 0, 0);
-- sqlite3_ieee_init(p->db, 0, 0);
-- sqlite3_series_init(p->db, 0, 0);
--#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
-- sqlite3_dbdata_init(p->db, 0, 0);
--#endif
--#ifdef SQLITE_HAVE_ZLIB
-- sqlite3_zipfile_init(p->db, 0, 0);
-- sqlite3_sqlar_init(p->db, 0, 0);
--#endif
- sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0,
- shellAddSchemaName, 0, 0);
- sqlite3_create_function(p->db, "shell_module_schema", 1, SQLITE_UTF8, 0,
-@@ -6644,8 +6617,6 @@
- );
- goto end_ar_command;
- }
-- sqlite3_fileio_init(cmd.db, 0, 0);
-- sqlite3_sqlar_init(cmd.db, 0, 0);
- sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p,
- shellPutsFunc, 0, 0);
-
-@@ -11076,6 +11047,7 @@
- #endif
- }
- data.out = stdout;
-+ extern int sqlite3_appendvfs_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_appendvfs_init(0,0,0);
-
- /* Go ahead and open the database file if it already exists. If the
---- /src/test_config.c
-+++ /src/test_config.c
-@@ -353,6 +353,8 @@
- Tcl_SetVar2(interp, "sqlite_options", "datetime", "1", TCL_GLOBAL_ONLY);
- #endif
-
-+ Tcl_SetVar2(interp, "sqlite_options", "decimal", "1", TCL_GLOBAL_ONLY);
-+
- #ifdef SQLITE_OMIT_DECLTYPE
- Tcl_SetVar2(interp, "sqlite_options", "decltype", "0", TCL_GLOBAL_ONLY);
- #else
-@@ -540,6 +542,8 @@
- Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY);
- #endif
-
-+ Tcl_SetVar2(interp, "sqlite_options", "regexp", "1", TCL_GLOBAL_ONLY);
-+
- #ifdef SQLITE_OMIT_REINDEX
- Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY);
- #else
-@@ -662,6 +666,8 @@
- Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "1", TCL_GLOBAL_ONLY);
- #endif
-
-+ Tcl_SetVar2(interp, "sqlite_options", "uint", "1", TCL_GLOBAL_ONLY);
-+
- #ifdef SQLITE_OMIT_UTF16
- Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY);
- #else
---- /test/e_expr.test
-+++ /test/e_expr.test
-@@ -1079,7 +1079,7 @@
- #
- # There is a regexp function if ICU is enabled though.
- #
--ifcapable !icu {
-+ifcapable !icu&&!regexp {
- do_catchsql_test e_expr-18.1.1 {
- SELECT regexp('abc', 'def')
- } {1 {no such function: regexp}}
---- /test/icu.test
-+++ /test/icu.test
-@@ -41,7 +41,7 @@
- #
- test_expr icu-1.1 {i1='hello'} {i1 REGEXP 'hello'} 1
- test_expr icu-1.2 {i1='hello'} {i1 REGEXP '.ello'} 1
-- test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell'} 0
-+ test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell$'} 0
- test_expr icu-1.4 {i1='hello'} {i1 REGEXP '.ell.*'} 1
- test_expr icu-1.5 {i1=NULL} {i1 REGEXP '.ell.*'} {}
-
---- /test/pragma.test
-+++ /test/pragma.test
-@@ -1370,17 +1370,62 @@
- } ;# ifcapable trigger
-
- ifcapable schema_pragmas {
-- do_test pragma-11.1 {
-- execsql2 {
-- pragma collation_list;
-+ ifcapable decimal {
-+ ifcapable uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name UINT seq 1 name decimal seq 2 name RTRIM seq 3 name NOCASE seq 4 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 UINT 2 decimal 3 RTRIM 4 NOCASE 5 BINARY}
- }
-- } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY}
-- do_test pragma-11.2 {
-- db collate New_Collation blah...
-- execsql {
-- pragma collation_list;
-+ ifcapable !uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name decimal seq 1 name RTRIM seq 2 name NOCASE seq 3 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 decimal 2 RTRIM 3 NOCASE 4 BINARY}
- }
-- } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY}
-+ }
-+ ifcapable !decimal {
-+ ifcapable uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name UINT seq 1 name RTRIM seq 2 name NOCASE seq 3 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 UINT 2 RTRIM 3 NOCASE 4 BINARY}
-+ }
-+ ifcapable !uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY}
-+ }
-+ }
- }
-
- ifcapable schema_pragmas&&tempdb {
---- /test/sessionfuzz.c
-+++ /test/sessionfuzz.c
-@@ -698,49 +698,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <assert.h>
--#ifndef OMIT_ZLIB
--#include "zlib.h"
--#endif
--
--/*
--** Implementation of the "sqlar_uncompress(X,SZ)" SQL function
--**
--** Parameter SZ is interpreted as an integer. If it is less than or
--** equal to zero, then this function returns a copy of X. Or, if
--** SZ is equal to the size of X when interpreted as a blob, also
--** return a copy of X. Otherwise, decompress blob X using zlib
--** utility function uncompress() and return the results (another
--** blob).
--*/
--static void sqlarUncompressFunc(
-- sqlite3_context *context,
-- int argc,
-- sqlite3_value **argv
--){
--#ifdef OMIT_ZLIB
-- sqlite3_result_value(context, argv[0]);
--#else
-- uLong nData;
-- uLongf sz;
--
-- assert( argc==2 );
-- sz = sqlite3_value_int(argv[1]);
--
-- if( sz<=0 || sz==(nData = sqlite3_value_bytes(argv[0])) ){
-- sqlite3_result_value(context, argv[0]);
-- }else{
-- const Bytef *pData= sqlite3_value_blob(argv[0]);
-- Bytef *pOut = sqlite3_malloc(sz);
-- if( Z_OK!=uncompress(pOut, &sz, pData, nData) ){
-- sqlite3_result_error(context, "error in uncompress()", -1);
-- }else{
-- sqlite3_result_blob(context, pOut, sz, SQLITE_TRANSIENT);
-- }
-- sqlite3_free(pOut);
-- }
--#endif
--}
--
-
- /* Run a chunk of SQL. If any errors happen, print an error message
- ** and exit.
---- /tool/mksqlite3c.tcl
-+++ /tool/mksqlite3c.tcl
-@@ -129,6 +129,7 @@
- rtree.h
- sqlite3session.h
- sqlite3.h
-+ sqlite3expert.h
- sqlite3ext.h
- sqlite3rbu.h
- sqliteicu.h
-@@ -416,6 +417,28 @@
- sqlite3session.c
- fts5.c
- stmt.c
-+ amatch.c
-+ appendvfs.c
-+ carray.c
-+ completion.c
-+ csv.c
-+ dbdata.c
-+ decimal.c
-+ eval.c
-+ fileio.c
-+ ieee754.c
-+ nextchar.c
-+ percentile.c
-+ regexp.c
-+ series.c
-+ sha1.c
-+ shathree.c
-+ sqlar.c
-+ sqlite3expert.c
-+ totype.c
-+ uint.c
-+ uuid.c
-+ zipfile.c
- } {
- copy_file tsrc/$file
- }
---- /tool/sqlite3_analyzer.c.in
-+++ /tool/sqlite3_analyzer.c.in
-@@ -14,9 +14,6 @@
- #define SQLITE_DEFAULT_MEMSTATUS 0
- #define SQLITE_MAX_EXPR_DEPTH 0
- #define SQLITE_OMIT_LOAD_EXTENSION 1
--#ifndef USE_EXTERNAL_SQLITE
--INCLUDE sqlite3.c
--#endif
- INCLUDE $ROOT/src/tclsqlite.c
-
- const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){
---- /tool/sqltclsh.c.in
-+++ /tool/sqltclsh.c.in
-@@ -27,21 +27,13 @@
- #define SQLITE_OMIT_SHARED_CACHE 1
- #define SQLITE_DEFAULT_MEMSTATUS 0
- #define SQLITE_MAX_EXPR_DEPTH 0
--INCLUDE sqlite3.c
--INCLUDE $ROOT/ext/misc/appendvfs.c
--#ifdef SQLITE_HAVE_ZLIB
--INCLUDE $ROOT/ext/misc/zipfile.c
--INCLUDE $ROOT/ext/misc/sqlar.c
--#endif
-+#include "sqlite3.h"
- INCLUDE $ROOT/src/tclsqlite.c
-
- const char *sqlite3_tclapp_init_proc(Tcl_Interp *interp){
- (void)interp;
-+ extern int sqlite3_appendvfs_init(sqlite3 *,char **, const sqlite3_api_routines *);
- sqlite3_appendvfs_init(0,0,0);
--#ifdef SQLITE_HAVE_ZLIB
-- sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init);
-- sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init);
--#endif
-
- return
- BEGIN_STRING
diff --git a/dev-db/sqlite/files/sqlite-3.35.0-build_1.1.patch b/dev-db/sqlite/files/sqlite-3.35.0-build_1.1.patch
deleted file mode 100644
index 1506f3da93e7..000000000000
--- a/dev-db/sqlite/files/sqlite-3.35.0-build_1.1.patch
+++ /dev/null
@@ -1,375 +0,0 @@
-Add initialization functions for internal usage in libsqlite3.so.
-
-SQLite revision: acd63062eb06748bfe9e4886639e4f2b54ea6a496a83f10716abbaba4115500b
-
---- /ext/misc/amatch.c
-+++ /ext/misc/amatch.c
-@@ -1480,9 +1480,18 @@
-
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
-
-+int sqlite3AmatchInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+ rc = sqlite3_create_module(db, "approximate_match", &amatchModule, 0);
-+#endif /* SQLITE_OMIT_VIRTUALTABLE */
-+ return rc;
-+}
-+
- /*
- ** Register the amatch virtual table
- */
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -1491,11 +1500,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Not used */
--#ifndef SQLITE_OMIT_VIRTUALTABLE
-- rc = sqlite3_create_module(db, "approximate_match", &amatchModule, 0);
--#endif /* SQLITE_OMIT_VIRTUALTABLE */
-- return rc;
-+ return sqlite3AmatchInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/carray.c
-+++ /ext/misc/carray.c
-@@ -498,16 +498,8 @@
-
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_carray_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3CarrayInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
- #ifndef SQLITE_OMIT_VIRTUALTABLE
- rc = sqlite3_create_module(db, "carray", &carrayModule, 0);
- #ifdef SQLITE_TEST
-@@ -519,3 +511,18 @@
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_carray_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3CarrayInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/completion.c
-+++ /ext/misc/completion.c
-@@ -483,12 +483,13 @@
- return rc;
- }
-
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
- int sqlite3_completion_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-+ sqlite3 *db,
-+ char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
- int rc = SQLITE_OK;
-@@ -499,3 +500,4 @@
- #endif
- return rc;
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/csv.c
-+++ /ext/misc/csv.c
-@@ -928,6 +928,22 @@
- #endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */
-
-
-+int sqlite3CsvInit(sqlite3 *db){
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+ int rc;
-+ rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
-+#ifdef SQLITE_TEST
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
-+ }
-+#endif
-+ return rc;
-+#else
-+ return SQLITE_OK;
-+#endif
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -941,17 +957,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
--#ifndef SQLITE_OMIT_VIRTUALTABLE
-- int rc;
- SQLITE_EXTENSION_INIT2(pApi);
-- rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
--#ifdef SQLITE_TEST
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
-- }
--#endif
-- return rc;
--#else
-- return SQLITE_OK;
--#endif
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3CsvInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/dbdata.c
-+++ /ext/misc/dbdata.c
-@@ -803,7 +803,7 @@
- /*
- ** Invoke this routine to register the "sqlite_dbdata" virtual table module
- */
--static int sqlite3DbdataRegister(sqlite3 *db){
-+int sqlite3DbdataRegister(sqlite3 *db){
- static sqlite3_module dbdata_module = {
- 0, /* iVersion */
- 0, /* xCreate */
-@@ -838,6 +838,7 @@
- return rc;
- }
-
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -849,3 +850,4 @@
- SQLITE_EXTENSION_INIT2(pApi);
- return sqlite3DbdataRegister(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/decimal.c
-+++ /ext/misc/decimal.c
-@@ -590,14 +590,7 @@
- decimal_free(pB);
- }
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_decimal_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3DecimalInit(sqlite3 *db){
- int rc = SQLITE_OK;
- static const struct {
- const char *zFuncName;
-@@ -611,10 +604,6 @@
- { "decimal_mul", 2, decimalMulFunc },
- };
- unsigned int i;
-- (void)pzErrMsg; /* Unused parameter */
--
-- SQLITE_EXTENSION_INIT2(pApi);
--
- for(i=0; i<sizeof(aFunc)/sizeof(aFunc[0]) && rc==SQLITE_OK; i++){
- rc = sqlite3_create_function(db, aFunc[i].zFuncName, aFunc[i].nArg,
- SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
-@@ -632,3 +621,20 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_decimal_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ (void)pzErrMsg; /* Unused parameter */
-+
-+ SQLITE_EXTENSION_INIT2(pApi);
-+
-+ return sqlite3DecimalInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/eval.c
-+++ /ext/misc/eval.c
-@@ -102,6 +102,20 @@
- }
-
-
-+int sqlite3EvalInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "eval", 1,
-+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-+ sqlEvalFunc, 0, 0);
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_function(db, "eval", 2,
-+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-+ sqlEvalFunc, 0, 0);
-+ }
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -110,16 +124,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "eval", 1,
-- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-- sqlEvalFunc, 0, 0);
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "eval", 2,
-- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-- sqlEvalFunc, 0, 0);
-- }
-- return rc;
-+ return sqlite3EvalInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/fileio.c
-+++ /ext/misc/fileio.c
-@@ -340,7 +340,7 @@
- ** This function does the work for the writefile() UDF. Refer to
- ** header comments at the top of this file for details.
- */
--static int writeFile(
-+static int writeFileContents(
- sqlite3_context *pCtx, /* Context to return bytes written in */
- const char *zFile, /* File to write */
- sqlite3_value *pData, /* Data to write */
-@@ -480,10 +480,10 @@
- mtime = sqlite3_value_int64(argv[3]);
- }
-
-- res = writeFile(context, zFile, argv[1], mode, mtime);
-+ res = writeFileContents(context, zFile, argv[1], mode, mtime);
- if( res==1 && errno==ENOENT ){
- if( makeDirectory(zFile)==SQLITE_OK ){
-- res = writeFile(context, zFile, argv[1], mode, mtime);
-+ res = writeFileContents(context, zFile, argv[1], mode, mtime);
- }
- }
-
-@@ -970,18 +970,9 @@
- # define fsdirRegister(x) SQLITE_OK
- #endif
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_fileio_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3FileioInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "readfile", 1,
-+ rc = sqlite3_create_function(db, "readfile", 1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- readfileFunc, 0, 0);
- if( rc==SQLITE_OK ){
-@@ -998,3 +989,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_fileio_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3FileioInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/ieee754.c
-+++ /ext/misc/ieee754.c
-@@ -253,14 +253,7 @@
- }
-
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_ieee_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3IeeeInit(sqlite3 *db){
- static const struct {
- char *zFName;
- int nArg;
-@@ -277,13 +270,26 @@
- };
- unsigned int i;
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- for(i=0; i<sizeof(aFunc)/sizeof(aFunc[0]) && rc==SQLITE_OK; i++){
-- rc = sqlite3_create_function(db, aFunc[i].zFName, aFunc[i].nArg,
-+ rc = sqlite3_create_function(db, aFunc[i].zFName, aFunc[i].nArg,
- SQLITE_UTF8|SQLITE_INNOCUOUS,
- (void*)&aFunc[i].iAux,
- aFunc[i].xFunc, 0, 0);
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_ieee_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3IeeeInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
diff --git a/dev-db/sqlite/files/sqlite-3.35.0-build_1.2.patch b/dev-db/sqlite/files/sqlite-3.35.0-build_1.2.patch
deleted file mode 100644
index 0c3577fd3a1c..000000000000
--- a/dev-db/sqlite/files/sqlite-3.35.0-build_1.2.patch
+++ /dev/null
@@ -1,500 +0,0 @@
-Add initialization functions for internal usage in libsqlite3.so.
-
-SQLite revision: acd63062eb06748bfe9e4886639e4f2b54ea6a496a83f10716abbaba4115500b
-
---- /ext/misc/nextchar.c
-+++ /ext/misc/nextchar.c
-@@ -286,17 +286,8 @@
- sqlite3_free(c.aResult);
- }
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_nextchar_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3NextcharInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "next_char", 3,
- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- nextCharFunc, 0, 0);
-@@ -312,3 +303,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_nextchar_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3NextcharInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/percentile.c
-+++ /ext/misc/percentile.c
-@@ -202,6 +202,15 @@
- }
-
-
-+int sqlite3PercentileInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "percentile", 2,
-+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-+ 0, percentStep, percentFinal);
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -210,11 +219,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "percentile", 2,
-- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-- 0, percentStep, percentFinal);
-- return rc;
-+ return sqlite3PercentileInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/regexp.c
-+++ /ext/misc/regexp.c
-@@ -740,10 +740,18 @@
- }
- }
-
-+int sqlite3RegexpInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
-+ 0, re_sql_func, 0, 0);
-+ return rc;
-+}
-+
- /*
- ** Invoke this routine to register the regexp() function with the
- ** SQLite database connection.
- */
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -752,9 +760,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
-- rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
-- 0, re_sql_func, 0, 0);
-- return rc;
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3RegexpInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/series.c
-+++ /ext/misc/series.c
-@@ -423,6 +423,15 @@
-
- #endif /* SQLITE_OMIT_VIRTUALTABLE */
-
-+int sqlite3SeriesInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+#ifndef SQLITE_OMIT_VIRTUALTABLE
-+ rc = sqlite3_create_module(db, "generate_series", &seriesModule, 0);
-+#endif
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -431,7 +440,6 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- #ifndef SQLITE_OMIT_VIRTUALTABLE
- if( sqlite3_libversion_number()<3008012 ){
-@@ -439,7 +447,7 @@
- "generate_series() requires SQLite 3.8.12 or later");
- return SQLITE_ERROR;
- }
-- rc = sqlite3_create_module(db, "generate_series", &seriesModule, 0);
- #endif
-- return rc;
-+ return sqlite3SeriesInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/sha1.c
-+++ /ext/misc/sha1.c
-@@ -175,7 +175,7 @@
- }
-
- /* Compute a string using sqlite3_vsnprintf() and hash it */
--static void hash_step_vformat(
-+static void sha1_hash_step_vformat(
- SHA1Context *p, /* Add content to this context */
- const char *zFormat,
- ...
-@@ -306,7 +306,7 @@
- nCol = sqlite3_column_count(pStmt);
- z = sqlite3_sql(pStmt);
- n = (int)strlen(z);
-- hash_step_vformat(&cx,"S%d:",n);
-+ sha1_hash_step_vformat(&cx,"S%d:",n);
- hash_step(&cx,(unsigned char*)z,n);
-
- /* Compute a hash over the result of the query */
-@@ -349,14 +349,14 @@
- case SQLITE_TEXT: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_text(pStmt, i);
-- hash_step_vformat(&cx,"T%d:",n2);
-+ sha1_hash_step_vformat(&cx,"T%d:",n2);
- hash_step(&cx, z2, n2);
- break;
- }
- case SQLITE_BLOB: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
-- hash_step_vformat(&cx,"B%d:",n2);
-+ sha1_hash_step_vformat(&cx,"B%d:",n2);
- hash_step(&cx, z2, n2);
- break;
- }
-@@ -370,6 +370,20 @@
- }
-
-
-+int sqlite3ShaInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "sha1", 1,
-+ SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
-+ 0, sha1Func, 0, 0);
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_function(db, "sha1_query", 1,
-+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-+ sha1QueryFunc, 0, 0);
-+ }
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -378,16 +392,8 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "sha1", 1,
-- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
-- 0, sha1Func, 0, 0);
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "sha1_query", 1,
-- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
-- sha1QueryFunc, 0, 0);
-- }
-- return rc;
-+ return sqlite3ShaInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/shathree.c
-+++ /ext/misc/shathree.c
-@@ -530,7 +530,7 @@
- /* Compute a string using sqlite3_vsnprintf() with a maximum length
- ** of 50 bytes and add it to the hash.
- */
--static void hash_step_vformat(
-+static void sha3_hash_step_vformat(
- SHA3Context *p, /* Add content to this context */
- const char *zFormat,
- ...
-@@ -626,7 +626,7 @@
- z = sqlite3_sql(pStmt);
- if( z ){
- n = (int)strlen(z);
-- hash_step_vformat(&cx,"S%d:",n);
-+ sha3_hash_step_vformat(&cx,"S%d:",n);
- SHA3Update(&cx,(unsigned char*)z,n);
- }
-
-@@ -670,14 +670,14 @@
- case SQLITE_TEXT: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_text(pStmt, i);
-- hash_step_vformat(&cx,"T%d:",n2);
-+ sha3_hash_step_vformat(&cx,"T%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
- case SQLITE_BLOB: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
-- hash_step_vformat(&cx,"B%d:",n2);
-+ sha3_hash_step_vformat(&cx,"B%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
-@@ -690,17 +690,8 @@
- }
-
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_shathree_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3ShathreeInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "sha3", 1,
- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
- 0, sha3Func, 0, 0);
-@@ -721,3 +712,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_shathree_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3ShathreeInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/sqlar.c
-+++ /ext/misc/sqlar.c
-@@ -14,6 +14,8 @@
- ** for working with sqlar archives and used by the shell tool's built-in
- ** sqlar support.
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <zlib.h>
-@@ -101,6 +103,20 @@
- }
-
-
-+int sqlite3SqlarInit(sqlite3 *db){
-+ int rc = SQLITE_OK;
-+ rc = sqlite3_create_function(db, "sqlar_compress", 1,
-+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-+ sqlarCompressFunc, 0, 0);
-+ if( rc==SQLITE_OK ){
-+ rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
-+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-+ sqlarUncompressFunc, 0, 0);
-+ }
-+ return rc;
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -109,16 +125,10 @@
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
- ){
-- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- rc = sqlite3_create_function(db, "sqlar_compress", 1,
-- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-- sqlarCompressFunc, 0, 0);
-- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
-- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
-- sqlarUncompressFunc, 0, 0);
-- }
-- return rc;
-+ return sqlite3SqlarInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
-+
-+#endif /* SQLITE_HAVE_ZLIB */
---- /ext/misc/totype.c
-+++ /ext/misc/totype.c
-@@ -491,17 +491,8 @@
- #pragma warning(default: 4748)
- #endif
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_totype_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3TotypeInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "tointeger", 1,
- SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS, 0,
- tointegerFunc, 0, 0);
-@@ -512,3 +503,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_totype_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3TotypeInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/uint.c
-+++ /ext/misc/uint.c
-@@ -78,6 +78,11 @@
- return (nKey1 - i) - (nKey2 - j);
- }
-
-+int sqlite3UintInit(sqlite3 *db){
-+ return sqlite3_create_collation(db, "UINT", SQLITE_UTF8, 0, uintCollFunc);
-+}
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -88,5 +93,6 @@
- ){
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- return sqlite3_create_collation(db, "uint", SQLITE_UTF8, 0, uintCollFunc);
-+ return sqlite3UintInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/uuid.c
-+++ /ext/misc/uuid.c
-@@ -206,21 +206,12 @@
- sqlite3_result_blob(context, pBlob, 16, SQLITE_TRANSIENT);
- }
-
--#ifdef _WIN32
--__declspec(dllexport)
--#endif
--int sqlite3_uuid_init(
-- sqlite3 *db,
-- char **pzErrMsg,
-- const sqlite3_api_routines *pApi
--){
-+int sqlite3UuidInit(sqlite3 *db){
- int rc = SQLITE_OK;
-- SQLITE_EXTENSION_INIT2(pApi);
-- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "uuid", 0, SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- sqlite3UuidFunc, 0, 0);
- if( rc==SQLITE_OK ){
-- rc = sqlite3_create_function(db, "uuid_str", 1,
-+ rc = sqlite3_create_function(db, "uuid_str", 1,
- SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
- 0, sqlite3UuidStrFunc, 0, 0);
- }
-@@ -231,3 +222,18 @@
- }
- return rc;
- }
-+
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
-+#ifdef _WIN32
-+__declspec(dllexport)
-+#endif
-+int sqlite3_uuid_init(
-+ sqlite3 *db,
-+ char **pzErrMsg,
-+ const sqlite3_api_routines *pApi
-+){
-+ SQLITE_EXTENSION_INIT2(pApi);
-+ (void)pzErrMsg; /* Unused parameter */
-+ return sqlite3UuidInit(db);
-+}
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
---- /ext/misc/zipfile.c
-+++ /ext/misc/zipfile.c
-@@ -24,6 +24,8 @@
- ** * No support for zip64 extensions
- ** * Only the "inflate/deflate" (zlib) compression method is supported
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <stdio.h>
-@@ -2139,7 +2141,7 @@
- /*
- ** Register the "zipfile" virtual table.
- */
--static int zipfileRegister(sqlite3 *db){
-+int sqlite3ZipfileInit(sqlite3 *db){
- static sqlite3_module zipfileModule = {
- 1, /* iVersion */
- zipfileConnect, /* xCreate */
-@@ -2173,9 +2175,10 @@
- return rc;
- }
- #else /* SQLITE_OMIT_VIRTUALTABLE */
--# define zipfileRegister(x) SQLITE_OK
-+# define sqlite3ZipfileInit(x) SQLITE_OK
- #endif
-
-+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
- #ifdef _WIN32
- __declspec(dllexport)
- #endif
-@@ -2186,5 +2189,8 @@
- ){
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
-- return zipfileRegister(db);
-+ return sqlite3ZipfileInit(db);
- }
-+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
-+
-+#endif /* SQLITE_HAVE_ZLIB */
diff --git a/dev-db/sqlite/files/sqlite-3.35.0-build_2.1.patch b/dev-db/sqlite/files/sqlite-3.35.0-build_2.1.patch
deleted file mode 100644
index 383a4936bf0f..000000000000
--- a/dev-db/sqlite/files/sqlite-3.35.0-build_2.1.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-Move some code to libsqlite3.so to avoid duplication.
-Link executables against libsqlite3.so.
-Increase timeout for fuzzcheck.
-Update list of optionally available functions.
-Fix building with dlopen() not available.
-
-SQLite revision: acd63062eb06748bfe9e4886639e4f2b54ea6a496a83f10716abbaba4115500b
-
---- /Makefile.in
-+++ /Makefile.in
-@@ -313,6 +313,9 @@
- # Source code for extensions
- #
- SRC += \
-+ $(TOP)/ext/expert/sqlite3expert.c \
-+ $(TOP)/ext/expert/sqlite3expert.h
-+SRC += \
- $(TOP)/ext/fts1/fts1.c \
- $(TOP)/ext/fts1/fts1.h \
- $(TOP)/ext/fts1/fts1_hash.c \
-@@ -365,8 +368,29 @@
- $(TOP)/ext/rbu/sqlite3rbu.h \
- $(TOP)/ext/rbu/sqlite3rbu.c
- SRC += \
-+ $(TOP)/ext/misc/amatch.c \
-+ $(TOP)/ext/misc/appendvfs.c \
-+ $(TOP)/ext/misc/carray.c \
-+ $(TOP)/ext/misc/completion.c \
-+ $(TOP)/ext/misc/csv.c \
-+ $(TOP)/ext/misc/dbdata.c \
-+ $(TOP)/ext/misc/decimal.c \
-+ $(TOP)/ext/misc/eval.c \
-+ $(TOP)/ext/misc/fileio.c \
-+ $(TOP)/ext/misc/ieee754.c \
- $(TOP)/ext/misc/json1.c \
-- $(TOP)/ext/misc/stmt.c
-+ $(TOP)/ext/misc/nextchar.c \
-+ $(TOP)/ext/misc/percentile.c \
-+ $(TOP)/ext/misc/regexp.c \
-+ $(TOP)/ext/misc/series.c \
-+ $(TOP)/ext/misc/sha1.c \
-+ $(TOP)/ext/misc/shathree.c \
-+ $(TOP)/ext/misc/sqlar.c \
-+ $(TOP)/ext/misc/stmt.c \
-+ $(TOP)/ext/misc/totype.c \
-+ $(TOP)/ext/misc/uint.c \
-+ $(TOP)/ext/misc/uuid.c \
-+ $(TOP)/ext/misc/zipfile.c
-
- # Generated source code files
- #
-@@ -437,36 +461,21 @@
- # Statically linked extensions
- #
- TESTSRC += \
-- $(TOP)/ext/expert/sqlite3expert.c \
- $(TOP)/ext/expert/test_expert.c \
-- $(TOP)/ext/misc/amatch.c \
-- $(TOP)/ext/misc/appendvfs.c \
-- $(TOP)/ext/misc/carray.c \
- $(TOP)/ext/misc/cksumvfs.c \
- $(TOP)/ext/misc/closure.c \
-- $(TOP)/ext/misc/csv.c \
-- $(TOP)/ext/misc/decimal.c \
-- $(TOP)/ext/misc/eval.c \
- $(TOP)/ext/misc/explain.c \
-- $(TOP)/ext/misc/fileio.c \
- $(TOP)/ext/misc/fuzzer.c \
- $(TOP)/ext/fts5/fts5_tcl.c \
- $(TOP)/ext/fts5/fts5_test_mi.c \
- $(TOP)/ext/fts5/fts5_test_tok.c \
-- $(TOP)/ext/misc/ieee754.c \
- $(TOP)/ext/misc/mmapwarm.c \
-- $(TOP)/ext/misc/nextchar.c \
- $(TOP)/ext/misc/normalize.c \
-- $(TOP)/ext/misc/percentile.c \
- $(TOP)/ext/misc/prefixes.c \
-- $(TOP)/ext/misc/regexp.c \
- $(TOP)/ext/misc/remember.c \
-- $(TOP)/ext/misc/series.c \
- $(TOP)/ext/misc/spellfix.c \
-- $(TOP)/ext/misc/totype.c \
- $(TOP)/ext/misc/unionvtab.c \
- $(TOP)/ext/misc/wholenumber.c \
-- $(TOP)/ext/misc/zipfile.c \
- $(TOP)/ext/userauth/userauth.c
-
- # Source code to the library files needed by the test fixture
-@@ -648,25 +657,25 @@
-
- libtclsqlite3.la: tclsqlite.lo libsqlite3.la
- $(LTLINK) -no-undefined -o $@ tclsqlite.lo \
-- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \
-+ libsqlite3.la @TCL_STUB_LIB_SPEC@ \
- -rpath "$(TCLLIBDIR)" \
- -version-info "8:6:8" \
- -avoid-version
-
--sqlite3$(TEXE): shell.c sqlite3.c
-- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
-- shell.c sqlite3.c \
-- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
-+sqlite3$(TEXE): shell.c libsqlite3.la
-+ $(LTLINK) $(READLINE_FLAGS) -o $@ \
-+ shell.c libsqlite3.la \
-+ $(LIBREADLINE)
-
--sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h
-- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS)
-+sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la
-
--dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h
-- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS)
-+dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la
-
--scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo
-+scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la
- $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \
-- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS)
-+ $(TOP)/ext/misc/scrub.c libsqlite3.la
-
- srcck1$(BEXE): $(TOP)/tool/srcck1.c
- $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
-@@ -777,7 +786,7 @@
- # Rule to build the amalgamation
- #
- sqlite3.lo: sqlite3.c
-- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c
-+ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c
-
- # Rules to build the LEMON compiler generator
- #
-@@ -1083,18 +1092,6 @@
- # Source files that go into making shell.c
- SHELL_SRC = \
- $(TOP)/src/shell.c.in \
-- $(TOP)/ext/misc/appendvfs.c \
-- $(TOP)/ext/misc/completion.c \
-- $(TOP)/ext/misc/decimal.c \
-- $(TOP)/ext/misc/fileio.c \
-- $(TOP)/ext/misc/ieee754.c \
-- $(TOP)/ext/misc/series.c \
-- $(TOP)/ext/misc/shathree.c \
-- $(TOP)/ext/misc/sqlar.c \
-- $(TOP)/ext/misc/uint.c \
-- $(TOP)/ext/expert/sqlite3expert.c \
-- $(TOP)/ext/expert/sqlite3expert.h \
-- $(TOP)/ext/misc/zipfile.c \
- $(TOP)/ext/misc/memtrace.c \
- $(TOP)/src/test_windirent.c
-
-@@ -1264,11 +1261,11 @@
-
- # Fuzz testing
- fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
-- ./fuzzcheck$(TEXE) $(FUZZDATA)
-+ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA)
- ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
-
- valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
-- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M $(FUZZDATA)
-+ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA)
- valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
-
- # The veryquick.test TCL tests.
-@@ -1302,24 +1299,23 @@
- shelltest: $(TESTPROGS)
- ./testfixture$(TEXT) $(TOP)/test/permutations.test shell
-
--sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in
-+sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in
- $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in >sqlite3_analyzer.c
-
--sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
-- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
-+sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la
-+ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL)
-
--sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
-+sqltclsh.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
- $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in >sqltclsh.c
-
--sqltclsh$(TEXE): sqltclsh.c
-- $(LTLINK) sqltclsh.c -o $@ $(LIBTCL) $(TLIBS)
-+sqltclsh$(TEXE): sqltclsh.c libsqlite3.la
-+ $(LTLINK) sqltclsh.c -o $@ libsqlite3.la $(LIBTCL)
-
--sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c
-- $(LTLINK) $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c -o sqlite3_expert $(TLIBS)
-+sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/expert.c libsqlite3.la
-+ $(LTLINK) $(TOP)/ext/expert/expert.c -o sqlite3_expert libsqlite3.la
-
- CHECKER_DEPS =\
- $(TOP)/tool/mkccode.tcl \
-- sqlite3.c \
- $(TOP)/src/tclsqlite.c \
- $(TOP)/ext/repair/sqlite3_checker.tcl \
- $(TOP)/ext/repair/checkindex.c \
-@@ -1330,36 +1326,36 @@
- sqlite3_checker.c: $(CHECKER_DEPS)
- $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@
-
--sqlite3_checker$(TEXE): sqlite3_checker.c
-- $(LTLINK) sqlite3_checker.c -o $@ $(LIBTCL) $(TLIBS)
-+sqlite3_checker$(TEXE): sqlite3_checker.c libsqlite3.la
-+ $(LTLINK) sqlite3_checker.c -o $@ libsqlite3.la $(LIBTCL)
-
--dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo
-+dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la
- $(LTLINK) -DDBDUMP_STANDALONE -o $@ \
-- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS)
-+ $(TOP)/ext/misc/dbdump.c libsqlite3.la
-
--dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c
-- $(LTLINK)-o $@ $(TOP)/tool/dbtotxt.c
-+dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c
-+ $(LTLINK) -o $@ $(TOP)/tool/dbtotxt.c
-
--showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
-+showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la
-
--showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS)
-+showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la
-
--showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS)
-+showjournal$(TEXE): $(TOP)/tool/showjournal.c
-+ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c
-
--showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS)
-+showwal$(TEXE): $(TOP)/tool/showwal.c
-+ $(LTLINK) -o $@ $(TOP)/tool/showwal.c
-
- showshm$(TEXE): $(TOP)/tool/showshm.c
- $(LTLINK) -o $@ $(TOP)/tool/showshm.c
-
--index_usage$(TEXE): $(TOP)/tool/index_usage.c sqlite3.lo
-- $(LTLINK) $(SHELL_OPT) -o $@ $(TOP)/tool/index_usage.c sqlite3.lo $(TLIBS)
-+index_usage$(TEXE): $(TOP)/tool/index_usage.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/tool/index_usage.c libsqlite3.la
-
--changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo
-- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS)
-+changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la
-+ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la
-
- changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo
- $(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS)
-@@ -1387,11 +1383,11 @@
- kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c
- $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS)
-
--rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
-- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
-+rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la
-+ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la
-
--loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
-- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
-+loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
-+ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@
-
- # This target will fail if the SQLite amalgamation contains any exported
- # symbols that do not begin with "sqlite3_". It is run as part of the
---- /configure.ac
-+++ /configure.ac
-@@ -108,7 +108,7 @@
- #########
- # Figure out whether or not we have these functions
- #
--AC_CHECK_FUNCS([fdatasync gmtime_r isnan localtime_r localtime_s malloc_usable_size strchrnul usleep utime pread pread64 pwrite pwrite64])
-+AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])
-
- #########
- # By default, we use the amalgamation (this may be changed below...)
-@@ -587,6 +587,9 @@
- if test "${enable_load_extension}" = "yes" ; then
- OPT_FEATURE_FLAGS=""
- AC_SEARCH_LIBS(dlopen, dl)
-+ if test "${ac_cv_search_dlopen}" = "no" ; then
-+ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
-+ fi
- else
- OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
- fi
diff --git a/dev-db/sqlite/files/sqlite-3.35.0-build_2.2.patch b/dev-db/sqlite/files/sqlite-3.35.0-build_2.2.patch
deleted file mode 100644
index 99350c794495..000000000000
--- a/dev-db/sqlite/files/sqlite-3.35.0-build_2.2.patch
+++ /dev/null
@@ -1,441 +0,0 @@
-Move some code to libsqlite3.so to avoid duplication.
-Initialize some extensions in libsqlite3.so.
-Update test suite.
-
-SQLite revision: acd63062eb06748bfe9e4886639e4f2b54ea6a496a83f10716abbaba4115500b
-
---- /ext/repair/sqlite3_checker.c.in
-+++ /ext/repair/sqlite3_checker.c.in
-@@ -2,6 +2,7 @@
- ** Read an SQLite database file and analyze its space utilization. Generate
- ** text on standard output.
- */
-+#define SQLITE_CORE 1
- #define TCLSH_INIT_PROC sqlite3_checker_init_proc
- #define SQLITE_ENABLE_DBPAGE_VTAB 1
- #define SQLITE_ENABLE_JSON1 1
-@@ -14,7 +15,7 @@
- #define SQLITE_OMIT_SHARED_CACHE 1
- #define SQLITE_DEFAULT_MEMSTATUS 0
- #define SQLITE_MAX_EXPR_DEPTH 0
--INCLUDE sqlite3.c
-+#include "sqlite3.h"
- INCLUDE $ROOT/src/tclsqlite.c
- INCLUDE $ROOT/ext/misc/btreeinfo.c
- INCLUDE $ROOT/ext/repair/checkindex.c
---- /src/main.c
-+++ /src/main.c
-@@ -50,12 +50,36 @@
- #ifdef SQLITE_ENABLE_FTS5
- int sqlite3Fts5Init(sqlite3*);
- #endif
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
-+int sqlite3DbdataRegister(sqlite3*);
-+#endif
- #ifdef SQLITE_ENABLE_JSON1
- int sqlite3Json1Init(sqlite3*);
- #endif
- #ifdef SQLITE_ENABLE_STMTVTAB
- int sqlite3StmtVtabInit(sqlite3*);
- #endif
-+int sqlite3AmatchInit(sqlite3*);
-+int sqlite3CarrayInit(sqlite3*);
-+int sqlite3CompletionVtabInit(sqlite3*);
-+int sqlite3CsvInit(sqlite3*);
-+int sqlite3DecimalInit(sqlite3*);
-+int sqlite3EvalInit(sqlite3*);
-+int sqlite3FileioInit(sqlite3*);
-+int sqlite3IeeeInit(sqlite3*);
-+int sqlite3NextcharInit(sqlite3*);
-+int sqlite3PercentileInit(sqlite3*);
-+int sqlite3RegexpInit(sqlite3*);
-+int sqlite3SeriesInit(sqlite3*);
-+int sqlite3ShaInit(sqlite3*);
-+int sqlite3ShathreeInit(sqlite3*);
-+int sqlite3TotypeInit(sqlite3*);
-+int sqlite3UintInit(sqlite3*);
-+int sqlite3UuidInit(sqlite3*);
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB)
-+int sqlite3ZipfileInit(sqlite3*);
-+int sqlite3SqlarInit(sqlite3*);
-+#endif
-
- /*
- ** An array of pointers to extension initializer functions for
-@@ -83,6 +107,9 @@
- #ifdef SQLITE_ENABLE_DBPAGE_VTAB
- sqlite3DbpageRegister,
- #endif
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
-+ sqlite3DbdataRegister,
-+#endif
- #ifdef SQLITE_ENABLE_DBSTAT_VTAB
- sqlite3DbstatRegister,
- #endif
-@@ -96,6 +123,27 @@
- #ifdef SQLITE_ENABLE_BYTECODE_VTAB
- sqlite3VdbeBytecodeVtabInit,
- #endif
-+ sqlite3AmatchInit,
-+ sqlite3CarrayInit,
-+ sqlite3CompletionVtabInit,
-+ sqlite3CsvInit,
-+ sqlite3DecimalInit,
-+ sqlite3EvalInit,
-+ sqlite3FileioInit,
-+ sqlite3IeeeInit,
-+ sqlite3NextcharInit,
-+ sqlite3PercentileInit,
-+ sqlite3RegexpInit,
-+ sqlite3SeriesInit,
-+ sqlite3ShaInit,
-+ sqlite3ShathreeInit,
-+ sqlite3TotypeInit,
-+ sqlite3UintInit,
-+ sqlite3UuidInit,
-+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB)
-+ sqlite3ZipfileInit,
-+ sqlite3SqlarInit,
-+#endif
- };
-
- #ifndef SQLITE_AMALGAMATION
---- /src/shell.c.in
-+++ /src/shell.c.in
-@@ -69,6 +69,7 @@
- #include <stdio.h>
- #include <assert.h>
- #include "sqlite3.h"
-+#include "ext/expert/sqlite3expert.h"
- typedef sqlite3_int64 i64;
- typedef sqlite3_uint64 u64;
- typedef unsigned char u8;
-@@ -135,6 +136,10 @@
- # define SHELL_USE_LOCAL_GETLINE 1
- #endif
-
-+#ifdef SQLITE_HAVE_ZLIB
-+#include <zlib.h>
-+#endif
-+
-
- #if defined(_WIN32) || defined(WIN32)
- # if SQLITE_OS_WINRT
-@@ -1018,25 +1023,7 @@
- INCLUDE test_windirent.c
- #define dirent DIRENT
- #endif
--INCLUDE ../ext/misc/shathree.c
--INCLUDE ../ext/misc/fileio.c
--INCLUDE ../ext/misc/completion.c
--INCLUDE ../ext/misc/appendvfs.c
- INCLUDE ../ext/misc/memtrace.c
--INCLUDE ../ext/misc/uint.c
--INCLUDE ../ext/misc/decimal.c
--INCLUDE ../ext/misc/ieee754.c
--INCLUDE ../ext/misc/series.c
--#ifdef SQLITE_HAVE_ZLIB
--INCLUDE ../ext/misc/zipfile.c
--INCLUDE ../ext/misc/sqlar.c
--#endif
--INCLUDE ../ext/expert/sqlite3expert.h
--INCLUDE ../ext/expert/sqlite3expert.c
--
--#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
--INCLUDE ../ext/misc/dbdata.c
--#endif
-
- #if defined(SQLITE_ENABLE_SESSION)
- /*
-@@ -4608,20 +4595,6 @@
- #ifndef SQLITE_OMIT_LOAD_EXTENSION
- sqlite3_enable_load_extension(p->db, 1);
- #endif
-- sqlite3_fileio_init(p->db, 0, 0);
-- sqlite3_shathree_init(p->db, 0, 0);
-- sqlite3_completion_init(p->db, 0, 0);
-- sqlite3_uint_init(p->db, 0, 0);
-- sqlite3_decimal_init(p->db, 0, 0);
-- sqlite3_ieee_init(p->db, 0, 0);
-- sqlite3_series_init(p->db, 0, 0);
--#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
-- sqlite3_dbdata_init(p->db, 0, 0);
--#endif
--#ifdef SQLITE_HAVE_ZLIB
-- sqlite3_zipfile_init(p->db, 0, 0);
-- sqlite3_sqlar_init(p->db, 0, 0);
--#endif
- sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0,
- shellAddSchemaName, 0, 0);
- sqlite3_create_function(p->db, "shell_module_schema", 1, SQLITE_UTF8, 0,
-@@ -6644,8 +6617,6 @@
- );
- goto end_ar_command;
- }
-- sqlite3_fileio_init(cmd.db, 0, 0);
-- sqlite3_sqlar_init(cmd.db, 0, 0);
- sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p,
- shellPutsFunc, 0, 0);
-
-@@ -11108,6 +11079,7 @@
- #endif
- }
- data.out = stdout;
-+ extern int sqlite3_appendvfs_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_appendvfs_init(0,0,0);
-
- /* Go ahead and open the database file if it already exists. If the
---- /src/test_config.c
-+++ /src/test_config.c
-@@ -359,6 +359,8 @@
- Tcl_SetVar2(interp, "sqlite_options", "datetime", "1", TCL_GLOBAL_ONLY);
- #endif
-
-+ Tcl_SetVar2(interp, "sqlite_options", "decimal", "1", TCL_GLOBAL_ONLY);
-+
- #ifdef SQLITE_OMIT_DECLTYPE
- Tcl_SetVar2(interp, "sqlite_options", "decltype", "0", TCL_GLOBAL_ONLY);
- #else
-@@ -546,6 +548,8 @@
- Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY);
- #endif
-
-+ Tcl_SetVar2(interp, "sqlite_options", "regexp", "1", TCL_GLOBAL_ONLY);
-+
- #ifdef SQLITE_OMIT_REINDEX
- Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY);
- #else
-@@ -668,6 +672,8 @@
- Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "1", TCL_GLOBAL_ONLY);
- #endif
-
-+ Tcl_SetVar2(interp, "sqlite_options", "uint", "1", TCL_GLOBAL_ONLY);
-+
- #ifdef SQLITE_OMIT_UTF16
- Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY);
- #else
---- /test/e_expr.test
-+++ /test/e_expr.test
-@@ -1079,7 +1079,7 @@
- #
- # There is a regexp function if ICU is enabled though.
- #
--ifcapable !icu {
-+ifcapable !icu&&!regexp {
- do_catchsql_test e_expr-18.1.1 {
- SELECT regexp('abc', 'def')
- } {1 {no such function: regexp}}
---- /test/icu.test
-+++ /test/icu.test
-@@ -41,7 +41,7 @@
- #
- test_expr icu-1.1 {i1='hello'} {i1 REGEXP 'hello'} 1
- test_expr icu-1.2 {i1='hello'} {i1 REGEXP '.ello'} 1
-- test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell'} 0
-+ test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell$'} 0
- test_expr icu-1.4 {i1='hello'} {i1 REGEXP '.ell.*'} 1
- test_expr icu-1.5 {i1=NULL} {i1 REGEXP '.ell.*'} {}
-
---- /test/pragma.test
-+++ /test/pragma.test
-@@ -1370,17 +1370,62 @@
- } ;# ifcapable trigger
-
- ifcapable schema_pragmas {
-- do_test pragma-11.1 {
-- execsql2 {
-- pragma collation_list;
-+ ifcapable decimal {
-+ ifcapable uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name UINT seq 1 name decimal seq 2 name RTRIM seq 3 name NOCASE seq 4 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 UINT 2 decimal 3 RTRIM 4 NOCASE 5 BINARY}
- }
-- } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY}
-- do_test pragma-11.2 {
-- db collate New_Collation blah...
-- execsql {
-- pragma collation_list;
-+ ifcapable !uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name decimal seq 1 name RTRIM seq 2 name NOCASE seq 3 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 decimal 2 RTRIM 3 NOCASE 4 BINARY}
- }
-- } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY}
-+ }
-+ ifcapable !decimal {
-+ ifcapable uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name UINT seq 1 name RTRIM seq 2 name NOCASE seq 3 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 UINT 2 RTRIM 3 NOCASE 4 BINARY}
-+ }
-+ ifcapable !uint {
-+ do_test pragma-11.1 {
-+ execsql2 {
-+ pragma collation_list;
-+ }
-+ } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY}
-+ do_test pragma-11.2 {
-+ db collate New_Collation blah...
-+ execsql {
-+ pragma collation_list;
-+ }
-+ } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY}
-+ }
-+ }
- }
-
- ifcapable schema_pragmas&&tempdb {
---- /test/sessionfuzz.c
-+++ /test/sessionfuzz.c
-@@ -698,49 +698,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <assert.h>
--#ifndef OMIT_ZLIB
--#include "zlib.h"
--#endif
--
--/*
--** Implementation of the "sqlar_uncompress(X,SZ)" SQL function
--**
--** Parameter SZ is interpreted as an integer. If it is less than or
--** equal to zero, then this function returns a copy of X. Or, if
--** SZ is equal to the size of X when interpreted as a blob, also
--** return a copy of X. Otherwise, decompress blob X using zlib
--** utility function uncompress() and return the results (another
--** blob).
--*/
--static void sqlarUncompressFunc(
-- sqlite3_context *context,
-- int argc,
-- sqlite3_value **argv
--){
--#ifdef OMIT_ZLIB
-- sqlite3_result_value(context, argv[0]);
--#else
-- uLong nData;
-- uLongf sz;
--
-- assert( argc==2 );
-- sz = sqlite3_value_int(argv[1]);
--
-- if( sz<=0 || sz==(nData = sqlite3_value_bytes(argv[0])) ){
-- sqlite3_result_value(context, argv[0]);
-- }else{
-- const Bytef *pData= sqlite3_value_blob(argv[0]);
-- Bytef *pOut = sqlite3_malloc(sz);
-- if( Z_OK!=uncompress(pOut, &sz, pData, nData) ){
-- sqlite3_result_error(context, "error in uncompress()", -1);
-- }else{
-- sqlite3_result_blob(context, pOut, sz, SQLITE_TRANSIENT);
-- }
-- sqlite3_free(pOut);
-- }
--#endif
--}
--
-
- /* Run a chunk of SQL. If any errors happen, print an error message
- ** and exit.
---- /tool/mksqlite3c.tcl
-+++ /tool/mksqlite3c.tcl
-@@ -129,6 +129,7 @@
- rtree.h
- sqlite3session.h
- sqlite3.h
-+ sqlite3expert.h
- sqlite3ext.h
- sqlite3rbu.h
- sqliteicu.h
-@@ -416,6 +417,28 @@
- sqlite3session.c
- fts5.c
- stmt.c
-+ amatch.c
-+ appendvfs.c
-+ carray.c
-+ completion.c
-+ csv.c
-+ dbdata.c
-+ decimal.c
-+ eval.c
-+ fileio.c
-+ ieee754.c
-+ nextchar.c
-+ percentile.c
-+ regexp.c
-+ series.c
-+ sha1.c
-+ shathree.c
-+ sqlar.c
-+ sqlite3expert.c
-+ totype.c
-+ uint.c
-+ uuid.c
-+ zipfile.c
- } {
- copy_file tsrc/$file
- }
---- /tool/sqlite3_analyzer.c.in
-+++ /tool/sqlite3_analyzer.c.in
-@@ -14,9 +14,6 @@
- #define SQLITE_DEFAULT_MEMSTATUS 0
- #define SQLITE_MAX_EXPR_DEPTH 0
- #define SQLITE_OMIT_LOAD_EXTENSION 1
--#ifndef USE_EXTERNAL_SQLITE
--INCLUDE sqlite3.c
--#endif
- INCLUDE $ROOT/src/tclsqlite.c
-
- const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){
---- /tool/sqltclsh.c.in
-+++ /tool/sqltclsh.c.in
-@@ -27,21 +27,13 @@
- #define SQLITE_OMIT_SHARED_CACHE 1
- #define SQLITE_DEFAULT_MEMSTATUS 0
- #define SQLITE_MAX_EXPR_DEPTH 0
--INCLUDE sqlite3.c
--INCLUDE $ROOT/ext/misc/appendvfs.c
--#ifdef SQLITE_HAVE_ZLIB
--INCLUDE $ROOT/ext/misc/zipfile.c
--INCLUDE $ROOT/ext/misc/sqlar.c
--#endif
-+#include "sqlite3.h"
- INCLUDE $ROOT/src/tclsqlite.c
-
- const char *sqlite3_tclapp_init_proc(Tcl_Interp *interp){
- (void)interp;
-+ extern int sqlite3_appendvfs_init(sqlite3 *,char **, const sqlite3_api_routines *);
- sqlite3_appendvfs_init(0,0,0);
--#ifdef SQLITE_HAVE_ZLIB
-- sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init);
-- sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init);
--#endif
-
- return
- BEGIN_STRING
diff --git a/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch b/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
new file mode 100644
index 000000000000..369732f81b38
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
@@ -0,0 +1,125 @@
+https://bugs.gentoo.org/921490
+https://www.sqlite.org/forum/forumpost/d16aeb397d
+
+https://github.com/kovidgoyal/calibre/commit/0a23fabd5b4bff152047ba0cffbc2b67592645d1
+https://github.com/kovidgoyal/calibre/commit/3349979551db05ec0c8754d7ea5a4e57a97f8a0a
+https://github.com/kovidgoyal/calibre/commit/da82b673f09efbe9cdcc1e0900f0a9f04d8de052
+--- a/ext/fts5/fts5_aux.c
++++ b/ext/fts5/fts5_aux.c
+@@ -209,10 +209,18 @@
+ rc = fts5CInstIterNext(&p->iter);
+ }
+ }
+
+ if( iPos==p->iRangeEnd ){
++ if( p->bOpen ){
++ if( p->iter.iStart>=0 && iPos>=p->iter.iStart ){
++ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
++ p->iOff = iEndOff;
++ }
++ fts5HighlightAppend(&rc, p, p->zClose, -1);
++ p->bOpen = 0;
++ }
+ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
+ p->iOff = iEndOff;
+ }
+
+ return rc;
+
+ADDED ext/fts5/test/fts5tokenizer2.test
+Index: ext/fts5/test/fts5tokenizer2.test
+==================================================================
+--- /dev/null
++++ b/ext/fts5/test/fts5tokenizer2.test
+@@ -0,0 +1,89 @@
++# 2023 Nov 03
++#
++# The author disclaims copyright to this source code. In place of
++# a legal notice, here is a blessing:
++#
++# May you do good and not evil.
++# May you find forgiveness for yourself and forgive others.
++# May you share freely, never taking more than you give.
++#
++#***********************************************************************
++#
++# Tests focusing on the built-in fts5 tokenizers.
++#
++
++source [file join [file dirname [info script]] fts5_common.tcl]
++set testprefix fts5tokenizer2
++
++# If SQLITE_ENABLE_FTS5 is defined, omit this file.
++ifcapable !fts5 {
++ finish_test
++ return
++}
++
++sqlite3_fts5_create_tokenizer db tst get_tst_tokenizer
++proc get_tst_tokenizer {args} {
++ return "tst_tokenizer"
++}
++proc tst_tokenizer {flags txt} {
++ set token ""
++ set lTok [list]
++
++ foreach c [split $txt {}] {
++ if {$token==""} {
++ append token $c
++ } else {
++ set t1 [string is upper $token]
++ set t2 [string is upper $c]
++
++ if {$t1!=$t2} {
++ lappend lTok $token
++ set token ""
++ }
++ append token $c
++ }
++ }
++ if {$token!=""} { lappend lTok $token }
++
++ set iOff 0
++ foreach t $lTok {
++ set n [string length $t]
++ sqlite3_fts5_token $t $iOff [expr $iOff+$n]
++ incr iOff $n
++ }
++}
++
++do_execsql_test 1.0 {
++ CREATE VIRTUAL TABLE t1 USING fts5(t, tokenize=tst);
++}
++
++do_execsql_test 1.1 {
++ INSERT INTO t1 VALUES('AAdontBBmess');
++}
++
++do_execsql_test 1.2 {
++ SELECT snippet(t1, 0, '>', '<', '...', 4) FROM t1('BB');
++} {AAdont>BB<mess}
++
++do_execsql_test 1.3 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('BB');
++} {AAdont>BB<mess}
++
++do_execsql_test 1.4 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('AA');
++} {>AA<dontBBmess}
++
++do_execsql_test 1.5 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('dont');
++} {AA>dont<BBmess}
++
++do_execsql_test 1.6 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('mess');
++} {AAdontBB>mess<}
++
++do_execsql_test 1.7 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('BB mess');
++} {AAdont>BBmess<}
++
++
++finish_test
+
+
diff --git a/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch b/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch
new file mode 100644
index 000000000000..b03848a19147
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch
@@ -0,0 +1,187 @@
+https://sqlite.org/forum/forumpost/cb59d962fd
+https://sqlite.org/src/vinfo/d8c6b246
+https://sqlite.org/src/info/67da596d82ec0ed3 (backport)
+
+--- a/ext/fts5/fts5_index.c
++++ b/ext/fts5/fts5_index.c
+@@ -355,10 +355,11 @@
+ int nContentlessDelete; /* Number of contentless delete ops */
+ int nPendingRow; /* Number of INSERT in hash table */
+
+ /* Error state. */
+ int rc; /* Current error code */
++ int flushRc;
+
+ /* State used by the fts5DataXXX() functions. */
+ sqlite3_blob *pReader; /* RO incr-blob open on %_data table */
+ sqlite3_stmt *pWriter; /* "INSERT ... %_data VALUES(?,?)" */
+ sqlite3_stmt *pDeleter; /* "DELETE FROM %_data ... id>=? AND id<=?" */
+@@ -4000,10 +4001,11 @@
+ assert( p->pHash || p->nPendingData==0 );
+ if( p->pHash ){
+ sqlite3Fts5HashClear(p->pHash);
+ p->nPendingData = 0;
+ p->nPendingRow = 0;
++ p->flushRc = SQLITE_OK;
+ }
+ p->nContentlessDelete = 0;
+ }
+
+ /*
+@@ -5582,18 +5584,24 @@
+ /*
+ ** Flush any data stored in the in-memory hash tables to the database.
+ */
+ static void fts5IndexFlush(Fts5Index *p){
+ /* Unless it is empty, flush the hash table to disk */
++ if( p->flushRc ){
++ p->rc = p->flushRc;
++ return;
++ }
+ if( p->nPendingData || p->nContentlessDelete ){
+ assert( p->pHash );
+ fts5FlushOneHash(p);
+ if( p->rc==SQLITE_OK ){
+ sqlite3Fts5HashClear(p->pHash);
+ p->nPendingData = 0;
+ p->nPendingRow = 0;
+ p->nContentlessDelete = 0;
++ }else if( p->nPendingData || p->nContentlessDelete ){
++ p->flushRc = p->rc;
+ }
+ }
+ }
+
+ static Fts5Structure *fts5IndexOptimizeStruct(
+
+--- a/ext/fts5/fts5_main.c
++++ b/ext/fts5/fts5_main.c
+@@ -116,11 +116,11 @@
+ Fts5Table p; /* Public class members from fts5Int.h */
+ Fts5Storage *pStorage; /* Document store */
+ Fts5Global *pGlobal; /* Global (connection wide) data */
+ Fts5Cursor *pSortCsr; /* Sort data from this cursor */
+ int iSavepoint; /* Successful xSavepoint()+1 */
+- int bInSavepoint;
++
+ #ifdef SQLITE_DEBUG
+ struct Fts5TransactionState ts;
+ #endif
+ };
+
+@@ -2613,13 +2613,11 @@
+ sqlite3_vtab *pVtab, /* Virtual table handle */
+ const char *zName /* New name of table */
+ ){
+ int rc;
+ Fts5FullTable *pTab = (Fts5FullTable*)pVtab;
+- pTab->bInSavepoint = 1;
+ rc = sqlite3Fts5StorageRename(pTab->pStorage, zName);
+- pTab->bInSavepoint = 0;
+ return rc;
+ }
+
+ int sqlite3Fts5FlushToDisk(Fts5Table *pTab){
+ fts5TripCursors((Fts5FullTable*)pTab);
+@@ -2632,30 +2630,16 @@
+ ** Flush the contents of the pending-terms table to disk.
+ */
+ static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){
+ Fts5FullTable *pTab = (Fts5FullTable*)pVtab;
+ int rc = SQLITE_OK;
+- char *zSql = 0;
++
+ fts5CheckTransactionState(pTab, FTS5_SAVEPOINT, iSavepoint);
+-
+- if( pTab->bInSavepoint==0 ){
+- zSql = sqlite3_mprintf("INSERT INTO %Q.%Q(%Q) VALUES('flush')",
+- pTab->p.pConfig->zDb, pTab->p.pConfig->zName, pTab->p.pConfig->zName
+- );
+- if( zSql ){
+- pTab->bInSavepoint = 1;
+- rc = sqlite3_exec(pTab->p.pConfig->db, zSql, 0, 0, 0);
+- pTab->bInSavepoint = 0;
+- sqlite3_free(zSql);
+- }else{
+- rc = SQLITE_NOMEM;
+- }
+- if( rc==SQLITE_OK ){
+- pTab->iSavepoint = iSavepoint+1;
+- }
+- }
+-
++ rc = sqlite3Fts5FlushToDisk((Fts5Table*)pVtab);
++ if( rc==SQLITE_OK ){
++ pTab->iSavepoint = iSavepoint+1;
++ }
+ return rc;
+ }
+
+ /*
+ ** The xRelease() method.
+@@ -2912,11 +2896,11 @@
+ /*
+ ** Run an integrity check on the FTS5 data structures. Return a string
+ ** if anything is found amiss. Return a NULL pointer if everything is
+ ** OK.
+ */
+-static int fts5Integrity(
++static int fts5IntegrityMethod(
+ sqlite3_vtab *pVtab, /* the FTS5 virtual table to check */
+ const char *zSchema, /* Name of schema in which this table lives */
+ const char *zTabname, /* Name of the table itself */
+ int isQuick, /* True if this is a quick-check */
+ char **pzErr /* Write error message here */
+@@ -2970,11 +2954,11 @@
+ /* xRename */ fts5RenameMethod,
+ /* xSavepoint */ fts5SavepointMethod,
+ /* xRelease */ fts5ReleaseMethod,
+ /* xRollbackTo */ fts5RollbackToMethod,
+ /* xShadowName */ fts5ShadowName,
+- /* xIntegrity */ fts5Integrity
++ /* xIntegrity */ fts5IntegrityMethod
+ };
+
+ int rc;
+ Fts5Global *pGlobal = 0;
+
+
+--- a/ext/fts5/test/fts5misc.test
++++ b/ext/fts5/test/fts5misc.test
+@@ -89,11 +89,10 @@
+ CREATE VIRTUAL TABLE vt0 USING fts5(c0);
+ BEGIN TRANSACTION;
+ INSERT INTO vt0(c0) VALUES ('xyz');
+ }
+
+-breakpoint
+ do_execsql_test 2.2.2 {
+ ALTER TABLE t0 RENAME TO t1;
+ }
+ do_execsql_test 2.2.3 {
+ INSERT INTO vt0(vt0) VALUES('integrity-check');
+@@ -498,8 +497,23 @@
+ } {assertionfaultproblem}
+ do_execsql_test 17.5 {
+ SELECT c0 FROM t0 WHERE c0 GLOB '*faul*';
+ } {assertionfaultproblem}
+
++#-------------------------------------------------------------------------
++reset_db
++do_execsql_test 18.0 {
++ BEGIN;
++ CREATE VIRTUAL TABLE t1 USING fts5(text);
++ ALTER TABLE t1 RENAME TO t2;
++}
++
++do_execsql_test 18.1 {
++ DROP TABLE t2;
++}
++
++do_execsql_test 18.2 {
++ COMMIT;
++}
+
+ finish_test
+
+
diff --git a/dev-db/sqlite/files/sqlite-3.45.1-lto.patch b/dev-db/sqlite/files/sqlite-3.45.1-lto.patch
new file mode 100644
index 000000000000..3f15d1a29265
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.45.1-lto.patch
@@ -0,0 +1,20 @@
+# Bug: https://bugs.gentoo.org/924300
+# Taken from https://sqlite.org/src/info/803481f25020f3c
+--- a/test/fuzzcheck.c
++++ b/test/fuzzcheck.c
+@@ -159,12 +159,12 @@
+ } g;
+
+ /*
+ ** Include the external vt02.c and randomjson.c modules.
+ */
+-extern int sqlite3_vt02_init(sqlite3*,char***,void*);
+-extern int sqlite3_randomjson_init(sqlite3*,char***,void*);
++extern int sqlite3_vt02_init(sqlite3*,char**,const sqlite3_api_routines*);
++extern int sqlite3_randomjson_init(sqlite3*,char**,const sqlite3_api_routines*);
+
+
+ /*
+ ** Print an error message and quit.
+ */
+
diff --git a/dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch b/dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch
new file mode 100644
index 000000000000..f67917225d3f
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch
@@ -0,0 +1,24 @@
+https://sqlite.org/forum/forumpost/c3f1b5213a
+--- a/config.guess 2024-01-31
++++ b/config.guess 2024-01-31
+@@ -1425,7 +1425,7 @@
+ esac
+ fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
++ if (echo '#ifdef __ppc__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+
+--- a/src/tclsqlite.c 2024-01-31
++++ b/src/tclsqlite.c 2024-01-31
+@@ -65,7 +65,7 @@
+ # define SQLITE_PTRSIZE __SIZEOF_POINTER__
+ # elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
+ defined(_M_ARM) || defined(__arm__) || defined(__x86) || \
+- (defined(__APPLE__) && defined(__POWERPC__)) || \
++ (defined(__APPLE__) && defined(__ppc__)) || \
+ (defined(__TOS_AIX__) && !defined(__64BIT__))
+ # define SQLITE_PTRSIZE 4
+ # else
diff --git a/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch b/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch
new file mode 100644
index 000000000000..153dd82c1e19
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch
@@ -0,0 +1,112 @@
+https://sqlite.org/forum/forumpost/7dfd585ce1
+https://sqlite.org/src/info/d0fbe779bc2460e1
+
+Index: test/func4.test
+==================================================================
+--- a/test/func4.test
++++ b/test/func4.test
+@@ -1,6 +1,6 @@
+-# 2013 March 10
++# 2023-03-10
+ #
+ # The author disclaims copyright to this source code. In place of
+ # a legal notice, here is a blessing:
+ #
+ # May you do good and not evil.
+@@ -7,11 +7,14 @@
+ # May you find forgiveness for yourself and forgive others.
+ # May you share freely, never taking more than you give.
+ #
+ #***********************************************************************
+ # This file implements regression tests for SQLite library. The focus of
+-# this file is testing the tointeger() and toreal() functions.
++# this file is testing the tointeger() and toreal() functions that are
++# part of the "totype.c" extension. This file does not test the core
++# SQLite library. Failures of tests in this file are related to the
++# ext/misc/totype.c extension.
+ #
+ # Several of the toreal() tests are disabled on platforms where floating
+ # point precision is not high enough to represent their constant integer
+ # expression arguments as double precision floating point values.
+ #
+@@ -21,10 +24,24 @@
+ set tcl_precision 0
+ load_static_extension db totype
+
+ set highPrecision(1) [expr \
+ {[db eval {SELECT tointeger(9223372036854775807 + 1);}] eq {{}}}]
++set highPrecision(2) [expr \
++ {[db eval {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}]
++
++# highPrecision(3) is only known to be false on i586 with gcc-13 and -O2.
++# It is true on the exact same platform with -O0. Both results seem
++# reasonable, so we'll just very the expectation accordingly.
++#
++set highPrecision(3) [expr \
++ {[db eval {SELECT toreal(9007199254740992 + 1);}] eq {{}}}]
++
++if {!$highPrecision(1) || !$highPrecision(2) || !$highPrecision(3)} {
++ puts "NOTICE: use_long_double: [use_long_double] \
++ highPrecision: $highPrecision(1) $highPrecision(2) $highPrecision(3)"
++}
+
+ do_execsql_test func4-1.1 {
+ SELECT tointeger(NULL);
+ } {{}}
+ do_execsql_test func4-1.2 {
+@@ -193,12 +210,10 @@
+ do_execsql_test func4-1.55 {
+ SELECT tointeger(18446744073709551616 + 1);
+ } {{}}
+
+ ifcapable floatingpoint {
+- set highPrecision(2) [expr \
+- {[db eval {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}]
+
+ do_execsql_test func4-2.1 {
+ SELECT toreal(NULL);
+ } {{}}
+ do_execsql_test func4-2.2 {
+@@ -339,14 +354,18 @@
+ SELECT toreal(9007199254740992 - 1);
+ } {9007199254740991.0}
+ do_execsql_test func4-2.45 {
+ SELECT toreal(9007199254740992);
+ } {9007199254740992.0}
+- if {$highPrecision(2)} {
++ if {$highPrecision(3)} {
++ do_execsql_test func4-2.46 {
++ SELECT toreal(9007199254740992 + 1);
++ } {{}}
++ } else {
+ do_execsql_test func4-2.46 {
+ SELECT toreal(9007199254740992 + 1);
+- } {{}}
++ } {9007199254740992.0}
+ }
+ do_execsql_test func4-2.47 {
+ SELECT toreal(9007199254740992 + 2);
+ } {9007199254740994.0}
+ do_execsql_test func4-2.48 {
+@@ -624,14 +643,18 @@
+ SELECT tointeger(toreal(9007199254740992 - 1));
+ } {9007199254740991}
+ do_execsql_test func4-5.22 {
+ SELECT tointeger(toreal(9007199254740992));
+ } {9007199254740992}
+- if {$highPrecision(2)} {
++ if {$highPrecision(3)} {
+ do_execsql_test func4-5.23 {
+ SELECT tointeger(toreal(9007199254740992 + 1));
+ } {{}}
++ } else {
++ do_execsql_test func4-5.23 {
++ SELECT tointeger(toreal(9007199254740992 + 1));
++ } {9007199254740992}
+ }
+ do_execsql_test func4-5.24 {
+ SELECT tointeger(toreal(9007199254740992 + 2));
+ } {9007199254740994}
+ if {$highPrecision(1)} {
+
+
diff --git a/dev-db/sqlite/metadata.xml b/dev-db/sqlite/metadata.xml
index 70122246800e..60dcd6c085dd 100644
--- a/dev-db/sqlite/metadata.xml
+++ b/dev-db/sqlite/metadata.xml
@@ -1,19 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
</maintainer>
- <maintainer type="person" proxied="proxy">
- <email>floppym@gentoo.org</email>
- <name>Mike Gilbert</name>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
</maintainer>
<use>
<flag name="secure-delete">Enable overwriting of deleted content with zeros by default (http://sqlite.org/pragma.html#pragma_secure_delete), causing some performance penalty</flag>
- <flag name="tools">Install additional tools</flag>
+ <flag name="tools">Install additional tools, among which are included: sqlite3-analyzer, sqlite3-changeset, sqlite3-db-dump, sqlite3-diff, sqlite3-rbu, sqlite3-expert and others.</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:sqlite:sqlite</remote-id>
+ <remote-id type="github">sqlite/sqlite</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/sqlite/sqlite-3.35.3.ebuild b/dev-db/sqlite/sqlite-3.35.3.ebuild
deleted file mode 100644
index c55b60d754d1..000000000000
--- a/dev-db/sqlite/sqlite-3.35.3.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
-DESCRIPTION="SQL database engine"
-HOMEPAGE="https://sqlite.org/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
-fi
-
-LICENSE="public-domain"
-SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
-RESTRICT="!test? ( test )"
-
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
-else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
-fi
-
-_fossil_fetch() {
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local repo_id="${1}"
- local repo_uri="${2}"
-
- local -x FOSSIL_HOME="${HOME}"
-
- mkdir -p "${T}/fossil/${repo_id}" || die
- pushd "${T}/fossil/${repo_id}" > /dev/null || die
-
- if [[ -n "${EVCS_OFFLINE}" ]]; then
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
- fi
- else
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
- fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
- echo
- else
- cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
- einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
- fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
- echo
- fi
-
- (
- addwrite "${distdir}"
- mkdir -p "${distdir}/fossil-src/${repo_id}" || die
- cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
- )
- fi
-
- popd > /dev/null || die
-}
-
-_fossil_checkout() {
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local repo_id="${1}"
- local branch_or_commit="${2}"
- local target_directory="${3}"
-
- local -x FOSSIL_HOME="${HOME}"
-
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
- fi
-
- if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
- mkdir -p "${T}/fossil/${repo_id}" || die
- cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
- fi
-
- mkdir "${target_directory}" || die
- pushd "${target_directory}" > /dev/null || die
-
- einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
- fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
- echo
-
- popd > /dev/null || die
-}
-
-fossil_fetch() {
- local repo_id="${1}"
- local repo_uri="${2}"
- local target_directory="${3}"
-
- local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
-
- _fossil_fetch "${repo_id}" "${repo_uri}"
- _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
-}
-
-src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
- fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
- if use doc; then
- fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
- fi
- else
- default
- fi
-}
-
-src_prepare() {
- eapply "${FILESDIR}/"${PN}-3.35.0-build_{1.1,1.2,2.1,2.2}.patch
-
- eapply_user
-
- eautoreconf
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
- local options=()
-
- options+=(
- --enable-load-extension
- --enable-threadsafe
- )
-
- # Support detection of misuse of SQLite API.
- # https://sqlite.org/compile.html#enable_api_armor
- append-cppflags -DSQLITE_ENABLE_API_ARMOR
-
- # Support bytecode and tables_used virtual tables.
- # https://sqlite.org/compile.html#enable_bytecode_vtab
- # https://sqlite.org/bytecodevtab.html
- append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
-
- # Support column metadata functions.
- # https://sqlite.org/compile.html#enable_column_metadata
- # https://sqlite.org/c3ref/column_database_name.html
- append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
-
- # Support sqlite_dbpage virtual table.
- # https://sqlite.org/compile.html#enable_dbpage_vtab
- # https://sqlite.org/dbpage.html
- append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
-
- # Support dbstat virtual table.
- # https://sqlite.org/compile.html#enable_dbstat_vtab
- # https://sqlite.org/dbstat.html
- append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
-
- # Support sqlite3_serialize() and sqlite3_deserialize() functions.
- # https://sqlite.org/compile.html#enable_deserialize
- # https://sqlite.org/c3ref/serialize.html
- # https://sqlite.org/c3ref/deserialize.html
- append-cppflags -DSQLITE_ENABLE_DESERIALIZE
-
- # Support comments in output of EXPLAIN.
- # https://sqlite.org/compile.html#enable_explain_comments
- append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
-
- # Support Full-Text Search versions 3, 4 and 5.
- # https://sqlite.org/compile.html#enable_fts3
- # https://sqlite.org/compile.html#enable_fts3_parenthesis
- # https://sqlite.org/compile.html#enable_fts4
- # https://sqlite.org/compile.html#enable_fts5
- # https://sqlite.org/fts3.html
- # https://sqlite.org/fts5.html
- append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
-
- # Support hidden columns.
- append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
-
- # Support JSON1 extension.
- # https://sqlite.org/compile.html#enable_json1
- # https://sqlite.org/json1.html
- append-cppflags -DSQLITE_ENABLE_JSON1
-
- # Support memsys5 memory allocator.
- # https://sqlite.org/compile.html#enable_memsys5
- # https://sqlite.org/malloc.html#memsys5
- append-cppflags -DSQLITE_ENABLE_MEMSYS5
-
- # Support sqlite3_normalized_sql() function.
- # https://sqlite.org/c3ref/expanded_sql.html
- append-cppflags -DSQLITE_ENABLE_NORMALIZE
-
- # Support sqlite_offset() function.
- # https://sqlite.org/compile.html#enable_offset_sql_func
- # https://sqlite.org/lang_corefunc.html#sqlite_offset
- append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
-
- # Support pre-update hook functions.
- # https://sqlite.org/compile.html#enable_preupdate_hook
- # https://sqlite.org/c3ref/preupdate_count.html
- append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
-
- # Support Resumable Bulk Update extension.
- # https://sqlite.org/compile.html#enable_rbu
- # https://sqlite.org/rbu.html
- append-cppflags -DSQLITE_ENABLE_RBU
-
- # Support R*Trees.
- # https://sqlite.org/compile.html#enable_rtree
- # https://sqlite.org/compile.html#enable_geopoly
- # https://sqlite.org/rtree.html
- # https://sqlite.org/geopoly.html
- append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
-
- # Support Session extension.
- # https://sqlite.org/compile.html#enable_session
- # https://sqlite.org/sessionintro.html
- append-cppflags -DSQLITE_ENABLE_SESSION
-
- # Support scan status functions.
- # https://sqlite.org/compile.html#enable_stmt_scanstatus
- # https://sqlite.org/c3ref/stmt_scanstatus.html
- # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
- append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
-
- # Support sqlite_stmt virtual table.
- # https://sqlite.org/compile.html#enable_stmtvtab
- # https://sqlite.org/stmt.html
- append-cppflags -DSQLITE_ENABLE_STMTVTAB
-
- # Support unknown() function.
- # https://sqlite.org/compile.html#enable_unknown_sql_function
- append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-
- # Support unlock notification.
- # https://sqlite.org/compile.html#enable_unlock_notify
- # https://sqlite.org/c3ref/unlock_notify.html
- # https://sqlite.org/unlock_notify.html
- append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
-
- # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
- # https://sqlite.org/compile.html#enable_update_delete_limit
- # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
- # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
- append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
-
- # Support soundex() function.
- # https://sqlite.org/compile.html#soundex
- # https://sqlite.org/lang_corefunc.html#soundex
- append-cppflags -DSQLITE_SOUNDEX
-
- # Support URI filenames.
- # https://sqlite.org/compile.html#use_uri
- # https://sqlite.org/uri.html
- append-cppflags -DSQLITE_USE_URI
-
- # debug USE flag.
- options+=($(use_enable debug))
-
- # icu USE flag.
- if use icu; then
- # Support ICU extension.
- # https://sqlite.org/compile.html#enable_icu
- append-cppflags -DSQLITE_ENABLE_ICU
- sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
- fi
-
- # readline USE flag.
- options+=(
- --disable-editline
- $(use_enable readline)
- )
- if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
- fi
-
- # secure-delete USE flag.
- if use secure-delete; then
- # Enable secure_delete pragma by default.
- # https://sqlite.org/compile.html#secure_delete
- # https://sqlite.org/pragma.html#pragma_secure_delete
- append-cppflags -DSQLITE_SECURE_DELETE
- fi
-
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
-
- # tcl, test, tools USE flags.
- if use tcl || use test || { use tools && multilib_is_native_abi; }; then
- options+=(
- --enable-tcl
- --with-tcl="${ESYSROOT}/usr/$(get_libdir)"
- )
- else
- options+=(--disable-tcl)
- fi
-
- if [[ "${ABI}" == "x86" ]]; then
- if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
- append-cflags -mfpmath=sse
- else
- append-cflags -ffloat-store
- fi
- fi
-
- econf "${options[@]}"
-}
-
-multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
-
- if use tools && multilib_is_native_abi; then
- emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
- fi
-
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
- emake tclsqlite3.c
-
- local build_directory="$(pwd)"
- build_directory="${build_directory##*/}"
-
- mkdir "${WORKDIR}/${PN}-doc-build" || die
- pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
-
- emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
- rmdir doc/matrix{/*,} || die
-
- popd > /dev/null || die
- fi
-}
-
-multilib_src_test() {
- if [[ "${EUID}" -eq 0 ]]; then
- ewarn "Skipping tests due to root permissions"
- return
- fi
-
- local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
-
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
-
- if use tools && multilib_is_native_abi; then
- install_tool() {
- if [[ -f ".libs/${1}" ]]; then
- newbin ".libs/${1}" "${2}"
- else
- newbin "${1}" "${2}"
- fi
- }
-
- install_tool changeset sqlite3-changeset
- install_tool dbdump sqlite3-db-dump
- install_tool dbhash sqlite3-db-hash
- install_tool dbtotxt sqlite3-db-to-txt
- install_tool index_usage sqlite3-index-usage
- install_tool rbu sqlite3-rbu
- install_tool scrub sqlite3-scrub
- install_tool showdb sqlite3-show-db
- install_tool showjournal sqlite3-show-journal
- install_tool showshm sqlite3-show-shm
- install_tool showstat4 sqlite3-show-stat4
- install_tool showwal sqlite3-show-wal
- install_tool sqldiff sqlite3-diff
- install_tool sqlite3_analyzer sqlite3-analyzer
- install_tool sqlite3_checker sqlite3-checker
- install_tool sqlite3_expert sqlite3-expert
- install_tool sqltclsh sqlite3-tclsh
-
- unset -f install_tool
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- doman sqlite3.1
-
- if use doc; then
- if [[ "${PV}" == "9999" ]]; then
- pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
- else
- pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
- fi
-
- find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
- rm search search.d/admin || die
- rmdir search.d || die
- find -name "*~" -delete || die
- fi
-
- (
- docinto html
- dodoc -r *
- )
-
- popd > /dev/null || die
- fi
-}
diff --git a/dev-db/sqlite/sqlite-3.35.4.ebuild b/dev-db/sqlite/sqlite-3.35.4.ebuild
deleted file mode 100644
index c55b60d754d1..000000000000
--- a/dev-db/sqlite/sqlite-3.35.4.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
-DESCRIPTION="SQL database engine"
-HOMEPAGE="https://sqlite.org/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
-fi
-
-LICENSE="public-domain"
-SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
-RESTRICT="!test? ( test )"
-
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
-else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
-fi
-
-_fossil_fetch() {
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local repo_id="${1}"
- local repo_uri="${2}"
-
- local -x FOSSIL_HOME="${HOME}"
-
- mkdir -p "${T}/fossil/${repo_id}" || die
- pushd "${T}/fossil/${repo_id}" > /dev/null || die
-
- if [[ -n "${EVCS_OFFLINE}" ]]; then
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
- fi
- else
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
- fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
- echo
- else
- cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
- einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
- fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
- echo
- fi
-
- (
- addwrite "${distdir}"
- mkdir -p "${distdir}/fossil-src/${repo_id}" || die
- cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
- )
- fi
-
- popd > /dev/null || die
-}
-
-_fossil_checkout() {
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local repo_id="${1}"
- local branch_or_commit="${2}"
- local target_directory="${3}"
-
- local -x FOSSIL_HOME="${HOME}"
-
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
- fi
-
- if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
- mkdir -p "${T}/fossil/${repo_id}" || die
- cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
- fi
-
- mkdir "${target_directory}" || die
- pushd "${target_directory}" > /dev/null || die
-
- einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
- fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
- echo
-
- popd > /dev/null || die
-}
-
-fossil_fetch() {
- local repo_id="${1}"
- local repo_uri="${2}"
- local target_directory="${3}"
-
- local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
-
- _fossil_fetch "${repo_id}" "${repo_uri}"
- _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
-}
-
-src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
- fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
- if use doc; then
- fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
- fi
- else
- default
- fi
-}
-
-src_prepare() {
- eapply "${FILESDIR}/"${PN}-3.35.0-build_{1.1,1.2,2.1,2.2}.patch
-
- eapply_user
-
- eautoreconf
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
- local options=()
-
- options+=(
- --enable-load-extension
- --enable-threadsafe
- )
-
- # Support detection of misuse of SQLite API.
- # https://sqlite.org/compile.html#enable_api_armor
- append-cppflags -DSQLITE_ENABLE_API_ARMOR
-
- # Support bytecode and tables_used virtual tables.
- # https://sqlite.org/compile.html#enable_bytecode_vtab
- # https://sqlite.org/bytecodevtab.html
- append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
-
- # Support column metadata functions.
- # https://sqlite.org/compile.html#enable_column_metadata
- # https://sqlite.org/c3ref/column_database_name.html
- append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
-
- # Support sqlite_dbpage virtual table.
- # https://sqlite.org/compile.html#enable_dbpage_vtab
- # https://sqlite.org/dbpage.html
- append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
-
- # Support dbstat virtual table.
- # https://sqlite.org/compile.html#enable_dbstat_vtab
- # https://sqlite.org/dbstat.html
- append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
-
- # Support sqlite3_serialize() and sqlite3_deserialize() functions.
- # https://sqlite.org/compile.html#enable_deserialize
- # https://sqlite.org/c3ref/serialize.html
- # https://sqlite.org/c3ref/deserialize.html
- append-cppflags -DSQLITE_ENABLE_DESERIALIZE
-
- # Support comments in output of EXPLAIN.
- # https://sqlite.org/compile.html#enable_explain_comments
- append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
-
- # Support Full-Text Search versions 3, 4 and 5.
- # https://sqlite.org/compile.html#enable_fts3
- # https://sqlite.org/compile.html#enable_fts3_parenthesis
- # https://sqlite.org/compile.html#enable_fts4
- # https://sqlite.org/compile.html#enable_fts5
- # https://sqlite.org/fts3.html
- # https://sqlite.org/fts5.html
- append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
-
- # Support hidden columns.
- append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
-
- # Support JSON1 extension.
- # https://sqlite.org/compile.html#enable_json1
- # https://sqlite.org/json1.html
- append-cppflags -DSQLITE_ENABLE_JSON1
-
- # Support memsys5 memory allocator.
- # https://sqlite.org/compile.html#enable_memsys5
- # https://sqlite.org/malloc.html#memsys5
- append-cppflags -DSQLITE_ENABLE_MEMSYS5
-
- # Support sqlite3_normalized_sql() function.
- # https://sqlite.org/c3ref/expanded_sql.html
- append-cppflags -DSQLITE_ENABLE_NORMALIZE
-
- # Support sqlite_offset() function.
- # https://sqlite.org/compile.html#enable_offset_sql_func
- # https://sqlite.org/lang_corefunc.html#sqlite_offset
- append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
-
- # Support pre-update hook functions.
- # https://sqlite.org/compile.html#enable_preupdate_hook
- # https://sqlite.org/c3ref/preupdate_count.html
- append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
-
- # Support Resumable Bulk Update extension.
- # https://sqlite.org/compile.html#enable_rbu
- # https://sqlite.org/rbu.html
- append-cppflags -DSQLITE_ENABLE_RBU
-
- # Support R*Trees.
- # https://sqlite.org/compile.html#enable_rtree
- # https://sqlite.org/compile.html#enable_geopoly
- # https://sqlite.org/rtree.html
- # https://sqlite.org/geopoly.html
- append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
-
- # Support Session extension.
- # https://sqlite.org/compile.html#enable_session
- # https://sqlite.org/sessionintro.html
- append-cppflags -DSQLITE_ENABLE_SESSION
-
- # Support scan status functions.
- # https://sqlite.org/compile.html#enable_stmt_scanstatus
- # https://sqlite.org/c3ref/stmt_scanstatus.html
- # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
- append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
-
- # Support sqlite_stmt virtual table.
- # https://sqlite.org/compile.html#enable_stmtvtab
- # https://sqlite.org/stmt.html
- append-cppflags -DSQLITE_ENABLE_STMTVTAB
-
- # Support unknown() function.
- # https://sqlite.org/compile.html#enable_unknown_sql_function
- append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-
- # Support unlock notification.
- # https://sqlite.org/compile.html#enable_unlock_notify
- # https://sqlite.org/c3ref/unlock_notify.html
- # https://sqlite.org/unlock_notify.html
- append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
-
- # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
- # https://sqlite.org/compile.html#enable_update_delete_limit
- # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
- # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
- append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
-
- # Support soundex() function.
- # https://sqlite.org/compile.html#soundex
- # https://sqlite.org/lang_corefunc.html#soundex
- append-cppflags -DSQLITE_SOUNDEX
-
- # Support URI filenames.
- # https://sqlite.org/compile.html#use_uri
- # https://sqlite.org/uri.html
- append-cppflags -DSQLITE_USE_URI
-
- # debug USE flag.
- options+=($(use_enable debug))
-
- # icu USE flag.
- if use icu; then
- # Support ICU extension.
- # https://sqlite.org/compile.html#enable_icu
- append-cppflags -DSQLITE_ENABLE_ICU
- sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
- fi
-
- # readline USE flag.
- options+=(
- --disable-editline
- $(use_enable readline)
- )
- if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
- fi
-
- # secure-delete USE flag.
- if use secure-delete; then
- # Enable secure_delete pragma by default.
- # https://sqlite.org/compile.html#secure_delete
- # https://sqlite.org/pragma.html#pragma_secure_delete
- append-cppflags -DSQLITE_SECURE_DELETE
- fi
-
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
-
- # tcl, test, tools USE flags.
- if use tcl || use test || { use tools && multilib_is_native_abi; }; then
- options+=(
- --enable-tcl
- --with-tcl="${ESYSROOT}/usr/$(get_libdir)"
- )
- else
- options+=(--disable-tcl)
- fi
-
- if [[ "${ABI}" == "x86" ]]; then
- if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
- append-cflags -mfpmath=sse
- else
- append-cflags -ffloat-store
- fi
- fi
-
- econf "${options[@]}"
-}
-
-multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
-
- if use tools && multilib_is_native_abi; then
- emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
- fi
-
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
- emake tclsqlite3.c
-
- local build_directory="$(pwd)"
- build_directory="${build_directory##*/}"
-
- mkdir "${WORKDIR}/${PN}-doc-build" || die
- pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
-
- emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
- rmdir doc/matrix{/*,} || die
-
- popd > /dev/null || die
- fi
-}
-
-multilib_src_test() {
- if [[ "${EUID}" -eq 0 ]]; then
- ewarn "Skipping tests due to root permissions"
- return
- fi
-
- local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
-
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
-
- if use tools && multilib_is_native_abi; then
- install_tool() {
- if [[ -f ".libs/${1}" ]]; then
- newbin ".libs/${1}" "${2}"
- else
- newbin "${1}" "${2}"
- fi
- }
-
- install_tool changeset sqlite3-changeset
- install_tool dbdump sqlite3-db-dump
- install_tool dbhash sqlite3-db-hash
- install_tool dbtotxt sqlite3-db-to-txt
- install_tool index_usage sqlite3-index-usage
- install_tool rbu sqlite3-rbu
- install_tool scrub sqlite3-scrub
- install_tool showdb sqlite3-show-db
- install_tool showjournal sqlite3-show-journal
- install_tool showshm sqlite3-show-shm
- install_tool showstat4 sqlite3-show-stat4
- install_tool showwal sqlite3-show-wal
- install_tool sqldiff sqlite3-diff
- install_tool sqlite3_analyzer sqlite3-analyzer
- install_tool sqlite3_checker sqlite3-checker
- install_tool sqlite3_expert sqlite3-expert
- install_tool sqltclsh sqlite3-tclsh
-
- unset -f install_tool
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- doman sqlite3.1
-
- if use doc; then
- if [[ "${PV}" == "9999" ]]; then
- pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
- else
- pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
- fi
-
- find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
- rm search search.d/admin || die
- rmdir search.d || die
- find -name "*~" -delete || die
- fi
-
- (
- docinto html
- dodoc -r *
- )
-
- popd > /dev/null || die
- fi
-}
diff --git a/dev-db/sqlite/sqlite-3.35.0.ebuild b/dev-db/sqlite/sqlite-3.44.2-r1.ebuild
index c55b60d754d1..51e851f2fb3f 100644
--- a/dev-db/sqlite/sqlite-3.35.0.ebuild
+++ b/dev-db/sqlite/sqlite-3.44.2-r1.ebuild
@@ -1,55 +1,59 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
DESCRIPTION="SQL database engine"
HOMEPAGE="https://sqlite.org/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}"/${PN}
+ PROPERTIES="live"
else
- SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
+ printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
+ DOC_PV="${SRC_PV}"
+ #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
+
+ SRC_URI="
+ https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip )
+ "
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
RESTRICT="!test? ( test )"
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
+"
+BDEPEND=">=dev-lang/tcl-8.6:0"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" dev-vcs/fossil"
else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
+ BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.44.2-tracker-regression.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -125,7 +129,7 @@ fossil_fetch() {
}
src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
if use doc; then
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
@@ -136,12 +140,9 @@ src_unpack() {
}
src_prepare() {
- eapply "${FILESDIR}/"${PN}-3.35.0-build_{1.1,1.2,2.1,2.2}.patch
-
- eapply_user
+ default
eautoreconf
-
multilib_copy_sources
}
@@ -196,16 +197,11 @@ multilib_src_configure() {
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
+ options+=( --enable-fts5 )
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
- # Support JSON1 extension.
- # https://sqlite.org/compile.html#enable_json1
- # https://sqlite.org/json1.html
- append-cppflags -DSQLITE_ENABLE_JSON1
-
# Support memsys5 memory allocator.
# https://sqlite.org/compile.html#enable_memsys5
# https://sqlite.org/malloc.html#memsys5
@@ -279,10 +275,8 @@ multilib_src_configure() {
# https://sqlite.org/uri.html
append-cppflags -DSQLITE_USE_URI
- # debug USE flag.
- options+=($(use_enable debug))
+ options+=( $(use_enable debug) )
- # icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
@@ -290,16 +284,15 @@ multilib_src_configure() {
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
- # readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
+
if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
fi
- # secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/compile.html#secure_delete
@@ -307,8 +300,7 @@ multilib_src_configure() {
append-cppflags -DSQLITE_SECURE_DELETE
fi
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
+ options+=( $(use_enable static-libs static) )
# tcl, test, tools USE flags.
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
@@ -317,7 +309,7 @@ multilib_src_configure() {
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
)
else
- options+=(--disable-tcl)
+ options+=( --disable-tcl )
fi
if [[ "${ABI}" == "x86" ]]; then
@@ -326,19 +318,26 @@ multilib_src_configure() {
else
append-cflags -ffloat-store
fi
+
+ # Skip known-broken test for now
+ # https://sqlite.org/forum/forumpost/d97caf168f
+ # https://sqlite.org/forum/forumpost/50f136d91d
+ if use test ; then
+ rm test/atof1.test || die
+ fi
fi
econf "${options[@]}"
}
multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+ emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
fi
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
+ if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
emake tclsqlite3.c
local build_directory="$(pwd)"
@@ -362,7 +361,13 @@ multilib_src_test() {
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+ # e_uri.test tries to open files in /.
+ # bug #839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
+
+ emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
multilib_src_install() {
@@ -405,14 +410,14 @@ multilib_src_install_all() {
doman sqlite3.1
if use doc; then
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
else
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
fi
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
+ if [[ ${PV} != 9999 ]]; then
rm search search.d/admin || die
rmdir search.d || die
find -name "*~" -delete || die
diff --git a/dev-db/sqlite/sqlite-3.35.2.ebuild b/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
index c55b60d754d1..8f3314304ad2 100644
--- a/dev-db/sqlite/sqlite-3.35.2.ebuild
+++ b/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
@@ -1,55 +1,60 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
DESCRIPTION="SQL database engine"
HOMEPAGE="https://sqlite.org/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}"/${PN}
+ PROPERTIES="live"
else
- SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
+ printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
+ DOC_PV="${SRC_PV}"
+ #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
+
+ SRC_URI="
+ https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip )
+ "
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
RESTRICT="!test? ( test )"
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
+"
+BDEPEND=">=dev-lang/tcl-8.6:0"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" dev-vcs/fossil"
else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
+ BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.44.2-tracker-regression.patch
+ "${FILESDIR}"/${PN}-3.44.2-fts-regression.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -125,7 +130,7 @@ fossil_fetch() {
}
src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
if use doc; then
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
@@ -136,12 +141,9 @@ src_unpack() {
}
src_prepare() {
- eapply "${FILESDIR}/"${PN}-3.35.0-build_{1.1,1.2,2.1,2.2}.patch
-
- eapply_user
+ default
eautoreconf
-
multilib_copy_sources
}
@@ -196,16 +198,11 @@ multilib_src_configure() {
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
+ options+=( --enable-fts5 )
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
- # Support JSON1 extension.
- # https://sqlite.org/compile.html#enable_json1
- # https://sqlite.org/json1.html
- append-cppflags -DSQLITE_ENABLE_JSON1
-
# Support memsys5 memory allocator.
# https://sqlite.org/compile.html#enable_memsys5
# https://sqlite.org/malloc.html#memsys5
@@ -279,10 +276,8 @@ multilib_src_configure() {
# https://sqlite.org/uri.html
append-cppflags -DSQLITE_USE_URI
- # debug USE flag.
- options+=($(use_enable debug))
+ options+=( $(use_enable debug) )
- # icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
@@ -290,16 +285,15 @@ multilib_src_configure() {
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
- # readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
+
if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
fi
- # secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/compile.html#secure_delete
@@ -307,8 +301,7 @@ multilib_src_configure() {
append-cppflags -DSQLITE_SECURE_DELETE
fi
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
+ options+=( $(use_enable static-libs static) )
# tcl, test, tools USE flags.
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
@@ -317,7 +310,7 @@ multilib_src_configure() {
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
)
else
- options+=(--disable-tcl)
+ options+=( --disable-tcl )
fi
if [[ "${ABI}" == "x86" ]]; then
@@ -326,19 +319,26 @@ multilib_src_configure() {
else
append-cflags -ffloat-store
fi
+
+ # Skip known-broken test for now
+ # https://sqlite.org/forum/forumpost/d97caf168f
+ # https://sqlite.org/forum/forumpost/50f136d91d
+ if use test ; then
+ rm test/atof1.test || die
+ fi
fi
econf "${options[@]}"
}
multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+ emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
fi
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
+ if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
emake tclsqlite3.c
local build_directory="$(pwd)"
@@ -362,7 +362,13 @@ multilib_src_test() {
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+ # e_uri.test tries to open files in /.
+ # bug #839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
+
+ emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
multilib_src_install() {
@@ -405,14 +411,14 @@ multilib_src_install_all() {
doman sqlite3.1
if use doc; then
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
else
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
fi
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
+ if [[ ${PV} != 9999 ]]; then
rm search search.d/admin || die
rmdir search.d || die
find -name "*~" -delete || die
diff --git a/dev-db/sqlite/sqlite-3.45.1-r1.ebuild b/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
new file mode 100644
index 000000000000..0e04537b49cf
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
@@ -0,0 +1,439 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+DESCRIPTION="SQL database engine"
+HOMEPAGE="https://sqlite.org/"
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}"/${PN}
+ PROPERTIES="live"
+else
+ printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
+ DOC_PV="${SRC_PV}"
+ #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
+
+ SRC_URI="
+ https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
+ "
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="public-domain"
+SLOT="3"
+IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
+"
+BDEPEND=">=dev-lang/tcl-8.6:0"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" dev-vcs/fossil"
+else
+ BDEPEND+=" app-arch/unzip"
+fi
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
+ "${FILESDIR}"/${P}-lto.patch
+)
+
+_fossil_fetch() {
+ local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+ local repo_id="${1}"
+ local repo_uri="${2}"
+
+ local -x FOSSIL_HOME="${HOME}"
+
+ mkdir -p "${T}/fossil/${repo_id}" || die
+ pushd "${T}/fossil/${repo_id}" > /dev/null || die
+
+ if [[ -n "${EVCS_OFFLINE}" ]]; then
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
+ fi
+ else
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
+ fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
+ echo
+ else
+ cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
+ einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
+ fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
+ echo
+ fi
+
+ (
+ addwrite "${distdir}"
+ mkdir -p "${distdir}/fossil-src/${repo_id}" || die
+ cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
+ )
+ fi
+
+ popd > /dev/null || die
+}
+
+_fossil_checkout() {
+ local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+ local repo_id="${1}"
+ local branch_or_commit="${2}"
+ local target_directory="${3}"
+
+ local -x FOSSIL_HOME="${HOME}"
+
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
+ fi
+
+ if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
+ mkdir -p "${T}/fossil/${repo_id}" || die
+ cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
+ fi
+
+ mkdir "${target_directory}" || die
+ pushd "${target_directory}" > /dev/null || die
+
+ einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
+ fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
+ echo
+
+ popd > /dev/null || die
+}
+
+fossil_fetch() {
+ local repo_id="${1}"
+ local repo_uri="${2}"
+ local target_directory="${3}"
+
+ local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
+
+ _fossil_fetch "${repo_id}" "${repo_uri}"
+ _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
+ if use doc; then
+ fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
+ fi
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
+ local options=()
+
+ options+=(
+ --enable-load-extension
+ --enable-threadsafe
+ )
+
+ # Support detection of misuse of SQLite API.
+ # https://sqlite.org/compile.html#enable_api_armor
+ append-cppflags -DSQLITE_ENABLE_API_ARMOR
+
+ # Support bytecode and tables_used virtual tables.
+ # https://sqlite.org/compile.html#enable_bytecode_vtab
+ # https://sqlite.org/bytecodevtab.html
+ append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
+
+ # Support column metadata functions.
+ # https://sqlite.org/compile.html#enable_column_metadata
+ # https://sqlite.org/c3ref/column_database_name.html
+ append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
+
+ # Support sqlite_dbpage virtual table.
+ # https://sqlite.org/compile.html#enable_dbpage_vtab
+ # https://sqlite.org/dbpage.html
+ append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
+
+ # Support dbstat virtual table.
+ # https://sqlite.org/compile.html#enable_dbstat_vtab
+ # https://sqlite.org/dbstat.html
+ append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
+
+ # Support sqlite3_serialize() and sqlite3_deserialize() functions.
+ # https://sqlite.org/compile.html#enable_deserialize
+ # https://sqlite.org/c3ref/serialize.html
+ # https://sqlite.org/c3ref/deserialize.html
+ append-cppflags -DSQLITE_ENABLE_DESERIALIZE
+
+ # Support comments in output of EXPLAIN.
+ # https://sqlite.org/compile.html#enable_explain_comments
+ append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
+
+ # Support Full-Text Search versions 3, 4 and 5.
+ # https://sqlite.org/compile.html#enable_fts3
+ # https://sqlite.org/compile.html#enable_fts3_parenthesis
+ # https://sqlite.org/compile.html#enable_fts4
+ # https://sqlite.org/compile.html#enable_fts5
+ # https://sqlite.org/fts3.html
+ # https://sqlite.org/fts5.html
+ append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
+ options+=( --enable-fts5 )
+
+ # Support hidden columns.
+ append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
+
+ # Support memsys5 memory allocator.
+ # https://sqlite.org/compile.html#enable_memsys5
+ # https://sqlite.org/malloc.html#memsys5
+ append-cppflags -DSQLITE_ENABLE_MEMSYS5
+
+ # Support sqlite3_normalized_sql() function.
+ # https://sqlite.org/c3ref/expanded_sql.html
+ append-cppflags -DSQLITE_ENABLE_NORMALIZE
+
+ # Support sqlite_offset() function.
+ # https://sqlite.org/compile.html#enable_offset_sql_func
+ # https://sqlite.org/lang_corefunc.html#sqlite_offset
+ append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
+
+ # Support pre-update hook functions.
+ # https://sqlite.org/compile.html#enable_preupdate_hook
+ # https://sqlite.org/c3ref/preupdate_count.html
+ append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
+
+ # Support Resumable Bulk Update extension.
+ # https://sqlite.org/compile.html#enable_rbu
+ # https://sqlite.org/rbu.html
+ append-cppflags -DSQLITE_ENABLE_RBU
+
+ # Support R*Trees.
+ # https://sqlite.org/compile.html#enable_rtree
+ # https://sqlite.org/compile.html#enable_geopoly
+ # https://sqlite.org/rtree.html
+ # https://sqlite.org/geopoly.html
+ append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
+
+ # Support Session extension.
+ # https://sqlite.org/compile.html#enable_session
+ # https://sqlite.org/sessionintro.html
+ append-cppflags -DSQLITE_ENABLE_SESSION
+
+ # Support scan status functions.
+ # https://sqlite.org/compile.html#enable_stmt_scanstatus
+ # https://sqlite.org/c3ref/stmt_scanstatus.html
+ # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
+ append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
+
+ # Support sqlite_stmt virtual table.
+ # https://sqlite.org/compile.html#enable_stmtvtab
+ # https://sqlite.org/stmt.html
+ append-cppflags -DSQLITE_ENABLE_STMTVTAB
+
+ # Support unknown() function.
+ # https://sqlite.org/compile.html#enable_unknown_sql_function
+ append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
+
+ # Support unlock notification.
+ # https://sqlite.org/compile.html#enable_unlock_notify
+ # https://sqlite.org/c3ref/unlock_notify.html
+ # https://sqlite.org/unlock_notify.html
+ append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
+
+ # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
+ # https://sqlite.org/compile.html#enable_update_delete_limit
+ # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
+ # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
+ append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
+
+ # Support soundex() function.
+ # https://sqlite.org/compile.html#soundex
+ # https://sqlite.org/lang_corefunc.html#soundex
+ append-cppflags -DSQLITE_SOUNDEX
+
+ # Support URI filenames.
+ # https://sqlite.org/compile.html#use_uri
+ # https://sqlite.org/uri.html
+ append-cppflags -DSQLITE_USE_URI
+
+ options+=( $(use_enable debug) )
+
+ if use icu; then
+ # Support ICU extension.
+ # https://sqlite.org/compile.html#enable_icu
+ append-cppflags -DSQLITE_ENABLE_ICU
+ sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
+ fi
+
+ options+=(
+ --disable-editline
+ $(use_enable readline)
+ )
+
+ if use readline; then
+ options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
+ fi
+
+ if use secure-delete; then
+ # Enable secure_delete pragma by default.
+ # https://sqlite.org/compile.html#secure_delete
+ # https://sqlite.org/pragma.html#pragma_secure_delete
+ append-cppflags -DSQLITE_SECURE_DELETE
+ fi
+
+ options+=( $(use_enable static-libs static) )
+
+ # tcl, test, tools USE flags.
+ if use tcl || use test || { use tools && multilib_is_native_abi; }; then
+ options+=(
+ --enable-tcl
+ --with-tcl="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ else
+ options+=( --disable-tcl )
+ fi
+
+ if [[ "${ABI}" == "x86" ]]; then
+ if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
+ append-cflags -mfpmath=sse
+ else
+ append-cflags -ffloat-store
+ fi
+
+ # Skip known-broken test for now
+ # https://sqlite.org/forum/forumpost/d97caf168f
+ # https://sqlite.org/forum/forumpost/50f136d91d
+ # Quoting Fedora's spec:
+ # "The atof test is failing on the i686 architecture, when binary configured with
+ # --enable-rtree option. Failing part is text->real conversion and
+ # text->real->text conversion in lower significant values after decimal point in a number.
+ # func4 tests fail for i686 on float<->int conversions."
+ if use test ; then
+ rm test/atof1.test test/func4.test || die
+ fi
+ fi
+
+ econf "${options[@]}"
+}
+
+multilib_src_compile() {
+ emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+
+ if use tools && multilib_is_native_abi; then
+ emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
+ fi
+
+ if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
+ emake tclsqlite3.c
+
+ local build_directory="$(pwd)"
+ build_directory="${build_directory##*/}"
+
+ mkdir "${WORKDIR}/${PN}-doc-build" || die
+ pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
+
+ emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
+ rmdir doc/matrix{/*,} || die
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_test() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ ewarn "Skipping tests due to root permissions"
+ return
+ fi
+
+ local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
+
+ # e_uri.test tries to open files in /.
+ # bug #839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
+
+ emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
+
+ if use tools && multilib_is_native_abi; then
+ install_tool() {
+ if [[ -f ".libs/${1}" ]]; then
+ newbin ".libs/${1}" "${2}"
+ else
+ newbin "${1}" "${2}"
+ fi
+ }
+
+ install_tool changeset sqlite3-changeset
+ install_tool dbdump sqlite3-db-dump
+ install_tool dbhash sqlite3-db-hash
+ install_tool dbtotxt sqlite3-db-to-txt
+ install_tool index_usage sqlite3-index-usage
+ install_tool rbu sqlite3-rbu
+ install_tool scrub sqlite3-scrub
+ install_tool showdb sqlite3-show-db
+ install_tool showjournal sqlite3-show-journal
+ install_tool showshm sqlite3-show-shm
+ install_tool showstat4 sqlite3-show-stat4
+ install_tool showwal sqlite3-show-wal
+ install_tool sqldiff sqlite3-diff
+ install_tool sqlite3_analyzer sqlite3-analyzer
+ install_tool sqlite3_checker sqlite3-checker
+ install_tool sqlite3_expert sqlite3-expert
+ install_tool sqltclsh sqlite3-tclsh
+
+ unset -f install_tool
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ doman sqlite3.1
+
+ if use doc; then
+ if [[ ${PV} == 9999 ]]; then
+ pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
+ else
+ pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
+ fi
+
+ find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
+ if [[ ${PV} != 9999 ]]; then
+ rm search search.d/admin || die
+ rmdir search.d || die
+ find -name "*~" -delete || die
+ fi
+
+ (
+ docinto html
+ dodoc -r *
+ )
+
+ popd > /dev/null || die
+ fi
+}
diff --git a/dev-db/sqlite/sqlite-3.34.1.ebuild b/dev-db/sqlite/sqlite-3.45.2.ebuild
index 6c812d3550d0..46c442c73331 100644
--- a/dev-db/sqlite/sqlite-3.34.1.ebuild
+++ b/dev-db/sqlite/sqlite-3.45.2.ebuild
@@ -1,55 +1,60 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
DESCRIPTION="SQL database engine"
HOMEPAGE="https://sqlite.org/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}"/${PN}
+ PROPERTIES="live"
else
- SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
+ printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
+ DOC_PV="${SRC_PV}"
+ #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
+
+ SRC_URI="
+ https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
+ "
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
RESTRICT="!test? ( test )"
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
+"
+BDEPEND=">=dev-lang/tcl-8.6:0"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" dev-vcs/fossil"
else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
+ BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
+ "${FILESDIR}"/${PN}-3.45.2-tests-x86.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -125,7 +130,7 @@ fossil_fetch() {
}
src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
if use doc; then
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
@@ -136,12 +141,9 @@ src_unpack() {
}
src_prepare() {
- eapply "${FILESDIR}/"${PN}-3.34.1-build_{1.1,1.2,2.1,2.2}.patch
-
- eapply_user
+ default
eautoreconf
-
multilib_copy_sources
}
@@ -196,16 +198,11 @@ multilib_src_configure() {
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
+ options+=( --enable-fts5 )
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
- # Support JSON1 extension.
- # https://sqlite.org/compile.html#enable_json1
- # https://sqlite.org/json1.html
- append-cppflags -DSQLITE_ENABLE_JSON1
-
# Support memsys5 memory allocator.
# https://sqlite.org/compile.html#enable_memsys5
# https://sqlite.org/malloc.html#memsys5
@@ -279,10 +276,8 @@ multilib_src_configure() {
# https://sqlite.org/uri.html
append-cppflags -DSQLITE_USE_URI
- # debug USE flag.
- options+=($(use_enable debug))
+ options+=( $(use_enable debug) )
- # icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
@@ -290,16 +285,15 @@ multilib_src_configure() {
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
- # readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
+
if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
fi
- # secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/compile.html#secure_delete
@@ -307,8 +301,7 @@ multilib_src_configure() {
append-cppflags -DSQLITE_SECURE_DELETE
fi
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
+ options+=( $(use_enable static-libs static) )
# tcl, test, tools USE flags.
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
@@ -317,7 +310,7 @@ multilib_src_configure() {
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
)
else
- options+=(--disable-tcl)
+ options+=( --disable-tcl )
fi
if [[ "${ABI}" == "x86" ]]; then
@@ -332,13 +325,13 @@ multilib_src_configure() {
}
multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+ emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
fi
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
+ if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
emake tclsqlite3.c
local build_directory="$(pwd)"
@@ -362,7 +355,13 @@ multilib_src_test() {
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+ # e_uri.test tries to open files in /.
+ # bug #839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
+
+ emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
multilib_src_install() {
@@ -405,14 +404,14 @@ multilib_src_install_all() {
doman sqlite3.1
if use doc; then
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
else
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
fi
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
+ if [[ ${PV} != 9999 ]]; then
rm search search.d/admin || die
rmdir search.d || die
find -name "*~" -delete || die
diff --git a/dev-db/sqlite/sqlite-3.35.5.ebuild b/dev-db/sqlite/sqlite-3.45.3.ebuild
index a9876482cab1..46c442c73331 100644
--- a/dev-db/sqlite/sqlite-3.35.5.ebuild
+++ b/dev-db/sqlite/sqlite-3.45.3.ebuild
@@ -1,55 +1,60 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
DESCRIPTION="SQL database engine"
HOMEPAGE="https://sqlite.org/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}"/${PN}
+ PROPERTIES="live"
else
- SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
+ printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
+ DOC_PV="${SRC_PV}"
+ #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
+
+ SRC_URI="
+ https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
+ "
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
RESTRICT="!test? ( test )"
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
+"
+BDEPEND=">=dev-lang/tcl-8.6:0"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" dev-vcs/fossil"
else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
+ BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
+ "${FILESDIR}"/${PN}-3.45.2-tests-x86.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -125,7 +130,7 @@ fossil_fetch() {
}
src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
if use doc; then
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
@@ -136,12 +141,9 @@ src_unpack() {
}
src_prepare() {
- eapply "${FILESDIR}/"${PN}-3.35.0-build_{1.1,1.2,2.1,2.2}.patch
-
- eapply_user
+ default
eautoreconf
-
multilib_copy_sources
}
@@ -196,16 +198,11 @@ multilib_src_configure() {
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
+ options+=( --enable-fts5 )
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
- # Support JSON1 extension.
- # https://sqlite.org/compile.html#enable_json1
- # https://sqlite.org/json1.html
- append-cppflags -DSQLITE_ENABLE_JSON1
-
# Support memsys5 memory allocator.
# https://sqlite.org/compile.html#enable_memsys5
# https://sqlite.org/malloc.html#memsys5
@@ -279,10 +276,8 @@ multilib_src_configure() {
# https://sqlite.org/uri.html
append-cppflags -DSQLITE_USE_URI
- # debug USE flag.
- options+=($(use_enable debug))
+ options+=( $(use_enable debug) )
- # icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
@@ -290,16 +285,15 @@ multilib_src_configure() {
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
- # readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
+
if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
fi
- # secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/compile.html#secure_delete
@@ -307,8 +301,7 @@ multilib_src_configure() {
append-cppflags -DSQLITE_SECURE_DELETE
fi
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
+ options+=( $(use_enable static-libs static) )
# tcl, test, tools USE flags.
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
@@ -317,7 +310,7 @@ multilib_src_configure() {
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
)
else
- options+=(--disable-tcl)
+ options+=( --disable-tcl )
fi
if [[ "${ABI}" == "x86" ]]; then
@@ -332,13 +325,13 @@ multilib_src_configure() {
}
multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+ emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
fi
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
+ if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
emake tclsqlite3.c
local build_directory="$(pwd)"
@@ -362,7 +355,13 @@ multilib_src_test() {
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+ # e_uri.test tries to open files in /.
+ # bug #839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
+
+ emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
multilib_src_install() {
@@ -405,14 +404,14 @@ multilib_src_install_all() {
doman sqlite3.1
if use doc; then
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
else
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
fi
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
+ if [[ ${PV} != 9999 ]]; then
rm search search.d/admin || die
rmdir search.d || die
find -name "*~" -delete || die
diff --git a/dev-db/sqlite/sqlite-3.35.1.ebuild b/dev-db/sqlite/sqlite-9999.ebuild
index c55b60d754d1..7570a655878b 100644
--- a/dev-db/sqlite/sqlite-3.35.1.ebuild
+++ b/dev-db/sqlite/sqlite-9999.ebuild
@@ -1,53 +1,53 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
DESCRIPTION="SQL database engine"
HOMEPAGE="https://sqlite.org/"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}"/${PN}
+ PROPERTIES="live"
else
- SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
+ printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
+ DOC_PV="${SRC_PV}"
+ #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
+
+ SRC_URI="
+ https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
+ "
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
RESTRICT="!test? ( test )"
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
+"
+BDEPEND=">=dev-lang/tcl-8.6:0"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" dev-vcs/fossil"
else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
+ BDEPEND+=" app-arch/unzip"
fi
_fossil_fetch() {
@@ -125,7 +125,7 @@ fossil_fetch() {
}
src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
if use doc; then
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
@@ -136,12 +136,9 @@ src_unpack() {
}
src_prepare() {
- eapply "${FILESDIR}/"${PN}-3.35.0-build_{1.1,1.2,2.1,2.2}.patch
-
- eapply_user
+ default
eautoreconf
-
multilib_copy_sources
}
@@ -196,16 +193,11 @@ multilib_src_configure() {
# https://sqlite.org/fts3.html
# https://sqlite.org/fts5.html
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
+ options+=( --enable-fts5 )
# Support hidden columns.
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
- # Support JSON1 extension.
- # https://sqlite.org/compile.html#enable_json1
- # https://sqlite.org/json1.html
- append-cppflags -DSQLITE_ENABLE_JSON1
-
# Support memsys5 memory allocator.
# https://sqlite.org/compile.html#enable_memsys5
# https://sqlite.org/malloc.html#memsys5
@@ -279,10 +271,8 @@ multilib_src_configure() {
# https://sqlite.org/uri.html
append-cppflags -DSQLITE_USE_URI
- # debug USE flag.
- options+=($(use_enable debug))
+ options+=( $(use_enable debug) )
- # icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
@@ -290,16 +280,15 @@ multilib_src_configure() {
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
- # readline USE flag.
options+=(
--disable-editline
$(use_enable readline)
)
+
if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
fi
- # secure-delete USE flag.
if use secure-delete; then
# Enable secure_delete pragma by default.
# https://sqlite.org/compile.html#secure_delete
@@ -307,8 +296,7 @@ multilib_src_configure() {
append-cppflags -DSQLITE_SECURE_DELETE
fi
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
+ options+=( $(use_enable static-libs static) )
# tcl, test, tools USE flags.
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
@@ -317,7 +305,7 @@ multilib_src_configure() {
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
)
else
- options+=(--disable-tcl)
+ options+=( --disable-tcl )
fi
if [[ "${ABI}" == "x86" ]]; then
@@ -332,13 +320,13 @@ multilib_src_configure() {
}
multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+ emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
if use tools && multilib_is_native_abi; then
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
fi
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
+ if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
emake tclsqlite3.c
local build_directory="$(pwd)"
@@ -362,7 +350,13 @@ multilib_src_test() {
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+ # e_uri.test tries to open files in /.
+ # bug #839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
+
+ emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
multilib_src_install() {
@@ -405,14 +399,14 @@ multilib_src_install_all() {
doman sqlite3.1
if use doc; then
- if [[ "${PV}" == "9999" ]]; then
+ if [[ ${PV} == 9999 ]]; then
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
else
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
fi
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
+ if [[ ${PV} != 9999 ]]; then
rm search search.d/admin || die
rmdir search.d || die
find -name "*~" -delete || die
diff --git a/dev-db/sqlitebrowser/Manifest b/dev-db/sqlitebrowser/Manifest
index fd76afe3c0cc..85c8a211b702 100644
--- a/dev-db/sqlitebrowser/Manifest
+++ b/dev-db/sqlitebrowser/Manifest
@@ -1,2 +1 @@
-DIST sqlitebrowser-3.12.1.tar.gz 3990525 BLAKE2B 9cccd48c83e1953091508f5760b3004c4690791cacc5784286e6ce5220a6e55e761d736d8fbbb135e419beba12def89f63a3d37d6c7e0281f50392f07bf25357 SHA512 f0a62958008693606d9ab04b0413fa10705c7b45fb970c218d8f1adfe8ca01895a6470f369ded6cb7a9338c27385838b8d57c89b5855b4050ce9bec0d69626d1
DIST sqlitebrowser-3.12.2.tar.gz 3990817 BLAKE2B a0c1495814a814638428fa50e55d5afeb2d3f5c80c9aafbdea3cc444e8c681c48acd1f24126945a89d7284c3f0a23979f2b3541fae7c7a70803f7e7ad69be6f4 SHA512 a6afc0a4286f07adb7038f3a010c93e14204b477bde27b1599c9bfe3390422d3edfaa2a9381b1f13e63a7aaf90e931ee85358eb8b2c15b6ea55818d29c59395f
diff --git a/dev-db/sqlitebrowser/metadata.xml b/dev-db/sqlitebrowser/metadata.xml
index ed00998feb6b..1347829179ac 100644
--- a/dev-db/sqlitebrowser/metadata.xml
+++ b/dev-db/sqlitebrowser/metadata.xml
@@ -26,6 +26,12 @@
d'un tableur, et, de ce fait, ne pas être contraint à apprendre des
commandes SQL complexes.
</longdescription>
+ <use>
+ <flag name="sqlcipher">Allow to open and to edit databases encrypted using <pkg>dev-db/sqlcipher</pkg></flag>
+ </use>
+ <use lang="fr">
+ <flag name="sqlcipher">Permettre d'ouvrir et d'éditer des bases de données chiffrées en utilisant <pkg>dev-db/sqlcipher</pkg></flag>
+ </use>
<upstream>
<bugs-to>https://github.com/sqlitebrowser/sqlitebrowser/issues/</bugs-to>
<remote-id type="github">sqlitebrowser/sqlitebrowser</remote-id>
diff --git a/dev-db/sqlitebrowser/sqlitebrowser-3.12.1.ebuild b/dev-db/sqlitebrowser/sqlitebrowser-3.12.1.ebuild
deleted file mode 100644
index d094723adf0a..000000000000
--- a/dev-db/sqlitebrowser/sqlitebrowser-3.12.1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake xdg
-
-DESCRIPTION="A light GUI editor for SQLite databases"
-HOMEPAGE="https://sqlitebrowser.org/"
-
-if [[ "${PV}" = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-3+ MPL-2.0"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-editors/qhexedit2
- dev-db/sqlite:3
- dev-libs/qcustomplot
- >=dev-qt/qtconcurrent-5.5:5
- >=dev-qt/qtcore-5.5:5
- >=dev-qt/qtgui-5.5:5
- >=dev-qt/qtnetwork-5.5:5[ssl]
- >=dev-qt/qtprintsupport-5.5:5
- >=dev-qt/qtwidgets-5.5:5
- >=dev-qt/qtxml-5.5:5
- >=x11-libs/qscintilla-2.8.10:=
-"
-
-BDEPEND="
- >=dev-qt/linguist-tools-5.5:5
- test? ( >=dev-qt/qttest-5.5:5 )
-"
-
-RDEPEND="
- ${DEPEND}
- >=dev-qt/qtsvg-5.5:5
-"
-
-src_prepare() {
- cmake_src_prepare
-
- if ! use test; then
- sed -i CMakeLists.txt \
- -e "/find_package/ s/ Test//" \
- -e "/set/ s/ Qt5::Test//" \
- || die "Cannot remove Qt Test from CMake dependencies"
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_TESTING=$(usex test)
- -DFORCE_INTERNAL_QCUSTOMPLOT=OFF
- -DFORCE_INTERNAL_QHEXEDIT=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-db/sqlitebrowser/sqlitebrowser-3.12.2.ebuild b/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild
index 6f50a5bd986f..47ce7cb6cacc 100644
--- a/dev-db/sqlitebrowser/sqlitebrowser-3.12.2.ebuild
+++ b/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake xdg
+inherit cmake flag-o-matic xdg
DESCRIPTION="A light GUI editor for SQLite databases"
HOMEPAGE="https://sqlitebrowser.org/"
@@ -18,7 +18,7 @@ fi
LICENSE="GPL-3+ MPL-2.0"
SLOT="0"
-IUSE="test"
+IUSE="sqlcipher test"
RESTRICT="!test? ( test )"
DEPEND="
@@ -32,7 +32,8 @@ DEPEND="
>=dev-qt/qtprintsupport-5.5:5
>=dev-qt/qtwidgets-5.5:5
>=dev-qt/qtxml-5.5:5
- >=x11-libs/qscintilla-2.8.10:=
+ >=x11-libs/qscintilla-2.8.10:=[qt5(+)]
+ sqlcipher? ( dev-db/sqlcipher )
"
BDEPEND="
@@ -61,7 +62,12 @@ src_configure() {
-DENABLE_TESTING=$(usex test)
-DFORCE_INTERNAL_QCUSTOMPLOT=OFF
-DFORCE_INTERNAL_QHEXEDIT=OFF
+ -Dsqlcipher=$(usex sqlcipher)
)
+ # https://bugs.gentoo.org/855254
+ append-flags -fno-strict-aliasing
+ filter-lto
+
cmake_src_configure
}
diff --git a/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild b/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild
index d094723adf0a..47ce7cb6cacc 100644
--- a/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild
+++ b/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake xdg
+inherit cmake flag-o-matic xdg
DESCRIPTION="A light GUI editor for SQLite databases"
HOMEPAGE="https://sqlitebrowser.org/"
@@ -13,12 +13,12 @@ if [[ "${PV}" = *9999* ]]; then
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
LICENSE="GPL-3+ MPL-2.0"
SLOT="0"
-IUSE="test"
+IUSE="sqlcipher test"
RESTRICT="!test? ( test )"
DEPEND="
@@ -32,7 +32,8 @@ DEPEND="
>=dev-qt/qtprintsupport-5.5:5
>=dev-qt/qtwidgets-5.5:5
>=dev-qt/qtxml-5.5:5
- >=x11-libs/qscintilla-2.8.10:=
+ >=x11-libs/qscintilla-2.8.10:=[qt5(+)]
+ sqlcipher? ( dev-db/sqlcipher )
"
BDEPEND="
@@ -61,7 +62,12 @@ src_configure() {
-DENABLE_TESTING=$(usex test)
-DFORCE_INTERNAL_QCUSTOMPLOT=OFF
-DFORCE_INTERNAL_QHEXEDIT=OFF
+ -Dsqlcipher=$(usex sqlcipher)
)
+ # https://bugs.gentoo.org/855254
+ append-flags -fno-strict-aliasing
+ filter-lto
+
cmake_src_configure
}
diff --git a/dev-db/sqliteman/files/sqliteman-1.2.2-cmake.patch b/dev-db/sqliteman/files/sqliteman-1.2.2-cmake.patch
new file mode 100644
index 000000000000..99c3b080ea0d
--- /dev/null
+++ b/dev-db/sqliteman/files/sqliteman-1.2.2-cmake.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -154,6 +154,6 @@
+ )
+ INSTALL(FILES
+ sqliteman/icons/sqliteman.png
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor"
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pixmaps"
+ )
+ ENDIF (WIN32)
diff --git a/dev-db/sqliteman/files/sqliteman-1.2.2-desktop.patch b/dev-db/sqliteman/files/sqliteman-1.2.2-desktop.patch
new file mode 100644
index 000000000000..f6d765e40a45
--- /dev/null
+++ b/dev-db/sqliteman/files/sqliteman-1.2.2-desktop.patch
@@ -0,0 +1,11 @@
+--- a/sqliteman.desktop
++++ b/sqliteman.desktop
+@@ -8,7 +8,7 @@
+ Terminal=false
+ StartupNotify=true
+ MimeType=application/x-sqlite3;
+-
++Categories=Development;Database;
+ # Translations
+ GenericName[cs]=Sqlite administrace
+
diff --git a/dev-db/sqliteman/sqliteman-1.2.2-r4.ebuild b/dev-db/sqliteman/sqliteman-1.2.2-r6.ebuild
index 979ce3516bed..f36aabb52938 100644
--- a/dev-db/sqliteman/sqliteman-1.2.2-r4.ebuild
+++ b/dev-db/sqliteman/sqliteman-1.2.2-r6.ebuild
@@ -1,10 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-QT_VER=5.7.1
-inherit cmake-utils flag-o-matic xdg-utils
+inherit cmake flag-o-matic xdg
DESCRIPTION="Powerful GUI manager for the Sqlite3 database"
HOMEPAGE="https://sourceforge.net/projects/sqliteman/"
@@ -16,30 +15,24 @@ KEYWORDS="amd64 ~arm x86"
IUSE=""
RDEPEND="
- >=dev-qt/qtcore-${QT_VER}:5
- >=dev-qt/qtgui-${QT_VER}:5
- >=dev-qt/qtsql-${QT_VER}:5[sqlite]
- >=dev-qt/qtwidgets-${QT_VER}:5
- >=x11-libs/qscintilla-2.9.4:=[qt5(+)]"
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsql:5[sqlite]
+ dev-qt/qtwidgets:5
+ >=x11-libs/qscintilla-2.10.3:=[qt5(+)]"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${P}-lpthread.patch"
"${FILESDIR}/${P}-qt5.patch"
+ "${FILESDIR}/${P}-cmake.patch"
+ "${FILESDIR}/${P}-desktop.patch"
)
src_prepare() {
# remove bundled lib
- rm -rf "${S}"/${PN}/qscintilla2 || die
+ rm -rf ${PN}/qscintilla2 || die
append-flags -fPIC
- cmake-utils_src_prepare
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
+ cmake_src_prepare
}
diff --git a/dev-db/sqlitestudio/Manifest b/dev-db/sqlitestudio/Manifest
index 3f2d35cbdf64..29660131f58b 100644
--- a/dev-db/sqlitestudio/Manifest
+++ b/dev-db/sqlitestudio/Manifest
@@ -1 +1 @@
-DIST sqlitestudio-3.2.1.tar.gz 9405867 BLAKE2B 53cd8465a6140cf17c602094cceef2fdf74f513f33257b22e1a3d7adcb9c78d8eb2cdaff047920836a9d98429ba0025924ce608f2eab97319feabf063de4c9ee SHA512 9c07f0dc50bf35ad04d0cb06cfc1a306d3f0aa9446e7d737c8187c63cb7dd2c44fb4b960693f2c30a15ece3aac0878701874a9ce3cebfe0c6bf48df10814a574
+DIST sqlitestudio-3.4.4.tar.gz 16187828 BLAKE2B 34a19880c0ce82a0457c8b34fe713d1792101563dd37849f02538a3f62310e0720939a3930c2c1d2fe43a8379c66012e75cf9e45e961a382c3ea5fbd857e42d3 SHA512 ddbb926afcca0afe8e4199be64254d0a9a47bef66f260c51cc7e5c5d38c8a00bfbe2012e8ec933bf69e85481c0c214136146cd3bff0975f6178f9fe7884e8190
diff --git a/dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-PyThreadState.patch b/dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-PyThreadState.patch
new file mode 100644
index 000000000000..5f69298bb6d3
--- /dev/null
+++ b/dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-PyThreadState.patch
@@ -0,0 +1,54 @@
+From 364981e072039de1322a72c936e3747c462e57d4 Mon Sep 17 00:00:00 2001
+From: Matthew White <mehw.is.me@inventati.org>
+Date: Fri, 5 May 2023 11:46:27 +0000
+Subject: [PATCH] Plugins: fix compiling with Python 3.11
+
+Python 3.11 removed PyThreadState()->frame, but since Python 3.9
+PyThreadState_GetFrame() can be used to get the frame.
+
+To get the frame's f_locals and f_globals use PyFrame_GetLocals()
+and PyFrame_GetGlobals() when compiling with Python 3.11.
+
+Merged here is also 'Fixed compilation for Python < 3.11':
+https://github.com/pawelsalawa/sqlitestudio/commit/30ad718415ffe78a5ac0ff9cf12cff2bd01e9810
+
+References:
+https://docs.python.org/3/c-api/frame.html
+---
+ Plugins/ScriptingPython/scriptingpython.cpp | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/Plugins/ScriptingPython/scriptingpython.cpp b/Plugins/ScriptingPython/scriptingpython.cpp
+index 1dedb5c106..663c55b7d7 100644
+--- a/Plugins/ScriptingPython/scriptingpython.cpp
++++ b/Plugins/ScriptingPython/scriptingpython.cpp
+@@ -582,15 +582,25 @@ SqlQueryPtr ScriptingPython::dbCommonEval(PyObject* sqlArg, const char* fnName)
+ QVariant ScriptingPython::getVariable(const QString& name)
+ {
+ PyThreadState* state = PyThreadState_Get();
+- if (!state->frame)
++#if PY_VERSION_HEX < 0x03090000
++ PyFrameObject* frame = state->frame;
++#else
++ PyFrameObject* frame = PyThreadState_GetFrame(state);
++#endif
++ if (!frame)
+ return QVariant();
+
+ const char* varName = name.toUtf8().constData();
+ PyObject* obj = nullptr;
+
+- PyFrame_FastToLocals(state->frame);
+- PyObject* locals = state->frame->f_locals;
+- PyObject* globals = state->frame->f_globals;
++ PyFrame_FastToLocals(frame);
++#if PY_VERSION_HEX < 0x030b0000
++ PyObject* locals = frame->f_locals;
++ PyObject* globals = frame->f_globals;
++#else
++ PyObject* locals = PyFrame_GetLocals(frame);
++ PyObject* globals = PyFrame_GetGlobals(frame);
++#endif
+ if (PyMapping_Check(locals))
+ obj = PyMapping_GetItemString(locals, varName);
+ else if (PyDict_Check(globals))
diff --git a/dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-python.patch b/dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-python.patch
new file mode 100644
index 000000000000..856bb6e30c69
--- /dev/null
+++ b/dev-db/sqlitestudio/files/sqlitestudio-3.4.3-fix-python.patch
@@ -0,0 +1,13 @@
+diff --git a/Plugins/ScriptingPython/ScriptingPython.pro.orig b/Plugins/ScriptingPython/ScriptingPython.pro
+index 02fb5d3..d928aaf 100644
+--- a/Plugins/ScriptingPython/ScriptingPython.pro.orig
++++ b/Plugins/ScriptingPython/ScriptingPython.pro
+@@ -18,7 +18,7 @@ OTHER_FILES += \
+ scriptingpython.json
+
+ linux: {
+- LIBS += -lpython3.9
++ # LIBS += -lpython3.9
+ }
+
+ macx: {
diff --git a/dev-db/sqlitestudio/metadata.xml b/dev-db/sqlitestudio/metadata.xml
index 8d910856df4f..b42fb8ee3067 100644
--- a/dev-db/sqlitestudio/metadata.xml
+++ b/dev-db/sqlitestudio/metadata.xml
@@ -5,4 +5,7 @@
<use>
<flag name="cli">Build CLI interface</flag>
</use>
+ <upstream>
+ <remote-id type="github">pawelsalawa/sqlitestudio</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild b/dev-db/sqlitestudio/sqlitestudio-3.4.4-r1.ebuild
index 6477a98ac404..27fdbf0612c4 100644
--- a/dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild
+++ b/dev-db/sqlitestudio/sqlitestudio-3.4.4-r1.ebuild
@@ -1,33 +1,46 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PLOCALES="de es fr it pl pt_BR ro_RO ru sk zh_CN"
-inherit desktop plocale qmake-utils xdg
+PLOCALES="af_ZA ar_SA ca_ES cs_CZ da_DK de_DE el_GR en_US es_ES fa_IR fi_FI fr_FR he_IL hu_HU it_IT ja_JP kaa ko_KR nl_NL no_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK sr_SP sv_SE tr_TR uk_UA vi_VN zh_CN zh_TW"
+
+# ScriptingPython says exactly 3.9
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit desktop plocale python-single-r1 qmake-utils xdg
DESCRIPTION="Powerful cross-platform SQLite database manager"
HOMEPAGE="https://sqlitestudio.pl"
-SRC_URI="https://sqlitestudio.pl/files/sqlitestudio3/complete/tar/${P}.tar.gz"
+SRC_URI="https://github.com/pawelsalawa/sqlitestudio/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
LICENSE="GPL-3"
SLOT="0"
-IUSE="cli cups tcl test"
+KEYWORDS="~amd64 ~x86"
+IUSE="cli cups python tcl test"
+
+REQUIRED_USE="
+ test? ( cli )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
-REQUIRED_USE="test? ( cli )"
RESTRICT="!test? ( test )"
RDEPEND="
+ dev-libs/openssl:=
dev-db/sqlite:3
dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
- dev-qt/qtscript:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
- cli? ( sys-libs/readline:0= )
+ cli? (
+ sys-libs/readline:=
+ sys-libs/ncurses:=
+ )
+ python? ( ${PYTHON_DEPS} )
cups? ( dev-qt/qtprintsupport:5 )
tcl? ( dev-lang/tcl:0= )
"
@@ -38,17 +51,23 @@ DEPEND="${RDEPEND}
"
BDEPEND="
dev-qt/linguist-tools:5
+ virtual/pkgconfig
"
-S="${WORKDIR}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.4.3-fix-python.patch
+ "${FILESDIR}"/${PN}-3.4.3-fix-PyThreadState.patch
+)
+
core_build_dir="${S}/output/build"
plugins_build_dir="${core_build_dir}/Plugins"
-src_prepare() {
- xdg_src_prepare
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
- sed -i -e 's/linux|portable/portable/' \
- SQLiteStudio3/sqlitestudio/sqlitestudio.pro || die
+src_prepare() {
+ default
disable_modules() {
[[ $# -lt 2 ]] && die "not enough arguments"
@@ -66,6 +85,7 @@ src_prepare() {
local mod_lst=( DbSqlite2 )
use cups || mod_lst+=( Printing )
use tcl || mod_lst+=( ScriptingTcl )
+ use python || mod_lst+=( ScriptingPython )
disable_modules Plugins/Plugins.pro ${mod_lst[@]}
local mylrelease="$(qt5_get_bindir)"/lrelease
@@ -78,7 +98,7 @@ src_prepare() {
rm "${ts_dir}"/*.qm || die
done
- prepare_locale() {
+ lrelease_locale() {
for ts_dir in ${ts_dir_lst[@]}; do
local ts=$(find "${ts_dir}" -type f -name "*${1}.ts" || continue)
"${mylrelease}" "${ts}" || die "preparing ${1} locale failed"
@@ -99,24 +119,36 @@ src_prepare() {
local ts_dir_main="SQLiteStudio3/sqlitestudio/translations"
plocale_find_changes ${ts_dir_main} "sqlitestudio_" '.ts'
- plocale_for_each_locale prepare_locale
+ plocale_for_each_locale lrelease_locale
plocale_for_each_disabled_locale rm_locale
- # prevent "multilib-strict check failed" with USE test
- sed -i -e 's/\(target.*usr\/\)lib/\1'$(get_libdir)'/' \
+ # prevent "multilib-strict check failed" with USE test by
+ # replacing target paths with dynamic lib dir
+ #
+ sed -i -e 's/\(target\.path = .*\/\)lib/\1'$(get_libdir)'/' \
SQLiteStudio3/Tests/TestUtils/TestUtils.pro || die
}
src_configure() {
# NOTE: QMAKE_CFLAGS_ISYSTEM option prevents
# build error with tcl use enabled (stdlib.h is missing)
+ # "QMAKE_CFLAGS_ISYSTEM=\"\""
+ # CONFIG+ borrowed from compile.sh of tarball
local myqmakeargs=(
"BINDIR=${EPREFIX}/usr/bin"
"LIBDIR=${EPREFIX}/usr/$(get_libdir)"
- "QMAKE_CFLAGS_ISYSTEM=\"\""
+ "CONFIG+=portable"
$(usex test 'DEFINES+=tests' '')
)
+ # Combination of kvirc ebuild and qtcompress
+ if use python; then
+ myqmakeargs+=(
+ INCLUDEPATH+=" $(python_get_includedir)"
+ LIBS+=" $(python_get_LIBS)"
+ )
+ fi
+
## Core
mkdir -p "${core_build_dir}" && cd "${core_build_dir}" || die
eqmake5 "${myqmakeargs[@]}" "${S}/SQLiteStudio3"
@@ -135,6 +167,12 @@ src_install() {
emake -C "${core_build_dir}" INSTALL_ROOT="${D}" install
emake -C "${plugins_build_dir}" INSTALL_ROOT="${D}" install
+ if use test; then
+ # remove test artifacts that must not be installed
+ rm -r "${ED}"/lib64 || die
+ rm -r "${ED}"/usr/share/qt5/tests || die
+ fi
+
doicon -s scalable "SQLiteStudio3/guiSQLiteStudio/img/${PN}.svg"
local make_desktop_entry_args=(
diff --git a/dev-db/sqlmap/Manifest b/dev-db/sqlmap/Manifest
new file mode 100644
index 000000000000..29bf47c4cb30
--- /dev/null
+++ b/dev-db/sqlmap/Manifest
@@ -0,0 +1,3 @@
+DIST sqlmap-1.7.9.gh.tar.gz 7214293 BLAKE2B 45ec0a5e0bf2d2f53a9232ca80f592a2a62b195e3dcd6913fdd343afcc097345cd160d7c39571a7abfe25f3772bbfdb1b4e915e6c0b3f599f86ad2eb201f1ab0 SHA512 0a2aa310b9e1d51cb296be87df5d7c87bdf9daa3a61151ff3a2bca9d58bd2c369c7fa8dfad134d23a00cc034a8c8cd9ff2a326e8883ecad43457604762b42242
+DIST sqlmap-1.8.2.gh.tar.gz 7216681 BLAKE2B 9e74c1c2a916f5aefebb8a249e3d7201fdc234f84585f37f82b052117c30c47e06d91b789f9c1de3053e52ee9297941bbd8a3ecc2ebdc2298bebcd5aaba6b30a SHA512 ec49243b9d34bc100ca197022e9397dd84e05459ca9cffe15303fef113a477080ed7bfacc51ed638a2fe0a475ab4b1ca1e930d4a124617dd44219080cf6d999b
+DIST sqlmap-1.8.gh.tar.gz 7216213 BLAKE2B 0a9f43880badec75d5915950a98b1aac12a465b00216e0d01ed3ce0cb23882639d656430932b32d067ab7df693e0bbb67c35e076ac016e48a7ef2d940d0208eb SHA512 80e1555ae0f581c5cc76f41eb8a26e346f675069149010d7267abc3cc59f04ae9d35a72e417c6e28ff6d9c389d04e65dde1240079620a70d733e1873c0ed7450
diff --git a/dev-db/sqlmap/files/sqlmap.bash-completion b/dev-db/sqlmap/files/sqlmap.bash-completion
new file mode 100644
index 000000000000..47e11297ed89
--- /dev/null
+++ b/dev-db/sqlmap/files/sqlmap.bash-completion
@@ -0,0 +1,158 @@
+# bash completion for sqlmap by Korznikov Alexander
+# source: http://www.korznikov.com/2014/12/bash-tab-completion-for-awesome-tool.html
+# cp sqlmap_bash_completion /etc/bash_completion.d/sqlmap
+
+tamper=$(ls /usr/share/sqlmap/tamper|grep -v "__" |sed ':a;N;$!ba;s/\n/ /g')
+
+_sqlmap()
+{
+ local cur prev
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=`_get_pword`
+
+ case $prev in
+
+ # List directory content
+ --tamper)
+ COMPREPLY=( $( compgen -W "$tamper" -- "$cur" ) )
+ return 0
+ ;;
+ --output-dir|-t|-l|-m|-r|--load-cookies|--proxy-file|--sql-file|--shared-lib|--file-write)
+ _filedir
+ return 0
+ ;;
+ -c)
+ _filedir ini
+ return 0
+ ;;
+ --method)
+ COMPREPLY=( $( compgen -W 'GET POST PUT' -- "$cur" ) )
+ return 0
+ ;;
+ --auth-type)
+ COMPREPLY=( $( compgen -W 'Basic Digest NTLM PKI' -- "$cur" ) )
+ return 0
+ ;;
+ --tor-type)
+ COMPREPLY=( $( compgen -W 'HTTP SOCKS4 SOCKS5' -- "$cur" ) )
+ return 0
+ ;;
+ -v)
+ COMPREPLY=( $( compgen -W '1 2 3 4 5 6' -- "$cur" ) )
+ return 0
+ ;;
+ --dbms)
+ COMPREPLY=( $( compgen -W 'mysql mssql access postgres' -- "$cur" ) )
+ return 0
+ ;;
+ --level|--crawl)
+ COMPREPLY=( $( compgen -W '1 2 3 4 5' -- "$cur" ) )
+ return 0
+ ;;
+ --risk)
+ COMPREPLY=( $( compgen -W '0 1 2 3' -- "$cur" ) )
+ return 0
+ ;;
+ --technique)
+ COMPREPLY=( $( compgen -W 'B E U S T Q' -- "$cur" ) )
+ return 0
+ ;;
+ -s)
+ _filedir sqlite
+ return 0
+ ;;
+ --dump-format)
+ COMPREPLY=( $( compgen -W 'CSV HTML SQLITE' -- "$cur" ) )
+ return 0
+ ;;
+ -x)
+ _filedir xml
+ return 0
+ ;;
+ esac
+
+ if [[ "$cur" == * ]]; then
+ COMPREPLY=( $( compgen -W '-h --help -hh --version -v -d -u --url -l -x -m -r -g -c --method \
+ --data --param-del --cookie --cookie-del --load-cookies \
+ --drop-set-cookie --user-agent --random-agent --host --referer \
+ --headers --auth-type --auth-cred --auth-private --ignore-401 \
+ --proxy --proxy-cred --proxy-file --ignore-proxy --tor --tor-port \
+ --tor-type --check-tor --delay --timeout --retries --randomize \
+ --safe-url --safe-freq --skip-urlencode --csrf-token --csrf-url \
+ --force-ssl --hpp --eval -o --predict-output --keep-alive \
+ --null-connection --threads -p --skip --dbms --dbms-cred \
+ --os --invalid-bignum --invalid-logical --invalid-string \
+ --no-cast --no-escape --prefix --suffix --tamper --level \
+ --risk --string --not-string --regexp --code --text-only \
+ --titles --technique --time-sec --union-cols --union-char \
+ --union-from --dns-domain --second-order -f --fingerprint \
+ -a --all -b --banner --current-user --current-db --hostname \
+ --is-dba --users --passwords --privileges --roles --dbs --tables \
+ --columns --schema --count --dump --dump-all --search --comments \
+ -D -T -C -X -U --exclude-sysdbs --where --start --stop \
+ --first --last --sql-query --sql-shell --sql-file --common-tables \
+ --common-columns --udf-inject --shared-lib --file-read --file-write \
+ --file-dest --os-cmd --os-shell --os-pwn --os-smbrelay --os-bof \
+ --priv-esc --msf-path --tmp-path --reg-read --reg-add --reg-del \
+ --reg-key --reg-value --reg-data --reg-type -s -t --batch \
+ --charset --crawl --csv-del --dump-format --eta --flush-session \
+ --forms --fresh-queries --hex --output-dir --parse-errors \
+ --pivot-column --save --scope --test-filter --update \
+ -z --alert --answers --beep --check-waf --cleanup \
+ --dependencies --disable-coloring --gpage --identify-waf \
+ --mobile --page-rank --purge-output --smart \
+ --sqlmap-shell --wizard' -- "$cur" ) )
+ # this removes any options from the list of completions that have
+ # already been specified somewhere on the command line, as long as
+ # these options can only be used once (in a word, "options", in
+ # opposition to "tests" and "actions", as in the find(1) manpage).
+ onlyonce=' -h --help -hh --version -v -d -u --url -l -x -m -r -g -c \
+ --drop-set-cookie --random-agent \
+ --ignore-401 \
+ --ignore-proxy --tor \
+ --check-tor \
+ --skip-urlencode \
+ --force-ssl --hpp -o --predict-output --keep-alive \
+ --null-connection -p \
+ --invalid-bignum --invalid-logical --invalid-string \
+ --no-cast --no-escape \
+ --text-only \
+ --titles \
+ -f --fingerprint \
+ -a --all -b --banner --current-user --current-db --hostname \
+ --is-dba --users --passwords --privileges --roles --dbs --tables \
+ --columns --schema --count --dump --dump-all --search --comments \
+ -D -T -C -X -U --exclude-sysdbs \
+ --sql-shell --common-tables \
+ --common-columns --udf-inject \
+ --os-shell --os-pwn --os-smbrelay --os-bof \
+ --priv-esc --reg-read --reg-add --reg-del \
+ -s -t --batch \
+ --eta --flush-session \
+ --forms --fresh-queries --hex --parse-errors \
+ --save --update \
+ -z --beep --check-waf --cleanup \
+ --dependencies --disable-coloring --identify-waf \
+ --mobile --page-rank --purge-output --smart \
+ --sqlmap-shell --wizard '
+ COMPREPLY=( $( \
+ (while read -d ' ' i; do
+ [[ -z "$i" || "${onlyonce/ ${i%% *} / }" == "$onlyonce" ]] &&
+ continue
+ # flatten array with spaces on either side,
+ # otherwise we cannot grep on word boundaries of
+ # first and last word
+ COMPREPLY=" ${COMPREPLY[@]} "
+ # remove word from list of completions
+ COMPREPLY=( ${COMPREPLY/ ${i%% *} / } )
+ done
+ printf '%s ' "${COMPREPLY[@]}") <<<"${COMP_WORDS[@]}"
+ ) )
+
+# else
+# _filedir bat
+ fi
+} &&
+complete -F _sqlmap sqlmap
diff --git a/dev-db/sqlmap/metadata.xml b/dev-db/sqlmap/metadata.xml
new file mode 100644
index 000000000000..16aade051731
--- /dev/null
+++ b/dev-db/sqlmap/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ sqlmap is an open source penetration testing tool that automates the
+ process of detecting and exploiting SQL injection flaws and taking over
+ of database servers.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">sqlmapproject/sqlmap</remote-id>
+ <remote-id type="pypi">sqlmap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/sqlmap/sqlmap-1.7.9.ebuild b/dev-db/sqlmap/sqlmap-1.7.9.ebuild
new file mode 100644
index 000000000000..cee7e3a24228
--- /dev/null
+++ b/dev-db/sqlmap/sqlmap-1.7.9.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit bash-completion-r1 python-single-r1 wrapper
+
+DESCRIPTION="An automatic SQL injection and database takeover tool"
+HOMEPAGE="https://sqlmap.org/"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
+else
+ SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+# sqlmap (GPL-2+)
+# ansitrm (BSD)
+# beautifulsoup (BSD)
+# bottle (MIT)
+# chardet (LGPL-2.1+)
+# clientform (BSD)
+# colorama (BSD)
+# fcrypt (BSD-2)
+# identitywaf (MIT)
+# keepalive (LGPL-2.1+)
+# magic (MIT)
+# multipartpost (LGPL-2.1+)
+# ordereddict (MIT)
+# prettyprint (BSD-2)
+# pydes (public-domain)
+# six (MIT)
+# socks (BSD)
+# termcolor (BSD)
+# wininetpton (public-domain)
+LICENSE="BSD BSD-2 GPL-2+ LGPL-2.1+ MIT public-domain"
+SLOT="0"
+
+RDEPEND="${PYTHON_DEPS}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DOCS=( doc/ README.md )
+
+src_install () {
+ einstalldocs
+
+ insinto /usr/share/${PN}/
+ doins -r *
+ python_optimize "${ED}"/usr/share/${PN}
+
+ make_wrapper ${PN} \
+ "${EPYTHON} ${EPREFIX}/usr/share/${PN}/sqlmap.py"
+
+ newbashcomp "${FILESDIR}"/sqlmap.bash-completion sqlmap
+}
diff --git a/dev-db/sqlmap/sqlmap-1.8.2.ebuild b/dev-db/sqlmap/sqlmap-1.8.2.ebuild
new file mode 100644
index 000000000000..caaad5bf9d92
--- /dev/null
+++ b/dev-db/sqlmap/sqlmap-1.8.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit bash-completion-r1 python-single-r1 wrapper
+
+DESCRIPTION="An automatic SQL injection and database takeover tool"
+HOMEPAGE="https://sqlmap.org/"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
+else
+ SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+# sqlmap (GPL-2+)
+# ansitrm (BSD)
+# beautifulsoup (BSD)
+# bottle (MIT)
+# chardet (LGPL-2.1+)
+# clientform (BSD)
+# colorama (BSD)
+# fcrypt (BSD-2)
+# identitywaf (MIT)
+# keepalive (LGPL-2.1+)
+# magic (MIT)
+# multipartpost (LGPL-2.1+)
+# ordereddict (MIT)
+# prettyprint (BSD-2)
+# pydes (public-domain)
+# six (MIT)
+# socks (BSD)
+# termcolor (BSD)
+# wininetpton (public-domain)
+LICENSE="BSD BSD-2 GPL-2+ LGPL-2.1+ MIT public-domain"
+SLOT="0"
+
+RDEPEND="${PYTHON_DEPS}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DOCS=( doc/ README.md )
+
+src_install () {
+ einstalldocs
+
+ insinto /usr/share/${PN}/
+ doins -r *
+ python_optimize "${ED}"/usr/share/${PN}
+
+ make_wrapper ${PN} \
+ "${EPYTHON} ${EPREFIX}/usr/share/${PN}/sqlmap.py"
+
+ newbashcomp "${FILESDIR}"/sqlmap.bash-completion sqlmap
+}
diff --git a/dev-db/sqlmap/sqlmap-1.8.ebuild b/dev-db/sqlmap/sqlmap-1.8.ebuild
new file mode 100644
index 000000000000..caaad5bf9d92
--- /dev/null
+++ b/dev-db/sqlmap/sqlmap-1.8.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit bash-completion-r1 python-single-r1 wrapper
+
+DESCRIPTION="An automatic SQL injection and database takeover tool"
+HOMEPAGE="https://sqlmap.org/"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
+else
+ SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+# sqlmap (GPL-2+)
+# ansitrm (BSD)
+# beautifulsoup (BSD)
+# bottle (MIT)
+# chardet (LGPL-2.1+)
+# clientform (BSD)
+# colorama (BSD)
+# fcrypt (BSD-2)
+# identitywaf (MIT)
+# keepalive (LGPL-2.1+)
+# magic (MIT)
+# multipartpost (LGPL-2.1+)
+# ordereddict (MIT)
+# prettyprint (BSD-2)
+# pydes (public-domain)
+# six (MIT)
+# socks (BSD)
+# termcolor (BSD)
+# wininetpton (public-domain)
+LICENSE="BSD BSD-2 GPL-2+ LGPL-2.1+ MIT public-domain"
+SLOT="0"
+
+RDEPEND="${PYTHON_DEPS}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DOCS=( doc/ README.md )
+
+src_install () {
+ einstalldocs
+
+ insinto /usr/share/${PN}/
+ doins -r *
+ python_optimize "${ED}"/usr/share/${PN}
+
+ make_wrapper ${PN} \
+ "${EPYTHON} ${EPREFIX}/usr/share/${PN}/sqlmap.py"
+
+ newbashcomp "${FILESDIR}"/sqlmap.bash-completion sqlmap
+}
diff --git a/dev-db/sqlmap/sqlmap-9999.ebuild b/dev-db/sqlmap/sqlmap-9999.ebuild
new file mode 100644
index 000000000000..98dd6c54846c
--- /dev/null
+++ b/dev-db/sqlmap/sqlmap-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit bash-completion-r1 python-single-r1 wrapper
+
+DESCRIPTION="An automatic SQL injection and database takeover tool"
+HOMEPAGE="https://sqlmap.org/"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
+else
+ SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+# sqlmap (GPL-2+)
+# ansitrm (BSD)
+# beautifulsoup (BSD)
+# bottle (MIT)
+# chardet (LGPL-2.1+)
+# clientform (BSD)
+# colorama (BSD)
+# fcrypt (BSD-2)
+# identitywaf (MIT)
+# keepalive (LGPL-2.1+)
+# magic (MIT)
+# multipartpost (LGPL-2.1+)
+# ordereddict (MIT)
+# prettyprint (BSD-2)
+# pydes (public-domain)
+# six (MIT)
+# socks (BSD)
+# termcolor (BSD)
+# wininetpton (public-domain)
+LICENSE="BSD BSD-2 GPL-2+ LGPL-2.1+ MIT public-domain"
+SLOT="0"
+
+RDEPEND="${PYTHON_DEPS}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DOCS=( doc/ README.md )
+
+src_install () {
+ einstalldocs
+
+ insinto /usr/share/${PN}/
+ doins -r *
+ python_optimize "${ED}"/usr/share/${PN}
+
+ make_wrapper ${PN} \
+ "${EPYTHON} ${EPREFIX}/usr/share/${PN}/sqlmap.py"
+
+ newbashcomp "${FILESDIR}"/sqlmap.bash-completion sqlmap
+}
diff --git a/dev-db/timescaledb/Manifest b/dev-db/timescaledb/Manifest
index 3d9fa0d69cac..17a938cd4464 100644
--- a/dev-db/timescaledb/Manifest
+++ b/dev-db/timescaledb/Manifest
@@ -1,9 +1,2 @@
-DIST timescaledb-2.0.1.tar.gz 2226320 BLAKE2B 0bd5011e30d6c0d5ac11b78ddf6650044f35d720317213bd0437a43e0421953708d3d69b6933a821d255b183bb72b1c5e34ff88223790266daf7af3cf21f2de2 SHA512 84e9c7da3f0fc6740eb0555bbd92f5511ceef4868fb1952650f9499f3054a4d2be59b3a042b17bf655155c9f9c1de82b6b4fb302bdad7ffbe893ed901adcefc0
-DIST timescaledb-2.0.2.tar.gz 2237429 BLAKE2B 58c5e68daf5a3c1fade48b2ce8f625496ee3c58be38c573c883e319eb0084064d243270ac839e4bdd1ce3c865fc6b916c7869232b995529d8aca77851a0c7a79 SHA512 26ce25e4d833810cdd99691f3b8a4d0c26655b2efeba7c25d5daaaf2d1aabd8f96a421a771da9c5b6cf29af66ddcab39f3881d40364e25c101ea691e4ec61116
-DIST timescaledb-2.1.0.tar.gz 2527250 BLAKE2B 6f257c4b1afc0869c8e309f9b3080dbcdda4b50debc1a5b3848b9d6e59744ff52902b475aca0bc8820aa2edebe9847d62e500a8cd19f7ab8050d9586d95d3a66 SHA512 53fddb9fe4c4ab51ebc020e90eea5b032b41259d3bd45e8a03a86451acd7f8864b5a6ecba1b82b7c78e230f62cfddf1da75ff27e6629ad5fe8178839ac411ce4
-DIST timescaledb-2.1.1.tar.gz 2534361 BLAKE2B d0aa5b231cbc9a75bb65eae395ffc0063a94bd3d9c47fe2b1f80bdf59c7624c83e3d4343f3d4ea402654627b8396936614f105fc7d01612f3ea03124471b44a3 SHA512 53bd8f9006741af834cc2598efe95b94e6ebf00df770ac3a4e0a087af83c8ba5ac2b1f421fd108e6609fde6bea725f05e2d590c3f341030a0f31edb6a3cf6cd5
-DIST timescaledb-2.2.1.tar.gz 2637225 BLAKE2B 4ab37bb5c45a3f7550c2694c8757fff3e8dafe122aa9aea1e31d33931367b6b6bf8aa190444cd9472c3ba0aed087fa68d007ce52de24c78add3a53038a1d24ef SHA512 5dae0ed0b71309598bfc9605e838f2d8b4179ccf7098396315153c4044c7bdaaa411fd11ee70ca7807afde4b609faab281dcb1aa2f8d65330ca95e13fbe24582
-DIST timescaledb-2.3.1.tar.gz 2699256 BLAKE2B 5949245d4a2bf52558b3f646d3723b0571745226fcc0de236c21ad7f32316eaeb0780aa94f8ccacd420cd0b0e47c8e048172b9f9355cf01797398b7f2fc85a6a SHA512 431f716ecd98504ce8e5b85e6fd10bf87ed39aac0244b7e968383537caae965ece09f016fed8ea010f5d42b392aed2d75b012deafd807d107f3dc75cbde287ec
-DIST timescaledb-2.4.1.tar.gz 2401410 BLAKE2B 752d484b03a59cde22f295d47a90d05bfc0674428dd2d03152dbf6604e10c0fb6780815666f65f4d2df58075f7911636c13a671504eed78642e211ceda8aba3d SHA512 54baced28eb20aa14c78605ce7828f7c48210125d9193c3e1c88e9ae81616b2baf37a1eb97c5eb0ddc9b6820d534d134ad047f3c7ace374e29191a42142f35a1
-DIST timescaledb-2.4.2.tar.gz 2409324 BLAKE2B 387f8ba3f446af227e7bd578177a6391c6ad6b1f889eb305499dc420805ad84041bf09b48cf7087727a5d111a7b374a5a5b9b83c0c97a69dc09d9c2c5d3ee9ca SHA512 56a0ff981e7374e2845d949c5bde2f157063b36cb7f9c54c6627c35ae8a8a5e5a3637fb66c6fd5c61a25b86f80a204ab7a6071b9705646bfee6a9b252c805b2d
-DIST timescaledb-2.5.0.tar.gz 2737786 BLAKE2B 3c3af86e016e2a2d2484b65cd7754eb0c2561358a51f2d3887aa9c0fce8ec2e8598751423b2858fa25955a0744a32ac40c40766d4abe91751701fe053e6c7498 SHA512 fcb3130b472d7ebbaabcce6259b5585ceff2c2b39abeb68f13f2bf5e715afb6a5ccab8534ea9e8eea0c7aef31045680e17f48ff46465d7e693450f1cd77001e4
+DIST timescaledb-2.14.0.tar.gz 7316149 BLAKE2B d646e20d56ced87f3b95a7a58ed30bcbeec571b1042b64c2fef4f8521248db2142f54cb45d2afbbeb902e451823615fde1bb0259b421350928c146634db9c4d5 SHA512 75a66a51de313fa1beb4a576181888dbe742ffa0325b5813b5b12749c9fc97705eaa030186e424a360ee20745226768a679632182c079117586c5e4a5c108236
+DIST timescaledb-2.14.2.tar.gz 7319288 BLAKE2B aa6d56939a4647f9276743cabece77c33760e7f9d451b90aaa03c9391fcfad94afcd315b65c0c589c7188073884bf7ab65f9c796e35f634b8704f334ffa4ac34 SHA512 5a7ab4df5d89b83d423be5d6770098ab0303b22e29166afd3ab91ac2199571df20e33ec9f40bfa90ddf44829571fe696f311d81d27b46d569f2d75e75970e4f9
diff --git a/dev-db/timescaledb/metadata.xml b/dev-db/timescaledb/metadata.xml
index 7add04886552..ff821f723c21 100644
--- a/dev-db/timescaledb/metadata.xml
+++ b/dev-db/timescaledb/metadata.xml
@@ -5,6 +5,9 @@
<email>pgsql-bugs@gentoo.org</email>
<name>PostgreSQL and Related Package Development</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">timescale/timescaledb</remote-id>
+ </upstream>
<use>
<flag name="proprietary-extensions">
Enable proprietary features/extensions licensed under the TimeScale License
diff --git a/dev-db/timescaledb/timescaledb-2.0.1-r2.ebuild b/dev-db/timescaledb/timescaledb-2.0.1-r2.ebuild
deleted file mode 100644
index 1aa8c0a26b44..000000000000
--- a/dev-db/timescaledb/timescaledb-2.0.1-r2.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 )
-
-inherit postgres-multi cmake
-
-DESCRIPTION="Open-source time-series SQL database"
-HOMEPAGE="https://www.timescale.com/"
-SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE="proprietary-extensions"
-LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-CMAKE_IN_SOURCE_BUILD=yes
-BUILD_DIR=${WORKDIR}/${P}
-
-src_prepare() {
- postgres-multi_src_prepare
- postgres-multi_foreach cmake_src_prepare
-}
-
-timescale_configure() {
- local CMAKE_USE_DIR=$BUILD_DIR
- local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
-
- # licensing is tied to features, this useflag disables the non-apache2 licensed bits
- if ! use proprietary-extensions ; then
- mycmakeargs+=("-DAPACHE_ONLY=ON")
- fi
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach timescale_configure
-}
-
-timescale_src_compile() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_compile
-}
-
-src_compile() {
- postgres-multi_foreach timescale_src_compile
-}
-
-timescale_src_install() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_install
-}
-
-src_install() {
- postgres-multi_foreach timescale_src_install
-}
diff --git a/dev-db/timescaledb/timescaledb-2.0.2-r1.ebuild b/dev-db/timescaledb/timescaledb-2.0.2-r1.ebuild
deleted file mode 100644
index 1aa8c0a26b44..000000000000
--- a/dev-db/timescaledb/timescaledb-2.0.2-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 )
-
-inherit postgres-multi cmake
-
-DESCRIPTION="Open-source time-series SQL database"
-HOMEPAGE="https://www.timescale.com/"
-SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE="proprietary-extensions"
-LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-CMAKE_IN_SOURCE_BUILD=yes
-BUILD_DIR=${WORKDIR}/${P}
-
-src_prepare() {
- postgres-multi_src_prepare
- postgres-multi_foreach cmake_src_prepare
-}
-
-timescale_configure() {
- local CMAKE_USE_DIR=$BUILD_DIR
- local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
-
- # licensing is tied to features, this useflag disables the non-apache2 licensed bits
- if ! use proprietary-extensions ; then
- mycmakeargs+=("-DAPACHE_ONLY=ON")
- fi
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach timescale_configure
-}
-
-timescale_src_compile() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_compile
-}
-
-src_compile() {
- postgres-multi_foreach timescale_src_compile
-}
-
-timescale_src_install() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_install
-}
-
-src_install() {
- postgres-multi_foreach timescale_src_install
-}
diff --git a/dev-db/timescaledb/timescaledb-2.1.0-r1.ebuild b/dev-db/timescaledb/timescaledb-2.1.0-r1.ebuild
deleted file mode 100644
index 952d91dd7ad3..000000000000
--- a/dev-db/timescaledb/timescaledb-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 13 )
-
-inherit postgres-multi cmake
-
-DESCRIPTION="Open-source time-series SQL database"
-HOMEPAGE="https://www.timescale.com/"
-SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE="proprietary-extensions"
-LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-CMAKE_IN_SOURCE_BUILD=yes
-BUILD_DIR=${WORKDIR}/${P}
-
-src_prepare() {
- postgres-multi_src_prepare
- postgres-multi_foreach cmake_src_prepare
-}
-
-timescale_configure() {
- local CMAKE_USE_DIR=$BUILD_DIR
- local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
-
- # licensing is tied to features, this useflag disables the non-apache2 licensed bits
- if ! use proprietary-extensions ; then
- mycmakeargs+=("-DAPACHE_ONLY=ON")
- fi
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach timescale_configure
-}
-
-timescale_src_compile() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_compile
-}
-
-src_compile() {
- postgres-multi_foreach timescale_src_compile
-}
-
-timescale_src_install() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_install
-}
-
-src_install() {
- postgres-multi_foreach timescale_src_install
-}
diff --git a/dev-db/timescaledb/timescaledb-2.1.1-r1.ebuild b/dev-db/timescaledb/timescaledb-2.1.1-r1.ebuild
deleted file mode 100644
index 952d91dd7ad3..000000000000
--- a/dev-db/timescaledb/timescaledb-2.1.1-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 13 )
-
-inherit postgres-multi cmake
-
-DESCRIPTION="Open-source time-series SQL database"
-HOMEPAGE="https://www.timescale.com/"
-SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE="proprietary-extensions"
-LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-CMAKE_IN_SOURCE_BUILD=yes
-BUILD_DIR=${WORKDIR}/${P}
-
-src_prepare() {
- postgres-multi_src_prepare
- postgres-multi_foreach cmake_src_prepare
-}
-
-timescale_configure() {
- local CMAKE_USE_DIR=$BUILD_DIR
- local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
-
- # licensing is tied to features, this useflag disables the non-apache2 licensed bits
- if ! use proprietary-extensions ; then
- mycmakeargs+=("-DAPACHE_ONLY=ON")
- fi
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach timescale_configure
-}
-
-timescale_src_compile() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_compile
-}
-
-src_compile() {
- postgres-multi_foreach timescale_src_compile
-}
-
-timescale_src_install() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_install
-}
-
-src_install() {
- postgres-multi_foreach timescale_src_install
-}
diff --git a/dev-db/timescaledb/timescaledb-2.2.1-r1.ebuild b/dev-db/timescaledb/timescaledb-2.14.0.ebuild
index eba5dbffb770..ec3d2f7794de 100644
--- a/dev-db/timescaledb/timescaledb-2.2.1-r1.ebuild
+++ b/dev-db/timescaledb/timescaledb-2.14.0.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 11 12 13 )
+POSTGRES_COMPAT=( 13 14 15 16 )
+POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake
@@ -20,8 +21,7 @@ SLOT=0
RESTRICT="test"
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
+DEPEND="${POSTGRES_DEP}"
RDEPEND="${DEPEND}"
CMAKE_IN_SOURCE_BUILD=yes
diff --git a/dev-db/timescaledb/timescaledb-2.3.1.ebuild b/dev-db/timescaledb/timescaledb-2.14.2.ebuild
index eba5dbffb770..ec3d2f7794de 100644
--- a/dev-db/timescaledb/timescaledb-2.3.1.ebuild
+++ b/dev-db/timescaledb/timescaledb-2.14.2.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 11 12 13 )
+POSTGRES_COMPAT=( 13 14 15 16 )
+POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake
@@ -20,8 +21,7 @@ SLOT=0
RESTRICT="test"
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
+DEPEND="${POSTGRES_DEP}"
RDEPEND="${DEPEND}"
CMAKE_IN_SOURCE_BUILD=yes
diff --git a/dev-db/timescaledb/timescaledb-2.4.1.ebuild b/dev-db/timescaledb/timescaledb-2.4.1.ebuild
deleted file mode 100644
index eba5dbffb770..000000000000
--- a/dev-db/timescaledb/timescaledb-2.4.1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 13 )
-
-inherit postgres-multi cmake
-
-DESCRIPTION="Open-source time-series SQL database"
-HOMEPAGE="https://www.timescale.com/"
-SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE="proprietary-extensions"
-LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-CMAKE_IN_SOURCE_BUILD=yes
-CMAKE_BUILD_TYPE="RelWithDebInfo"
-BUILD_DIR=${WORKDIR}/${P}
-
-src_prepare() {
- postgres-multi_src_prepare
- postgres-multi_foreach cmake_src_prepare
-}
-
-timescale_configure() {
- local CMAKE_USE_DIR=$BUILD_DIR
- local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
-
- # licensing is tied to features, this useflag disables the non-apache2 licensed bits
- if ! use proprietary-extensions ; then
- mycmakeargs+=("-DAPACHE_ONLY=ON")
- fi
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach timescale_configure
-}
-
-timescale_src_compile() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_compile
-}
-
-src_compile() {
- postgres-multi_foreach timescale_src_compile
-}
-
-timescale_src_install() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_install
-}
-
-src_install() {
- postgres-multi_foreach timescale_src_install
-}
diff --git a/dev-db/timescaledb/timescaledb-2.4.2.ebuild b/dev-db/timescaledb/timescaledb-2.4.2.ebuild
deleted file mode 100644
index eba5dbffb770..000000000000
--- a/dev-db/timescaledb/timescaledb-2.4.2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 11 12 13 )
-
-inherit postgres-multi cmake
-
-DESCRIPTION="Open-source time-series SQL database"
-HOMEPAGE="https://www.timescale.com/"
-SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE="proprietary-extensions"
-LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-CMAKE_IN_SOURCE_BUILD=yes
-CMAKE_BUILD_TYPE="RelWithDebInfo"
-BUILD_DIR=${WORKDIR}/${P}
-
-src_prepare() {
- postgres-multi_src_prepare
- postgres-multi_foreach cmake_src_prepare
-}
-
-timescale_configure() {
- local CMAKE_USE_DIR=$BUILD_DIR
- local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
-
- # licensing is tied to features, this useflag disables the non-apache2 licensed bits
- if ! use proprietary-extensions ; then
- mycmakeargs+=("-DAPACHE_ONLY=ON")
- fi
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach timescale_configure
-}
-
-timescale_src_compile() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_compile
-}
-
-src_compile() {
- postgres-multi_foreach timescale_src_compile
-}
-
-timescale_src_install() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_install
-}
-
-src_install() {
- postgres-multi_foreach timescale_src_install
-}
diff --git a/dev-db/timescaledb/timescaledb-2.5.0.ebuild b/dev-db/timescaledb/timescaledb-2.5.0.ebuild
deleted file mode 100644
index 122047bcdea4..000000000000
--- a/dev-db/timescaledb/timescaledb-2.5.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 12 13 14 )
-
-inherit postgres-multi cmake
-
-DESCRIPTION="Open-source time-series SQL database"
-HOMEPAGE="https://www.timescale.com/"
-SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-IUSE="proprietary-extensions"
-LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-CMAKE_IN_SOURCE_BUILD=yes
-CMAKE_BUILD_TYPE="RelWithDebInfo"
-BUILD_DIR=${WORKDIR}/${P}
-
-src_prepare() {
- postgres-multi_src_prepare
- postgres-multi_foreach cmake_src_prepare
-}
-
-timescale_configure() {
- local CMAKE_USE_DIR=$BUILD_DIR
- local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
-
- # licensing is tied to features, this useflag disables the non-apache2 licensed bits
- if ! use proprietary-extensions ; then
- mycmakeargs+=("-DAPACHE_ONLY=ON")
- fi
- cmake_src_configure
-}
-
-src_configure() {
- postgres-multi_foreach timescale_configure
-}
-
-timescale_src_compile() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_compile
-}
-
-src_compile() {
- postgres-multi_foreach timescale_src_compile
-}
-
-timescale_src_install() {
- local CMAKE_USE_DIR=$BUILD_DIR
- cmake_src_install
-}
-
-src_install() {
- postgres-multi_foreach timescale_src_install
-}
diff --git a/dev-db/tinycdb/Manifest b/dev-db/tinycdb/Manifest
index ec77e1b8d078..302ac45b9888 100644
--- a/dev-db/tinycdb/Manifest
+++ b/dev-db/tinycdb/Manifest
@@ -1 +1,2 @@
DIST tinycdb-0.78.tar.gz 36754 BLAKE2B 41f4256840645acd28296c5473087c7cf4c026f068310375b3c305430c030b1c946f53fd3e09967d77b592ba84e7e56518fdb18e54d1e0f5e7dd552a1664a0ec SHA512 8930086b8e7fddcd4dbd3354c5f5ee05171df68fde1cc222b6c402430042b6e761efbad7e5fa8de18e1d36390f1526cc3e605c5086fe1c363ba1df6c03201553
+DIST tinycdb-0.81.tar.gz 31901 BLAKE2B 6b5b1167bd7e58a02b9a3a1ff2d58adb0e522ef65a13384051d9a037358ed7586f7d567e543099adec6322f9c60d38525fed586488510215bf72d12a60c67684 SHA512 56d0422700835d7b0460c32c41e6d5f30b8b833cefea775eb7f2b5592d744942c1109eac1501421b02f196d15e551111bb2accc71f2fd32ef4b8d658c635340e
diff --git a/dev-db/tinycdb/tinycdb-0.78.ebuild b/dev-db/tinycdb/tinycdb-0.78.ebuild
index b6f1bb7cc462..501f95371b5a 100644
--- a/dev-db/tinycdb/tinycdb-0.78.ebuild
+++ b/dev-db/tinycdb/tinycdb-0.78.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -6,8 +6,8 @@ EAPI="7"
inherit toolchain-funcs
DESCRIPTION="A very fast and simple package for creating and reading constant data bases"
-HOMEPAGE="http://www.corpit.ru/mjt/tinycdb.html"
-SRC_URI="http://www.corpit.ru/mjt/${PN}/${P}.tar.gz"
+HOMEPAGE="https://www.corpit.ru/mjt/tinycdb.html"
+SRC_URI="https://www.corpit.ru/mjt/${PN}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
diff --git a/dev-db/tinycdb/tinycdb-0.81.ebuild b/dev-db/tinycdb/tinycdb-0.81.ebuild
new file mode 100644
index 000000000000..fc9fe8b1d16b
--- /dev/null
+++ b/dev-db/tinycdb/tinycdb-0.81.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit toolchain-funcs
+
+DESCRIPTION="A very fast and simple package for creating and reading constant data bases"
+HOMEPAGE="https://www.corpit.ru/mjt/tinycdb.html"
+SRC_URI="https://www.corpit.ru/mjt/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~mips ~ppc ~riscv ~x86"
+IUSE="static-libs"
+RESTRICT="test"
+
+RDEPEND="!dev-db/cdb"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-gentoo.patch
+ "${FILESDIR}"/${PN}-uclibc.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i "/^libdir/s:/lib:/$(get_libdir):" Makefile
+}
+
+src_compile() {
+ local targets="shared"
+ use static-libs && targets+=" staticlib piclib"
+
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ ${targets}
+}
+
+src_install() {
+ local targets="install install-sharedlib"
+ use static-libs && targets+=" install-piclib"
+
+ emake \
+ prefix="${EPREFIX}"/usr \
+ mandir="${EPREFIX}"/usr/share/man \
+ DESTDIR="${D}" \
+ ${targets}
+ einstalldocs
+}
diff --git a/dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild b/dev-db/tokyocabinet/tokyocabinet-1.4.48-r2.ebuild
index 4efc8e3e6d20..144fdd76a75c 100644
--- a/dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild
+++ b/dev-db/tokyocabinet/tokyocabinet-1.4.48-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://fallabs.com/tokyocabinet/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="bzip2 debug doc examples threads zlib"
DEPEND="bzip2? ( app-arch/bzip2 )
@@ -25,9 +25,10 @@ PATCHES=(
src_prepare() {
default
- sed -i \
+ sed \
-e "/ldconfig/d" \
- -e "/DATADIR/d" Makefile.in || die
+ -e "/DATADIR/d" \
+ -i Makefile.in || die
# cflags fix - remove -O2 at end of line and -fomit-frame-pointer
sed -i -e 's/-O3"$/"/' configure.in || die
@@ -38,6 +39,8 @@ src_prepare() {
sed -i -e 's/ -minline-all-stringops//' configure.in || die
fi
+ sed -e 's/libtokyocabinet.a/libtokyocabinet.so/g' -i configure.in || die
+
mv configure.{in,ac} || die
eautoreconf
@@ -45,13 +48,17 @@ src_prepare() {
src_configure() {
# we use the "fastest" target without the -O3
- econf \
- $(use_enable debug) \
- $(use_enable bzip2 bzip) \
- $(use_enable zlib) \
- $(use_enable threads pthread) \
- --enable-off64 \
+ myconf=(
+ --disable-static
+ --enable-off64
--enable-fastest
+ $(use_enable bzip2 bzip)
+ $(use_enable debug)
+ $(use_enable threads pthread)
+ $(use_enable zlib)
+ )
+
+ econf "${myconf[@]}"
}
src_test() {
@@ -59,14 +66,12 @@ src_test() {
}
src_install() {
- emake DESTDIR="${D}" install
-
- if use doc; then
- dodoc -r doc/*
- fi
+ default
+ use doc && dodoc -r doc/.
if use examples; then
- docinto example
- dodoc example/*
+ docinto examples
+ dodoc -r example/.
+ docompress -x "/usr/share/doc/${PF}/examples"
fi
}
diff --git a/dev-db/tokyocabinet/tokyocabinet-1.4.48-r3.ebuild b/dev-db/tokyocabinet/tokyocabinet-1.4.48-r3.ebuild
new file mode 100644
index 000000000000..b74247f414d9
--- /dev/null
+++ b/dev-db/tokyocabinet/tokyocabinet-1.4.48-r3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A library of routines for managing a database"
+HOMEPAGE="https://fallabs.com/tokyocabinet/"
+SRC_URI="https://fallabs.com/tokyocabinet/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 debug doc examples threads zlib"
+
+DEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/fix_rpath.patch" )
+
+src_prepare() {
+ default
+
+ sed \
+ -e "/ldconfig/d" \
+ -e "/DATADIR/d" \
+ -i Makefile.in || die
+
+ # cflags fix - remove -O3 at end of line and -fomit-frame-pointer
+ sed -i -e 's/-O3"$/"/' configure.in || die
+ sed -i -e 's/-fomit-frame-pointer//' configure.in || die
+
+ # flag only works on x86 derivatives, remove everywhere else
+ if ! use x86 && ! use amd64; then
+ sed -i -e 's/ -minline-all-stringops//' configure.in || die
+ fi
+
+ sed -e 's/libtokyocabinet.a/libtokyocabinet.so/g' -i configure.in || die
+
+ AR="$(tc-getAR)"
+ eautoreconf
+}
+
+src_configure() {
+ # we use the "fastest" target without the -O3
+ myconf=(
+ --enable-off64
+ --enable-fastest
+ $(use_enable bzip2 bzip)
+ $(use_enable debug)
+ $(use_enable threads pthread)
+ $(use_enable zlib)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ use doc && dodoc -r doc/.
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+}
diff --git a/dev-db/tora/files/tora-3.2-missing-header.patch b/dev-db/tora/files/tora-3.2-missing-header.patch
deleted file mode 100644
index 272054b77793..000000000000
--- a/dev-db/tora/files/tora-3.2-missing-header.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 503fb876bd5664b455d234ba21294735a8972c91 Mon Sep 17 00:00:00 2001
-From: Ivan Brezina <ibrezina@ibrezina.net>
-Date: Wed, 5 Jul 2017 10:07:14 +0200
-Subject: [PATCH] linux fix
-
----
- src/editor/tosqltext.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/editor/tosqltext.cpp b/src/editor/tosqltext.cpp
-index c329daf0..60935c12 100644
---- a/src/editor/tosqltext.cpp
-+++ b/src/editor/tosqltext.cpp
-@@ -50,6 +50,7 @@
- #include <QToolTip>
- #endif
-
-+#include <QMenu>
- #include <QListWidget>
- #include <QVBoxLayout>
- #include <QApplication>
diff --git a/dev-db/tora/files/tora-3.2-qt-5.11.0.patch b/dev-db/tora/files/tora-3.2-qt-5.11.0.patch
deleted file mode 100644
index d9e50eeaf5b8..000000000000
--- a/dev-db/tora/files/tora-3.2-qt-5.11.0.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From afbff9ec3b93f0e90f02953d1bdd859a0f9a72ab Mon Sep 17 00:00:00 2001
-From: ibre5041 <ibre5041@ibrezina.net>
-Date: Wed, 30 May 2018 23:22:05 +0200
-Subject: [PATCH] fix for bug #96 - missing #include <QButtonGroup>
-
----
- src/tools/tobrowser.cpp | 1 +
- src/tools/toscript.cpp | 1 +
- src/tools/tosecurity.cpp | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/src/tools/tobrowser.cpp b/src/tools/tobrowser.cpp
-index 895be336..69a4c6b6 100644
---- a/src/tools/tobrowser.cpp
-+++ b/src/tools/tobrowser.cpp
-@@ -65,6 +65,7 @@
- #include <QInputDialog>
- #include <QSplitter>
- #include <QToolBar>
-+#include <QButtonGroup>
-
- #include "icons/addindex.xpm"
- #include "icons/addtable.xpm"
-diff --git a/src/tools/toscript.cpp b/src/tools/toscript.cpp
-index bc74fc8c..aff26158 100644
---- a/src/tools/toscript.cpp
-+++ b/src/tools/toscript.cpp
-@@ -56,6 +56,7 @@
- #include <QSplitter>
- #include <QtCore/QTextStream>
- #include <QToolBar>
-+#include <QButtonGroup>
-
- #include "icons/execute.xpm"
- #include "icons/toscript.xpm"
-diff --git a/src/tools/tosecurity.cpp b/src/tools/tosecurity.cpp
-index 17f5c3b0..b2694928 100644
---- a/src/tools/tosecurity.cpp
-+++ b/src/tools/tosecurity.cpp
-@@ -46,6 +46,7 @@
-
- #include <QSplitter>
- #include <QToolBar>
-+#include <QButtonGroup>
-
- #include "icons/addrole.xpm"
- #include "icons/adduser.xpm"
-
-From 1852446c42c36d71b856fe09e1444b52052ca86d Mon Sep 17 00:00:00 2001
-From: Ivan Brezina <ibrezina@ibrezina.net>
-Date: Wed, 27 Jun 2018 19:11:09 +0200
-Subject: [PATCH] fix for bug #101
-
----
- src/widgets/tohelp.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/widgets/tohelp.cpp b/src/widgets/tohelp.cpp
-index 69e3c6a1..4ffd6cea 100644
---- a/src/widgets/tohelp.cpp
-+++ b/src/widgets/tohelp.cpp
-@@ -43,6 +43,7 @@
- #include "core/toconfiguration.h"
- #include "ts_log/ts_log_utils.h"
-
-+#include <QAction>
- #include <QMessageBox>
- #include <QtCore/QSettings>
-
diff --git a/dev-db/tora/files/tora-3.2-qt-includes.patch b/dev-db/tora/files/tora-3.2-qt-includes.patch
new file mode 100644
index 000000000000..6126cdf71ca9
--- /dev/null
+++ b/dev-db/tora/files/tora-3.2-qt-includes.patch
@@ -0,0 +1,61 @@
+--- a/src/editor/tosqltext.cpp
++++ b/src/editor/tosqltext.cpp
+@@ -50,6 +50,7 @@
+ #include <QToolTip>
+ #endif
+
++#include <QMenu>
+ #include <QListWidget>
+ #include <QVBoxLayout>
+ #include <QApplication>
+--- a/src/main/tooraclesetting.cpp
++++ b/src/main/tooraclesetting.cpp
+@@ -45,6 +45,8 @@
+ #include "core/toqvalue.h"
+ #include "core/toquery.h"
+
++#include <QtGui/qvalidator.h>
++
+ toOracleSetting::toOracleSetting(QWidget *parent)
+ : QWidget(parent)
+ , toSettingTab("database.html#oracle")
+--- a/src/tools/tobrowser.cpp
++++ b/src/tools/tobrowser.cpp
+@@ -65,6 +65,7 @@
+ #include <QInputDialog>
+ #include <QSplitter>
+ #include <QToolBar>
++#include <QButtonGroup>
+
+ #include "icons/addindex.xpm"
+ #include "icons/addtable.xpm"
+--- a/src/tools/toscript.cpp
++++ b/src/tools/toscript.cpp
+@@ -56,6 +56,7 @@
+ #include <QSplitter>
+ #include <QtCore/QTextStream>
+ #include <QToolBar>
++#include <QButtonGroup>
+
+ #include "icons/execute.xpm"
+ #include "icons/toscript.xpm"
+--- a/src/tools/tosecurity.cpp
++++ b/src/tools/tosecurity.cpp
+@@ -46,6 +46,7 @@
+
+ #include <QSplitter>
+ #include <QToolBar>
++#include <QButtonGroup>
+
+ #include "icons/addrole.xpm"
+ #include "icons/adduser.xpm"
+--- a/src/widgets/tohelp.cpp
++++ b/src/widgets/tohelp.cpp
+@@ -43,6 +43,7 @@
+ #include "core/toconfiguration.h"
+ #include "ts_log/ts_log_utils.h"
+
++#include <QAction>
+ #include <QMessageBox>
+ #include <QtCore/QSettings>
+
diff --git a/dev-db/tora/metadata.xml b/dev-db/tora/metadata.xml
index 808b6f98bd88..6db883b8f1dc 100644
--- a/dev-db/tora/metadata.xml
+++ b/dev-db/tora/metadata.xml
@@ -1,21 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>ikonta@yandex.ru</email>
- <name>Sergey Starikoff</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
- TOra is a Toolkit for Oracle which aims to help the DBA or developer of
- database application. Features PL/SQL debugger, SQL worksheet with syntax
- highlighting, DB browser and a comprehensive set of DBA tools. Also works
- with mySQL and postgreSQL.
-</longdescription>
+ TOra is a Toolkit for Oracle which aims to help the DBA or developer of
+ database application. Features PL/SQL debugger, SQL worksheet with syntax
+ highlighting, DB browser and a comprehensive set of DBA tools. Also works
+ with mySQL and postgreSQL.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">tora</remote-id>
+ <remote-id type="github">tora-tool/tora</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/tora/tora-3.2-r1.ebuild b/dev-db/tora/tora-3.2-r1.ebuild
deleted file mode 100644
index b653ad25405a..000000000000
--- a/dev-db/tora/tora-3.2-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils desktop xdg-utils
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/tora-tool/tora"
- inherit git-r3
-else
- SRC_URI="https://github.com/tora-tool/tora/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="SQL IDE for Oracle, MySQL and PostgreSQL dbs"
-HOMEPAGE="https://github.com/tora-tool/tora/wiki"
-IUSE="doc mysql oracle +postgres"
-REQUIRED_USE="|| ( mysql oracle postgres )"
-
-SLOT="0"
-LICENSE="GPL-2"
-
-RDEPEND="
- dev-libs/ferrisloki
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsql:5[mysql?,postgres?]
- dev-qt/qtwidgets:5
- >=x11-libs/qscintilla-2.10.1:=[qt5(+)]
- oracle? ( dev-db/oracle-instantclient )
- postgres? ( dev-db/postgresql:* )
-"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-missing-header.patch"
- "${FILESDIR}/${P}-qt-5.11.0.patch"
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # fixed in master, only care about recent qscintilla lib name:
- sed -e "/FIND_LIBRARY(QSCINTILLA_LIBRARY/s/qt5scintilla2/qscintilla2_qt5/" \
- -i cmake/modules/FindQScintilla.cmake || die "Failed to fix FindQScintilla.cmake"
-
- rm -r extlibs/{loki,qscintilla2} || die # ferrisloki, bug #383109
-
- sed -e "/COPYING/ d" \
- -i CMakeLists.txt || die "Removal of COPYING file failed"
-
- # bug 547520
- grep -rlZ '$$ORIGIN' . | xargs -0 sed -i 's|:$$ORIGIN[^:"]*||' || \
- die 'Removal of $$ORIGIN failed'
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_DB2=OFF
- -DQT5_BUILD=ON
- -DWANT_INTERNAL_LOKI=OFF
- -DWANT_INTERNAL_QSCINTILLA=OFF
- -DWANT_RPM=OFF
- -DLOKI_LIBRARY="$($(tc-getPKG_CONFIG) --variable=libdir ferrisloki)/libferrisloki.so"
- -DLOKI_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable=includedir ferrisloki)/FerrisLoki"
- $(cmake-utils_use_find_package doc Doxygen)
- -DENABLE_ORACLE=$(usex oracle)
- -DUSE_PCH=OFF
- -DENABLE_PGSQL=$(usex postgres)
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- doicon src/icons/${PN}.xpm || die
- domenu src/${PN}.desktop || die
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
diff --git a/dev-db/tora/tora-9999.ebuild b/dev-db/tora/tora-3.2-r2.ebuild
index d1bf824895be..3749b42c889d 100644
--- a/dev-db/tora/tora-9999.ebuild
+++ b/dev-db/tora/tora-3.2-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils desktop xdg-utils
+inherit cmake desktop toolchain-funcs xdg
-if [[ ${PV} == 9999 ]]; then
+if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/tora-tool/tora"
inherit git-r3
else
@@ -15,11 +15,11 @@ fi
DESCRIPTION="SQL IDE for Oracle, MySQL and PostgreSQL dbs"
HOMEPAGE="https://github.com/tora-tool/tora/wiki"
-IUSE="doc mysql oracle pch +postgres"
-REQUIRED_USE="|| ( mysql oracle postgres )"
-SLOT="0"
LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc mysql oracle +postgres"
+REQUIRED_USE="|| ( mysql oracle postgres )"
RDEPEND="
dev-libs/ferrisloki
@@ -33,14 +33,20 @@ RDEPEND="
oracle? ( dev-db/oracle-instantclient )
postgres? ( dev-db/postgresql:* )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
+ dev-libs/boost
+"
+BDEPEND="
dev-qt/linguist-tools:5
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
+PATCHES=( "${FILESDIR}"/${P}-qt-includes.patch )
+
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
# fixed in master, only care about recent qscintilla lib name:
sed -e "/FIND_LIBRARY(QSCINTILLA_LIBRARY/s/qt5scintilla2/qscintilla2_qt5/" \
@@ -63,29 +69,19 @@ src_configure() {
-DWANT_INTERNAL_LOKI=OFF
-DWANT_INTERNAL_QSCINTILLA=OFF
-DWANT_RPM=OFF
- -DLOKI_LIBRARY="$($(tc-getPKG_CONFIG) --variable=libdir ferrisloki)/libferrisloki.so"
- -DLOKI_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable=includedir ferrisloki)/FerrisLoki"
- $(cmake-utils_use_find_package doc Doxygen)
+ -DLOKI_LIBRARY="$($(tc-getPKG_CONFIG) --variable=libdir ferrisloki || die)/libferrisloki.so"
+ -DLOKI_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable=includedir ferrisloki || die)/FerrisLoki"
+ $(cmake_use_find_package doc Doxygen)
-DENABLE_ORACLE=$(usex oracle)
- -DUSE_PCH=$(usex pch)
+ -DUSE_PCH=OFF
-DENABLE_PGSQL=$(usex postgres)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
-
- doicon src/icons/${PN}.xpm || die
- domenu src/${PN}.desktop || die
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
+ cmake_src_install
-pkg_postrm() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
+ doicon src/icons/tora.xpm || die
+ domenu src/tora.desktop || die
}
diff --git a/dev-db/unixODBC/Manifest b/dev-db/unixODBC/Manifest
index 575dbe113958..1e34e2941e3d 100644
--- a/dev-db/unixODBC/Manifest
+++ b/dev-db/unixODBC/Manifest
@@ -1 +1,2 @@
-DIST unixODBC-2.3.9.tar.gz 1676145 BLAKE2B f4078f9266cea753b6f78d234290efe95a6fa9551088a6ce352b0b6ac5391bf2724f872dcc2df0368e98befd24f995ab4eb6958a34bb080b0f6d08993991a0b7 SHA512 6637eab751401522e0af775cb104cd07693b82927453a98e5af28e079f4b9f40e1cfab8cb36f509c46dced89b45244bc5ed1a3dda17ba5a52a844e8e82f187bb
+DIST unixODBC-2.3.11.tar.gz 1752585 BLAKE2B fa1502d7b83c8c10ee9d54b23281096156a3e3ec893b81acf125cd95c1de0f4ae7657ab3b4c5214a5c6a0fc9209e53cd9acdf6f99e65840e0a05366182af5600 SHA512 dddc32f90a7962e6988e1130a8093c6fb8b9ff532cad270d572250324aecbc739f45f9d8021d217313910bab25b08e69009b4f87456575535e93be1f46f5f13d
+DIST unixODBC-2.3.12.tar.gz 1753915 BLAKE2B 9da9b0fb5ff962db8ec1483b700aca5d4adf88f3349b22010bd0b4b4ec1fe2e7a51d761527e3b9e49b08286a00e55aadc38c320a6db512ba52f491aecad7fd83 SHA512 ca9d8db943195679a44db1fc09391dc6662ab1721112c93d448f04011e98502462ffe14b8364eb03707d851db456eced20eb61a22370392ca88d917038d45b56
diff --git a/dev-db/unixODBC/files/unixODBC-2.3.11-config-no-install.patch b/dev-db/unixODBC/files/unixODBC-2.3.11-config-no-install.patch
new file mode 100644
index 000000000000..f7b276523f83
--- /dev/null
+++ b/dev-db/unixODBC/files/unixODBC-2.3.11-config-no-install.patch
@@ -0,0 +1,33 @@
+https://github.com/lurcher/unixODBC/commit/685df9e2b4fbbd191ab081a2020956aa78295fe0
+
+From 685df9e2b4fbbd191ab081a2020956aa78295fe0 Mon Sep 17 00:00:00 2001
+From: Hugh McMaster <hugh.mcmaster@outlook.com>
+Date: Fri, 13 May 2022 22:03:37 +1000
+Subject: [PATCH] Makefile.am: Do not install config.h
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-ACLOCAL_AMFLAGS=-I m4
++ACLOCAL_AMFLAGS=-I m4
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = \
+@@ -21,7 +21,7 @@ SUBDIRS = \
+ include \
+ doc \
+ man \
+- samples
++ samples
+
+ EXTRA_DIST = \
+ README.OSX \
+@@ -47,7 +47,7 @@ EXTRA_DIST = \
+
+ include_HEADERS = unixodbc.h
+
+-pkginclude_HEADERS = unixodbc_conf.h config.h
++pkginclude_HEADERS = unixodbc_conf.h
+
+ install-data-hook:
+ -$(MKDIR_P) $(DESTDIR)$(sysconfdir)/ODBCDataSources
diff --git a/dev-db/unixODBC/files/unixODBC-2.3.9-clang16.patch b/dev-db/unixODBC/files/unixODBC-2.3.9-clang16.patch
new file mode 100644
index 000000000000..0e594487e666
--- /dev/null
+++ b/dev-db/unixODBC/files/unixODBC-2.3.9-clang16.patch
@@ -0,0 +1,345 @@
+https://github.com/lurcher/unixODBC/pull/138
+
+From d4782b9eea043de2a08519af3f1c49f56d917022 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 12 Apr 2023 21:28:26 +0200
+Subject: [PATCH] Avoid implicit function declarations, for C99 compatibility
+
+Add additional prototypes and #include directives for system headers, so
+that builds will not fail with compilers which do not support implicit
+function declarations by default.
+--- a/Drivers/Postgre7.1/bind.h
++++ b/Drivers/Postgre7.1/bind.h
+@@ -44,4 +44,8 @@ struct ParameterInfoClass_ {
+ BindInfoClass *create_empty_bindings(int num_columns);
+ void extend_bindings(StatementClass *stmt, int num_columns);
+
++RETCODE SQL_API PG_SQLBindCol(HSTMT hstmt, UWORD icol, SWORD fCType,
++ PTR rgbValue, SQLLEN cbValueMax,
++ SQLLEN *pcbValue);
++
+ #endif
+--- a/Drivers/Postgre7.1/connection.c
++++ b/Drivers/Postgre7.1/connection.c
+@@ -20,6 +20,7 @@
+ #include "statement.h"
+ #include "qresult.h"
+ #include "lobj.h"
++#include "misc.h"
+ #include "dlg_specific.h"
+ #include <stdio.h>
+ #include <string.h>
+--- a/Drivers/Postgre7.1/execute.c
++++ b/Drivers/Postgre7.1/execute.c
+@@ -34,10 +34,10 @@
+ #include "convert.h"
+ #include "bind.h"
+ #include "lobj.h"
++#include "misc.h"
+
+ extern GLOBAL_VALUES globals;
+
+-RETCODE SQL_API PG_SQLExecute( HSTMT hstmt);
+ SQLRETURN PG_SQLPrepare(SQLHSTMT hstmt,
+ SQLCHAR *szSqlStr , SQLINTEGER cbSqlStr);
+
+--- a/Drivers/Postgre7.1/misc.h
++++ b/Drivers/Postgre7.1/misc.h
+@@ -106,4 +106,17 @@ int my_strlen(char *s, int len);
+
+ int my_strcpy(char *dst, int dst_len, char *src, int src_len);
+
++RETCODE SQL_API PG_SQLExecDirect(HSTMT hstmt, UCHAR FAR *szSqlStr,
++ SDWORD cbSqlStr);
++RETCODE SQL_API PG_SQLExecute(HSTMT hstmt);
++RETCODE SQL_API PG_SQLGetData(HSTMT hstmt, UWORD icol, SWORD fCType,
++ PTR rgbValue, SDWORD cbValueMax,
++ SDWORD FAR *pcbValue);
++RETCODE SQL_API PG_SQLFetch(HSTMT hstmt);
++RETCODE SQL_API PG_SQLColumns(HSTMT hstmt, UCHAR FAR * szTableQualifier,
++ SWORD cbTableQualifier,
++ UCHAR FAR * szTableOwner, SWORD cbTableOwner,
++ UCHAR FAR * szTableName, SWORD cbTableName,
++ UCHAR FAR * szColumnName, SWORD cbColumnName);
++
+ #endif
+--- a/Drivers/Postgre7.1/parse.c
++++ b/Drivers/Postgre7.1/parse.c
+@@ -29,6 +29,7 @@
+ #include "connection.h"
+ #include "qresult.h"
+ #include "pgtypes.h"
++#include "misc.h"
+
+ #ifndef WIN32
+ #ifndef HAVE_STRICMP
+--- a/Drivers/Postgre7.1/results.c
++++ b/Drivers/Postgre7.1/results.c
+@@ -29,6 +29,7 @@
+ #include "qresult.h"
+ #include "convert.h"
+ #include "pgtypes.h"
++#include "misc.h"
+
+ #include <stdio.h>
+
+--- a/Drivers/Postgre7.1/statement.c
++++ b/Drivers/Postgre7.1/statement.c
+@@ -22,6 +22,7 @@
+ #include "qresult.h"
+ #include "convert.h"
+ #include "environ.h"
++#include "misc.h"
+
+ #include <stdio.h>
+ #include <string.h>
+--- a/Drivers/Postgre7.1/statement.h
++++ b/Drivers/Postgre7.1/statement.h
+@@ -220,5 +220,7 @@ void SC_free_params(StatementClass *self, char option);
+ void SC_log_error(char *func, char *desc, StatementClass *self);
+ unsigned long SC_get_bookmark(StatementClass *self);
+
++RETCODE SQL_API PG_SQLAllocStmt(HDBC hdbc, HSTMT FAR *phstmt);
++RETCODE SQL_API PG_SQLFreeStmt(HSTMT hstmt, UWORD fOption);
+
+ #endif
+--- a/Drivers/nn/SQLBindParameter.c
++++ b/Drivers/nn/SQLBindParameter.c
+@@ -126,3 +126,26 @@ RETCODE SQL_API SQLBindParameter(
+ }
+
+
++RETCODE SQL_API SQLSetParam (
++ HSTMT hstmt,
++ UWORD ipar,
++ SWORD fCType,
++ SWORD fSqlType,
++ UDWORD cbColDef,
++ SWORD ibScale,
++ PTR rgbValue,
++ SDWORD FAR *pcbValue)
++{
++ return SQLBindParameter(hstmt,
++ ipar,
++ (SWORD)SQL_PARAM_INPUT_OUTPUT,
++ fCType,
++ fSqlType,
++ cbColDef,
++ ibScale,
++ rgbValue,
++ SQL_SETPARAM_VALUE_MAX,
++ pcbValue );
++}
++
++
+--- a/Drivers/nn/SQLDriverConnect.c
++++ b/Drivers/nn/SQLDriverConnect.c
+@@ -61,12 +61,7 @@ RETCODE SQL_API SQLDriverConnect(
+ break;
+ /* to next case */
+ case SQL_DRIVER_PROMPT:
+- if ( nnodbc_conndialog( hwnd, buf, sizeof(buf)) )
+- {
+- sqlstat = en_IM008;
+- break;
+- }
+- server = buf;
++ sqlstat = en_IM008;
+ break;
+
+ default:
+--- a/Drivers/nn/SQLSetParam.c
++++ b/Drivers/nn/SQLSetParam.c
+@@ -1,40 +1 @@
+-/**
+- Copyright (C) 1995, 1996 by Ke Jin <kejin@visigenic.com>
+- Enhanced for unixODBC (1999) by Peter Harvey <pharvey@codebydesign.com>
+-
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2 of the License, or
+- (at your option) any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-**/
+-#include <config.h>
+-#include "driver.h"
+-
+-RETCODE SQL_API SQLSetParam (
+- HSTMT hstmt,
+- UWORD ipar,
+- SWORD fCType,
+- SWORD fSqlType,
+- UDWORD cbColDef,
+- SWORD ibScale,
+- PTR rgbValue,
+- SDWORD FAR *pcbValue)
+-{
+- return SQLBindParameter(hstmt,
+- ipar,
+- (SWORD)SQL_PARAM_INPUT_OUTPUT,
+- fCType,
+- fSqlType,
+- cbColDef,
+- ibScale,
+- rgbValue,
+- SQL_SETPARAM_VALUE_MAX,
+- pcbValue );
+-}
+-
+-
++/* Moved to SQLBindParameter.c. */
+--- a/Drivers/nn/connect.c
++++ b/Drivers/nn/connect.c
+@@ -129,6 +129,7 @@ readtoken(
+
+ #if !defined(WINDOWS) && !defined(WIN32) && !defined(OS2)
+ # include <pwd.h>
++# include <unistd.h>
+ # define UNIX_PWD
+ #endif
+
+--- a/Drivers/nn/driver.h
++++ b/Drivers/nn/driver.h
+@@ -113,6 +113,11 @@ char* getkeyvalinstr(
+ char* value,
+ int size );
+
++int sqlputdata (stmt_t* pstmt, int ipar, char* data);
++int sqlexecute (stmt_t* pstmt);
++
++int upper_strneq (char* s1, char* s2, int n);
++
+ #endif
+
+
+--- a/Drivers/nn/herr.h
++++ b/Drivers/nn/herr.h
+@@ -113,6 +113,7 @@ enum {
+ extern void* nnodbc_pusherr (void* stack, int code, char* msg);
+ extern void nnodbc_poperr (void* stack);
+ extern int nnodbc_errstkempty (void* stack);
++extern void nnodbc_errstkunset (void* stack);
+ extern int nnodbc_getsqlstatcode (void* stack);
+ extern char* nnodbc_getsqlstatstr (void* stack);
+ extern char* nnodbc_getsqlstatmsg (void* stack);
+--- a/Drivers/nn/misc.c
++++ b/Drivers/nn/misc.c
+@@ -15,6 +15,7 @@
+
+ #include <config.h>
+ #include <nnconfig.h>
++#include "driver.h"
+
+ int upper_strneq(
+ char* s1,
+--- a/Drivers/nn/nncol.c
++++ b/Drivers/nn/nncol.c
+@@ -18,6 +18,7 @@
+
+ #include <nncol.h>
+ #include "nncol.ci"
++#include "driver.h"
+
+ int nnsql_getcolidxbyname( char* col_name )
+ {
+--- a/Drivers/nn/nndate.c
++++ b/Drivers/nn/nndate.c
+@@ -16,6 +16,7 @@
+ #include <nnconfig.h>
+
+ #include <nndate.h>
++#include "driver.h"
+
+ static char* month_name[] =
+ { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+--- a/Drivers/nn/nntp.c
++++ b/Drivers/nn/nntp.c
+@@ -19,6 +19,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <nntp.h>
++#include "driver.h"
+
+ # include "nntp.ci"
+
+@@ -28,6 +29,8 @@
+ # include <sys/socket.h>
+ # include <netdb.h>
+ # include <netinet/in.h>
++# include <arpa/inet.h>
++# include <unistd.h>
+
+ #else
+
+--- a/Drivers/nn/nntp.h
++++ b/Drivers/nn/nntp.h
+@@ -78,6 +78,7 @@ extern int nntp_end_post ( void* hcndes );
+
+ extern int nntp_cancel ( void* hcndes, char* group, char* sender,
+ char* from, char* msgid);
++extern int nntp_postok ( void* hcndes );
+
+ extern int nntp_getaccmode( void* hcndes );
+ extern void nntp_setaccmode( void* hcndes, int mode );
+--- a/Drivers/nn/yyenv.h
++++ b/Drivers/nn/yyenv.h
+@@ -37,4 +37,7 @@ typedef struct
+ # define YYINITDEPTH (512)
+ # endif
+
++void nnsql_yyinit(yyenv_t* penv, yystmt_t* yystmt);
++int nnsql_yyparse(yyenv_t* pyyenv);
++
+ #endif
+--- a/Drivers/nn/yylex.c
++++ b/Drivers/nn/yylex.c
+@@ -27,6 +27,8 @@
+ #include <stdio.h>
+ #include <ctype.h>
+
++#include "driver.h"
++
+ static int getcmpopidxbyname(char* name)
+ {
+ int i, size;
+--- a/Drivers/nn/yyparse.y
++++ b/Drivers/nn/yyparse.y
+@@ -39,6 +39,9 @@ static char sccsid[]
+ #else
+ # define yylex() nnsql_yylex(&yylval, pyyenv)
+ #endif
++union YYSTYPE;
++int nnsql_yylex(union YYSTYPE* pyylval, yyenv_t* penv);
++
+
+ #define yyparse(x) nnsql_yyparse (yyenv_t* pyyenv)
+ #define yyerror(msg) nnsql_yyerror (pyyenv, msg)
+--- a/Drivers/nn/yystmt.c
++++ b/Drivers/nn/yystmt.c
+@@ -14,6 +14,9 @@
+ **/
+ #include <config.h>
+ #include "driver.h"
++#if !defined(WINDOWS) && !defined(WIN32) && !defined(OS2)
++#include <unistd.h>
++#endif
+
+ static char sccsid[]
+ = "@(#)NNSQL(NetNews SQL) v0.5, Copyright(c) 1995, 1996 by Ke Jin";
+--- a/Drivers/nn/yystmt.h
++++ b/Drivers/nn/yystmt.h
+@@ -151,4 +151,9 @@ typedef struct {
+ long artnum_max;
+ } yystmt_t;
+
++void nnsql_getrange(void* hstmt, long* pmin, long* pmax);
++int nnsql_strlike(char* str, char* pattern, char esc, int flag);
++int nnsql_srchtree_evl(void* hstmt);
++int nnsql_srchtree_tchk(void* hstmt);
++
+ #endif
+
diff --git a/dev-db/unixODBC/metadata.xml b/dev-db/unixODBC/metadata.xml
index 7b5139cb9fd6..106e5cc79ace 100644
--- a/dev-db/unixODBC/metadata.xml
+++ b/dev-db/unixODBC/metadata.xml
@@ -6,4 +6,7 @@
<flag name="minimal">Disable bundled drivers and extra libraries (most users don't need these)</flag>
<flag name="odbcmanual">Administrator, Internal Structure, Programmer and User documentation</flag>
</use>
+ <upstream>
+ <remote-id type="github">lurcher/unixODBC</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/unixODBC/unixODBC-2.3.11.ebuild b/dev-db/unixODBC/unixODBC-2.3.11.ebuild
new file mode 100644
index 000000000000..4f2306d56f48
--- /dev/null
+++ b/dev-db/unixODBC/unixODBC-2.3.11.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="Complete ODBC driver manager"
+HOMEPAGE="https://www.unixodbc.org/"
+SRC_URI="https://www.unixodbc.org/unixODBC-${PV}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+minimal odbcmanual static-libs unicode"
+
+RDEPEND="
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-libs/readline-6.2_p5-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/ncurses-5.9-r3:=[${MULTILIB_USEDEP}]
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+"
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/odbc_config )
+MULTILIB_WRAPPED_HEADERS=( /usr/include/unixODBC/unixodbc_conf.h /usr/include/unixodbc.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.9-clang16.patch
+ "${FILESDIR}"/${P}-config-no-install.patch
+)
+
+src_prepare() {
+ default
+
+ # Only needed for config.h install patch
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # Needs flex, bison
+ export LEX=flex
+ unset YACC
+
+ # --enable-driver-conf is --enable-driverc as per configure.in
+ local myeconfargs=(
+ --cache-file="${BUILD_DIR}"/config.cache
+ --sysconfdir="${EPREFIX}"/etc/${PN}
+ --disable-editline
+ --disable-static
+ --enable-iconv
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable !minimal drivers)
+ $(use_enable !minimal driverc)
+ $(use_with unicode iconv-char-enc UTF8)
+ $(use_with unicode iconv-ucode-enc UTF16LE)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use odbcmanual ; then
+ # We could simply run "make install-html" if we'd not had
+ # out-of-source builds here.
+ docinto html
+ dodoc -r doc/.
+ find "${ED}/usr/share/doc/${PF}/html" -name "Makefile*" -delete || die
+ fi
+
+ use prefix && dodoc README*
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-db/unixODBC/unixODBC-2.3.9.ebuild b/dev-db/unixODBC/unixODBC-2.3.12.ebuild
index 7c2f87cf0cd7..a366b51de1d1 100644
--- a/dev-db/unixODBC/unixODBC-2.3.9.ebuild
+++ b/dev-db/unixODBC/unixODBC-2.3.12.ebuild
@@ -1,37 +1,49 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit multilib-minimal
+EAPI=8
-DESCRIPTION="complete ODBC driver manager"
-HOMEPAGE="http://www.unixodbc.org/"
-SRC_URI="ftp://ftp.unixodbc.org/pub/${PN}/${P}.tar.gz"
+inherit autotools multilib-minimal
+
+DESCRIPTION="Complete ODBC driver manager"
+HOMEPAGE="https://www.unixodbc.org/"
+SRC_URI="https://www.unixodbc.org/unixODBC-${PV}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+minimal odbcmanual static-libs unicode"
RDEPEND="
- || (
- dev-libs/libltdl:0[${MULTILIB_USEDEP}]
- >=sys-devel/libtool-2.4.2-r1[${MULTILIB_USEDEP}]
- )
- >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}]
- >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-libs/readline-6.2_p5-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/ncurses-5.9-r3:=[${MULTILIB_USEDEP}]
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
+ sys-devel/bison
sys-devel/flex
"
MULTILIB_CHOST_TOOLS=( /usr/bin/odbc_config )
-MULTILIB_WRAPPED_HEADERS=( /usr/include/unixodbc_conf.h )
+MULTILIB_WRAPPED_HEADERS=( /usr/include/unixODBC/unixodbc_conf.h /usr/include/unixodbc.h )
+
+src_prepare() {
+ default
+
+ # Only needed for config.h install patch
+ eautoreconf
+}
multilib_src_configure() {
+ # Needs flex, bison
+ export LEX=flex
+ unset YACC
+
# --enable-driver-conf is --enable-driverc as per configure.in
- myeconfargs=(
+ local myeconfargs=(
+ --cache-file="${BUILD_DIR}"/config.cache
--sysconfdir="${EPREFIX}"/etc/${PN}
--disable-editline
--disable-static