From 29aabba0ea759c6a2864ff5631735b67ee38e5e0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 5 Feb 2020 18:44:56 +0000 Subject: gentoo resync : 05.02.2020 --- dev-db/Manifest.gz | Bin 17771 -> 17804 bytes dev-db/cdb/Manifest | 2 +- dev-db/cdb/cdb-0.75-r4.ebuild | 2 +- dev-db/freetds/Manifest | 2 +- dev-db/freetds/freetds-1.00.558.ebuild | 2 +- dev-db/libdbi-drivers/Manifest | 2 +- dev-db/libdbi-drivers/libdbi-drivers-0.9.0.ebuild | 2 +- dev-db/libdbi/Manifest | 2 +- dev-db/libdbi/libdbi-0.9.0.ebuild | 2 +- dev-db/libiodbc/Manifest | 2 +- dev-db/libiodbc/libiodbc-3.52.12.ebuild | 2 +- dev-db/lmdb/Manifest | 2 +- dev-db/lmdb/lmdb-0.9.23.ebuild | 2 +- dev-db/m17n-db/Manifest | 2 +- dev-db/m17n-db/m17n-db-1.7.0.ebuild | 2 +- dev-db/mariadb/Manifest | 15 +- dev-db/mariadb/mariadb-10.1.38-r1.ebuild | 2 +- dev-db/mariadb/mariadb-10.1.44.ebuild | 901 +++++++++++++++++ dev-db/mariadb/mariadb-10.2.22-r1.ebuild | 2 +- dev-db/mariadb/mariadb-10.2.31.ebuild | 987 +++++++++++++++++++ dev-db/mariadb/mariadb-10.3.22.ebuild | 987 +++++++++++++++++++ dev-db/mariadb/mariadb-10.4.12.ebuild | 1017 ++++++++++++++++++++ dev-db/mariadb/mariadb-5.5.67.ebuild | 836 ++++++++++++++++ dev-db/mysql++/Manifest | 2 +- dev-db/mysql++/mysql++-3.2.3-r1.ebuild | 2 +- dev-db/mysql-connector-c/Manifest | 2 +- .../mysql-connector-c-6.1.11-r2.ebuild | 2 +- dev-db/mysql-init-scripts/Manifest | 2 +- .../mysql-init-scripts-2.3-r3.ebuild | 2 +- dev-db/mysql-workbench/Manifest | 3 + .../mysql-workbench-8.0.19-mysql-connector-8.patch | 12 + .../mysql-workbench/mysql-workbench-8.0.19.ebuild | 109 +++ dev-db/mysql/Manifest | 10 +- dev-db/mysql/mysql-5.6.44-r1.ebuild | 2 +- dev-db/mysql/mysql-5.7.26-r1.ebuild | 2 +- dev-db/mysql/mysql-5.7.29.ebuild | 1001 +++++++++++++++++++ dev-db/mysql/mysql-8.0.19-r1.ebuild | 2 +- dev-db/mytop/Manifest | 2 +- dev-db/mytop/mytop-1.6-r4.ebuild | 2 +- dev-db/percona-server/Manifest | 4 +- .../percona-server/percona-server-8.0.18.9.ebuild | 2 +- dev-db/postgis/Manifest | 10 +- dev-db/postgis/postgis-2.4.6.ebuild | 125 --- dev-db/postgis/postgis-2.5.1-r1.ebuild | 123 --- dev-db/postgis/postgis-2.5.3-r1.ebuild | 135 +++ dev-db/postgis/postgis-2.5.3.ebuild | 123 --- dev-db/postgis/postgis-3.0.0-r1.ebuild | 135 +++ dev-db/postgis/postgis-3.0.0.ebuild | 125 --- dev-db/postgis/postgis-9999.ebuild | 104 +- dev-db/postgresql/Manifest | 28 +- dev-db/postgresql/postgresql-10.11.ebuild | 2 +- dev-db/postgresql/postgresql-10.9.ebuild | 2 +- dev-db/postgresql/postgresql-11.4.ebuild | 2 +- dev-db/postgresql/postgresql-11.6.ebuild | 2 +- dev-db/postgresql/postgresql-12.1.ebuild | 2 +- dev-db/postgresql/postgresql-9.4.22.ebuild | 2 +- dev-db/postgresql/postgresql-9.4.23.ebuild | 2 +- dev-db/postgresql/postgresql-9.4.25.ebuild | 2 +- dev-db/postgresql/postgresql-9.5.17.ebuild | 2 +- dev-db/postgresql/postgresql-9.5.18.ebuild | 2 +- dev-db/postgresql/postgresql-9.5.20.ebuild | 2 +- dev-db/postgresql/postgresql-9.6.13.ebuild | 2 +- dev-db/postgresql/postgresql-9.6.14.ebuild | 2 +- dev-db/postgresql/postgresql-9.6.16.ebuild | 2 +- dev-db/qdbm/Manifest | 2 +- dev-db/qdbm/qdbm-1.8.78-r2.ebuild | 2 +- dev-db/sqlite/Manifest | 2 +- dev-db/sqlite/sqlite-3.29.0.ebuild | 2 +- dev-db/tokyocabinet/Manifest | 2 +- dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild | 2 +- dev-db/unixODBC/Manifest | 4 +- dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild | 2 +- dev-db/unixODBC/unixODBC-2.3.7.ebuild | 4 +- 73 files changed, 6273 insertions(+), 623 deletions(-) create mode 100644 dev-db/mariadb/mariadb-10.1.44.ebuild create mode 100644 dev-db/mariadb/mariadb-10.2.31.ebuild create mode 100644 dev-db/mariadb/mariadb-10.3.22.ebuild create mode 100644 dev-db/mariadb/mariadb-10.4.12.ebuild create mode 100644 dev-db/mariadb/mariadb-5.5.67.ebuild create mode 100644 dev-db/mysql-workbench/files/mysql-workbench-8.0.19-mysql-connector-8.patch create mode 100644 dev-db/mysql-workbench/mysql-workbench-8.0.19.ebuild create mode 100644 dev-db/mysql/mysql-5.7.29.ebuild delete mode 100644 dev-db/postgis/postgis-2.4.6.ebuild delete mode 100644 dev-db/postgis/postgis-2.5.1-r1.ebuild create mode 100644 dev-db/postgis/postgis-2.5.3-r1.ebuild delete mode 100644 dev-db/postgis/postgis-2.5.3.ebuild create mode 100644 dev-db/postgis/postgis-3.0.0-r1.ebuild delete mode 100644 dev-db/postgis/postgis-3.0.0.ebuild (limited to 'dev-db') diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz index 02e5a4b5481a..859adee9b898 100644 Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ diff --git a/dev-db/cdb/Manifest b/dev-db/cdb/Manifest index fa047a8df8c3..f51509bbdac4 100644 --- a/dev-db/cdb/Manifest +++ b/dev-db/cdb/Manifest @@ -1,5 +1,5 @@ AUX cdb-0.75-errno.diff 243 BLAKE2B e0b2433529e8ade1c4802353017948fd709f47843f339d8e1f77f9c665ece80721613d2dce8c9e67b595ee03f9b7298b04f927a26ad0bf8b5e38a10836799c81 SHA512 03c64d2ab185c16d88f51aaa12d1ca06102444c3eed9d712fcd53e6b8eaeeeacbdf525d91c7fc3eb28bf88be776de4748157d596103b9fc7776a5bde05eef4c4 AUX cdb-0.75-stdint.diff 11423 BLAKE2B 85f0c3d1b2908c001ebdb055ebe4d7a79bf16a61d1d3ce8295e17cc9c0d5f1d7859465e3dba377a2857741ef082efb621c0cb77179bc6208b35120d390b71f53 SHA512 0308d25c6f9ee3b8fc49e75a2e69c7cdbf8cca7dbf165b3a107d5e2717051f6c68df04a962456295c56e6dde97ee0777944cf406c3eb48f4b7f39ecfaf56f877 DIST cdb-0.75.tar.gz 54162 BLAKE2B 7b488bf330b2aac88a1cca82a6a49e24d0fd953c77935231a31bd72cc0936a37628736b5b22ea0d58aaa77cd118976ab8aa82ccc080f99e190e3f1db5d51b622 SHA512 6faeab91a77457348b58f685e81000b83fb609691317198a06284c5c62dee1e4d6138f90be1e727021f279d740169c175a21b23c96adb39a654e3f7fafdf36c0 -EBUILD cdb-0.75-r4.ebuild 1386 BLAKE2B 6a54d0922fa13cbd734c56cf072863b0953cb6c6808a9ab55c21bbf061aee7808579bdc5fa3764cdcfbc19c3b5b6c36938e715b22f0c6f525efada08310b84a4 SHA512 7bd1208a961f7a9d6abb77e9abc3c01a3e4fdad95aa4fdc0d6dcb619eea8c6e8340ef593c109532406bdc815db0ac90a5a5fb694e341144c9cf7b2dd6ed906fb +EBUILD cdb-0.75-r4.ebuild 1387 BLAKE2B 960b7e70cc8200e3fe9ff858b1c5c2980d64c3cf46a0113bceb6fa5b8a2f2d81c7601bfb06043a39cebfa8b6165fed69193abedc1d6ae7c283c17d1ebd88ace9 SHA512 6968d92b1aca4a81df95634591e056ce7c63b9cfeb5535095a06652192397734f259e34d9be11d6b242020a0882f1b7ef0b33d1147a314f9f50b9f805371375c MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 diff --git a/dev-db/cdb/cdb-0.75-r4.ebuild b/dev-db/cdb/cdb-0.75-r4.ebuild index 4ba24d9d243a..ce6eb3fa56d0 100644 --- a/dev-db/cdb/cdb-0.75-r4.ebuild +++ b/dev-db/cdb/cdb-0.75-r4.ebuild @@ -4,7 +4,7 @@ EAPI=5 inherit eutils multilib toolchain-funcs -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" DESCRIPTION="Fast, reliable, simple package for creating and reading constant databases" HOMEPAGE="http://cr.yp.to/cdb.html" diff --git a/dev-db/freetds/Manifest b/dev-db/freetds/Manifest index 2932770d3598..5ad32681600a 100644 --- a/dev-db/freetds/Manifest +++ b/dev-db/freetds/Manifest @@ -1,3 +1,3 @@ DIST freetds-dev.1.00.558.tar.gz 3151542 BLAKE2B e7b7eb1d4bad1472a675e7657d524837a27ba18176cf410ebad6dcb949cd59bb50e932526790c816c05cf0ba02fb750a1cfbcda10073e5cbf8908bdc4ceb9cc5 SHA512 763f04ae36be8385f9be955defd2d91698389836e80e19019f0da0ee15515d8b7e3733f7659362a307b492dc83830f0a7f27d2a68cb5b56e2ef171ac1dcfeeca -EBUILD freetds-1.00.558.ebuild 1891 BLAKE2B d3e8f2bc1a30fa972b7d4d8efc3826047139287f4a92d27ed40d11979549e8fd5e4e97dcbfb987a23704a101dfb91ee95529f559529c9aa6fb27d90c31bbd5c1 SHA512 3a3fd64320a0ffb7577e29aaf40a6b4dde8f5c04bfcaeab43daeabfe0b3bf19f849dc7617f65544c46684fe813d6d478918bde615c4b215add78fad78dcbcb09 +EBUILD freetds-1.00.558.ebuild 1892 BLAKE2B 478f7c2dc55f70f354578aae7b4e4f8aeefa80a7e8ae5cd854f9055ad268d58f4911b34f3110e3895f16e1c539dbc26fa195653929a53e5819f2456a40939b42 SHA512 6194661dff4d93344d378ff6a54ce6a71f314a59d476313b645848674a7abe85a4bf18c98bda36a00b223add88d77f647fba2d9af7fe06d31fdbba4bede9d5dc MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 diff --git a/dev-db/freetds/freetds-1.00.558.ebuild b/dev-db/freetds/freetds-1.00.558.ebuild index 4483fa5ca555..b01571463c60 100644 --- a/dev-db/freetds/freetds-1.00.558.ebuild +++ b/dev-db/freetds/freetds-1.00.558.ebuild @@ -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 s390 ~sh sparc x86 ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-macos" IUSE="debug gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs" # iODBC and unixODBC are mutually-exclusive choices for diff --git a/dev-db/libdbi-drivers/Manifest b/dev-db/libdbi-drivers/Manifest index 44f7fab13427..c88922184712 100644 --- a/dev-db/libdbi-drivers/Manifest +++ b/dev-db/libdbi-drivers/Manifest @@ -1,5 +1,5 @@ AUX libdbi-drivers-0.9.0-doc-build-fix.patch 694 BLAKE2B 95207e6fbd947c01a1c3a99806f09e3f932b6d7b6fe1b55ffeb98ce73a54b7f984ffe9811c834e53e961500ae688b0548599b3f9b47a5d1e083eedf5c7ed650d SHA512 0ff58a08909327db91ebd0dfad7ac88ebb17156bbb7afc8bfc8a3711fee37708a7ad715ed50b5085cdd15d3cdb5c06de3a0779694104fb6332a1e9c2f51f5b0e DIST libdbi-drivers-0.9.0.tar.gz 1829864 BLAKE2B 2071c0cc21b1b4eeda926d5ce36f6dde03ede206dac91780aabafcb7c5b399f4b9580910e5ede08c9f0bf026f4af2088d1d0e8c1835b86273a7739b2946ed3c3 SHA512 f4d3aaa71014697c53012a10bf9f0af398bcf5ee5872af165f8f43a682d2fb3045a9172ffea0e068dcbfcad52494878c037d8d90fadfaf176936e42f7f1e85c1 EBUILD libdbi-drivers-0.9.0-r1.ebuild 2182 BLAKE2B 47d5e10c412a8006b23c3b27ad50b4ac13f4e80862a2561c0bb104dbb7fccd9cecc84e53fb8132406eab4b9b7e6a5a08f1ce21e56efef940e1b6dbb1ce0b51af SHA512 4d6351dd711c3a0348e379bfd49e2e9baf55b73051c1475c1650629ed23054e0c02af0c19275d96afe1c19ae23e94744be12f6e4c77f00994f43154a3b8b0ccd -EBUILD libdbi-drivers-0.9.0.ebuild 2120 BLAKE2B 57cf6482f41606d697fb5d1502ffbfd06d8964e5821a369fa00a94153151727e5dcc84d5290e0896c9740270cec7fbd02dc4d0096ac177960751a903d4a64841 SHA512 529b6593d9eb125a50f5139d3760a45045aa44641818a4c9287665f86cbedbe87434736139a7622e1bf65522445821610b56e763eb4799e221ac11fed249e639 +EBUILD libdbi-drivers-0.9.0.ebuild 2121 BLAKE2B 38856712429751608302a225183962938b6c40b759df3fe0f893abf3ca13e35f1a9b07ce829d6b6977304e23b4f1d5181b53bfdf545b2def79f9dec8d937b182 SHA512 fce5743329a2f046933f875e54074c97b849d10ef230fa273bd1f948670bf5731dc970983464fa959014044066f621b4a232275119f96c9e8a65f877efd60328 MISC metadata.xml 302 BLAKE2B 50e613a8be312f9b8e234ef4a810a318f51f70e71f37a01f1932f2e70fecc543956e84690de88a14dac252101865ac0ef454966bc1bf54e5f574d2d6fddecf3e SHA512 d0d6c905c747105c3b5c2bde24ea7f8c63225779fe41f106b3de3d3082cbc01b0749546c3477db1e9f14db44e1b2921316f4cddb256ef8dddec3b4176a051c70 diff --git a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0.ebuild b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0.ebuild index dd4cbe24ff5c..f205e52c9d62 100644 --- a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0.ebuild +++ b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="http://libdbi-drivers.sourceforge.net/" LICENSE="LGPL-2.1" IUSE="doc firebird mysql oci8 postgres +sqlite static-libs" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" SLOT=0 REQUIRED_USE="|| ( mysql postgres sqlite firebird oci8 )" RESTRICT="firebird? ( bindist )" diff --git a/dev-db/libdbi/Manifest b/dev-db/libdbi/Manifest index f5618ca44506..3651bf02d626 100644 --- a/dev-db/libdbi/Manifest +++ b/dev-db/libdbi/Manifest @@ -1,5 +1,5 @@ AUX dbi.pc.in 244 BLAKE2B b42f4a78c39034fe1ff4f2cf1ffc8bd252eb17e68dc50e03fd47ecd9838c37d00d5c4eb4a4b5ae5b3dd66ad63ba2c313923203b5514bf1161e405cd21e4fa4ce SHA512 6865b37e8d84d7a95b0ae482d9b1cb486ab7abbe726e699099ea4368d418f64b6d8cb02ecd4d1473f643aa5d715c57817a9496bd8950461921d5db4ff4272ef9 AUX libdbi-0.9.0-doc-build-fix.patch 662 BLAKE2B 652bdba6b0e9b04bee87f48f0db1fba774bf153bd73f925b3d1111823c14e82ccf3202f8023736e3b0a91e00c28c6aca14ca5ffcad3126723c7f02cbc30a7049 SHA512 db18d3697be13ef416914843d0933caead3b1f57c13790373ec435318212f0ccfb599514f8bd6f1c603e09f13bd526b62322ff92e68512e43020b31f8d0dec55 DIST libdbi-0.9.0.tar.gz 1194284 BLAKE2B 36ee5d9ec0a9b088735173cfa9a85e30ee595d6781aafeb994271e7745d259dbe983bea037182c471dc35ae36486a5fb8690e9c716e2e08a4a3964d90abd64f0 SHA512 ee8777195af43057409d051a6055ec0467cd926d48da076458b09f91d2f0995a1cc4bc071762e401b7bdcd8a4173fd8ea3472db3a1518e34b4c5b5ed24e4e2ce -EBUILD libdbi-0.9.0.ebuild 1346 BLAKE2B 036fc821ff3c209ef53257d28699c73458aee969697c794e910ce0620f6f7f98808cf79591895ef407d8b3cbedc98ff4255be2a22db18372f0cfcb2194d3ab68 SHA512 6f677734d80d95a67f716993696bc08fb4cd00bb7604c6a0cb734281ccd16d7b90d020526e00cab4cae0e53f2b391fa93805fc498ce8747959785f6484943382 +EBUILD libdbi-0.9.0.ebuild 1347 BLAKE2B 66b9c9e93ae09423c6cc2ba08ce630a532c69d0be728e6aff05143ebb4d844f5a25ffd718843a52fc908083e1377a975f8b8ae629a9fec5bfc1b6f2dcdcb6576 SHA512 da6e72f72facf7b3bf3baccfbbf9cf3f6b186e655a37a59816b9c0f9372cb88cadd1f194a21a6562fed56b6580a881bde48f03545e4a1c71f9d7411dc4eb094a MISC metadata.xml 294 BLAKE2B 1d9ff5692cbe4272918f7c3a8a5f9f1e564fd2ac3d5e5878be44f916557ecdefb843ad3b56e778d2833361609ac8cc9dec2939c04bab59687b4a7d2c25f4c750 SHA512 acb2d7a1ab6206a1f489cc8999ae35f014453bc95764000c5a6492a4b8832f2e0cf83bc875aecf50a6a6beb6bedabddb74628a2599f6c84a2d4aded345a39cd1 diff --git a/dev-db/libdbi/libdbi-0.9.0.ebuild b/dev-db/libdbi/libdbi-0.9.0.ebuild index b63b8ce2a256..9fd6325ad1e0 100644 --- a/dev-db/libdbi/libdbi-0.9.0.ebuild +++ b/dev-db/libdbi/libdbi-0.9.0.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="http://libdbi.sourceforge.net/" LICENSE="LGPL-2.1" IUSE="doc static-libs" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" SLOT=0 DOCS="AUTHORS ChangeLog README README.osx TODO" diff --git a/dev-db/libiodbc/Manifest b/dev-db/libiodbc/Manifest index cdeee7dc8ce3..fa0cb34c8251 100644 --- a/dev-db/libiodbc/Manifest +++ b/dev-db/libiodbc/Manifest @@ -4,5 +4,5 @@ AUX libiodbc-3.52.7-debian_bug501100.patch 408 BLAKE2B 6fb1e24cb2d4f32eca6cde6d5 AUX libiodbc-3.52.7-debian_bug508480.patch 577 BLAKE2B 0d605b754b6b4b970a15a236be6eebdc6e24dcb1231cacf10e859b22eb577ac49b26ffcdae437cf05de26850de33ed10cfbbffb9b54ab79fada2525a6de939a3 SHA512 2e3a0ab2284b0b302e2eb5d27e1cc952810c5ec2d123491047cda15d1e0b2aa651a1d3357fb330be24fa72ec855a89143eb88bd4b87ce079b469b6ab8647ce74 AUX libiodbc-3.52.7-unicode_includes.patch 432 BLAKE2B 3f9c833c223fb5d5dd94530501b5403732b88b420a6cf6a0453734d1cacd9eebdb0e69d7cf265b4ce2da4baa2faad32b467beffdf76d6c339316323b2ba9237c SHA512 b4bd56e88199ed06ec7ce64bbf53c3d792c501cdadee44a1c52d95336c36e93c2379d312b14c576a138210f2cf277e895ded18e80db4e5bb3f664ccb5695a305 DIST libiodbc-3.52.12.zip 1248801 BLAKE2B e19b740904a332df7d7f510a6ef7414121e99bcbce0b89db94f4b7a09c0de09f39a8f8abdbec40029b79140fab6e1e1d319ad146cc7d74872a7fe69852a3f710 SHA512 240f6f7dc406fcc6688499bac8800b81380d32e8443e4f098875fabc649da1b86567b67d2259206be64cced8537d3171040d16be39845b9009cd90be62ae97db -EBUILD libiodbc-3.52.12.ebuild 1628 BLAKE2B e4ea02dd76411d01c09b779db52becaa63aee74f0ce0b367cb35c13d66b8f36527570c78ffb8eff8a988b6bc1f3f25088f030edb875267eb2960889073f6fc0a SHA512 eeefb80bd666c60bb4be6a01821e3556130af4b5042b21cd5c0c9e3527e9fef1bfdb5481a46e7312610238ca0c9dd9138db12237f5c8b5619f216fefd18cd0bb +EBUILD libiodbc-3.52.12.ebuild 1629 BLAKE2B af3e81d3836ff46069f24ada3b282cffad3b7750776226b7086d226790bded8a127f0c46310b5a29180ea79a082c6dd83b769d70d33df39ad8c4ebd1de660a27 SHA512 47faafab08dcb1828f3a3b286fb7ddfb48659908ff80f268d209e23b7867abe0164578dfaf60f7273e0ca33d3b7d975750866767258de2d7992bba952d892d66 MISC metadata.xml 251 BLAKE2B de1fe040cd23515516e31a81c78089f5fb4b9240f43a659d0e6981665bec427ebfe5f68bbea534b92dd4352f42e366c2070d3ef3e7fc0d3beee880445d973bef SHA512 ec0eb5cbc30d0a7ad8c74612255d84a473c370d977f9be4c95904eb5281060bbe3c23d97fb9537e844bbaf90c2f6dd1fae891d44628bbca29fbecb0fe0cb8bbd diff --git a/dev-db/libiodbc/libiodbc-3.52.12.ebuild b/dev-db/libiodbc/libiodbc-3.52.12.ebuild index 3cf5050bedab..ade50ccb79df 100644 --- a/dev-db/libiodbc/libiodbc-3.52.12.ebuild +++ b/dev-db/libiodbc/libiodbc-3.52.12.ebuild @@ -11,7 +11,7 @@ DESCRIPTION="ODBC Interface for Linux" HOMEPAGE="http://www.iodbc.org/" SRC_URI="https://github.com/openlink/${MY_PN}/archive/v${PV}.zip -> ${P}.zip" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" LICENSE="|| ( LGPL-2 BSD )" SLOT="0" IUSE="gtk" diff --git a/dev-db/lmdb/Manifest b/dev-db/lmdb/Manifest index ce87d3ecb52f..de47d6f50398 100644 --- a/dev-db/lmdb/Manifest +++ b/dev-db/lmdb/Manifest @@ -1,6 +1,6 @@ AUX lmdb.pc 295 BLAKE2B 29c1cc5a70eb3d7f5c9dc4b1646644045514929428f164894ece93a4fabf33ca464e1f116c8a803b499aabf28b6dec372b50c46a2fa4fc1eb65105208759f4ba SHA512 d0749849a0ca0593fbff0b4f8db7143177c588e342978bdb8331238761379f5d5bf686190e39506ff6b0abf6f9d668c96480da685c56d7ed44e7756f92f4e057 DIST LMDB_0.9.23.tar.gz 143813 BLAKE2B 252acad974a7ed528fe0e52b8332845bc0b6076599bbc79ef2c3f41459acb6ccbe5f6030c6a258fe30633c4c0568fa05fa6d46dc05bab3f93ee3aab16e6faa89 SHA512 47466a96ce288d18d489acf1abf811aa973649848a4cac31f71e1f25ea781a055ebd6616d2d630214b2df2f146f12609c82d65be0196f49d6b46a6c96464e120 DIST LMDB_0.9.24.tar.gz 143916 BLAKE2B f075ec5f4dfb77685188229e20f12c4febe8295c7d35ed15c3db492b68af68cc7f76741078e9bb524d2c38587839f542e964af1e5d6d984bb28bd602caabbb8d SHA512 c3a96c27f13c072ef5861bcea045d82f0a220dbd938579411ea6c38ac0696b3620c71f1e2cc56d31db5105f3533da95aba1ac34653d8bdcfa4f2f1fb831cccb1 -EBUILD lmdb-0.9.23.ebuild 2265 BLAKE2B 5bace75616cfb54910c2650a5ede02f5528fefde864ca50a1af1768166aff8b8963eec83e7bdf5b047c1140c9a9c81b80f2188454972bc7dba792b39c8a6e820 SHA512 e37446ec6499417508fa35c4b2ab17c21f561ce6e4132b705698f77f767f8665be19d63cbd7683f2a057af9f7e5269b7345829db184105b57fa78420803227bb +EBUILD lmdb-0.9.23.ebuild 2266 BLAKE2B 0f092a5ba43295aac307cd9629a0fe72c64f93f1c1eeb776b5c981c2292c6b7f7ab4ba511186c96b74da09a915772804ca7ec0de327b189f051bbe4e0f47643e SHA512 bf4fd839babf1cddab710992efc690163ce17073d440564d2721f16c1a27f8155cb7a3af39c3e7c01612e57a9c1f710d62ffb2d7617f9e912396759908f9a51f EBUILD lmdb-0.9.24.ebuild 2287 BLAKE2B 72934fcabbe1802d6ac95efcef46857a7fd6bb24c2817d4d8d94187c6731685047538e510f65d073f1981944b46bdb2a67db0cec6d467bf4df6c1e759a38f967 SHA512 91c57ddefb164689905df0864274057098925a89291895526a060aba96eb6f4686f2a592ab2ae298e7a8349bdce439f87555a981993cd1e3feb2909fe5f75825 MISC metadata.xml 540 BLAKE2B b064697aa562165a627cb1be8cce847c8046d10cf184a4563a632c43ebd1916ad866e843efd49ae5659e379f3695514005b9d601117719c9f48652dab48dcea8 SHA512 7ff1fddaca73c5d7b4a6a9ada9a7aad60e16c8c7063ad5cd9cf57301f504f6e0fe53bf568dec83abf522c2c099d2b3b2463619df17077ebaa3b39bd67bd738c4 diff --git a/dev-db/lmdb/lmdb-0.9.23.ebuild b/dev-db/lmdb/lmdb-0.9.23.ebuild index 0365448cdf10..fa9909c351ce 100644 --- a/dev-db/lmdb/lmdb-0.9.23.ebuild +++ b/dev-db/lmdb/lmdb-0.9.23.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/LMDB/lmdb/archive/LMDB_${PV}.tar.gz" LICENSE="OPENLDAP" SLOT="0/${PV}" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" IUSE="static-libs" DEPEND="" diff --git a/dev-db/m17n-db/Manifest b/dev-db/m17n-db/Manifest index e21c4dc0beb8..97ec51a94975 100644 --- a/dev-db/m17n-db/Manifest +++ b/dev-db/m17n-db/Manifest @@ -1,5 +1,5 @@ DIST m17n-db-1.7.0.tar.gz 1939608 BLAKE2B 1b79e6ad32336a9ce34e14a52907b4064c410f70e356797ef59b1c9b8c83180453d820475b4dfb486eb1eb1d063607274b561a5120a60db0e0cfccad53d67eca SHA512 02c3cb347e9f5c840a723de9ed85be84fc9fb5f86d4963f0d1c6b669045d37d10e5efcf5ac0e0c3cb7249fb391b0dd32bd50fbc3332455aaf0b49d96fc09b2f2 DIST m17n-db-1.8.0.tar.gz 1977364 BLAKE2B 303afaf8eb105b8cc034be96efc7790f774870c5cbb688dc33da02847b545b42b20fc041c3842d9fbf9d17417472815e8185df37b58f4d2d72fac762a2669272 SHA512 b21abfdcb5eb42e71fbd5edd1a99eca4a05df14f5a57eac7cdd3dc657337bd143a419f4b3f3dd0b74b82c827ede4d3666dd213af9041593cef50118ee43898d5 -EBUILD m17n-db-1.7.0.ebuild 565 BLAKE2B e2984e7c23397445e7fab9cc82245bf4e5b8a56b7898f31e1a87f0dbb5c9b733e3af5bafcda80ead04f73fcf519f30ac31a6ea8d0c59650f656ef54399919bec SHA512 bace63dd51c039e84cebd27bdc7574f77bbf2e001888f4f40f8590fd36e4a234f5586c57a36c4601b4171e888f63aae34a7f84d98f2988f72fd78a4ac9526630 +EBUILD m17n-db-1.7.0.ebuild 566 BLAKE2B 06d31a4c11cf45b266e7375f7cd1f1c011e01db875f91a6930d54f11d5cc5185d40aa49678a64be5170624bf21cb015dcdb56d5d9ae547771492b99b1f60b5e2 SHA512 402061d7fdd42ee5f2c2ffd2faf3963b69084f5dcaa5d66104f909dcc5a4f18c83fc36226bcb916b670f0f8250feb4eccf2c6a181e6d0d36b194e5c3ad9ee31a EBUILD m17n-db-1.8.0.ebuild 578 BLAKE2B ce40b3461bd11662f6085b28e02f21de343a6b3329e2c025fad166462a2aa5d97b9c62cfce939b8985ea08c1dc1e8b6a081edc00ff9da0b4ad1a881102fd58e1 SHA512 408fcd5f2d56cd821ca94642773bc60ef889165d32d89d80b57bcfaf575d6012857f98ae9e53d7f5b7df06afb667ffb44dba03529c5bfa7662654661408fa841 MISC metadata.xml 234 BLAKE2B 8615ff091e2c6b2c5d9d4246dbec2ed0c5161ce154a59f492bc640a1428de7847757b68a8d926cae4bf78905d2aeeda10cb4cb0db9bf6870d38e811556299520 SHA512 16ea852f76297335e7ef70c8019fe09d46c0455922c049ba6e92696232e957955fd671d467ebdd0bf7837d39a26083d5be2a6f8abeba53807f0b8c5b97f2e441 diff --git a/dev-db/m17n-db/m17n-db-1.7.0.ebuild b/dev-db/m17n-db/m17n-db-1.7.0.ebuild index 59af9658061f..55b8f321470f 100644 --- a/dev-db/m17n-db/m17n-db-1.7.0.ebuild +++ b/dev-db/m17n-db/m17n-db-1.7.0.ebuild @@ -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 ~sh sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ppc ppc64 ~sh sparc x86" IUSE="" DEPEND="sys-devel/gettext" diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index 586561ce5b06..bb041611f590 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -5,19 +5,30 @@ AUX my.cnf.distro-client 643 BLAKE2B 5ffd286907ee28c92c85bbcc9a6266555733f1115f2 AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882 DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b DIST mariadb-10.1.43.tar.gz 63635313 BLAKE2B 60617d3021bb478633a995b93a3659a287ecab49bb1997efc430e2f453a8145307f0db02799b43560a51c92ef528060f93fb82fd0362ea34052f68590144bff0 SHA512 47e9693c6c1d25d2c3541efe001569c17e70721edcbfc3d0ccc96f3638820123436c18d2cbc3c2ad252adf1eda446feff0370eb97f9e57b6711757ac899b47e8 +DIST mariadb-10.1.44.tar.gz 63660764 BLAKE2B fb88660687c57217c82a05442b1f6e1d85a10fbcdb54b5c455409fd6e280aede27aafe61020eae278a0424b7b21f4afc4e581dd68ce9690948970ef22127ecd0 SHA512 4216524dae5eaf882d3667345fdccc58fa29cb02fb04367900d25c1d120b609d9c7af460dea37ba15ba3fb89f4390f9b15072f5c1ecc434c64b840fa14bab8a9 DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2 DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe217a2c9680c8c535042d2759852c929cd649d662c6a2bc603d934a6ba770ef945752c99d150f539e1fdd0d9be0ad51 SHA512 cee4e0d1a2b203cadaaa5678c5ce17302f18ffa55d07c8329392b1ea84740340c006eb9ab5920beef80835c2a399d5fffca409b8288e10ae62d290af62ec4ab8 +DIST mariadb-10.2.31.tar.gz 73134720 BLAKE2B a410f71cffd7ff904cb16d9d00bbb4b1d6d17a4931de1635a14dce7c7c66d8dfd097b0c261959809cf2f327d196b11f3196129c2894efb5bab0141aca10ea3c7 SHA512 2cf28e4e049618f633470e7a4cd4f3bc8c2a74bf9796bfd026da7c75812e6d4962323785fdbca7a5b505c2e4fe95e3b47cd2e24e4dec2dcd230ac8a25f49b9b9 DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3 +DIST mariadb-10.3.22.tar.gz 72050820 BLAKE2B 9e08f1360f8db2c5f466d4f6f967145286412a5598c7de8828eb8f8f3dd113b38f039c38335f9251f3bba19c67c5f62d57808eabc57480338b64dae0c5588774 SHA512 57a6551b8939f54742963202d50a537e69e8ab9b2dca42ce3d2a09c0f7af368fded71f36af26f6cbd956d54fe43853981ba8fe28b7a3ba97c7d52ea4a0d233f6 DIST mariadb-10.4.10.tar.gz 78352896 BLAKE2B c0e448fba455feb9385b7d57e1a727e84eaf4cfa52ce0dbd6ff062aa0b5abc42005680fb185416d04fbd7bb62d9bbd6c93e4cb77b145418cf6be92747f8b1c2a SHA512 4a9b9a37bc3a273de4bd781dac3636256364dae6efbba45765d6b28995da3d64e180422cd10418d1c7acd7fd8843fe2a2638c07e0f56b0c09170c58812cc6b71 +DIST mariadb-10.4.12.tar.gz 79120835 BLAKE2B 1c511e788f8ddc9b9d2e580b29c380ada85d7cc46febe6a6bec626fd6239e4f50480b7a31dcd7e1a9474c6ed9626a910e996257ac8366646a22decc0226c45f0 SHA512 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6 DIST mariadb-5.5.66.tar.gz 45962591 BLAKE2B 41befba24abec2af876168a11fc205d328c137baa49e5e521787898e4b973d1dc548ef459228811caa99fa3c2b7a9fe96f3eb7a04bf62f0bb20966e4ffd2ea9b SHA512 403f3bc67018e01eb2277a88d3a7ac673d50df8f7a67607f9d14e3167d1bdd4ca202983df69c97688ff51edbd6d6b43af3541c75e968d1d01713a7b6495e4c8c +DIST mariadb-5.5.67.tar.gz 45971908 BLAKE2B 494fdc5d13c3560b074514f30a828e6689b820a1eefc0d0ec67f00a9dced6f4d3c305ed81ad39dddbb07659ccfbab418900f822baf502067d706ba84d2e7fd78 SHA512 494b2b0d863e2fed6f02f8d61134a645aa113bb0e17ba08b304350dfa974f6fce2a2fcc231fb413872156f70f08fbd2604f58d642fffe085f3b093176a3e68c9 DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c DIST mysql-extras-20190731-2258Z.tar.bz2 332111 BLAKE2B cc144c9af852bfdd4149b96bdc22f8afb2d0aa92f95ebd272a244f0fb7743dc03f9244871d5c195260bac5d9ed20583093257ee2c95a5a4d0a4dae488d781adf SHA512 d4428a1128cd5aef62c463b659992b110090b1602cdcb6b8d922d570c6b946fde325bfcf5a9a955a8dcc61f3ccd3d612d8517ebf63e316f98ca9ff2cd8a807aa -EBUILD mariadb-10.1.38-r1.ebuild 29478 BLAKE2B 933479e0acb409d33480b85280df5b58d773731b74bebb4d469c2c848d36e6e2dc41a4299142a06cf0a2e25d9d8aef461df91968ab56f5a2f7d35f3d526d9224 SHA512 ef1d5b460bd4f2f692c0e6dfd59bf0d752b2589141df3db5ac5489195cdb0642ed90518295c8dd3c1272a1e76e5a4ae78d7828aecef2aff8107972859049a3c0 +DIST mysql-extras-20200203-1749Z.tar.bz2 344999 BLAKE2B 46441f3c210c87b8ce1df89e9480d0bd5be216b0a1380c3ca330294e787bf2fb2b7078438f032dd0381363e756312d7634350a0b02c00b3145d4787a9ad65cad SHA512 210d240efef4d7bb64d356cae240039d9bd65e2bd4af47e01131ab5bf48779f4c0519e50d212d50db998e6b9bf9d73f1a03b0bbf4f7d6dc6f978660c8ac8a21f +EBUILD mariadb-10.1.38-r1.ebuild 29479 BLAKE2B 7f89c988240a3450ab95234155b18430b271e6af0656711bb0514cf21635d3fc541a05189455345a55bcc071f30ea1a401826d945d177eab043db0ad7db5d5b4 SHA512 4bee8f11cde366979a57898986540ff8736f2e81770e2c1b33af91414c51a13b19af297c2831c6680c3f36f33eb0b2276d637ef5858d8803fee09d520b46094d EBUILD mariadb-10.1.43.ebuild 29882 BLAKE2B e67075c31a1585036ff4d82ddc7ce00119ee9a46170144acd59e1106c0c1cd05cb1e38b9e7eee77dcfaf320ccf3615845e1751cca242d7376d1c535a587d7c72 SHA512 8072069e496ea9300352264d71c998bcd926bfabca50607afd1b3bc47be265e31fd137737b6e85b7d2d4c2dc8d41d1f054ca846d94fe548eb1dda5a06f3b5b82 -EBUILD mariadb-10.2.22-r1.ebuild 32529 BLAKE2B b27b46733a239cf2ea88f8166428a521517baeaee738f4adcce2a91cc1acfce79654d253cd7646371c0b5d7e307eae238ca2d8b50edac11faee26240d5301819 SHA512 f29d53677e9409bb423bee2427a7cf0408e07f11f463e66c2df89e237d3e89f35eea67a580b7181d202a67976b368f5a6e85fef5770e8d4b3d9b2f247319b4d1 +EBUILD mariadb-10.1.44.ebuild 30055 BLAKE2B 78c0c30940f69b4d38b9975c68a80c856a3e4a03169276ce53457c2aa7ccc76872718d6b09e31302ec22b0e3107da51d7b69b828709fd38af92ca5b1e19c2bf5 SHA512 7d3697d4708496c673f289986470487074e26c4776199af68cc818bedfe1e327bc25b6db5e197a27d6dc16573d58de5a69db6bdf2b4ba142b12f3fad7d4c8a25 +EBUILD mariadb-10.2.22-r1.ebuild 32530 BLAKE2B 2a6a9aa24f06052d8dda82a1c1dfdc836122e5e9e248c621bc69b80732beaaee86aff666e2bcdf1eb7cf7f15628f11c785d84d99980c4d0459c792d0e8d9e2c4 SHA512 62cac25905993280f8b8d24e80751261513bb129401d01ebd51cda9fe196109473bbbe760a126d0949d7466279b1eff3892ab394c031cd7ab4a8ccc3ae3a3667 EBUILD mariadb-10.2.29.ebuild 33103 BLAKE2B fdf29163bd6297d9627a3d767e33ab8c43e9df5a88a3bc6d9ecf1e45523ed55014f6febb304cee3dfb17d0ed195f6f9f457dc1eaf5da91779220569c6a95b246 SHA512 ab764d0c158718ceb3081b8c21bc9b370171bf6382fae8f5286ee9ed1df738163a96f8ae746a3eeab52ab52bf6e3e4477f27ae3c9f32b5c618377292dc9ac913 +EBUILD mariadb-10.2.31.ebuild 33168 BLAKE2B b14bc65948b416c35ea83c46098438a035103ff9543d7a3a57b93515b24277a2c98968c963c85ed4915fdcb067100b428ddaeee8a8ca8e675810050b13fd8b50 SHA512 a16e16e16b5a81f328babfc2e388e536bbbef84e9a951422cb7ce6d686ba6a60c8593bd1bbe314259f271dc4e6a0463a91fb5334b3a8faa97f5ed95369e567a3 EBUILD mariadb-10.3.20.ebuild 32731 BLAKE2B 2e8437c3af728e5a3dc02a825f025231bc4a6f3ae5b72066afdcf033fdaa807847b86167ecdf9719213061e2937c97300f72989e45f9adbcb74ef597939c25c0 SHA512 0e84837c35c84eaef8d0afb6630c8caff7d036671ab9871ccc2b30aa3ffe2a24f8a363f5f9364755bb69c1290f2995366164a249fb4c61f902d2e41aa2571612 +EBUILD mariadb-10.3.22.ebuild 32792 BLAKE2B cb2943720dded3ae11d6f78788773de117bea20bb6c4e7ee3419be87d49b294938458955f5164a371cd4968c38775f08af9d2db6b756b36920ccdceb5af5ebed SHA512 90f229b5d6144582dadf3f86d797833dd7c543e8b0e044e79f791a26ddd40889124f1803066683b92b0359b9b9cf17b761e663519853abd849f0ecf238894628 EBUILD mariadb-10.4.10.ebuild 33383 BLAKE2B 43b890bcb0b23b7d40faecd424a968248524453ccc486dcba474a1b5959503a51252ff3dab70c5dfb6238f20b9cdcb281dbea9d728d1cd31d7a3cb3c5c419ea3 SHA512 acfdec61923f7cd5e837e52c6854ee7104278ea2157df5993de38811dda81f3db0644dd7002995367981ca4142e35fe9fed0e58d83ffb71f4528477976d93a63 +EBUILD mariadb-10.4.12.ebuild 33408 BLAKE2B 4d20837d26495e50d278d5f614b186dbf4746e50b2485cfa8d60768040fcc2df03cdd95f10cb8b1790ae8b0e10e3f721c10bae68f490807a293d13380a4e83ee SHA512 bfb4bcd43bece2a18b5535efe2e5d459cebe9d7785c277e1ffeafe7130a2767cc76f3e1071f3bc09f76c046adb19836f0c769be3eb85a8948071e7c3b30e4698 EBUILD mariadb-5.5.66.ebuild 27262 BLAKE2B 323891d4180b27a079bf96952c36880d8531eb273ce4a8ba2d16d2b3f85a85514a29381d849b89dfe97a534b3eb600ec5a85e006dfaccb3cd76a51c9a35c2f92 SHA512 e52d96c624a69a98b362f9c5d498eb62cd6b635660871deb62b2426638513319714a2e7992f60b3535872cc342f7307b053d79901df16e5573d33786100e9d3d +EBUILD mariadb-5.5.67.ebuild 27262 BLAKE2B 6f15df960825f8f6c79abcea0e93a2b0e9162bacf086d4e3fd49b550ab092963059205075483f58de97f15a7004e54c2fc81324abde14e869a23df0c22dafc6d SHA512 145c8f2a90134e397f6ee7ac74ccf4bebd84d7d25f65407f8b45428e8f770c00aad8a392997d58c0e8291168884b03b40d7a6ad03114182eb140d03d5a3712e4 MISC metadata.xml 2611 BLAKE2B d1b6b11359e92a3d9cb2c58ed35a15e3cf42ab616ed907fa36a5f777168a805ffd03d01bd13fcd30352ef6c5e8b1d80f4e882ffaf8f6445ed3fce2bcc2a92923 SHA512 80395b35839acebbb18ac8d01e8c806bd89f18d32f85fcba41f41ecfc4f1f869dc8c51c90bb21ebd3c9ac30d51d47869a4dcf3b8ce73967e337e6e396b267c97 diff --git a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild b/dev-db/mariadb/mariadb-10.1.38-r1.ebuild index 781cda89b82f..bd01fadd2b56 100644 --- a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.1.38-r1.ebuild @@ -40,7 +40,7 @@ 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 ~x86-macos ~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 ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase diff --git a/dev-db/mariadb/mariadb-10.1.44.ebuild b/dev-db/mariadb/mariadb-10.1.44.ebuild new file mode 100644 index 000000000000..4e0e9491bb2a --- /dev/null +++ b/dev-db/mariadb/mariadb-10.1.44.ebuild @@ -0,0 +1,901 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20200203-1749Z" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils systemd flag-o-matic prefix toolchain-funcs java-pkg-opt-2 user cmake-utils multilib-build + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2" +SLOT="0/${SUBSLOT:-0}" +IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos + innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam + +perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup + systemd systemtap static static-libs tcmalloc test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test ) !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 ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" + inherit git-r3 + EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" + EGIT_CLONE_TYPE=shallow +else + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch + "${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch + "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch + "${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch + "${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch + "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch + "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + !yassl? ( + !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 ) + libressl? ( dev-libs/libressl:0= ) + ) + >=sys-libs/zlib-1.2.3:0= + sys-libs/ncurses:0= + !bindist? ( + sys-libs/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= ) + sys-libs/zlib[minizip] + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + kerberos? ( virtual/krb5 ) + 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 ) + ) + !yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) ) + >=dev-libs/libpcre-8.41-r1:3= + !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + ${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] ) + ) ) + perl? ( !dev-db/mytop + virtual/perl-Getopt-Long + dev-perl/TermReadKey + virtual/perl-Term-ANSIColor + virtual/perl-Time-HiRes ) + server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) + server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + java-pkg-opt-2_pkg_setup + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst +} + +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 + + 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%/}/${PN%%-galera}-${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 + + # 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 + + # Fix -fno-common error + sed -i -e '/^datasink_t datasink_buffer;$/d' extra/mariabackup/xbstream.c || die + + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit semisync sql_errlog ) + local test_plugins=( audit_null auth_examples 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 + + # Collides with mariadb-connector-c bug 655980 + _disable_plugin auth_dialog + + # Avoid useless library checks + use mroonga || _disable_engine mroonga + use oqgraph || _disable_engine oqgraph + _disable_engine example + + # Don't clash with dev-db/mysql-connector-c + sed -i -e 's/ my_print_defaults.1//' \ + -e 's/ perror.1//' \ + "${S}"/man/CMakeLists.txt || die + + cmake-utils_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')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -DDEFAULT_SYSCONFDIR="${EPREFIX%/}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '') + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mariadb" + -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" + -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) + -DWITHOUT_CLIENTLIBS=YES + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + -DWITH_SSL=$(usex yassl bundled system) + -DPLUGIN_CLIENT_ED25519=NO + -DPLUGIN_AUTH_GSSAPI_CLIENT=NO + ) + + if use server ; then + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_JEMALLOC=$(usex jemalloc system) + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI_CLIENT=NO + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + -DINSTALL_SQLBENCHDIR='' + ) + + 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 + -DENABLED_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + local mycnf_src="my.cnf-5.6-r1" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok" + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" my.cnf + + if use server ; then + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # 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 mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]]; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) +# cmake-utils_src_test +# retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die + + touch "${T}/disabled.def" + # These are failing in MariaDB 10.0 for now and are believed to be + # false positives: + # + # main.mysql_client_test, main.mysql_client_test_nonblock + # main.mysql_client_test_comp: + # segfaults at random under Portage only, suspect resource limits. + + local t + for t in plugins.cracklib_password_check plugins.two_password_validations ; do + _disable_test "$t" "False positive due to varying policies" + done + + for t in main.mysql_client_test main.mysql_client_test_nonblock \ + rpl.rpl_semi_sync_uninstall_plugin main.mysql \ + main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do + _disable_test "$t" "False positives in Gentoo" + done + + if ! use client-libs ; then + _disable_test main.plugin_auth "Needs client libraries built" + _disable_test plugins.auth_ed25519 "Needs client libraries built" + fi + + _disable_test main.gis_notembedded "Fails when latin1 USE is not set" + + _disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"usr/libexec/mariadb/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 | tail -n1)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see https://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in grant-tables host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR}"/mysql_install_db.log 2>&1 + if [ $? -ne 0 ]; then + grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT}/usr/sbin/mysqld \ + ${options} \ + --log-warnings=0 \ + --basedir=${EROOT}/usr \ + --datadir=${ROOT}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]]; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild b/dev-db/mariadb/mariadb-10.2.22-r1.ebuild index 6fcf7489030e..ce87ebab1b39 100644 --- a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.2.22-r1.ebuild @@ -42,7 +42,7 @@ 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 ~x86-macos ~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 ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase diff --git a/dev-db/mariadb/mariadb-10.2.31.ebuild b/dev-db/mariadb/mariadb-10.2.31.ebuild new file mode 100644 index 000000000000..b95e1279e5c7 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.2.31.ebuild @@ -0,0 +1,987 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20200203-1749Z" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + java-pkg-opt-2 user cmake-utils + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2 LGPL-2.1+" +SLOT="0/${SUBSLOT:-0}" +IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test ) !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 ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch + "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch + "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch + "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch + "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + >=sys-libs/zlib-1.2.3:0= + kerberos? ( virtual/krb5 ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sys-libs/ncurses:0= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + server? ( + backup? ( app-arch/libarchive:0= ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( sys-libs/pam:0= ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + >=dev-libs/libpcre-8.41-r1:3= +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + !=virtual/jre-1.6 ) ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) + server? ( ~virtual/mysql-5.6[static=] + galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + java-pkg-opt-2_pkg_setup + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst + + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + + if use galera ; then + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + 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 +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR%/}/${P}" "${S}" || die +} + +src_prepare() { + _disable_plugin() { + echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S%/}/storage/${1}/CMakeLists.txt" || die + } + + local malloc + for malloc in jemalloc tcmalloc ; do + if use ${malloc}; then + echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt" + fi + done + + # 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 + + # Don't clash with dev-db/mysql-connector-c + sed -i -e 's/ my_print_defaults.1//' \ + -e 's/ perror.1//' \ + "${S}"/man/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 + + cmake-utils_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')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_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 + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_JEMALLOC=$(usex jemalloc system) + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR=share/mariadb + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + # Workaround for MDEV-14524 + use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # 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 mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]]; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die + + touch "${T}/disabled.def" + # These are failing in MariaDB 10.0 for now and are believed to be + # false positives: + # + # main.mysql_client_test, main.mysql_client_test_nonblock + # main.mysql_client_test_comp: + # segfaults at random under Portage only, suspect resource limits. + + local t + for t in plugins.cracklib_password_check plugins.two_password_validations ; do + _disable_test "$t" "False positive due to varying policies" + done + + for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \ + main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do + _disable_test "$t" "False positives in Gentoo" + done + + _disable_test main.gis_notembedded "Needs latin1 USE set" + _disable_test main.plugin_auth "Needs client libraries built" + _disable_test plugins.auth_ed25519 "Needs client libraries built" + _disable_test main.mysqldump "Test fails past 2018-12-31 due to event expiration" + + # Likely environment issues as only number of clients connected fails + _disable_test rpl.rpl_semi_sync_uninstall_plugin \ + "Fails intermittently on parallel testing" + + _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1" + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"usr/libexec/mariadb/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 | tail -n1)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see https://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in grant-tables host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR}"/mysql_install_db.log 2>&1 + if [ $? -ne 0 ]; then + grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT}/usr/sbin/mysqld \ + ${options} \ + --log-warnings=0 \ + --basedir=${EROOT}/usr \ + --datadir=${ROOT}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]]; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mariadb/mariadb-10.3.22.ebuild b/dev-db/mariadb/mariadb-10.3.22.ebuild new file mode 100644 index 000000000000..cf26f76d0451 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.3.22.ebuild @@ -0,0 +1,987 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20200203-1749Z" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + java-pkg-opt-2 user cmake-utils + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2 LGPL-2.1+" +SLOT="0/${SUBSLOT:-0}" +IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup static systemd systemtap tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test ) !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 ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch + "${MY_PATCH_DIR}"/20018_all_mariadb-10.3.12-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch + "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch + "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch + "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + >=sys-libs/zlib-1.2.3:0= + kerberos? ( virtual/krb5 ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sys-libs/ncurses:0= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + server? ( + backup? ( app-arch/libarchive:0= ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( sys-libs/pam:0= ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + >=dev-libs/libpcre-8.41-r1:3= +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + !=virtual/jre-1.6 ) ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) + server? ( ~virtual/mysql-5.6[static=] )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + java-pkg-opt-2_pkg_setup + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst + + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + + if use galera ; then + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + _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 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 + + # Don't clash with dev-db/mysql-connector-c + sed -i -e 's/ my_print_defaults.1//' \ + -e 's/ perror.1//' \ + "${S}"/man/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 + + cmake-utils_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')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_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 + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR="" + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + # Workaround for MDEV-14524 + use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # 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 mytop if perl is not selected + if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then + rm -f "${ED}/usr/bin/mytop" || die + fi + + # 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 +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]]; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die + + touch "${T}/disabled.def" + # These are failing in MariaDB 10.0 for now and are believed to be + # false positives: + # + # main.mysql_client_test, main.mysql_client_test_nonblock + # main.mysql_client_test_comp: + # segfaults at random under Portage only, suspect resource limits. + + local t + for t in plugins.cracklib_password_check plugins.two_password_validations ; do + _disable_test "$t" "False positive due to varying policies" + done + + for t in main.mysql_client_test main.mysql_client_test_nonblock \ + main.mysql main.gis_notembedded \ + main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do + _disable_test "$t" "False positives in Gentoo" + done + + _disable_test main.plugin_auth "Needs client libraries built" + _disable_test plugins.auth_ed25519 "Needs client libraries built" + + _disable_test main.func_time "Dependent on time test was written" + _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1" + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"usr/libexec/mariadb/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 | tail -n1)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see https://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in grant-tables host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR}"/mysql_install_db.log 2>&1 + if [ $? -ne 0 ]; then + grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT}/usr/sbin/mysqld \ + ${options} \ + --log-warnings=0 \ + --basedir=${EROOT}/usr \ + --datadir=${ROOT}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]]; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mariadb/mariadb-10.4.12.ebuild b/dev-db/mariadb/mariadb-10.4.12.ebuild new file mode 100644 index 000000000000..13396dc69603 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.4.12.ebuild @@ -0,0 +1,1017 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +MY_EXTRAS_VER="20200203-1749Z" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + java-pkg-opt-2 cmake + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2 LGPL-2.1+" +SLOT="0/${SUBSLOT:-0}" +IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup static systemd systemtap tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test ) !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 ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch + "${MY_PATCH_DIR}"/20018_all_mariadb-10.4.5-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch + "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch + "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch + "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + >=sys-libs/zlib-1.2.3:0= + kerberos? ( virtual/krb5 ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sys-libs/ncurses:0= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + server? ( + backup? ( app-arch/libarchive:0= ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( sys-libs/pam:0= ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + >=dev-libs/libpcre-8.41-r1:3= +" +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.6 ) ) + 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 + !=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 ) + server? ( ~virtual/mysql-5.6[static=] )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + java-pkg-opt-2_pkg_setup + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + +} + +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 +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + _disable_plugin() { + echo > "${S}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S}/storage/${1}/CMakeLists.txt" || die + } + + 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 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 + + # Don't clash with dev-db/mysql-connector-c + sed -i -e 's/ my_print_defaults.1//' \ + -e 's/ perror.1//' \ + "${S}"/man/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]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_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 + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR="" + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + # Workaround for MDEV-14524 + use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +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 mytop if perl is not selected + if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then + rm -f "${ED}/usr/bin/mytop" || die + fi + + # 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 +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]]; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die + + touch "${T}/disabled.def" + # These are failing in MariaDB 10.0 for now and are believed to be + # false positives: + # + # main.mysql_client_test, main.mysql_client_test_nonblock + # main.mysql_client_test_comp: + # segfaults at random under Portage only, suspect resource limits. + + local t + for t in plugins.cracklib_password_check plugins.two_password_validations ; do + _disable_test "$t" "False positive due to varying policies" + done + + for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \ + main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do + _disable_test "$t" "False positives in Gentoo" + done + + for t in funcs_1.is_columns_mysql main.gis_notembedded main.information_schema \ + main.mysql_upgrade main.system_mysql_db ; do + _disable_test "$t" "Failure for difference between latin1 and utf-8" + done + + _disable_test main.plugin_auth "Needs client libraries built" + _disable_test plugins.auth_ed25519 "Needs client libraries built" + + _disable_test main.func_time "Dependent on time test was written" + + _disable_test compat/oracle.plugin "Needs example plugin which Gentoo disables" + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"/usr/libexec/mariadb/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 | tail -n1)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" + 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'@'localhost' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + einfo "Not entering a password defaults to UNIX authentication" + read -rsp " >" pwd1 ; echo + + if [[ -n "${pwd1}" ]] ; then + + 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}" + fi + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see https://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]]; then + grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then + einfo "Done" + exit 0 + fi + + 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 + + [[ -S "${socket}" ]] || + die "Completely failed to start up mysqld with: ${mysqld}" + + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}')" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + unset sql + eend $? + fi + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mariadb/mariadb-5.5.67.ebuild b/dev-db/mariadb/mariadb-5.5.67.ebuild new file mode 100644 index 000000000000..414400eba524 --- /dev/null +++ b/dev-db/mariadb/mariadb-5.5.67.ebuild @@ -0,0 +1,836 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20200203-1749Z" +SUBSLOT="18" + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2" +SLOT="0/${SUBSLOT:-0}" +IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl + oqgraph pam +perl profiling selinux +server sphinx + static static-libs systemtap tcmalloc + test tokudb yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" + +REQUIRED_USE="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 ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" + inherit git-r3 + EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" + EGIT_CLONE_TYPE=shallow +else + MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch" + "${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags.patch" + "${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch" + "${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch" + "${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.patch" +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + !yassl? ( + !libressl? ( =sys-libs/zlib-1.2.3:0= + sys-libs/ncurses:0= + !bindist? ( + >=sys-libs/readline-4.1:0= + ) + server? ( + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( sys-libs/pam:0= ) + ) + !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + ${COMMON_DEPEND} + perl? ( !dev-db/mytop + virtual/perl-Getopt-Long + dev-perl/TermReadKey + virtual/perl-Term-ANSIColor + virtual/perl-Time-HiRes ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if 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 + + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + fi +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR%/}/${P}" "${S}" || die +} + +src_prepare() { + _disable_engine() { + echo > "${S%/}/storage/${1}/CMakeLists.txt" || die + } + + _disable_plugin() { + echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die + } + + if use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die + fi + + # Don't build bundled xz-utils for tokudb + echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die + + local plugin + local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog ) + local test_plugins=( audit_null auth_examples 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 + + # Collides with mariadb-connector-c bug 655980 + _disable_plugin auth_dialog + + # Don't build example + _disable_engine example + + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + # Don't clash with dev-db/mysql-connector-c + sed -i -e 's/ my_print_defaults.1//' \ + -e 's/ perror.1//' \ + "${S}"/man/CMakeLists.txt || die + + cmake-utils_src_prepare +} + +src_configure(){ + # bug 508724 mariadb cannot use ld.gold + tc-ld-disable-gold + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -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/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mariadb" + -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" + -DINSTALL_UNIX_ADDRDIR="${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) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if use server ; then + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 + -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 ) + fi + + mycmakeargs+=( + -DWITH_JEMALLOC=$(usex jemalloc system) + -D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1 + -D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1 + -D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1 + -DINSTALL_SQLBENCHDIR=share/mariadb + ) + + 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_EMBEDDED_SERVER=OFF + -DENABLED_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 + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED%/}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED%/}/usr/data" ]] ; then + rm -Rf "${ED%/}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf + local mycnf_src="my.cnf-5.5" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR%/}/${mycnf_src}" \ + > "${TMPDIR%/}/my.cnf.ok" || die + use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok" + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR%/}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR%/}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" my.cnf + + if use server ; then + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S%/}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S%/}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # 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 mytop if perl is not selected + [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop" +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]]; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die + + touch "${T}/disabled.def" + # These are failing in MariaDB 5.5 for now and are believed to be + # false positives: + # + # main.information_schema, binlog.binlog_statement_insert_delayed, + # main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql, + # funcs_1.is_columns_mysql + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test, main.mysql_client_test_nonblock: + # segfaults at random under Portage only, suspect resource limits. + # + # archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam + # fails due to bad cleanup of previous tests when run in parallel + # The tool is deprecated anyway + # Bug 532288 + + local t + for t in main.mysql_client_test main.mysql_client_test_nonblock \ + binlog.binlog_statement_insert_delayed main.information_schema \ + main.mysqld--help \ + archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ + funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do + _disable_test "$t" "False positives in Gentoo" + done + + if ! use client-libs ; then + _disable_test main.plugin_auth "Needs client libraries built" + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"usr/libexec/mariadb/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 | tail -n 1)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see https://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in grant-tables host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR}"/mysql_install_db.log 2>&1 + if [ $? -ne 0 ]; then + grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT}/usr/sbin/mysqld \ + ${options} \ + --log-warnings=0 \ + --basedir=${EROOT}/usr \ + --datadir=${ROOT}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]]; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mysql++/Manifest b/dev-db/mysql++/Manifest index c3ecb6368d42..b514b1dc57ba 100644 --- a/dev-db/mysql++/Manifest +++ b/dev-db/mysql++/Manifest @@ -10,7 +10,7 @@ DIST mysql++-3.2.3.tar.gz 3241023 BLAKE2B 5faa5711c7ed7c64346013bd1ca6e7dc20e5b2 DIST mysql++-3.2.4.tar.gz 4594696 BLAKE2B 7e0553b0e22bb3607a914fc7756ec192465af546749b0147a97558fb3d397e504f4552dcbc783f5bcc934e51fd1dac863e5479c4af3053d394a51c94cd825ee0 SHA512 69e23c211240854b59951bdb1cecc57f2f818d822a977942177e65195900dbdcc62d598c3e90c18f4a0a37e5340df7a149719c45b791de59c03d1f1259c5f4fd DIST mysql++-3.2.5.tar.gz 4748218 BLAKE2B ffceddb360cf6f0f38b7647f68e52ad9b659642c598c2aab7736813bf61d07316900d843749c2f9f4c753bd2087711ca712cc430f12b3a475c63ae3e5b11aff7 SHA512 5fa042a350322fa74afa28dc5e53f15cad32517001ab817493bf0d13a64e6559712f5e61184ef38a97bc8fe69f8732aaf436bc5d1663e4873f8baebee2e00892 EBUILD mysql++-2.3.2-r1.ebuild 1410 BLAKE2B 6acbf4805dc44570d1d1b9df9a1c8769d3c13c9658b74cbad2052313d0538552693da45f2558be1afea78f80d6492ec36a9c02389ecbc054c60610ad521030eb SHA512 badefe7d214bd55b81965070b814b94c15fe3635d87c265225d2f9fef02360c3e09adeeb79a75c9990e89d596f111fc958c2a5fcec63624f14404192e4a26884 -EBUILD mysql++-3.2.3-r1.ebuild 1558 BLAKE2B 8b0a813f379929c73f0c41bab67c66dae5da003816434e8e22566a8ed94c435d83ac2cff9c2238731f74b2518c26ae8ef4f1d87a93b00958d1fdf99378ae9857 SHA512 1ff80e7a19e2cf782c1e2747f38aee37f60812944317160b9153ee39edd6e1ed7ff3d037733e80fe62596466cbb61c31137ec978df4959f003c6f6058257d136 +EBUILD mysql++-3.2.3-r1.ebuild 1559 BLAKE2B cfab2b4e0b80cac21ab3d3ab6db56e44cd1f13469595bcbc10f49386ccf1f5c816cb03514ee361a929201e0ffd8f1926469c1547a59e617327570fa380aa3e74 SHA512 7d0463c7ff3d0a0e9ec7d827c3f4d111269e782a55f1a28336b2b1f2a11f599f3b39bc01b03b54ebbb7a812176edf0cd0e4dc964f55112bb1852b8d1f11a4427 EBUILD mysql++-3.2.4.ebuild 1704 BLAKE2B c67e5a1e752602037503871f061f6a0430af178beab1c8fe293b19f903afbc78a62f602e8fa1af1c2812c0c938b540a99f0c25dd37ea782b9815237cfe8b4036 SHA512 7358abde75d8f9b57487955a75c7718d383b2ef0aea9094a9bce3affd8151ed94c509e884dea6b10b9d8d709fa893fcb0153e26520375410661045ed198013b2 EBUILD mysql++-3.2.5.ebuild 1704 BLAKE2B dc150bed9777bbc18f38799121ed83f1cbf5c4c5be814a3e2b85664d5079adefafe2f3d502c4f9349a823db20723d95d039ef4b2e431e41299112be2ec06e1fe SHA512 2f784310eb4a015c67dd0c0566847c27f95dddd25e160edffcb28253a9cc545ed35e44fecac7242359c78ab05d0237242e8b548db0064fb0d63780e561304d48 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mysql++/mysql++-3.2.3-r1.ebuild b/dev-db/mysql++/mysql++-3.2.3-r1.ebuild index 28038bb90723..ce2703714857 100644 --- a/dev-db/mysql++/mysql++-3.2.3-r1.ebuild +++ b/dev-db/mysql++/mysql++-3.2.3-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://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 ~x86-macos" +KEYWORDS="~alpha amd64 hppa ~mips ppc sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" IUSE="doc" RDEPEND="dev-db/mysql-connector-c:=" diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest index 3c2cf0ca88d1..5c7415bc9460 100644 --- a/dev-db/mysql-connector-c/Manifest +++ b/dev-db/mysql-connector-c/Manifest @@ -7,6 +7,6 @@ AUX mysql-connector-c-8.0.19-libressl.patch 10501 BLAKE2B 73a31afdbbb591cadd45f1 AUX mysql_com.patch 1787 BLAKE2B 4fbd40325f400586926072927b3f07231d577f18c1e30951c34c36ded9b9e42b7c3dc47ca51df974265c28b40116e30274d8a73d6a843e5d9d0074430bc17b08 SHA512 340365b05d72045af0ef12fd5c260a796be547d9abb97a6ef3d6aaf30aecf29368c1dfa28f1284da544a81656f0436f11ada2f8c5cb481540d1f1c90dd354b49 DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 DIST mysql-connector-c-6.1.11-src.tar.gz 3489345 BLAKE2B 813512520ef660521221565a4466e81d902629d0ee731f746b68eed2b9129ea8361fcabe184537ec8ba91aed5a4b02dfb3450b36524c2e98f81fba148eee0cf1 SHA512 271395c888a93b833e0bbe1840b9987ecdb37d0f1cf89904207cc9aa99ed32e538aee8c9529ff39b6533947159776a8f5aa079da86ed51b1d26b086f4ffdd7c6 -EBUILD mysql-connector-c-6.1.11-r2.ebuild 2289 BLAKE2B edce26b9fea987ad0d3ba93388303f62dfe004779989c6e21ac154275cd9b7e0b3f0749e19375290d625f9a17384853b63a02f4742703030aa7c8dcf863f7ade SHA512 c33ea5754eae88f1628d9d53a81db4aaea2598ebca10f2158617b2a2cd9ac3d7cd34dfc9b0314bd096ba0f531dd27fbe8c42a61727dea91fc21852ee601f409e +EBUILD mysql-connector-c-6.1.11-r2.ebuild 2290 BLAKE2B a5322ec01eaeceb2777cdcb4495ef3a2c55717197d1293bbe05395a113ac04db88e33eab7661a4e7c00884c3784cda392602ec2703c83ca81c41e1eb61e618c1 SHA512 8268b372fe3cf53147139242245a551d222a5960fc8fd4da04b218bfe19ce6b6df647e41b3abed98d76242b515ccf4e15cd62baf0dd46dcdf65cab60302a3c7d EBUILD mysql-connector-c-8.0.19.ebuild 2940 BLAKE2B 1d3e09ba7ac64d868e9668623ae9e76b4ff8f7694ca1c816c523203a9b2ef2360b60334359695bd469fe1bba329e6c919bba2983031970ffd02303aa97140295 SHA512 6ecb4d9a98948c11d60a95931f040177912d9e5bae44be6f3d05eca22b11fcaeff84cc4d35924e32f973ce2af694e5a059b7196ca5ef724b7222dcf621d4d735 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild index 73f2092c4ba6..1e8369c91cb7 100644 --- a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild +++ b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild @@ -18,7 +18,7 @@ LICENSE="GPL-2" SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C/${P}-src.tar.gz" S="${WORKDIR}/${P}-src" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86" SUBSLOT="18" SLOT="0/${SUBSLOT}" diff --git a/dev-db/mysql-init-scripts/Manifest b/dev-db/mysql-init-scripts/Manifest index e07e07ac72e8..420817ae15e0 100644 --- a/dev-db/mysql-init-scripts/Manifest +++ b/dev-db/mysql-init-scripts/Manifest @@ -9,5 +9,5 @@ AUX mysqld-v2.service 1208 BLAKE2B 9dad4cfa0a102fe7705f4d1db042d0c65d66e669b51b8 AUX mysqld-wait-ready 1758 BLAKE2B 2a6ccc105cedc78e4e8acf77fd13f8083af80b3488572079bd063fac263382cd37a85cf40c02ffa8a9a047f146402dc2f7bfef91d47487003b64c84cdc8196c9 SHA512 ad4a850d045149df156c8236ae114e94887626e3ca803dea9bcc3909349043b51357a71ac17d694e0217f7856e076a0736267fc1ea3dedbef8a319fc9014c01b AUX mysqld_at-v2.service 1170 BLAKE2B d02f7ee3549d273d309e8e6e5cd8c2f987c6feab42bb330367c14df6932a887f7740ca6c28ecd15aba8bf2f89c33854345d773134630a5e8cd5ce8b99a8b6667 SHA512 a91eb574925afc0096e668799f9806b1cfa4c808ffab26dab5df1934db0dd8059a5e7913b0fdc3374f41e14cc72a6450890c9d746d3ff2de873af91199a71ee0 AUX run-s6 268 BLAKE2B ebc9c74527257e1a35a4671afe2d34d9ed9868db0e0f33eebe655b31317a4ceeb02affe471ad49007534a9ce0a9399d9f14af664488ae753e207cf97d467107b SHA512 82be247195f6d9d230b063e9bda393bab8855382c2f3e5eb4d427fc1eb7e23dbd8c90939224ff2b5e4116a5c9d3f26ebdc9b9f548cde91e7c1217f4f8500c0d3 -EBUILD mysql-init-scripts-2.3-r3.ebuild 2018 BLAKE2B 7d3baa8fb88069481e0746d850d66e549f006ec6118060a723cb8cbaef787772dec7cb6b286fb1ef6f22963fef12c16cb931132962be9fe232e414680cd69640 SHA512 f08e6e6701b9c273f209c083e1242e792c2ea0450d718f1e5cb33e2113e400ee9d4ce93f65ef26d64c4d08420d82463261ed0f12b0be2644aebd5cf13e76272d +EBUILD mysql-init-scripts-2.3-r3.ebuild 2019 BLAKE2B 60ff505f08c1e4d879d2be6bbbdd0a39e40f95abe31dfb62003f257e67e13f64353bd9dfe035be9b36acf25fc3ed38aba110a6b48bbdf7fd01dd2fcc6892665a SHA512 1ad68422926669d21e49837d3f5fc672b556d557b21b54195e51ba08d85d7aa0ff29178bf4553f92187e7bbc6c0b4c3322d38cfe805e4ec6ee6513be10c268ee MISC metadata.xml 243 BLAKE2B f247f748a23e4cda2f518ad7e4e53b9027ff08ec62289010e6dfc8cd2ad49412430c4095e80f2156c8e6f1226bcda0163b4faae83759550f79e9998928398713 SHA512 7c227a1fadd8d61aae9baabeb5d964c93fe0c4d82fb838c83fe0360cf38b24bebf51037726f13188ecd8f52c335368a693b81e74d79ba949576a6dbcb54887a9 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-r3.ebuild index 794a5d36da04..8b7d7538783f 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-r3.ebuild @@ -11,7 +11,7 @@ SRC_URI="" LICENSE="GPL-2" SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86" IUSE="" DEPEND="" diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest index 25c5f16ca3eb..be74fca914bc 100644 --- a/dev-db/mysql-workbench/Manifest +++ b/dev-db/mysql-workbench/Manifest @@ -1,10 +1,13 @@ AUX mysql-workbench-6.2.5-wbcopytables.patch 496 BLAKE2B 4666f32098ec43ad36f1c726903472e829873002521262d6781a2febfc1394dac6f9708fbb99a3fa52a032a5b8f695c9b98579b28a63e74727eac21a8ef3fbe6 SHA512 c0766315cd345893af57880eccdc2c1dd9ffa456a27d0c736af1382ca24c507de865188588753f212f35d8781305dcbd8d555f128edd6454dc2299bd0357fd5b AUX mysql-workbench-6.3.10-i386-json.patch 7167 BLAKE2B 44a6e2446b24cd2f7f096d51b6cfdacfb485634a94733c4ef67a128ec903fec3736cb62ed45d6abbe7c7793b7d3ab668198f663a44b1bcc313f4d02ced4cd578 SHA512 992595df7719c4c958c98b5561f3fea04607213287c72daea6bb331392c417123d6fe5d1126c6dec128a857aa299908221f3a2c0ac08744241bf395e80a9574d +AUX mysql-workbench-8.0.19-mysql-connector-8.patch 624 BLAKE2B 0cb899a8b0127664471877bb9cdcda946c35ed7a159646b94891a791a618c77201cc7696d6f2893e95fd78dbc13325cef752740f76e69974e10c0f88084594fb SHA512 09c2349cb42393f6d32f24804e2c3438a5d846fc9611e0684ccf2139fd30b0abcb0f2aa7b205c60a081259e073fb345cd72837dab1a216e6a8aaaba5ec3decf7 DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1 DIST mysql-workbench-community-8.0.16-src.tar.gz 15653536 BLAKE2B c76cd35e88167641037a779b85245c620b31e2a2943260309d8ba461391892d9ec5856023c8eb25e1ea40c12ece796a1d2e36f1638187db4bd2739eb273232c9 SHA512 e9495e78aec58f70cc586ad73908408d3b8d5071c815279c1019d5268c97f53f10f4e59a47fe0ffea03b795de8e283c1175e03e2585a81fc58b62461d665cfe9 DIST mysql-workbench-community-8.0.17-src.tar.gz 15777302 BLAKE2B ba1aebfc5f9b55e88529bdbc5ebe42da594fce1da0ea64bd0153294293fe4c2533bbc00aac9c1ba0942577eff90c1b522ef1af803e56edf0c361876ac5dea764 SHA512 c7b5f68e4a2fe30d33fde5f18a03342e034a8c10edc2506278dc09751f264884f1dba3d68c430594ac09d26b692465409d2189c2b2a440d80aca7ad00188a39f DIST mysql-workbench-community-8.0.18-src.tar.gz 15513209 BLAKE2B decacee6ff3e30435fd0d198dc6efd95bf1342318adda977de64afda68d0c982de27dc8a811422f8ecf66a4436b406b63a2ab6c1c5541febdcacd79961a34574 SHA512 dbc633a74bc5ce5b46de410b52cb1bd7a81ebc21d57ae75ccd5b50476b557e412f6e21820fb9cc0f499dbcfb28a6975d2fe86531eeccfb90b674ffc6512319db +DIST mysql-workbench-community-8.0.19-src.tar.gz 19391463 BLAKE2B f9374c234a75851784c940f8288a783ee1c02fe4be2973b174a0d3768a60dd5318ceea7d2dacb083376c83c33bed8fca02768bcf4f3b8ba6284ca78fc7910cfe SHA512 986a34328ec3b9aba1532cfd8792fb970fe3c71eda577988a17a6bca25e783a520878067acd097a74ca3f274f02d271af16d7d6beb6970bca48332721021eebc EBUILD mysql-workbench-8.0.16.ebuild 2645 BLAKE2B 0f8e55773d4ea4667107c822d2fe38f7de1890130d309a036521eacb4801038a583a74c2d652e7ed545228fae8a487270de4aa49503620d049e2392507b8267f SHA512 e066480349ca7afbf5892222463a44e205e20979cfd1ed44a523e7b9626412f08edec7b33767994d6348c68ba771b5ae1e176d082cf9a2ec7d9c7457f665ce33 EBUILD mysql-workbench-8.0.17.ebuild 2571 BLAKE2B 352a6ab8130104670b094d4405f2eb8948caf429799417511da46337b8aeeb8771f45601cbdf0bf478de7e47e53ab1393c8f33181f3b3ec66ca52c254dd3ea50 SHA512 6660188082e47f79140e4ac582518e9d97a6e05ab8b7f0e9a316e10abb91b108b833c9ac64024525f740cf511da9c3e9b28ef367487d15e8e192d94d7d28f873 EBUILD mysql-workbench-8.0.18.ebuild 2556 BLAKE2B 09627a2314955946b3b57c92c0fc5351571f8095d536940bf107d56f0950d606a52cceb9b5000e5f36e2af97cdd252521cec9e86b5d211ba8e8982263fb375bc SHA512 2f9aaedf5f81d76daddb7c1507bbe686648c570d0d375fc78342fa00d78b8555ff921b55af2ca8d1ae012c892d06f4e7ad119e30cae84e0dd79bce240d08c802 +EBUILD mysql-workbench-8.0.19.ebuild 2600 BLAKE2B 58f0ee172565f13dd7a4ecb858ac60107f337f0bfecf55e214e47bf70af58045722be795ec328cfb776be9a6d7cc0a85b75691935d81742a70d59719c375de2e SHA512 164a4b3bbf8fede33675bf7454d35a969b43b89eced6625c1179ae7c53febf2af3f77a411011780e22b38e2252538a71c775e53836365dec66fea6a806a6ba7c MISC metadata.xml 310 BLAKE2B b0d985e39bb17865a05907e5449723c2bf862d9f3ae7f8570173c9cff443171feef6694db26a51880f8c1a4b1e3834ca7ab9bc7c2057fd6f8930b9d1c1c02cdd SHA512 f284063d72f2218f8ed60a74b43f252d608865682b8c0447f52016a02a7cbf6d45a226787d893328dd31946ade1cca78ff7556896183b4422c4142a8935a2193 diff --git a/dev-db/mysql-workbench/files/mysql-workbench-8.0.19-mysql-connector-8.patch b/dev-db/mysql-workbench/files/mysql-workbench-8.0.19-mysql-connector-8.patch new file mode 100644 index 000000000000..c624dea0e56d --- /dev/null +++ b/dev-db/mysql-workbench/files/mysql-workbench-8.0.19-mysql-connector-8.patch @@ -0,0 +1,12 @@ +diff -Naru a/build/cmake/Modules/FindMySQLCppConn.cmake b/build/cmake/Modules/FindMySQLCppConn.cmake +--- a/build/cmake/Modules/FindMySQLCppConn.cmake 2019-12-18 13:31:34.520496484 +0100 ++++ b/build/cmake/Modules/FindMySQLCppConn.cmake 2019-12-18 13:32:32.590496631 +0100 +@@ -27,7 +27,7 @@ + set(MySQLCppConn_FIND_QUIETLY TRUE) + endif () + +-find_path(MySQLCppConn_INCLUDE_DIR NAMES mysql_connection.h PATHS /usr/include /usr/local/include) ++find_path(MySQLCppConn_INCLUDE_DIR NAMES mysql_connection.h PATHS /usr/include /usr/include/jdbc /usr/local/include /usr/local/include/jdbc) + + SET(MySQLCppConn_NAMES mysqlcppconn) + diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.19.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.19.ebuild new file mode 100644 index 000000000000..4303dbc9863d --- /dev/null +++ b/dev-db/mysql-workbench/mysql-workbench-8.0.19.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GCONF_DEBUG="no" + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="sqlite" + +ANTLR_VERSION=4.7.1 + +inherit gnome2 flag-o-matic python-single-r1 cmake-utils + +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 + >=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-libs/e2fsprogs-libs dev-libs/ossp-uuid ) + dev-libs/tinyxml[stl] + >=dev-db/mysql-connector-c++-1.1.8 + 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}/${P}-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 + + ## package is very fragile... + strip-flags + + cmake-utils_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-utils_src_configure +} diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index 6fc7245419b4..8842bea9da86 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -8,13 +8,15 @@ DIST mysql-5.6.44.tar.gz 32531507 BLAKE2B 28fbf49f699eb9f43223ffa186671b119d1601 DIST mysql-5.6.45.tar.gz 32525559 BLAKE2B 3c629aed1de808acdea6654c7413e6851507c9c5be939ca4b4f5e2796da317e9b518a749bfc03d2b0ef05bd604b39f72e24b751076b9f206b462d21fa5db4f50 SHA512 f9d8bb72e96cc83f1064fe7df2e5fe8317ca9d44c4e776cf7827a61292fbcfccec716806c80d565958383d78fef93a19d61c726687b57680d5f93299291ff168 DIST mysql-boost-5.7.26.tar.gz 51098338 BLAKE2B 1263cd75814a7293b26b0f44fd2b7d20d983f3c6a62725df9515ecac2ef252f6644810cb4bf0d6f36b98e55317f1c67ea7541228cb38d896dfedc476a5755f26 SHA512 a5f9871dc5a8e5fffc1467c3dd542533a63fe553c029120475f8fd5530d884c76ab0c33ad260daf317faf318ccef01464f6ac2dc3468efceb6bf2b6c06c54cfd DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52 +DIST mysql-boost-5.7.29.tar.gz 51417554 BLAKE2B 652ce9f99419387e9bcc37afeb1b46438784752e963c3aa1877f17650c31d8b058b4052da97c3a7e9454e758c259d6c311e0518f9a75909fce9741150b82164c SHA512 38acf7c2a10b20c59230ad05cd2cd6996c4c582233c1be573ead08e5c6684275790da07a036570363f89b4d61547b306589b0b98ed5fca70723a3f2cbc21fe11 DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 DIST mysql-extras-20190817-0024Z.tar.bz2 337793 BLAKE2B dfd51a708654aff5bdbbaf2acad7ef966869a8e3adcba544ee15f217d2ba942827445841e73981bccc6c1f145b6225bfa7245114219f0cf52f0dfb85494a6830 SHA512 c2ff81be1c55636f0a2700033af030149f312f0383217054a4b8c65aef174626299fcb4539eaae967ea7d096a5bb09f5b5122dce344b44b0a135d886ba0fdf28 DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8 -DIST mysql-extras-20200120-1919Z.tar.bz2 342474 BLAKE2B 9c75ec0cb05fc8f86d46bc9308f07c4105c3ab228ef94c0e9e2ab9b83d03362e4ef07c4dac866350ea012c03c111e7012e0b12270b30304a988b9b54bad74864 SHA512 2739c193e9595781b742af9fdb6e0f9c9a5fde87ca652c355d3f630c8c0b45b45967e5c8cf7635fb8615174775e34ae3270b149de7ba8a9d778979c2c66069ef -EBUILD mysql-5.6.44-r1.ebuild 27146 BLAKE2B f8afe1efcdaf08bf6529f931486e1ad97aef88169a9ae301ebb25888c173f799cfced4c70569ff9aa565a71c15bf26e5129de8b2e4226e2b1fe6abfe7e010ba5 SHA512 dc5d3e62fe4f47126228594a0b1b79bf191f70c6158a33890e49d0826dadf890512a604968a57cdb4ee9ead4fd9c9c3c10eebea8603f3323bf01aa1b9a1d4608 +DIST mysql-extras-20200125-1945Z.tar.bz2 344906 BLAKE2B 0e87875efbc221ded43d6f080dc7dce4277b676b538950120c94b962e51d054093286486e5d83ea3e38e1b2d0b12cf81873df50e1cebbe4cff33b54297e6a17a SHA512 5fcc5d372998db2b8aef32661ff71290791c20c1195a6210ca79c0fda12008906e665f9dc878d3df5a38a95e23ff05b910daa861002c17a1b6de71ef0520bee1 +EBUILD mysql-5.6.44-r1.ebuild 27147 BLAKE2B 1958b4796fb68f0bdc248d03e41a7f4320c7229657a725edeeba91b93dbb65a74ec3dd8f8ac3218c1b9566fd6c293cf0ef2f321722c4bafdaafd053da9c89594 SHA512 6939dca83cac2fa84c3208e025e2b5e750d3fc0d210781d60d62bce34d7648af59488aae0e996188fa13577fc65c85f7a7cbb408ced14dd23c0686a2784a08ef EBUILD mysql-5.6.45-r2.ebuild 27096 BLAKE2B 4185eba92b1d3455b2c9d718249a55e0a95b45f02f25ae5d65a9c3e01ad5de9bfe66793e63a2f577e3e7a9e295f40d7576070b356f6e2efcf493599f8569817e SHA512 faed98d09a85757cf2cede77fc21d83e059fcee33cfffd739f2dabe34ec905101840244f45c4bdf97f945abd79202c78b40f3b1dcc2f9edf10173741a3ea5b13 -EBUILD mysql-5.7.26-r1.ebuild 31733 BLAKE2B d6e6f240727daae94a5d08773f1ec5046831c9b7faa605bcf685aac69c1a23b046a0bfba942e36779d9cbdfb616c9b847a2547b25673af7dcefc8839c6752710 SHA512 6dfe6baf03cf35e006677b7879d4c60705d57dc759608f17ac34eb0c747aa99844f7efe69c8d660dfb9863353d0ef390230972153e5901e7b527b8e59d9b4084 +EBUILD mysql-5.7.26-r1.ebuild 31734 BLAKE2B 1d81acf0b23e8dbffa2e5b5cfc9479f675480e775f4570df5c0fea294379138da799878dbcf3bf398badd727e6c33bd7a3387cb7d38bc643b25097194097beb0 SHA512 3189ed15cf77754993dba1065b4733584058952fdfa13da156563f7ff83ddb3146b121d4c51e30e099d50ca1715abc1ba3796e8a161f2804a284a72a3144b3af EBUILD mysql-5.7.27-r1.ebuild 31759 BLAKE2B 865bf492634cb00a3a373497501beeda472b477219960f012dcd74d5951e218904390039c17e5ff999a562cc12cb6bd58f0e2b0aa6efdb2e29f203171f04cecc SHA512 c0c7393a70d3be0129cba16694437f3017e97aa5f6cf8db63eb460d62ba06f5d3af8edbcb472d009f560e29ab837038dce4306bf2c2eb94f9ce026cae2204678 -EBUILD mysql-8.0.19-r1.ebuild 36980 BLAKE2B 91615a8226afde333febe3c4fc0200320a96db8b7e684c0c35a719e14b79eba026c088a80cb5c539bd029780869be9a4c92cf9c0b8eb0147aff71fa6cab09894 SHA512 e32b54b013d60919f4b4510a6f928fed842b3e8869824c3875d456a19b82fd56102a193316f7e4c8f9f6c7281e22f46165b43b108f3d4046843e45872b6cf069 +EBUILD mysql-5.7.29.ebuild 31633 BLAKE2B b60edf3458739179f3358eaefac56bfebbcf3d0bdd67e08d3000cb02c7ddaf9cbfab37999a847cd0573ee263672455bed7375e621a0172de5c0892932940ff76 SHA512 418244b50c115ce9c79a97cb0f24a4c5f6c6747567cb3dce56b962b788aeea2a84e6cd762882b3031577396b9a417f791a1a8df9eef93ce10d5ec816679707d1 +EBUILD mysql-8.0.19-r1.ebuild 36980 BLAKE2B ad9bc499272c92b1bf0b5f536d383dc7d7b6d5fa5c247787f3d9940bec6957912147fc7d75361eb296d116590b295d81b8bfd8fb37ff248586ecb48c0e9bff84 SHA512 0c73b7dff7ef5897c9dfb047963c098aca70291ef21761de431f4a04aa9dcdae9f3996e476f84ec5824965d8c6e9b0d56da24b82930fff813f246e1e684299bb MISC metadata.xml 1470 BLAKE2B 09754bc9a1cf5584588c4f69700919fd72a860175ae1c045ce90a644a1360d5abccedd5b2649e16fcd189e82df659ceb96fd71ab2aeccdac6256af4f80e46a0d SHA512 d96f6a133611f50b80116221e2586eff899210255efac58d9f6ef7ccd0ee0854a3322b4d4d1db15b3b2e410525f5d73e43f52a833f3ce358f6708b88b3cf00c7 diff --git a/dev-db/mysql/mysql-5.6.44-r1.ebuild b/dev-db/mysql/mysql-5.6.44-r1.ebuild index 1e3ee4b5f576..65e334429702 100644 --- a/dev-db/mysql/mysql-5.6.44-r1.ebuild +++ b/dev-db/mysql/mysql-5.6.44-r1.ebuild @@ -37,7 +37,7 @@ RESTRICT="!test? ( test ) libressl? ( test )" REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" -KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase diff --git a/dev-db/mysql/mysql-5.7.26-r1.ebuild b/dev-db/mysql/mysql-5.7.26-r1.ebuild index 6a478c8f6819..7cf6286849df 100644 --- a/dev-db/mysql/mysql-5.7.26-r1.ebuild +++ b/dev-db/mysql/mysql-5.7.26-r1.ebuild @@ -34,7 +34,7 @@ RESTRICT="!test? ( test ) libressl? ( test )" REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" -KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase diff --git a/dev-db/mysql/mysql-5.7.29.ebuild b/dev-db/mysql/mysql-5.7.29.ebuild new file mode 100644 index 000000000000..d87e28c839bd --- /dev/null +++ b/dev-db/mysql/mysql-5.7.29.ebuild @@ -0,0 +1,1001 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20200125-1945Z" + +CMAKE_MAKEFILE_GENERATOR=emake + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit cmake-utils eutils flag-o-matic linux-info \ + prefix toolchain-funcs multilib-minimal + +SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz + https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz + http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz" + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://www.mysql.com/" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="0/18" +IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling + selinux +server static static-libs systemtap tcmalloc test yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!test? ( test ) libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.29-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.29-fix-libressl-support.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-build-without-server.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# MULTILIB_USEDEP only set for libraries used by the client library +COMMON_DEPEND="net-misc/curl:= + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] ) + !client-libs? ( + dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] + >=sys-libs/zlib-1.2.3:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + server? ( + >=app-arch/lz4-0_p131:= + cjk? ( app-text/mecab:= ) + experimental? ( + dev-libs/libevent:= + dev-libs/protobuf:= + net-libs/libtirpc:= + ) + numa? ( sys-process/numactl ) + ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + !yassl? ( + client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + !client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + dev-libs/protobuf + virtual/yacc + server? ( + dev-libs/libevent + experimental? ( net-libs/rpcsvc-proto ) + ) + static? ( sys-libs/ncurses[static-libs] ) + test? ( + acct-group/mysql acct-user/mysql + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) + selinux? ( sec-policy/selinux-mysql ) + server? ( + !prefix? ( + 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=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]] ; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if use numa ; then + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + # Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${P}" "${S}" || die +} + +src_prepare() { + cmake-utils_src_prepare + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove bundled libs so we cannot accidentally use them + # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394 + rm -rv \ + "${S}"/extra/protobuf \ + "${S}"/extra/libevent \ + "${S}"/zlib \ + || die + + # Don't clash with dev-db/mysql-connector-c + rm \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die +} + +src_configure(){ + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + if use client-libs ; then + multilib-minimal_src_configure + else + multilib_src_configure + fi +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + if ! multilib_is_native_abi && ! use client-libs ; then + return + fi + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX%/}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_CURL=system + -DWITH_BOOST="${S}/boost" + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI, bug 530132 + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_PROTOBUF=system + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_RAPID=$(usex experimental ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + if use static ; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='latin1 perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]] ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + # These are failing in MySQL 5.7 for now and are believed to be + # false positives: + # + local t + + for t in auth_sec.keyring_udf ; do + _disable_test "$t" "False positives in Gentoo" + done + + # Unstable tests + # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340 + # - rpl.rpl_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 \ + ; do + _disable_test "$t" "Known rounding error with latest AMD processors" + done + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_numa_interleave_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + if ! use latin1 ; then + # The following tests will fail if DEFAULT_CHARSET + # isn't set to latin1: + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_xa_prepared_disconnect \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + innodb.innodb_pagesize_max_recordsize \ + innodb.innodb-system-table-view \ + innodb.mysqldump_max_recordsize \ + main.mysql_client_test \ + main.mysqld--help-notwin \ + main.type_string \ + main.information_schema \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_xa_survive_disconnect \ + rpl.rpl_xa_survive_disconnect_lsu_off \ + rpl.rpl_xa_survive_disconnect_table \ + ; do + _disable_test "$t" "Requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set" + done + fi + + if has_version '>=dev-libs/openssl-1.1.1' ; then + # Tests are expecting /dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + + cmake-utils_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT%/}"/usr/bin/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX%/}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then + local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT%/}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR%/}/mysqld-help" + "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT%/}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + echo "USE mysql;" >"${sqltmp}" + "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null + chown mysql "${sqltmp}" || die + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" ) + cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR%/}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT%/}/usr/sbin/mysqld \ + ${options} \ + $(use prefix || echo --user=mysql) \ + --log-warnings=0 \ + --basedir=${EROOT%/}/usr \ + --datadir=${ROOT%/}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]] ; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'" + "${EROOT%/}/usr/bin/mysql" \ + --no-defaults \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mysql/mysql-8.0.19-r1.ebuild b/dev-db/mysql/mysql-8.0.19-r1.ebuild index c07e5f83866c..5fced0177f01 100644 --- a/dev-db/mysql/mysql-8.0.19-r1.ebuild +++ b/dev-db/mysql/mysql-8.0.19-r1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="7" -MY_EXTRAS_VER="20200120-1919Z" +MY_EXTRAS_VER="20200125-1945Z" CMAKE_MAKEFILE_GENERATOR=emake diff --git a/dev-db/mytop/Manifest b/dev-db/mytop/Manifest index 924d6a0e6b33..5a0840bef79b 100644 --- a/dev-db/mytop/Manifest +++ b/dev-db/mytop/Manifest @@ -5,6 +5,6 @@ AUX mytop-1.9.1-global-status.patch 3459 BLAKE2B 338dffab012e3026d1c4e5edf241cf1 AUX mytop-1.9.1-queries-vs-questions-mysql-5.0.76.patch 3431 BLAKE2B 4d1d18cd3c9f9f74df49ab1958e68b50e286700619e28c8fc3e701a51eb4e95b5a1a8da2bae0e671f458f163d17ee163a30b697cc02219d118f0a05ecc00498f SHA512 50f5373dda953ea7ac18aff65b1319999fe0c53471ebef548309e49e2c6f762d5d98f105280a2c58a324731ff3c1c1af123114acf09f6bb3c99e4580e6041473 DIST mytop-1.6.tar.gz 19720 BLAKE2B c7cd4e75283a52e505e09ee3f1618877832be16154e2d313f3a9a71c53a604f67180c892b13209b85c584db0c67c66461064b9c5c99352685518a65f2d3cefc5 SHA512 672209d828c70fd740a791f2e4dfac1e4c594adff197b8bc43322249f03f6c7b18a750da0892c1519fe29e24b661e41d40cdad3a29b546dec4b3a747155566e2 DIST mytop-1.9.1.tar.gz 22095 BLAKE2B d0281fce93d9165593d5a94229a5de0d2b18d38b02e69329322e62611b5d9546d08626ea60ea7ede4d6ee88fc7df08c733cb5437fb47c468e0d591d7dde00595 SHA512 e6d38812dd69f5e330e5fe9206abe7e00c9e08dd61ba52a9dbd18a823bb09715832d27fb8db6fe1146d78eb56845cc0a7e2a72989ee56267d6482238fee84bc5 -EBUILD mytop-1.6-r4.ebuild 897 BLAKE2B e582412174bf886c390bc96efa133e287ae3afd53f64a5d222b869642b4175cef4040428addf6271177555ffaf1c79a7abc3fc64dc2346eb4fae7ff27324d155 SHA512 44c4b20f7dd17a0dd0686ce8250ad54d7d508fe94b41bcacbe5391ff003a37854e0d74e2ebee3cc243e8e94ecc8851a637b9615a3ddffa179173fa02685a7c75 +EBUILD mytop-1.6-r4.ebuild 898 BLAKE2B 3ee5dd6bc96a86eda0ae16e3c92f957fb3a6b8662784fbaf515ac08419bd81ef227a4284129e9b659a5de3d3d12b7647871e6cb54ebbc678dec902d2bd7a3189 SHA512 efc31994960562a6abbe536301332e1e3f6df6f70b1a2a9de4c8e91182b3784241a42b11dd2bdba9c45e0c29905358d6ea184c46bfc2f714996507b4647ba883 EBUILD mytop-1.9.1.ebuild 825 BLAKE2B 7b112fd1a6a91e248d6f007b8782949fcc180fe807c825a41fbede2b9390ba7c2f5a54a734e0f6fd5082ed6a59ffa42870f60860814a5ae78b82d19c6a9566f2 SHA512 26d7b172c52e3056184a48feb381462c1094872aa23168cb3f9cdf9c9b69e4756b1313893c53ad1383438e867ecaa889a0a2fc27c33c9ce868c2cd35baf777e6 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mytop/mytop-1.6-r4.ebuild b/dev-db/mytop/mytop-1.6-r4.ebuild index 306d8d7102e1..a68dd0076ec9 100644 --- a/dev-db/mytop/mytop-1.6-r4.ebuild +++ b/dev-db/mytop/mytop-1.6-r4.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="http://jeremy.zawodny.com/mysql/mytop/" SRC_URI="http://jeremy.zawodny.com/mysql/mytop/${P}.tar.gz" LICENSE="|| ( Artistic GPL-2 )" -KEYWORDS="alpha amd64 ppc sparc x86" +KEYWORDS="~alpha amd64 ppc sparc x86" SLOT="0" IUSE="" diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest index e3f142584fd9..79d83988df97 100644 --- a/dev-db/percona-server/Manifest +++ b/dev-db/percona-server/Manifest @@ -6,9 +6,9 @@ AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1f DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae DIST boost_1_70_0.tar.bz2 97887058 BLAKE2B dc7a974c6dc2662b767dbd87cb832cd1749c24fb745779d1059b73f19f7e52b33b645adfe72b0296c5e098e5cdb3b9f5eddd382374f33fbcd2ad5739287b2206 SHA512 7f2ea9636baf0210e8ed1d21ee798efb6ce23c0710ff8228b285e2214f82193bcd2d912fd435929c554289a59101c7be2e27ce798f93833f307976f0dd070b49 DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8 -DIST mysql-extras-20200122-2007Z.tar.bz2 344188 BLAKE2B e12a9886bb0c55f1af1ea979c9b1491b65195a54f927f0060f466fe858ea9dd2faffb6eeb7acb7efd28dfb37383b6730c314ea54fbaed2ec3e54655546c883e3 SHA512 ef43324b70081214f3e02eb677bde0e4e3575d2b3b1cb7fb8da18f50ff43a9554e13d13594c0d875bd1438695725ed28a586e4f67f4f4e39054d54671f9525de +DIST mysql-extras-20200125-1945Z.tar.bz2 344906 BLAKE2B 0e87875efbc221ded43d6f080dc7dce4277b676b538950120c94b962e51d054093286486e5d83ea3e38e1b2d0b12cf81873df50e1cebbe4cff33b54297e6a17a SHA512 5fcc5d372998db2b8aef32661ff71290791c20c1195a6210ca79c0fda12008906e665f9dc878d3df5a38a95e23ff05b910daa861002c17a1b6de71ef0520bee1 DIST percona-server-5.7.27-30.tar.gz 84672298 BLAKE2B 8431d231f602b704195868110e8eb73adb3db7c761906c15eff182e54634ef091a3ffa0d4f3498a93dbfbf65cd5cdd12102871abaaaa0f32378ba3068d083b2b SHA512 d62c66de3128df87dce52292ad1671e01fe2c923e668ef0faf9cb663c11c9cd0b976345aea1de6ea2bc458d0e1066b42c022849e422121d96cea082ed12c8f4b DIST percona-server-8.0.18-9.tar.gz 256867152 BLAKE2B 34c7b7b320f973313ecd95e658999a17748fc70ff46b1dc58144df02c17b7870cf33d68a555ee8aaaecb66c5b1003e6023154f7100a6f413514e89d495330dd2 SHA512 ce537a160b48e7c3dc35b15a293c39142a5b633111b5c9c5f9c1150476f0faa5e9cf81b34c9ca85286463455e3ae3fce7a200d253d880e3b67b3c71eefdbdcd4 EBUILD percona-server-5.7.27.30.ebuild 37290 BLAKE2B 539507ea5fbdd1e1f3a43128bce1c4a565344ba238de6e68e89cce2750c159eb65e9d1d82f6198ebe891a685fa4345ff03be38647a54d3582ae6ff95d6ad65ff SHA512 340ec101d272cfe788c2fa19579f889923c2ab34997e4482b5ba827ebe7ab824655c3c14ce90ebe40385a55f74cba46414a76eeda09a9aac53759ebe8a48c820 -EBUILD percona-server-8.0.18.9.ebuild 37762 BLAKE2B d14d42cae05d009c6eeaf3151378f7c811d2bf872a109848353cda18039ebb07ef4707a87e5d8aa22e2aaab9e8ffce50760a7958b84fe2c6ce18623787864c81 SHA512 58872ffc148d75ac6fabd4d0db1b4d6d77b77fb4f09ea765956abbbd209aed276e0081bd34a967b94dfdd45ba154bd087a9de91d4fd18ca88a892bbfe29a6245 +EBUILD percona-server-8.0.18.9.ebuild 37762 BLAKE2B 4baf5d6a80191612e022fd212c1f68e372fe6f0c999ebadcfae409c4c7701464b6085272f66c80e164b8a2b6fbd6204aeec58212d3d4244303f70f230d2f89e1 SHA512 540219318da07c64ee7a0c5161e440b0551a88db237d1f303c12fd15482222f804cb3e9db4bffdadeadbdf5c362f8bead222c69fca69ad30177f8b6627e29162 MISC metadata.xml 1476 BLAKE2B 45302733bbb03e6e999d60db72bed7382f664d9b46772904a35a1a8bfceccc89008e739fcead55bfb6a056523f0ff84fd22c638de859236f47a01eb8ac6c45eb SHA512 e53b29f9d78e895a26f228b7719a023dbd5957d1e10f384376b75b539a211425be143c229378af2ade5314f6b414d891bafc7e1fffde9bb88b59ff24de31a2c2 diff --git a/dev-db/percona-server/percona-server-8.0.18.9.ebuild b/dev-db/percona-server/percona-server-8.0.18.9.ebuild index 86ea26ade394..a3c7cca82238 100644 --- a/dev-db/percona-server/percona-server-8.0.18.9.ebuild +++ b/dev-db/percona-server/percona-server-8.0.18.9.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="7" -MY_EXTRAS_VER="20200122-2007Z" +MY_EXTRAS_VER="20200125-1945Z" CMAKE_MAKEFILE_GENERATOR=emake diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest index 0c912dc33c05..2b836a55ff86 100644 --- a/dev-db/postgis/Manifest +++ b/dev-db/postgis/Manifest @@ -1,17 +1,13 @@ AUX postgis-2.2.0-arflags.patch 535 BLAKE2B 6420573e9623d4e2115ed3616bc3b8648ae7782bf4624ee60d3827a4d61cbdac1dc62b4937f36113ed6d0856af4728f5cc1b544d502512e88dd87a7b590135ab SHA512 7f8b92a582dd11b3040832278b75e65036315ca0e438cb9b19cc5b63a7b5c5bcae8ec274a487a29abadfbbc31cdfacf6c668e46f249d4bf88c09607501cacf66 -DIST postgis-2.4.6.tar.gz 12616474 BLAKE2B 8e33ae7e8ca5ef2a4dd90f64a8e9910118e4ef711444b196f46e4a63f98ff6044709d65a853c5c10de91308658a206965503b6a85a16438ea422becdbbd9bb40 SHA512 eec4276a58549f3cc57d6574186aebc72df0dd7dc2ab9acbaf410604b4d271dee6d5154caacd7297d20493d879434ca78050672e8197ff0fc63a36100c20c66c DIST postgis-2.4.7.tar.gz 12831401 BLAKE2B 0069a339cc778a02a008835189b5560ffb1724aceaaeeec5264750cdfaa4346310ca1d112f698556e750b6559f0dabb727584c9d41ff8747ed7673e147c9723e SHA512 832f039e582227cd1c6edef98af8dfcceb90db75b18d4ba605b7baf2842227b23fe2d15c3b1cde941182c93230ba41ab94da59e97506c77e79f2016bbd98c885 DIST postgis-2.4.8.tar.gz 12846228 BLAKE2B dc7cd26f08774011bddba362040f35fd46dab5f58870643d4e6d939fb107a8e93ccb8c2d57ac67bf5ba44a7dd05c25eee77358548d9d7d9a8b3e2f7538e49538 SHA512 afeddbdcbad68358c3bc36beec5f1baf74c328daba90f0ac7d6322e4330d18da2e5534fa200f8ae3f19e7e897221989a564f6e2855e9181eadfd9cc32315b666 -DIST postgis-2.5.1.tar.gz 16041872 BLAKE2B 589cf7168d3698737a19d817b8efb91695c2c3f63d6c3aa24189d9a37459a28ca8a7db0450aa2d557699f76cd8e3ab1eec198bd332b294d976330fdc9d8a7f60 SHA512 c6c9c8c5befd945614e92d1062df1d753ca8b7fd69b70226065c2dac77a59783b14ece4da994187079b683ee090ba5a79389ba679f22fce8c20a5afc2c8dfca0 DIST postgis-2.5.2.tar.gz 16252761 BLAKE2B 181ecc41e659c1df32392d0dfea9cc081c2a647fd23401b8b0470f99e1136b6b8ed900eaea38afdf87cc801bf13ede4247f9c188fcf0da6782624239c77b434f SHA512 b10781f0b74bad8162c33eb111a6090fba184b45fe5874d22cd3a5b0acfb057f3407c073bc44c9d4cd20ed8c2cb1fbb34480b0cf331340bc8b52580d4eccb819 DIST postgis-2.5.3.tar.gz 16424752 BLAKE2B 94c2ccd41eb88a39c6db48ad7f4d142742a1b0791e3abe57adb2c778406dcc8286afc6d55c80067e0b94a1300eff1c76a227d3cfd813e12541c715edeea11a9b SHA512 1c9f873ba8f8ff4aeae248c68c001eb4174416de1e00ce6a0d0c9ea129b475e887a83235027068d52f587ab95c549adbfaa7e5dccdda77855e39c55dac0fdc2d DIST postgis-3.0.0.tar.gz 17359802 BLAKE2B aa83bdc2d1950c517f99cbdd877eb7261f6c29ce2cbd9f67f1e606c290080fc3d02ab0b7ceb68ce852e0c0d3d4b7753f03cb5b0921da164ab65d68e23d1df538 SHA512 82c233681fa6444686f9979768e5d6d3a9b6ca9cbd4fc2b14bd0a5d1269a8d0f45ee067e64984077063407c7abc13fa0e37a29928d7ccbfe3a61b694f592bed2 -EBUILD postgis-2.4.6.ebuild 3062 BLAKE2B 54c4f4682a7803a425a590ade547d178aab1a07722d825a10d25a22b77c7e58f21d6aa7b2756ea5faa96bf8ff309dd40cb80b0145333be1407ac7e8fb826e4a8 SHA512 cd36e3462489fcdf97fc5935d6705906342c6ee178502c06918e230308e245fb22141d49889f692c4e6eee251e21ab8d34b1cb88abc4617fc2cf3476a056aacf EBUILD postgis-2.4.7.ebuild 3062 BLAKE2B 54c4f4682a7803a425a590ade547d178aab1a07722d825a10d25a22b77c7e58f21d6aa7b2756ea5faa96bf8ff309dd40cb80b0145333be1407ac7e8fb826e4a8 SHA512 cd36e3462489fcdf97fc5935d6705906342c6ee178502c06918e230308e245fb22141d49889f692c4e6eee251e21ab8d34b1cb88abc4617fc2cf3476a056aacf EBUILD postgis-2.4.8.ebuild 3064 BLAKE2B 49d50ffe6855984a43429167b72495d7b4ce7a25e572a17e31d798412879d3cce9606b4c724edefb19bfde200b2ae0e009eed06c744cd45ff6a2509d3a0780b5 SHA512 386d7ca69f4a45277c6b5a9089a922121c55f21ac0fb44eb4ba299001c922920eaa52967af668bb8bd3f39aa67d245eefb4e6759f4e35f46ef9b9b9790a9aa71 -EBUILD postgis-2.5.1-r1.ebuild 3044 BLAKE2B ea7dd912c43f34cc13c596cea4f2169475c49d3318d4b5b2456889c52ef503c5300dcfc245220e9eacf8275c4443b6273c25da71f7d77831f888cc8d4f943f41 SHA512 3265db95c4debdf04068eafce9fef15466851b226752d90e6a4ebc8da0edb4f38f101cec4a59e1303700cfcabb0fe9382df25fbb68fe919bd639d61b9d9ba322 EBUILD postgis-2.5.2.ebuild 3044 BLAKE2B ea7dd912c43f34cc13c596cea4f2169475c49d3318d4b5b2456889c52ef503c5300dcfc245220e9eacf8275c4443b6273c25da71f7d77831f888cc8d4f943f41 SHA512 3265db95c4debdf04068eafce9fef15466851b226752d90e6a4ebc8da0edb4f38f101cec4a59e1303700cfcabb0fe9382df25fbb68fe919bd639d61b9d9ba322 -EBUILD postgis-2.5.3.ebuild 3046 BLAKE2B f2664d46785b9bb43bb35a23435649a785893dcbab78161e7afd9f56a8f1daecfe5c4e923f17266e06e560c2bd9113b4cb7858d8322bbc29eb31c33cdb5d809c SHA512 1182ea0a9fdd8430d4d43fc0bcc13825dec8531b6b0be111cdf480c634263b1599cc544630a20cd56073ded452d507fe895b95a5f5987a5df6e8b5bed152015b -EBUILD postgis-3.0.0.ebuild 3060 BLAKE2B 5b7798e3ab7293d163e504c3f9a370b905bb4c9c6062159976e4ef3129b3f569b16f4e31d4745c4636f89533344cc206d81093326adf0ec54072aba9f510f539 SHA512 920593b7e8015d9e8555adad9d9212c3abfd0a3bbb56e98d30f42a6fc13033b6fb093f8ca91479aa8077988f99ae0f6d98a6fc6835247d53fdba5ea149f1fbc1 -EBUILD postgis-9999.ebuild 2999 BLAKE2B 258cac486a7405c8c539bb747c1bc50570fc2433cf67b96af7335d04c80cf329cbdd9cfa26b4eb6339bc81a3fa5102459051d6082de719fc116b6379c25c9ba5 SHA512 3789549924568079ae52b48ec5d754dd4eb05d9f7e9104e246a3cb1df3f26b921bb59d82fe97ead03d727415b23e990a65b4e0284fb0a88728bbd650ae4cb767 +EBUILD postgis-2.5.3-r1.ebuild 3173 BLAKE2B 2ee5f83da6a5ef3719df540516dcc4ba0cd487d1e84836e6857123864ad01ab558963fa9d0d9d20151183ed3abb5c73ce3fa0759731e3f5d49ae2b016381f2a7 SHA512 ec758fb314c0613442fe189bb8bdbc47589b92efdc0dc4a4a3fa23b02b7de455f05c8f9a46ee62d7690f38786b56ec25ea95e20a077b862c8942ff21ef603c88 +EBUILD postgis-3.0.0-r1.ebuild 3199 BLAKE2B 6a25b2f93ff19b7fffdf431f38614ae6ab07f7209421414493696fb748abadfbb1c0a0e5befd8e30dc22734d976225e696f9a8c5bef185c4cdfaf2a8d62f1d70 SHA512 46b69a6620e69c0b65d7640e43065f10c2a920e011fed8e32bf43272b1fb5e1b66d09886f5de624f2bbd1b74bbaca5e3cfec2dc83d0a68e4f8733f04c740a9b8 +EBUILD postgis-9999.ebuild 3199 BLAKE2B 6a25b2f93ff19b7fffdf431f38614ae6ab07f7209421414493696fb748abadfbb1c0a0e5befd8e30dc22734d976225e696f9a8c5bef185c4cdfaf2a8d62f1d70 SHA512 46b69a6620e69c0b65d7640e43065f10c2a920e011fed8e32bf43272b1fb5e1b66d09886f5de624f2bbd1b74bbaca5e3cfec2dc83d0a68e4f8733f04c740a9b8 MISC metadata.xml 779 BLAKE2B 9dfbc86514c5f6e0c859dc41a46890e4f518f23c572786bf340112eadf21b35f5f583a3835f6ba58bef8c99a7ef8483f3a98898d372d1c0e5cc537bb9ecc2b12 SHA512 33ad2ddabf49e97af2cf188f2c0f72e1a936c228b43d8d3637230c43be0df82ec2aa20b63cb5f2385e936c215263fcd009332afe504bc5f30746a387b9b37ada diff --git a/dev-db/postgis/postgis-2.4.6.ebuild b/dev-db/postgis/postgis-2.4.6.ebuild deleted file mode 100644 index 2b057bbea83b..000000000000 --- a/dev-db/postgis/postgis-2.4.6.ebuild +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -POSTGRES_COMPAT=( 9.{4..6} {10..11} ) -POSTGRES_USEDEP="server" - -inherit autotools eutils postgres-multi versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux" -IUSE="address-standardizer doc gtk static-libs mapbox test topology" - -RDEPEND=" - ${POSTGRES_DEP} - dev-libs/json-c:= - dev-libs/libxml2:2 - >=sci-libs/geos-3.5.0 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - address-standardizer? ( dev-libs/libpcre ) - gtk? ( x11-libs/gtk+:2 ) - mapbox? ( dev-libs/protobuf ) -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -MAKEOPTS+=' -j1' - -# 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" - -src_prepare() { - eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch" - - local AT_M4DIR="macros" - eautoreconf - - postgres-multi_src_prepare -} - -src_configure() { - local myargs="" - - use gtk && myargs+=" --with-gui" - - use address-standardizer || myargs+=" --without-address-standardizer" - use mapbox || myargs+=" --without-protobuf" - use topology || myargs+=" --without-topology" - - postgres-multi_foreach econf ${myargs} -} - -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 $? - - elog "To finish installing PostGIS, follow the directions detailed at:" - elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions" -} diff --git a/dev-db/postgis/postgis-2.5.1-r1.ebuild b/dev-db/postgis/postgis-2.5.1-r1.ebuild deleted file mode 100644 index 39283cedf713..000000000000 --- a/dev-db/postgis/postgis-2.5.1-r1.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -POSTGRES_COMPAT=( 9.{4..6} {10..12} ) -POSTGRES_USEDEP="server" - -inherit autotools eutils postgres-multi versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux" -IUSE="address-standardizer doc gtk static-libs mapbox test topology" - -RDEPEND=" - ${POSTGRES_DEP} - dev-libs/json-c:= - dev-libs/libxml2:2 - >=sci-libs/geos-3.5.0 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - address-standardizer? ( dev-libs/libpcre ) - gtk? ( x11-libs/gtk+:2 ) - mapbox? ( dev-libs/protobuf ) -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -# 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" - -src_prepare() { - eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch" - - local AT_M4DIR="macros" - eautoreconf - - postgres-multi_src_prepare -} - -src_configure() { - local myargs="" - - use gtk && myargs+=" --with-gui" - - use address-standardizer || myargs+=" --without-address-standardizer" - use mapbox || myargs+=" --without-protobuf" - use topology || myargs+=" --without-topology" - - postgres-multi_foreach econf ${myargs} -} - -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 $? - - elog "To finish installing PostGIS, follow the directions detailed at:" - elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions" -} diff --git a/dev-db/postgis/postgis-2.5.3-r1.ebuild b/dev-db/postgis/postgis-2.5.3-r1.ebuild new file mode 100644 index 000000000000..13a85904de82 --- /dev/null +++ b/dev-db/postgis/postgis-2.5.3-r1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +POSTGRES_COMPAT=( 9.{4..6} {10..12} ) +POSTGRES_USEDEP="server" +inherit autotools eapi7-ver 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 mapbox 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 + >=sci-libs/geos-3.5.0 + >=sci-libs/proj-4.6.0:= + >=sci-libs/gdal-1.10.0 + address-standardizer? ( dev-libs/libpcre ) + gtk? ( x11-libs/gtk+:2 ) + mapbox? ( dev-libs/protobuf-c:= ) +" +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" ) + +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" + + local AT_M4DIR="macros" + eautoreconf + + postgres-multi_src_prepare +} + +src_configure() { + local myeconfargs=( + $(use_with address-standardizer) + $(use_with gtk gui) + $(use_with mapbox protobuf) + $(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-2.5.3.ebuild b/dev-db/postgis/postgis-2.5.3.ebuild deleted file mode 100644 index 23608a5b3b00..000000000000 --- a/dev-db/postgis/postgis-2.5.3.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -POSTGRES_COMPAT=( 9.{4..6} {10..12} ) -POSTGRES_USEDEP="server" - -inherit autotools eutils postgres-multi versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="address-standardizer doc gtk static-libs mapbox test topology" - -RDEPEND=" - ${POSTGRES_DEP} - dev-libs/json-c:= - dev-libs/libxml2:2 - >=sci-libs/geos-3.5.0 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - address-standardizer? ( dev-libs/libpcre ) - gtk? ( x11-libs/gtk+:2 ) - mapbox? ( dev-libs/protobuf ) -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -# 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" - -src_prepare() { - eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch" - - local AT_M4DIR="macros" - eautoreconf - - postgres-multi_src_prepare -} - -src_configure() { - local myargs="" - - use gtk && myargs+=" --with-gui" - - use address-standardizer || myargs+=" --without-address-standardizer" - use mapbox || myargs+=" --without-protobuf" - use topology || myargs+=" --without-topology" - - postgres-multi_foreach econf ${myargs} -} - -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 $? - - elog "To finish installing PostGIS, follow the directions detailed at:" - elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions" -} diff --git a/dev-db/postgis/postgis-3.0.0-r1.ebuild b/dev-db/postgis/postgis-3.0.0-r1.ebuild new file mode 100644 index 000000000000..2235d63f8dd2 --- /dev/null +++ b/dev-db/postgis/postgis-3.0.0-r1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +POSTGRES_COMPAT=( 9.{5..6} {10..12} ) +POSTGRES_USEDEP="server" +inherit autotools eapi7-ver 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" ) + +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" + + local AT_M4DIR="macros" + eautoreconf + + postgres-multi_src_prepare +} + +src_configure() { + local myeconfargs=( + --with-protobuf # funky misdetection if enabled but --without-protobuf + $(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.0.ebuild b/dev-db/postgis/postgis-3.0.0.ebuild deleted file mode 100644 index 9a383102a778..000000000000 --- a/dev-db/postgis/postgis-3.0.0.ebuild +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -POSTGRES_COMPAT=( 9.{5..6} {10..12} ) -POSTGRES_USEDEP="server" - -inherit autotools eutils postgres-multi versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="address-standardizer doc gtk static-libs mapbox test topology" - -RDEPEND=" - ${POSTGRES_DEP} - dev-libs/json-c:= - dev-libs/libxml2:2 - >=sci-libs/geos-3.6.0 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - address-standardizer? ( dev-libs/libpcre ) - gtk? ( x11-libs/gtk+:2 ) - dev-libs/protobuf -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -# 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" - -src_prepare() { - eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch" - - # funky misdetection if enabled but --without-protobuf - - local AT_M4DIR="macros" - eautoreconf - - postgres-multi_src_prepare -} - -src_configure() { - local myargs="" - - use gtk && myargs+=" --with-gui" - - use address-standardizer || myargs+=" --without-address-standardizer" - myargs+=" --with-protobuf" - use topology || myargs+=" --without-topology" - - postgres-multi_foreach econf ${myargs} -} - -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 $? - - elog "To finish installing PostGIS, follow the directions detailed at:" - elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions" -} diff --git a/dev-db/postgis/postgis-9999.ebuild b/dev-db/postgis/postgis-9999.ebuild index ef406c8c690c..2235d63f8dd2 100644 --- a/dev-db/postgis/postgis-9999.ebuild +++ b/dev-db/postgis/postgis-9999.ebuild @@ -1,80 +1,87 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -POSTGRES_COMPAT=( 9.{4..6} {10..12} ) -POSTGRES_USEDEP="server" -inherit autotools eutils postgres-multi subversion versionator +POSTGRES_COMPAT=( 9.{5..6} {10..12} ) +POSTGRES_USEDEP="server" +inherit autotools eapi7-ver postgres-multi -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" +MY_P="${PN}-$(ver_rs 3 '')" -ESVN_REPO_URI="http://svn.osgeo.org/postgis/trunk/" +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="http://postgis.net" +HOMEPAGE="https://postgis.net" + +S="${WORKDIR}/${MY_P}" + LICENSE="GPL-2" SLOT="0" -KEYWORDS="" -IUSE="address-standardizer doc gtk static-libs mapbox test topology" +IUSE="address-standardizer doc gtk static-libs test topology" -RDEPEND=" - ${POSTGRES_DEP} +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 - >=sci-libs/geos-3.5.0 - >=sci-libs/proj-4.6.0 + 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 ) - mapbox? ( dev-libs/protobuf ) " - DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - virtual/imagemagick-tools[png] - ) - virtual/pkgconfig - test? ( dev-util/cunit ) + 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 ) " -REQUIRED_USE="test? ( doc )" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" +PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" ) src_prepare() { - source "${S}"/Version.config - export PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}" + 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. - export QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" - - eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch" - eapply_user + QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" local AT_M4DIR="macros" eautoreconf + postgres-multi_src_prepare } src_configure() { - local myargs="" - - use gtk && myargs+=" --with-gui" - - use address-standardizer || myargs+=" --without-address-standardizer" - use mapbox || myargs+=" --without-protobuf" - use topology || myargs+=" --without-topology" - - postgres-multi_foreach econf ${myargs} + local myeconfargs=( + --with-protobuf # funky misdetection if enabled but --without-protobuf + $(use_with address-standardizer) + $(use_with gtk gui) + $(use_with topology) + ) + postgres-multi_foreach econf "${myeconfargs[@]}" } src_compile() { @@ -116,6 +123,13 @@ pkg_postinst() { 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 "http://postgis.net/docs/manual-dev/postgis_installation.html#create_new_db_extensions" + elog "${base_uri}/postgis_installation.html#create_new_db_extensions" } diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index 414c4b05c657..77836224d25a 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -31,27 +31,27 @@ DIST postgresql-9.6.14.tar.bz2 18787744 BLAKE2B be5a0d90fe1cd5ea682d8446e5122711 DIST postgresql-9.6.15.tar.bz2 18799121 BLAKE2B 5dee0fac7592cecf4412deaef54cedbd86eb6081fc268b6ef8a5f01c31af930747749fb54a77d766e1d6ef705bab5d550a7bace25c86d201f25ed69163d920fc SHA512 cc35a059bf59ea3487c17a8432b791ca2a19afaa24b07403a8d33904b3a97ebe601e3036ca8ec766c54cb87a7def7d4618a425a4446e6832391185d7c71117db DIST postgresql-9.6.16.tar.bz2 18806372 BLAKE2B f5d7287264b05ab6bd157adf05d78597c7e7281ef40d4616ad66f2434a686c68845ad21883bcc97f6ea299a785109e1541d6c75e40ba383d80e9703331d9c624 SHA512 7083d670883b203946f68bcf1216dd1cbd904220b4c95e25855f9a8904334fd7e87509c905f589398ad7b165869b75288c2e4f49b14263ce4891347ecd4485b4 EBUILD postgresql-10.10.ebuild 13924 BLAKE2B c05398c0bcee12d28254fd57f91f974b8389b6739bcd4fd994ad35e18455936df9a2eec6cd9860c5bf4d9e3bb3251f4662bbf460675ca360c03a7193a96fc336 SHA512 74f6f8303318b25bfaf09cafbae0af3049cdac6eb939ec4df71b4a4892ed6df032a6afb8e0c84d4630cc2321b1d1db2c5873ad41833d6eabb5b77ea96e48dc49 -EBUILD postgresql-10.11.ebuild 13914 BLAKE2B 66292659b2c288d24f905ba2b668c687025d7f3a34f441b619435e8bdf2164cdb0426866a3a9aa0f5f7eb5a6c912f3f0b10bfe3ca6d8383cebd22127a96b69f8 SHA512 d7ac0d50e578292d7d3e82c0bf4e62c4024b40bfc0021962ea2a345ec3065f9f8c3b9371e75448abe798547499fd528ed870ba06ab6f30cc5a5d2c0e5b459235 -EBUILD postgresql-10.9.ebuild 13916 BLAKE2B 57ee68c3ae908f58aab170358c3c6760d03507c248f04d39528704080e6300b0d8301ed400bcdcbbe06532e73dbb320b3836acf89dc7dd2975b7e264a42c3d9c SHA512 2a6c24d2b6ed95a91583d348e356718571db4fca8beaceb32c42b43a4547faabb9aabe3140e2893ceda0c6d1b9d62615505fe2884a9e3ddc88675220522a226b -EBUILD postgresql-11.4.ebuild 14042 BLAKE2B 9faf49356bbeed22ad9fc2470115b8bd6e6e7e77214c145cd9f0b9f101e3de8278e96a0ba9dd46effc3b52ce232365c703d6c6a4daf18c0e8409600520b0e95b SHA512 d0245adcabfcce14f312e4f0eebe2efbfb79769dc6493d7e689677aeb64f5c944cd9ba2a0de80c2b7c1d584349b0fd5c1afcce9c7eec9705d89c0bb122a81101 +EBUILD postgresql-10.11.ebuild 13915 BLAKE2B 9704037528284f71a781c738b44450cb43c029bb221fde59d40f8af12de292af8b1b1f4f892441c72cc79d70431936f621881181a7cbe6a5ae22bdf665b73f11 SHA512 5a55e48c83ef25ba6ec28c49ddd84e832a0b6b13aa87d9e8e6f1c58c340dbc83996849d3212dc7c0fb2f2a9329ecd7665010468a23d4c31d7da82c9aed2d418b +EBUILD postgresql-10.9.ebuild 13917 BLAKE2B e2f8eb187f60c615ced48b6dae373039038d295ab103b0e5b4c4a0ddea5e96dcd33e1cefce1cff8d56ce22aead49023acc638e2183d7944aac134c41bd7f1723 SHA512 f268ae2a323b057cb6ad6c452e6dccd29f0e0db12227f1c693086c9e997c53b797cbd19b3545c1311c69d1c7ca5e6a8d76e19a684de3080866bac69281b9c8de +EBUILD postgresql-11.4.ebuild 14043 BLAKE2B 040e7698304d9631e5c145eda79fb0da214135f80e5772763eff3bb1788f52cf1fdebf6ad8ab159348f444ef04c103834d424b2a0e184afd0af8fec93856eb1a SHA512 48e8050627b2254d6b15d8b821f7d65d970a40cc3077dac5401ce84ff1a6a58e98e434dd089464a0eba4b9b092f8833b981bcfd2fb2edc286bcc826b4fbff859 EBUILD postgresql-11.5.ebuild 14051 BLAKE2B b3d6ec9b2a2df2a476f8da9459858692fff30073f9446ddfaf1eb042e5f1232dbb80d9269979710befc14bf7fbd8875a7d3d18df97961c29b71c1ae06757aa4e SHA512 329c41cf4eea20098dabcf87766a4236b5f8c3ef79791ad57904260fd319ce2418b3570dbfa704225260787ea13947008fb19debd2794358c8ae0acb72f906ae -EBUILD postgresql-11.6.ebuild 14041 BLAKE2B bd8b2d9a8ed7876a15e1dea8b6b8cf3e8ad8fbd907490bf5f3e24482099b4845a6ef7c7c012b162441b2dd9b2179e61ee00d692f57e6e21c59e3ee5aa7182eea SHA512 5b92f62064e71d6d5d36876a7b707c75ec2046bba04bece76a7299420ebae6d76b041d6a37d68e892e30beed387a4330ac8a9cc54e0670b3d46e2e9dc134e872 +EBUILD postgresql-11.6.ebuild 14042 BLAKE2B 0de4003f360a51abe9cb7a45556b175ed789d4c197b550db679af6e9b94d3594434ad3eb52d2a91aff246a65503cbd1aed8dbc0cad1572afe5c707a3b3eba647 SHA512 fcaf02917b631e4c57a6308aef4d69376084d0d0da9f47af00e1090803a293979f47332b98b6e80fdc45a5f5f3b044e0c3db2e70555b8476d412ed390a86e84c EBUILD postgresql-12.0.ebuild 14027 BLAKE2B 215f30d3678b0db757958f2b1e910e3e22adb014f87a4cd80a547eef64286b9f4fece889eb498a62ab5eb77e2eb7154433c2d829ba486a30e3bc3212c6a6b8a1 SHA512 745399c3520dac4f7fa6c5573eb49491a2ece6c3c35fe811dd505f295184777553a6c26d87de09cb5bd28b67872e771ad3dbb8f3f00ab9fb11368fc90262db3e -EBUILD postgresql-12.1.ebuild 14013 BLAKE2B 3aeb122450cb6e246a5f1e2f0d7fb97ac71856e61056bc192e9ba3afea57f48d28c01e57be91d1d0fad9a60f9779849a1422826b8c72510eef36d61d8b4dca4e SHA512 994a050b86412520b7cf53639118557611dcbe746b9c553abf2ff8049a0539575069d207627efbdba339c498b966d9e756303f084e02576863e8a3e48dcbf703 +EBUILD postgresql-12.1.ebuild 14014 BLAKE2B 73cb7067a786e67b2e6a2614558c69f793af7404812008ba62c2861d504c96de9d259dec322a8596e68384c2abd5216e47e94643178d94ce57667d32dc60e7f7 SHA512 458cb55ad2d41f63cbe42b21d80c42487e6bf38e2eb520b903789a91c9b07dad069e69213bcd8d057a7f7a991760ddff97832ee4c59faf37d256af9271701889 EBUILD postgresql-9.4.22-r1.ebuild 14520 BLAKE2B 3ef01b265009894618634f67a3e0946fb4f14eaab29949e79dc40929f0ed90a7c66230371891f908f2ffd37dd0e670f65d0b3244583f53a33e4782127e9b7b56 SHA512 cff90abead1a9e4a56d781817890ee5e2f1cace64315378b30e619147f4aa08b3f436b8a9c7efb1b9fbf75664f3932f49c5456a5196af6e8ce30f584cd8590e0 -EBUILD postgresql-9.4.22.ebuild 14354 BLAKE2B ee8e2f6230e22371e084f7f2e18ce4dd8eff4f7dff75a447958206ce5ad955a0b04af8e3664935e01c963dfe16c1165fd10517c5f61c27a96aa6176379781bbd SHA512 2039f647e2b25ab4e99e575c5dd5e51d01368cdef9759efb4099e6797e49f640bbebdf58b9689d77ae5da52c830b907a43359bee9519c920d660075b678dd07a -EBUILD postgresql-9.4.23.ebuild 14511 BLAKE2B 3657baee89f693a660e6b2e20eced9ecfb3172b26345f068c851485c49c61683beef27b44e4a81d7347c2bb0702b4dad908f98431019a5f8523fa5d5cea7d81e SHA512 18c1faf1365656ebdaf8c644b867b61e58108ea6f9153ca1bd4b8652b14d31f27fb34a3c91c2dcd750955681f3e387ab57062b2d737553e0088f090a275de570 +EBUILD postgresql-9.4.22.ebuild 14355 BLAKE2B 71f3f741b70b80ae3b19eb946b9c36c49423905c8051d40db1099fcda879c7db533be8dc8870b6f42c0ca0cbce347ad9f76d12cd07464e519b7d7a99efb93518 SHA512 9a75a3f4469e645b132d0b4127dbc5943e614b3e7e7d8777884951f3771ace77e1d252e0c381fa82df3fe9ac0a276563cb1f52c1dd9919ab2f0bd4e0b31822a8 +EBUILD postgresql-9.4.23.ebuild 14512 BLAKE2B 44eefc4ba623cda5b8a909b9a070190d5eecca848887496bc25c265c8cc3e33b6e0f57d2c03d75b5e0fc8c14f4618bb5ddcc964c8c7ce4843c1f261240d960f6 SHA512 0ede36acd4be218d282d90bded383d210034663bcdd1add15aa4f096156cf3b709a9e1b4969114272e733ecb86a981581dde801f73cb343e673a70e0c79da48e EBUILD postgresql-9.4.24.ebuild 14520 BLAKE2B 3ef01b265009894618634f67a3e0946fb4f14eaab29949e79dc40929f0ed90a7c66230371891f908f2ffd37dd0e670f65d0b3244583f53a33e4782127e9b7b56 SHA512 cff90abead1a9e4a56d781817890ee5e2f1cace64315378b30e619147f4aa08b3f436b8a9c7efb1b9fbf75664f3932f49c5456a5196af6e8ce30f584cd8590e0 -EBUILD postgresql-9.4.25.ebuild 14517 BLAKE2B 408400b8e70b9bfc3e1935d3d168854a13d1ee122526729b5f28916a532bfaad7fb07013df6f8104681722c7d4e5127b23090c9194fe2a0d1a59cde278fe7061 SHA512 d2c5997cde00a54ee07dbdb0a368a83455dd73f06dea91be4bc89fbaa55ea139f4da7488a9e99c6ac369e668667284d8560a1f3048cf43d49eb45c30a771dbab +EBUILD postgresql-9.4.25.ebuild 14518 BLAKE2B 6e2850eee89718200d36d979784edf407c8b5559352d151f19d6203d4ff9e0ffc15abb9dd26d52d7df9ab9caed0e1319f82acaac3db91551b8d61412a7e47e1c SHA512 5021bc9aba3c31e3c65d77451fb63b32985820c31480d3c766ebb0c655fefb19f2f606f044465255a4b3d93ebd72049f42ecb3672c5dc1c58aa266a2986dea64 EBUILD postgresql-9.5.17-r1.ebuild 14748 BLAKE2B 25d75bfb24afb94979f096d74d51df3654d3ece778a96491fe6f4ea12616931785fb18e062a607a1ce00ff4c4b04b011c91c2981461480e14520ad234d6aeba7 SHA512 362ead5a78680dcba685e95210384d74b665c2ecf0a748247795871f70ba6c0803a4f45122d969f2e84cc1195c5718da13edb45e136b89d029061d9bdc1d683e -EBUILD postgresql-9.5.17.ebuild 14582 BLAKE2B a6f5fe910ae67ab7402b3cf1b656f84473541b8340800fc4c6976c25a9324680b7a94e64331384999b1f17d0d2a9c1dc893d6c24c84e8d3efe06bba8581ac10c SHA512 ad8d74ac6bd0cca2d593c1d0fd49cb33c67ed5b9c77fd5d614f03ccdd738b7728e4c62c2f375d96b6744c0ac3bb29226b550dbc6fb6209d101ad1b9e9d6cd59b -EBUILD postgresql-9.5.18.ebuild 14739 BLAKE2B ac2ff896e38e2de5e841a7e9be9f35a5095406a07637589973b4621ccc1ad9409479a711281ae046ad863b6b267dea89ab4594b10832a288d8f366e1b09cc69a SHA512 e54415fdcb52f0e1a83a14b9d9d3fa59b162c4776471be993c682afcf90abc568435e668e5c295f14a39dbc957991a838ddc46e4a3cef4bf9d5a62f3a34756e8 +EBUILD postgresql-9.5.17.ebuild 14583 BLAKE2B 12ccc584c5ebcf5d3400207b11d515d56723c81add3ec64988d071be9a5b566e45e88636910b02596b72d9e70cd619ecb3917b69e7edb0f78d923b0cd99ba86d SHA512 c060e2081932ca08a8bd4604e56a9cb19900e43875d9ac206ef1ce128d957bc359c87cc353d06553a7ff15c3091d4205b2dc9315ebe976bb4303568f551a8cc9 +EBUILD postgresql-9.5.18.ebuild 14740 BLAKE2B 82894c37d569774b34a33cf1a5167efa5374e5f1d8da429fd722b14073efb6ea62ece568352575cdd8fe46b67ef50263a22560b0190775a79f796ff9939e6b96 SHA512 4412773f738c7f40b169396fe18628c642fa1276e3984f8c6e7aab599ba8648da5ec51658dd299e4fa4705db0735d92d3d180e4f42d13865ceca2683059ee688 EBUILD postgresql-9.5.19.ebuild 14748 BLAKE2B 25d75bfb24afb94979f096d74d51df3654d3ece778a96491fe6f4ea12616931785fb18e062a607a1ce00ff4c4b04b011c91c2981461480e14520ad234d6aeba7 SHA512 362ead5a78680dcba685e95210384d74b665c2ecf0a748247795871f70ba6c0803a4f45122d969f2e84cc1195c5718da13edb45e136b89d029061d9bdc1d683e -EBUILD postgresql-9.5.20.ebuild 14738 BLAKE2B d3812ff4ef0e9ad32c7561447bdf5db2ebb5777ce574e66b182aeca5e41d664af88bf0b8c48438f7d3c029e8d8e80b57f15602a0f3960d68a3510b89bddf1b44 SHA512 eaaf63d440254ddef20574e6793bc021b0fd4768c4f6ccd8334eb1ab26b052523dda9762b8f2849c01ed2bd9a7ab07b8cc694c294bea771ceeb4cc6ede10ae01 +EBUILD postgresql-9.5.20.ebuild 14739 BLAKE2B 4d3887db7564037f2ed6b16b673c56295974ca0bd77b310e860f716a93507eeba0211139ef4a61922c8fb53ec16ee485540c9f654fa1ac08df75c5bc49e08f43 SHA512 e30d2c4edc1188fe8d0f7e79be99e93be9263acc481dc87055de08130a7a2a636dcb0d36d2e59f7cecf6ac5404dd7b98e8c6608ce74729cc97e6c6c41471c44a EBUILD postgresql-9.6.13-r1.ebuild 14981 BLAKE2B 2b879aec0d072a99c35f736e842fc3a6f20cbbc0fa26b61bbae55ec708e941067994f94a014998a3b6e93487fc62b8a48e8859f39447222b381b394cc0a3fd5c SHA512 339ab99b3d1c127ae07ca424c8831328930c37a0d230a7013fe0c0a7cca3ed8921ee57ccf836a41e78c23882ce5b2197d476e1a9d80e90652973f1a7e5c12083 -EBUILD postgresql-9.6.13.ebuild 14815 BLAKE2B 21127dcb0a7c0eec2573cc4a2f7ab45e813c326f05c2e821a0673ebea0e25b91516815fc381febc6be8d5ba26eced72e0d01e2b6355fbe958f2999cf3d552c72 SHA512 9293ca8f978e7a882286b83054632a4e19a3e95b653f90e89c7c4455720591c99b1ab60f5b4638c0acbc6d02f09c1f7f64d9b2e6b1d160b72b68001208442f9b -EBUILD postgresql-9.6.14.ebuild 14972 BLAKE2B ea7ce1c4520e2b6ec8e9409077a9ba210daf8cbd929ab508f7439fae4f7705f269cdb86465226fcce947036b1903e3ff9ba9590421b215e048fcd5b3b370da79 SHA512 eeb418ac195aa4733616fae52a49f0df7feae15dcd6fe24fa55891f87169228696aeba53dcd63bf08042f6fccab31799f98d4695459fd7c187ffeac6849c1657 +EBUILD postgresql-9.6.13.ebuild 14816 BLAKE2B 9e24011b34bb3e28eb714c3811f5b5e9560394355d0bd10d35eb9bd6a49bc17d654cd6aa00034ea8c456e4b7103309f5bf52e28afac7c530e18a24b6de96039a SHA512 251553a1222ee2b54a92124a971f9ea299a9add28bc50fb5859295500112a75cb02e03e3efd91c89a38faa8f771271e041411811c51e4879e2f90a6e5604e4a3 +EBUILD postgresql-9.6.14.ebuild 14973 BLAKE2B 050dd9a09b489eb3b67c09da4689a0259c273eb05f03b6f0e20bcc6cad476f5688316fd6b386ef0acf210f8c9a80e574fdeefb50571a4d6822b8ca17d7f905c1 SHA512 02d17343df57c275bc494d02249ef3a76d3f615ceeb669c5c29f4253babf4db4cd4137ca0cb028af0ac55d0179d9fadacd72c36634a1f8f2b90e21b9ce6d840b EBUILD postgresql-9.6.15.ebuild 14981 BLAKE2B 2b879aec0d072a99c35f736e842fc3a6f20cbbc0fa26b61bbae55ec708e941067994f94a014998a3b6e93487fc62b8a48e8859f39447222b381b394cc0a3fd5c SHA512 339ab99b3d1c127ae07ca424c8831328930c37a0d230a7013fe0c0a7cca3ed8921ee57ccf836a41e78c23882ce5b2197d476e1a9d80e90652973f1a7e5c12083 -EBUILD postgresql-9.6.16.ebuild 14971 BLAKE2B c015dca10e836a78a5e378459c7268a9cf3fb79396274b485b15bcb46b6567e5a735fd7057dbb583ab772372f07f8b501cb64cfb018e22b4c9916c7c76f0e77c SHA512 4c9bd946f78683b037743ba05bc42887648be1bd8bc06183dca68a00444dc4fb6e890c256c606c8732f0b6c5297decf691122ab3bb42363df84233872e9c1295 +EBUILD postgresql-9.6.16.ebuild 14972 BLAKE2B 17ff2cab4da79f331eb256327b99dd02e50401b41ebbafafd3b2dd752ba46094b3882f64e4536b2f0f0a3283795c145354d09dfc473e09c3d0083baddc25a59e SHA512 ef7d4bdb645807a720238cea456cf728fa64938c9e3f9acb576c3d466b0f097dcd9c30a207042799615a78cbd0c2c3371d476e50e7b6bd01db0fc8fb0a15f443 EBUILD postgresql-9999.ebuild 14484 BLAKE2B 42ab96a78dc30d063a9b36550dd0de6b1fbf0aaf8864ef75701697def08e83d80432b22a014928a81667a210064bffc969d3c31285e69536ed8de543ac50ac9e SHA512 c0efac8ba0e11011710ca62ae45f8fe3fba0e736d9539977db32b2c0b536802b5dd38c4f6f857ec6564973fc52c837f5b3489ef1c7d21e89d1d70988bbd75f0d MISC metadata.xml 715 BLAKE2B 59ad51ae06a697fe649054d9fe13040423f425b95abdcf3797e1d0d5abba8c62d54cc8c1afb0be0d0a29d1a39d379912bd931925b5df480fb0bb9b238c36e598 SHA512 03027757eaf95313a6825710b1054a9671aa8396381789397006dfe2f66cd41e85cde418e792bf7d71d7db2413905816ff39685774219c1ea5e8b8d35c5cffd0 diff --git a/dev-db/postgresql/postgresql-10.11.ebuild b/dev-db/postgresql/postgresql-10.11.ebuild index b4e929ed9467..4db1706faa4c 100644 --- a/dev-db/postgresql/postgresql-10.11.ebuild +++ b/dev-db/postgresql/postgresql-10.11.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT=$(ver_cut 1) diff --git a/dev-db/postgresql/postgresql-10.9.ebuild b/dev-db/postgresql/postgresql-10.9.ebuild index 1b01d1461217..dfd737bb1a58 100644 --- a/dev-db/postgresql/postgresql-10.9.ebuild +++ b/dev-db/postgresql/postgresql-10.9.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT=$(ver_cut 1) diff --git a/dev-db/postgresql/postgresql-11.4.ebuild b/dev-db/postgresql/postgresql-11.4.ebuild index 85b166cac397..2a0a71668e6f 100644 --- a/dev-db/postgresql/postgresql-11.4.ebuild +++ b/dev-db/postgresql/postgresql-11.4.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT=$(ver_cut 1) diff --git a/dev-db/postgresql/postgresql-11.6.ebuild b/dev-db/postgresql/postgresql-11.6.ebuild index 800593eec1bc..bd2130f6d42f 100644 --- a/dev-db/postgresql/postgresql-11.6.ebuild +++ b/dev-db/postgresql/postgresql-11.6.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT=$(ver_cut 1) diff --git a/dev-db/postgresql/postgresql-12.1.ebuild b/dev-db/postgresql/postgresql-12.1.ebuild index ba466864c0f5..1202ea084698 100644 --- a/dev-db/postgresql/postgresql-12.1.ebuild +++ b/dev-db/postgresql/postgresql-12.1.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT=$(ver_cut 1) diff --git a/dev-db/postgresql/postgresql-9.4.22.ebuild b/dev-db/postgresql/postgresql-9.4.22.ebuild index 2369abc5eb3f..3ca85697fc72 100644 --- a/dev-db/postgresql/postgresql-9.4.22.ebuild +++ b/dev-db/postgresql/postgresql-9.4.22.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT="$(get_version_component_range 1-2)" diff --git a/dev-db/postgresql/postgresql-9.4.23.ebuild b/dev-db/postgresql/postgresql-9.4.23.ebuild index e6021164e24d..5d6471258c66 100644 --- a/dev-db/postgresql/postgresql-9.4.23.ebuild +++ b/dev-db/postgresql/postgresql-9.4.23.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT=$(ver_cut 1-2) diff --git a/dev-db/postgresql/postgresql-9.4.25.ebuild b/dev-db/postgresql/postgresql-9.4.25.ebuild index 9b2fab476aa2..dccd9372c733 100644 --- a/dev-db/postgresql/postgresql-9.4.25.ebuild +++ b/dev-db/postgresql/postgresql-9.4.25.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT=$(ver_cut 1-2) diff --git a/dev-db/postgresql/postgresql-9.5.17.ebuild b/dev-db/postgresql/postgresql-9.5.17.ebuild index 48bed446b3db..b8663e8bbf3e 100644 --- a/dev-db/postgresql/postgresql-9.5.17.ebuild +++ b/dev-db/postgresql/postgresql-9.5.17.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT="$(get_version_component_range 1-2)" diff --git a/dev-db/postgresql/postgresql-9.5.18.ebuild b/dev-db/postgresql/postgresql-9.5.18.ebuild index 8f9467640047..f6e7247b9104 100644 --- a/dev-db/postgresql/postgresql-9.5.18.ebuild +++ b/dev-db/postgresql/postgresql-9.5.18.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT=$(ver_cut 1-2) diff --git a/dev-db/postgresql/postgresql-9.5.20.ebuild b/dev-db/postgresql/postgresql-9.5.20.ebuild index 7b0dd794e2ce..0631e478db3b 100644 --- a/dev-db/postgresql/postgresql-9.5.20.ebuild +++ b/dev-db/postgresql/postgresql-9.5.20.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-macos ~x86-solaris" SLOT=$(ver_cut 1-2) diff --git a/dev-db/postgresql/postgresql-9.6.13.ebuild b/dev-db/postgresql/postgresql-9.6.13.ebuild index 10d27d431256..bbb43aee8a94 100644 --- a/dev-db/postgresql/postgresql-9.6.13.ebuild +++ b/dev-db/postgresql/postgresql-9.6.13.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT="$(get_version_component_range 1-2)" diff --git a/dev-db/postgresql/postgresql-9.6.14.ebuild b/dev-db/postgresql/postgresql-9.6.14.ebuild index cb02bfddbf22..2334b0f00b3e 100644 --- a/dev-db/postgresql/postgresql-9.6.14.ebuild +++ b/dev-db/postgresql/postgresql-9.6.14.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT=$(ver_cut 1-2) diff --git a/dev-db/postgresql/postgresql-9.6.16.ebuild b/dev-db/postgresql/postgresql-9.6.16.ebuild index 80bd43dcadd9..f4a28fd7b81c 100644 --- a/dev-db/postgresql/postgresql-9.6.16.ebuild +++ b/dev-db/postgresql/postgresql-9.6.16.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT=$(ver_cut 1-2) diff --git a/dev-db/qdbm/Manifest b/dev-db/qdbm/Manifest index aecb70ee0a77..9c74b16b0f38 100644 --- a/dev-db/qdbm/Manifest +++ b/dev-db/qdbm/Manifest @@ -3,5 +3,5 @@ AUX qdbm-perl.patch 1260 BLAKE2B e180ba6c2d57f6d813bbc6ae01ed787f6262a290eb59253 AUX qdbm-ruby19.patch 10116 BLAKE2B 9a15c5d2e0cf8237edb78e68b2f9fde4868841bcca6abc08a33d110b9f25283e37fcb306c18bcca5495c7e5cedc778e3a2de2fe8414ce46c661a7c40d517cddc SHA512 f3e6c320a600ad3355fc74a333c28fc2dd904a2a52ca91a51f21b3dd14c7527bf312f5040dbc3e4f61d2dbcc0ade185e226333c79f9a04fc05437a156befc0e7 AUX qdbm-runpath.patch 1133 BLAKE2B 9b1c8c211d8e4075a77a34f3d79ca15cb3d833801777bdb328293047539bdd1a51c08031b3400c11d10732aa7864078ca8db02713a95cd90704e1a9e26f5bd10 SHA512 de8bde4a614617d742131e8025fd661019ec81b803817ef32ffca461b2c8b60c20756f6e6f84d6f23124eed3947ab3573b8c4a05b254f8b4d3e53f0cf7bc8452 DIST qdbm-1.8.78.tar.gz 1015429 BLAKE2B 1b985d856ff18ddfeb2d779694ba9a76006908b4b2a7509d4e3668aded80e08bbde28bcc24762ec27048cdc01dc84f9872dbfc221e8eea6f1c68f5e81cdc69d3 SHA512 480549c56071bf82edf714a611aef863599c858ed63702820ae0890fd2c0029d1a231ed94a8090c74420dd648bd3625d270a5c078b113cbb86a12ef509e19037 -EBUILD qdbm-1.8.78-r2.ebuild 3339 BLAKE2B bab9d58d72d5a1daa8dd0483d11d87c9470a18ef3b63e5cf39bc9f7a7213ca5fb68db1565094e3a13ab12fd7d4def90f9641872e857a8f33b98361a703d583b2 SHA512 33513eff4e9775c15945cc316d51b470d3f25dd6b75fe184d2d8608ddf38fffdcb9d0dba1fc7719caa99ec283ad2392fad3a9058758dae84bb1ce6ea279ce779 +EBUILD qdbm-1.8.78-r2.ebuild 3340 BLAKE2B f580c1168aa6e21802c086afe062e6fc88b7b3f822324faf11acef79bd8fdef17f133e0eaa8dcd1059fef57b0f0723cf6b12c5e5ee023578ef3071ac067442a0 SHA512 ffc708a2fc9dac16963603a22f8efa325b89ed2f1d2458f81d31a99fa40b2d3fb06d6124ae2289482a015a0792daac484998c4056578bcc2e31c0b51fb63e81f MISC metadata.xml 221 BLAKE2B 6fb71e3c82061054a0c2d88c1ce8e591d5742628fe53032c9efd2c371ce1e8b0135b00ac91fa1905df39a507d5faa5871fb3a30d167dd46cec581682ba17c8ff SHA512 a11e9bbbabc9ac96985c5dc247e601b065fa762f12bce74224896c27aee34eb908187622bfc849c39c6c722a8ef8ee72b248afc84da1b0eb72f1ff5eeb13bbf0 diff --git a/dev-db/qdbm/qdbm-1.8.78-r2.ebuild b/dev-db/qdbm/qdbm-1.8.78-r2.ebuild index 5bb1ca02bf9f..a5fc7c780989 100644 --- a/dev-db/qdbm/qdbm-1.8.78-r2.ebuild +++ b/dev-db/qdbm/qdbm-1.8.78-r2.ebuild @@ -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 s390 sh sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ppc ppc64 s390 sh sparc x86" IUSE="bzip2 cxx debug java lzo perl ruby zlib" RDEPEND="bzip2? ( app-arch/bzip2 ) diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index d87f4fa32a3a..41b8560e9da6 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -7,6 +7,6 @@ DIST sqlite-doc-3290000.zip 9415641 BLAKE2B 97fef1f01d3e7730e5220541ad9ccdf9f853 DIST sqlite-doc-3300100.zip 9485342 BLAKE2B bf5e3909a327c773106d4990b3e3be5dd63db2dbc1a7f8a7c1bd16f39bec83a6b2a98c4c56ded3b58f4087dcdcc934e542db36e142bf338a411ed7115d67d6b3 SHA512 373e843015307071443a0db5fb930f9120718f6118cc2e21b506fdc8535fbe6996e9889e8b5809ffb91257addfe778bdf3412a81e11f6bced2c5e0330337d00d DIST sqlite-src-3290000.zip 12557725 BLAKE2B b1aeb80734a2cb7d45c6f2e278bad2996b56ecaf792a8f26322bf50aeaa430eea267f23edb1721bb80ecb6e0c8e14c7a5d8f26178d056fd23efb52f496cc03e1 SHA512 575398fbe20c6471ee2abcbde170b8d48efbb3cb2716a65f42f05c52429a45d14e8046e50c59bbf75bfe2d8f151c34abd50b440c50af571f19e19f3290b230df DIST sqlite-src-3300100.zip 12648162 BLAKE2B bb239bac9115c74778de0347b4f4e24a82f149f55fe7dea8b89eb859bfe4cf6f6c2f065f5e1741c40624bb88ecd395140064a41d475a1c64a0188990fd6248e7 SHA512 f40236d0bb25f3ea01a1192dace3b6732fb671fbdabb7cfa8d0cc2b99d21aef00ae380999fdee904501cb03304644cddfb2506951f36a2f6a83693f311c3c11d -EBUILD sqlite-3.29.0.ebuild 12010 BLAKE2B 4cc533b7b9e57e759c93bbf91adf5d1ae04b252ae9244beef08ee98ebbc4d52c724a441b207aef3fdbbb52658d685f6b21f196fff55df49a7640e24e732ad06e SHA512 d7e7bec9be46e9e29935bbf584efe6228b2d19e4c0ec54c22c73a545d6b3b88a324dc67a6a9057d6623ff170deae1bb15051ced2e6a42c510ce71ec4af05d084 +EBUILD sqlite-3.29.0.ebuild 12011 BLAKE2B 7e7f23de260c0bf0e1e00c33c9747eacec1097b35a9cf8e5e2f0cd1cd3f3520f398a6e683f79d2699766846b81416cbf7ca94f5236fa697a53a556bfb6753f3c SHA512 d1a388cfec73cb14ff736cfd358a9f15356630bce2f2366a6ae9cf68f5a0e9569339783877caf46c2cff07b921cd953e9553c72a233ff0baf57010f1b8e442f8 EBUILD sqlite-3.30.1.ebuild 11655 BLAKE2B af9bc868f98f33c8464715d135ed37f4868b85e11c26db71bc030e6e3d1d41fc53911b2bf19a70ea5616ea02e114d31528fcbd4306139be8ab2b2d2cb8485405 SHA512 c919660e483a4e8a1d7defb305737b5ba2b3624f7b4903477e4b98b6b457b3d67f2b77a01fffaee6d2220fa2bd28397e03ced50877032d64ee831165505ac0de MISC metadata.xml 748 BLAKE2B c58da3e33e12b7747bbadacfd1a6137cf847fd5bd0525fc02ef854eb5bcad7bad0b29739257b632e19190995659768fdea418ffa7e485e55ef15f40f58b8382c SHA512 66f3f134065f76229b74a7ab7b469066a93da737a9037435e6fe78e85f45c980ec561537f2bb9b95db9de026bad025d8b06682187c97dedd2741717e893d43da diff --git a/dev-db/sqlite/sqlite-3.29.0.ebuild b/dev-db/sqlite/sqlite-3.29.0.ebuild index a00c771c8c08..d9feb9482f69 100644 --- a/dev-db/sqlite/sqlite-3.29.0.ebuild +++ b/dev-db/sqlite/sqlite-3.29.0.ebuild @@ -25,7 +25,7 @@ fi LICENSE="public-domain" SLOT="3" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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" diff --git a/dev-db/tokyocabinet/Manifest b/dev-db/tokyocabinet/Manifest index c38c58e0348d..78613d58b448 100644 --- a/dev-db/tokyocabinet/Manifest +++ b/dev-db/tokyocabinet/Manifest @@ -1,4 +1,4 @@ AUX fix_rpath.patch 2111 BLAKE2B 3aa9797555e0eb02a3d63e4e117e8aff5c7c0a09922cf6b0344777cd95b2480623f05fe68cfe63750ba00ff954bd6bb3e1a587c4e8af31086c94b2b3344cc08e SHA512 c0ee076d048d8ec4a77b036d0503776c4e3ca7a97c30cd8ba41cb0d99707ad5021613e1d308f6e73cc3432e0f71f7b38429ca0edcbc4edfe0d96955fc56b3504 DIST tokyocabinet-1.4.48.tar.gz 1000485 BLAKE2B 4da2659a90dcee1cc99be286fe0e286ee75bd8179b75a944f229a3cc04169b8007220e36400d4934a7b5fde554bbc1783c4813fdf44b4a3530882ea0a8ef258e SHA512 b9995c838e713c13f781ab41062caefeb5c613f696dab08039f992f6860413d60a513114b83468cafdf7fc5b5e51ab880226972465d532f873f2a55f615e1440 -EBUILD tokyocabinet-1.4.48-r1.ebuild 1504 BLAKE2B 48deb984369fc9deed83322af7eaf468c64dc4599cab7983289be8e30b4b787e5a0de10c03483b2cf610f5b729d266f974d340d528290ac044d2590223425a9b SHA512 5867885ce51025edcd05ffc20636aa78b1f58b216ebe319abe4a3422b695c914288cd2d826c95895c8a2f14c6bed8603ec872a853f8fa55ea27fbebecef068b7 +EBUILD tokyocabinet-1.4.48-r1.ebuild 1505 BLAKE2B 7c82c868b67643a66179e3c7aaa0e0cfefd09d0a3979fd03fb6d8829b95ca4b50fcebac9dd95480e73c4ac7397a2c43d35a9e3af84e58705fe0ad37a5d5d0584 SHA512 a5825682cf31399554ae8f45b3d5f1587503a205024e150381576fc8bf9af3c9774fcc5c0d9bf8e4c4e565a5421278eccb9305e822892a8057ee4b32f23054ad MISC metadata.xml 247 BLAKE2B 5a20af3c9732ef7dba68131a08988652f5c93a6d186a82c4deb1bb9c06dc3ae73152a0d241cc346637f7b11caf4676da43301ba596c67b66669535e71db0b03e SHA512 29cf52c16b0cce69899d9c2da8acd9144b7d760442aa323b854dceadb42459e009545193b1df7911ac2241b59f4819b4a6bb1d206d6f57953f770031433bb6b7 diff --git a/dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild b/dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild index bd0907a609c6..5845647959b8 100644 --- a/dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild +++ b/dev-db/tokyocabinet/tokyocabinet-1.4.48-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://fallabs.com/tokyocabinet/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 hppa ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" IUSE="bzip2 debug doc examples threads zlib" DEPEND="bzip2? ( app-arch/bzip2 ) diff --git a/dev-db/unixODBC/Manifest b/dev-db/unixODBC/Manifest index b5a025e318d6..9e531814a0e1 100644 --- a/dev-db/unixODBC/Manifest +++ b/dev-db/unixODBC/Manifest @@ -1,6 +1,6 @@ AUX unixODBC-2.3.5-CVE-2018-7485.patch 5224 BLAKE2B a21d659f75f9ae11a6d78a4a74b0591786800e14f22d7fb4c7ef5005e0630b95453a319d9254bf3f5e423e74ae36c6a7bd097f3193869757b2bea34f8974e358 SHA512 a4d5dfafe75ea0e85feed76cf18474a89fcf6719ee58d0b56d57959526db2511df2df691bf9af2e1a34c716d2d90f6d274b48a11cfb7add74df799d1f1f67387 DIST unixODBC-2.3.5.tar.gz 1633390 BLAKE2B f7c70740471b0c6ff298f2377a3895efbf160764adc4f607dfb65de2873ea3a39a2852399feaca50fc389875e20a10b3cd0389ba9e9f02d0548312d8063f5af5 SHA512 94b5ebb887571f4fa801ae4305cd6cb4eb0d03682fac1eb0422cdd13b046b077e60bff8286c578b0b5e291cfbc0bc8695495e39c3713858d2eeb7b38459397d5 DIST unixODBC-2.3.7.tar.gz 1669501 BLAKE2B 0e6b2130b72ccfed3a26877ff1c8af9adc7cc514002d3198d5249a12da5de03322178bf0847b92336b5a373893751bf3cb5aec4c251163a3c9f0ef98c90e5db8 SHA512 a87afeaaa0476f4ae6345c7021b3af52718944e599abb595c864d9126744a21341889802512a1de3ebaf86ac89e7f8b1bbd7f8f5285e8f4bccf928bd1585ff70 -EBUILD unixODBC-2.3.5-r1.ebuild 1799 BLAKE2B 374248a415124781791b3c1ca7f9bc1bfd5500e2206763e4ac16400af1002fdb2a21e767b14a454ae945ab9752a135c795c082bc02e901af97f809c0cecc84d2 SHA512 21d128ea6df6efa3a903b33ef529708839219becfdac4470bc83d7b50c4d4f74eea688976f84bf27c283e831bcb6c7fca9ac48d5f26f6b9ee35b940d5b5701ae -EBUILD unixODBC-2.3.7.ebuild 1765 BLAKE2B 2dad3c7ed8f7f94c8ea6522499b9429a4d8d3ac0f340f6328eb01373207269eaec12c6b91e5d62ca728130c14b6a83b1de5b644f1cf1f29c86f698ec5a71dd15 SHA512 bcd8d10da6c60d26780686cc5d101cd4e0f7cd9dce2d1a15e5c16b9f439c99d6f946b3f276bab60e1ea95337e09d3c2eca294d52286f0b5250d511254c9ac0c4 +EBUILD unixODBC-2.3.5-r1.ebuild 1800 BLAKE2B 3d5b8c14075f26947a34c47c780004073003de604f62e682018aee401438d1b8c73f6a3ca6b2a2aded327fbe018e57bfcf82a912ed276487e09526e217eec363 SHA512 22382ed1161cd8b79eb23285d79b9791edd8b2576982af459e56a3c91eaea29e0f50ab9d6f47578ac2c6cc6bac416e05249abab32c9a2cb8491793f1beb43feb +EBUILD unixODBC-2.3.7.ebuild 1758 BLAKE2B 37e000e8087c3cfe1124c3fb21d6444db3f91de33f9d436b3c25b45457b32423b4b19432e9ea5294c13fa0059a500a1283362e0f80baa6ae32c17f5ac38350e5 SHA512 fcadf160cf3f6ff6635fab76da0c86f5d54b32260cb87ba1da2ea0ed06bca735ab33958e9c2416be5f556e501a51641fb3df4c9fe9371309f269df98902cc7d1 MISC metadata.xml 393 BLAKE2B aae8c823c6e3d1a3b21910c6aece373e66e62c6686b152f1f6c8fb980a4c58b19dce1144afb76219d4d4e451ee097afe0f031130e82cbf933e6ac1ba3d4f1cc5 SHA512 76f899e62d86b476cc9f97daffe5c67fba8fe217fb0d6c0b1b39f2de8e6a92350e6d0433f37f54f57875d3cbb3be7908eaa9a3b1717fc1da687a1789062c0f86 diff --git a/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild b/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild index 97da1d7baf51..a55cca1ab390 100644 --- a/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild +++ b/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild @@ -10,7 +10,7 @@ SRC_URI="ftp://ftp.unixodbc.org/pub/${PN}/${P}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+minimal odbcmanual static-libs unicode" RDEPEND=" diff --git a/dev-db/unixODBC/unixODBC-2.3.7.ebuild b/dev-db/unixODBC/unixODBC-2.3.7.ebuild index 6cd38d973f2b..0577917ac657 100644 --- a/dev-db/unixODBC/unixODBC-2.3.7.ebuild +++ b/dev-db/unixODBC/unixODBC-2.3.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -10,7 +10,7 @@ SRC_URI="ftp://ftp.unixodbc.org/pub/${PN}/${P}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+minimal odbcmanual static-libs unicode" RDEPEND=" -- cgit v1.2.3