From 27dfd272ae3be15b1017f733682211afa1c7c0f0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 2 Nov 2017 21:07:25 +0000 Subject: gentoo resync : 02.11.2017 --- dev-db/m17n-db/Manifest | 2 +- dev-db/m17n-db/m17n-db-1.7.0.ebuild | 4 +- dev-db/mariadb/Manifest | 4 +- dev-db/mariadb/mariadb-10.2.10.ebuild | 971 +++++++++++++++++++ dev-db/mariadb/mariadb-10.2.9.ebuild | 1006 -------------------- dev-db/mysql-init-scripts/Manifest | 6 +- dev-db/mysql-init-scripts/files/init.d-2.2 | 2 +- dev-db/mysql-init-scripts/files/init.d-s6-2.2 | 2 +- .../mysql-init-scripts-2.2-r1.ebuild | 64 -- .../mysql-init-scripts-2.2-r2.ebuild | 64 ++ dev-db/phpmyadmin/Manifest | 2 + dev-db/phpmyadmin/phpmyadmin-4.7.5.ebuild | 61 ++ dev-db/postgresql/Manifest | 5 - dev-db/postgresql/files/pg_ctl-exit-status.patch | 12 - .../files/postgresql-9.1-no-server.patch | 141 --- .../files/postgresql-9.1-tz-dir-overflow.patch | 29 - .../files/postgresql-9.6-no-server.patch | 110 --- .../files/postgresql-9.6.1-no-server.patch | 130 --- dev-db/sqlite/Manifest | 23 +- .../files/sqlite-3.16.0-full_tarball-build.patch | 147 --- .../files/sqlite-3.21.0-full_archive-build.patch | 153 +++ .../sqlite-3.21.0-nonfull_archive-build.patch | 14 + dev-db/sqlite/sqlite-3.16.2.ebuild | 260 ----- dev-db/sqlite/sqlite-3.17.0.ebuild | 260 ----- dev-db/sqlite/sqlite-3.18.0.ebuild | 261 ----- dev-db/sqlite/sqlite-3.19.2.ebuild | 265 ------ dev-db/sqlite/sqlite-3.21.0.ebuild | 284 ++++++ 27 files changed, 1565 insertions(+), 2717 deletions(-) create mode 100644 dev-db/mariadb/mariadb-10.2.10.ebuild delete mode 100644 dev-db/mariadb/mariadb-10.2.9.ebuild delete mode 100644 dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r1.ebuild create mode 100644 dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r2.ebuild create mode 100644 dev-db/phpmyadmin/phpmyadmin-4.7.5.ebuild delete mode 100644 dev-db/postgresql/files/pg_ctl-exit-status.patch delete mode 100644 dev-db/postgresql/files/postgresql-9.1-no-server.patch delete mode 100644 dev-db/postgresql/files/postgresql-9.1-tz-dir-overflow.patch delete mode 100644 dev-db/postgresql/files/postgresql-9.6-no-server.patch delete mode 100644 dev-db/postgresql/files/postgresql-9.6.1-no-server.patch delete mode 100644 dev-db/sqlite/files/sqlite-3.16.0-full_tarball-build.patch create mode 100644 dev-db/sqlite/files/sqlite-3.21.0-full_archive-build.patch create mode 100644 dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch delete mode 100644 dev-db/sqlite/sqlite-3.16.2.ebuild delete mode 100644 dev-db/sqlite/sqlite-3.17.0.ebuild delete mode 100644 dev-db/sqlite/sqlite-3.18.0.ebuild delete mode 100644 dev-db/sqlite/sqlite-3.19.2.ebuild create mode 100644 dev-db/sqlite/sqlite-3.21.0.ebuild (limited to 'dev-db') diff --git a/dev-db/m17n-db/Manifest b/dev-db/m17n-db/Manifest index 58cd03131ed1..5b00f7507c68 100644 --- a/dev-db/m17n-db/Manifest +++ b/dev-db/m17n-db/Manifest @@ -3,7 +3,7 @@ DIST m17n-db-1.6.4.tar.gz 1390344 SHA256 530ecb1615a9a64d4caca9ffc59c0dd1c551d34 DIST m17n-db-1.7.0.tar.gz 1939608 SHA256 a2ba9f80161433d5c06e57915a9cd51f26c6df4a8909723f952cdbb9b48508f0 SHA512 02c3cb347e9f5c840a723de9ed85be84fc9fb5f86d4963f0d1c6b669045d37d10e5efcf5ac0e0c3cb7249fb391b0dd32bd50fbc3332455aaf0b49d96fc09b2f2 WHIRLPOOL 821071ea60a947526cd92661b9246732379cc924cae0a0a21e141a0cb3e59834633bec20e0ae01a9c66529f09bf9353696f96f2dde4120b2742fdf6ed338e4f8 EBUILD m17n-db-1.6.3.ebuild 507 SHA256 d533ef17a97415bac97d66d9b86a9e58b9ed539982be0be54b5985416110a44f SHA512 260a94b0e5fe3b506e9f4c667fa4ea065656c1308b2166e00f253761e479ccf99fad689e1ca6175b822ecb9b4b9b75179441e634d91002ca12144b3071ac6b5f WHIRLPOOL d2d0b2a6ebe98a2f7d7b89f9ce1ede12cb637e556162ed369805e4c393765b99c5d3d06ea0386f60dc10a84959826a5e66e3282cfbe84c0b2113a215e44fa8d4 EBUILD m17n-db-1.6.4.ebuild 514 SHA256 1ca2f615f4f4a2b781e85d05466766e8fd02c5590c5ccfb796bb7466ff8e07be SHA512 96e7e70c793b1ce424bbaf62b465d9a8bcc53c0357bb4a3663a86581e0fb45926c3f13c684ec049361f0a047d2bdf70928177e984220e87dc93e3dc717a382dd WHIRLPOOL e108c343d4e1b8c111951b19550594cf19087d26afdbb9e90c9b0c55a996876a74ddbf83e0991fcc6937f213b51f65a136be6ccd3d3d3d7945f8da63b8e501a7 -EBUILD m17n-db-1.7.0.ebuild 546 SHA256 d2d8b13188363560516a26f6f2bf1ddb9d5e6c79a1b58191f699b0e4126b90a4 SHA512 b1be16118d2e6c42fcd855489b40dad4179a2fcf77a13136debfadb316edf6ddaddfc16d2bf3482cdbbe93011ca4ee56bb2153dc9616208bcbe7b3f69abd70a8 WHIRLPOOL b18b9882e3f39353203145f2ca2e6b8f7ae6dc7293483e884857525708db1f32e96e278d24511aa2f5e376515484b8cd46512ddccf9effcb0d1ced2128c0ea84 +EBUILD m17n-db-1.7.0.ebuild 598 SHA256 d483e2bf6ba04b94f087721be0db9212eec7b1355553c005a7121c20e79739ee SHA512 84d1c0d18f131ac8bef9d04fd745a2a47d33fe9db9e8df3dce398b6cec5e68707492689c484bbcd11385dec2e32707726cc9824cab3de2a1cb2331bde6a16e87 WHIRLPOOL 34a801ec6838c4ceeb0a148216f917c88c628e89d4c5fa301efa6f147ea020064270a8854e175dab1654c1dce6333079ab4cb4b319c4036b3fa5cc5c65eb0c59 MISC ChangeLog 2683 SHA256 ebd6c23bf3f78ebe13ad1da5afac8ee0a5c49e0948b9eae1a6641a9ef661fd8c SHA512 604f1af9bdd07190fd89339cd073f51a483e29c9c9679454b820a11209876c819f6cafede313372531038b5efc44f32a9572d98cab5532ad779a6061436739e2 WHIRLPOOL 5982919ad90614ff799698282c2aba9e2f957f65034b1987a78a7bf092b7e6ab7076750697a23b5900abc4673f1d020063e7f6fce26c578e72ff6430379a2082 MISC ChangeLog-2015 7585 SHA256 a4b55a0d559ffa34e7a483b36fb4c9592c2707b3ee48c2ff240dc3cd9f1f4aa3 SHA512 2d7e9223783594d680629e123b5f6ef209d21481e9648e1eafa1ed9fc6039631d8ad7a92fcd39334739aaaf163402e7aa782f5368d64f311ac02371dc850a44a WHIRLPOOL c40f58356cdb3dd59e0ac1997c9dd26607a795fbd8e270e90033142b60323f0e3b26bc9818040a9fff290eb88c455822b2fb905dc32030dfbf3e16642cda940a MISC metadata.xml 240 SHA256 4351b96b5a18595fae67161f1207f22bbf99e9a2235b95b68975cfc9f5baff54 SHA512 12aaa73d9b690de68a5c7b20e214ceb099efa87884b784eafd994f26032b44dcb66e7feac8a5b1df7f349ac05c5a198a7593dff2cc686de158cb21e4c54f38dd WHIRLPOOL d279940dd88c4b1caa478907576d5732c8376e3f99830950c6c18c63dca78c7d0ec1983660e5cbd4da0133b961ef38dc8460650cb48467298542e04005cffc2c 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 fc63f861b9a6..ae636d4d2f5a 100644 --- a/dev-db/m17n-db/m17n-db-1.7.0.ebuild +++ b/dev-db/m17n-db/m17n-db-1.7.0.ebuild @@ -4,12 +4,12 @@ EAPI="6" DESCRIPTION="Database for the m17n library" -HOMEPAGE="https://savannah.nongnu.org/projects/m17n" +HOMEPAGE="https://savannah.nongnu.org/projects/m17n https://git.savannah.nongnu.org/cgit/m17n/m17n-db.git" 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 e26e439a76d0..5bb5809282e1 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -10,7 +10,7 @@ DIST mariadb-10.0.33.tar.gz 69211872 SHA256 e3e3d583c51761aee2fcd0e51bfa7d592c12 DIST mariadb-10.1.24.tar.gz 61780687 SHA256 b3df99ae5b1ec8cf6cede4cbc4ae3f54ce66464549cba6d56d9ff4d24e4d551e SHA512 0b8d81b53f6866a81f33559ce57ebf956fec3ba25da0bd58c8bee3b2ecc00a6c370340000209d18463f84501d3ba35994b51ef99224616c37cd38d2fc87b73e9 WHIRLPOOL 91261a05e3d8b0cad925c382e0cf9a40fcfd3d35ae320c4a9860db110cb5655d1e1f992f9dea8987e50a07dd4a66aa42c9a3470a7acb3d0d706bcef7bc890122 DIST mariadb-10.1.26.tar.gz 61887132 SHA256 ba88b1cb9967dea2909938a34ba89373b162b0d83e5c98a0f1c94540156bf73d SHA512 a7505c579728b58eb6a92bdee1f5dfea5c10c8389cb7a31eb99fe2c6bc416593925cf9708d3dec91ede12eb4e232098a0833af2185bdd60bc593c89d255f3c0b WHIRLPOOL 8fe0c23f70b441a1f8d32d1fedcd033443641288ef1a20c49fbedfe6f5da95cb82125faa68f676fd68c441d4bf096101f364e1b3976f54229f5d9d0d10edbe21 DIST mariadb-10.1.28.tar.gz 67559689 SHA256 292dc8fff420c4bdaf3a2c3381ec3c99292965db2b09de0d7fec414c00032bbd SHA512 ca10d28f6b966719c7488c2b4ba928b65cbe9dc32ccf2a28d29c4d0c2d46ea1c59c3e339230017b317132dcd216925a71769dfba80a7d6321079c74ac41926d8 WHIRLPOOL d8ff24346a9e8ada4a9ec0ea8fd7657ff4972d43347afb7a9d7725293437ba70e0035c365738084b1e4828344861f000bd963260176524da2188c2c3a1389f67 -DIST mariadb-10.2.9.tar.gz 70858881 SHA256 12e0a01c52591ee77cf0f940fe65df024457fa16c70f08c6116048d576096124 SHA512 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373 WHIRLPOOL dba0a8dfd5079b314ffc399e116abf8582bdaf51657dfe6e72247ab92da874aca97af4ca27dbcfdca5634c926598a853b7a8ecd8a61fee453c2764085a05b949 +DIST mariadb-10.2.10.tar.gz 72388999 SHA256 5c7b83c4d2f7501ef9f187d8c97688a24fd3e53dc43bb388f8e1cead61a92fc2 SHA512 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239 WHIRLPOOL b64e99254764556d6de947e254a45c5c2743d9e825ee109354b3101641048b3509dd26471abdb6f7b90f3a208ac7d2d13ad70cbb966e05ac49b26ef2ecb12e6e DIST mariadb-5.5.58.tar.gz 45784323 SHA256 26fdf8784a51e5d6f7624c0f4528433a6188065dd1bf92ef69e27db6b0a41002 SHA512 c5c8b52c613a1a3f30de2cd1d8e390f8110b0891af78ee2a24ef2c4b7b8c5f2e140970ca89865e8277e7486dbfd0ad01c1fdbf8791c67a9793392247d68fec63 WHIRLPOOL b507f3aaaced5da716de1a131dc4e69ace6f2ccd2ac58614d3d722b46b0b271ab0a452aef03b78d499b961f39a057ece5169f5af6fcce2e840aecd77ebf9295e DIST mysql-extras-20160721-1526Z.tar.bz2 301788 SHA256 45198f8adb4a61fdd89a5d3c7966ce2fe9241381510e1f7b93e793502a32dfcb SHA512 c7450039780e4e2684c932ba7c291c1de25dd1a64e4c6e88aa13b790768b4100955f36ae4a3bf983569ea23b43be02da6dad3d5985c1163ec9e8aa91f0efd85d WHIRLPOOL becdf0d4d7b8b5a269246d2fcf1bc09c4313046468b264f07394ae9f1de2f736ad3fff8cad35e544df7a3623688050e6fb9635dfea3876ea082d19cf9fe88927 DIST mysql-extras-20170310-1426Z.tar.bz2 307052 SHA256 23f5becec389fc49e7cf0d52c6c914cbc8d7e3fc5851ee38881ee6884ffc5732 SHA512 2dbb3e46f14fbd0be9ee0e3a8ff2e4d5325f9a9be332014ea556283c0bc5f53349952d267d6713fac5b54e3167a66ddd36f18b18b79ca6b68ede399399488157 WHIRLPOOL 9f459d9e58938597e7919b29fc819d87920a51461d274bf87520fe322a67ad8638ef19212855ba8e37507d3b160d29ecad0099f4632f078cc503e1be0f809fb4 @@ -23,7 +23,7 @@ EBUILD mariadb-10.0.33.ebuild 6736 SHA256 b4594c937a2c57000c63d257a2d0db6c7a3442 EBUILD mariadb-10.1.24-r1.ebuild 7187 SHA256 fb9a9a37ea87839b5df675be187df0756853d995e56af9f46e4d938f1f3bb778 SHA512 f88e2f171b9785ab6c834511ca71d9939eb36020a32cfdba5fb91f81253df8a35b891db321c0f796dfec03c7fa39226d1696607518efbaa446531590de97a75a WHIRLPOOL 95a507b48de0251948e1511c285d50b7fdbc490395ce3618a2e4517fd3223d62e17787837570f5f4ba5b78d3b7f773889826ef0966ae7b92ed7da9d6639a0f21 EBUILD mariadb-10.1.26-r1.ebuild 7255 SHA256 3dfe3f3c0effdb9a13b4e89398169a58773c056da51a12ac9c79e28ed0cc2b02 SHA512 171bd1cf59c77e98505f9f2217a5522611977fcd1c13d67dbe551892da3569b45298a032e33d5aed8cc2caa95f326c6f011291f678436a7fb3069133792693c7 WHIRLPOOL 3bc062878d0be9c3211299ab3e2c2d90d970f2cb2cf311dfe3fa799545bc09fd32f6da3532883dc5a6a4adfb42e23459b302d43bb01ebb1d776f5811f5102156 EBUILD mariadb-10.1.28.ebuild 7320 SHA256 b45d0316aed437a96b46648109783fd9a8d3252d92acadf89e8a763843327e49 SHA512 4868269e57a2951e6f51dafb51fea044902e390aedaf2d1229b85c61fda12f39cf0b01935dcd4ae111b5323b647c9f639cc4fbfe03d20f50b56085babcb275e9 WHIRLPOOL cbaf38b55fcc2d3f2b0ba00fbde07b513077952b33d3679f99a1b48eb5e15638f274753bc1b536570350890d0faa5ccaa3e45934984699d95c3c9fb8fb56f45f -EBUILD mariadb-10.2.9.ebuild 33584 SHA256 2493e44d407da15ee064afb0dae082980514d5b8754a4f0cf9cf544a8f435724 SHA512 308a9089edb55264e290aed7fade8ba2e4c9bdb6c83204dbbbfdf3f0b205a64a82874079134d48de958b0755f92d3fc9a1a2e73fefd105c58862c4ca1a327e9b WHIRLPOOL 03a803a33eb343bfef919e4cc5b8aacba74b32ecad01d12dbecbddd71ce26a4a0862d1f539e735bdd91064f3476aca4128bd47852aeee7332b92587766fc72c3 +EBUILD mariadb-10.2.10.ebuild 32355 SHA256 b9e37664dc6efb4e70f996b277237efa926f564642942c93b08675a885bc31bb SHA512 56116f8a65f22c89b491cdd4e72c6fb118dbf7efae56c9827d1520055e555abef57e9b88957c3460e1e7ff76b44f2955a0092acda08e183a9ed867c08053ea44 WHIRLPOOL 9d72a6474950fbf3248d0c2e89aa8b9e249b5118f88d6bc291e9fcf8cb4277e1298c72ec7a86e97136d15434031651cc152369bccd0cdaff26e9eb92a5cf41c2 EBUILD mariadb-5.5.58.ebuild 4241 SHA256 ebb8013626eb0a5a222b3bac6ef12606545e67338903c5872249589ae8d79aa8 SHA512 3de822605e73ca9094f6635ee232b133371823e3f3330d6ecad973c0e9176d2280a5fd5ae6032a4f6e3f914c8a937f912e2aeb91a5802342ced02aee6db11944 WHIRLPOOL 3d68d32e9d157c909659ddb17550c517e5407366c2e867a7d7ecc14594d329e551d42221e2a918155e0a1d6cbe7819a121f8ac3a417110156010ed1716ef230f MISC ChangeLog 24701 SHA256 3ff49394f0611c2c667536a084ba1816152d1770039e716db13ff905ed3382da SHA512 c7dce735d23de6f8c71f27d0047e5079bf6587ba386935800613cb36c0e3653f59e5021d73a4efaf56c74ba4a4f6ce4bbe21e10b214ed4618e0b2528bf13f65d WHIRLPOOL de0cbab6250b12fb8f55acc5978e3d135723ff727805e2c898a921ad7adae798702a16df7077159c195ea9854cada6840f1ef03d7f4934a183d5b0f081dd57b9 MISC ChangeLog-2015 18661 SHA256 49a3541aba6998e4e877f4a11c5f3b9e3c6019c87d2f7ad8b8e55a25eab88eda SHA512 24861a1e538520bb16a70d09a34633dd51b15a4c2fee86928be65ec589ef54014aea54072124b245a4572b69208483c30cd2e26260fa09e30433e3ab617d25fc WHIRLPOOL 6b99d1767c2bf508d584fc9ab323e722079280aaad98ef7d56414f6b183a87b54b1907cc6f2bb2487d87e9cb672f9879cf65a49bf872f59fb09d794bb83253a7 diff --git a/dev-db/mariadb/mariadb-10.2.10.ebuild b/dev-db/mariadb/mariadb-10.2.10.ebuild new file mode 100644 index 000000000000..821eb9665f49 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.2.10.ebuild @@ -0,0 +1,971 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20170926-1321Z" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + java-pkg-opt-2 user cmake-utils multilib-minimal + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="http://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 embedded extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + server? ( tokudb? ( jemalloc !tcmalloc ) ) + !server? ( !extraengine !embedded ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam )" + +# REMEMBER: also update eclass/mysql*.eclass before committing! +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~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" +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.8-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 +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# MULTILIB_USEDEP only set for libraries used by the client library +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + !dev-db/mariadb-connector-c[mysqlcompat] + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] + sys-libs/ncurses:0= + mroonga? ( app-text/groonga-normalizer-mysql ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + !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 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( virtual/pam:0= ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + >=dev-libs/libpcre-8.41-r1:3= +" +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 ) + abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] ) + !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 +# 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[embedded=,static=] ) + virtual/libmysqlclient:${SLOT}[${MULTILIB_USEDEP},static-libs=] + server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + java-pkg-opt-2_pkg_setup + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst + + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + + if use galera ; then + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropitate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + + # Initialize the proper variables first + mysql_init_vars + + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${P}" "${S}" || die +} + +src_prepare() { + java-pkg-opt-2_src_prepare + if use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + # Don't build bundled xz-utils for tokudb + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + + 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 + + multilib-minimal_src_configure +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + -DENABLE_STATIC_LIBS=$(usex static-libs ON OFF) + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI bug 530132 + if multilib_is_native_abi; then + mycmakeargs+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DNOT_FOR_DISTRIBUTION=0 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_JEMALLOC=$(usex jemalloc system) + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + -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) + ) + 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=$(usex embedded) + -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 + -DWITHOUT_EMBEDDED_SERVER=1 + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + multilib-minimal_src_compile +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +src_install() { + # headers with ABI specific data + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/private/embedded_priv.h + /usr/include/mysql/server/mysql_version.h + /usr/include/mariadb/mariadb_version.h + /usr/include/mysql/mariadb_version.h + /usr/include/mysql/server/private/probes_mysql_nodtrace.h + /usr/include/mysql/server/private/probes_mysql_dtrace.h ) + + # wrap the config scripts + local MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /usr/bin/mysql_config ) + multilib-minimal_src_install +} + +# Intentionally override eclass function +multilib_src_install() { + cmake-utils_src_install + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${D}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${D}/usr/include/mysql/server/private/config.h" || die + fi + + if ! multilib_is_native_abi && use server ; then + insinto /usr/include/mysql/server/private + doins "${S}"/sql/*.h + fi + + # Install compatible symlinks to libmysqlclient +# use static-libs && dosym libmariadbclient.a "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.a" +# dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so" + dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}" + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +# Official test instructions: +# USE='extraengine perl server static-libs' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +multilib_src_test() { + + if ! multilib_is_native_abi ; then + einfo "Server tests not available on non-native abi". + return 0; + fi + + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]]; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die + + touch "${T}/disabled.def" + # These are failing in MariaDB 10.0 for now and are believed to be + # false positives: + # + # main.mysql_client_test, main.mysql_client_test_nonblock + # main.mysql_client_test_comp: + # segfaults at random under Portage only, suspect resource limits. + + local t + for t in plugins.cracklib_password_check plugins.two_password_validations ; do + _disable_test "$t" "False positive due to varying policies" + done + + for t in main.mysql_client_test main.mysql_client_test_nonblock \ + main.mysql_client_test_comp ; do + _disable_test "$t" "False positives in Gentoo" + done + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"/usr/bin/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then + local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval '--mysqld' tmpdir)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval '--mysqld' relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval '--mysqld' log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in grant-tables host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}usr/share/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.9.ebuild b/dev-db/mariadb/mariadb-10.2.9.ebuild deleted file mode 100644 index cc434baea248..000000000000 --- a/dev-db/mariadb/mariadb-10.2.9.ebuild +++ /dev/null @@ -1,1006 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20170926-1321Z" -SUBSLOT="18" - -JAVA_PKG_OPT_USE="jdbc" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils systemd flag-o-matic prefix toolchain-funcs \ - java-pkg-opt-2 user cmake-utils multilib-minimal - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="http://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 embedded extraengine galera innodb-lz4 - innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga - numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx - sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc - test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - !server? ( !extraengine !embedded ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -# REMEMBER: also update eclass/mysql*.eclass before committing! -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~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" -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.8-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}"/20026_all_mariadb-add-pkgdatadir.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -# MULTILIB_USEDEP only set for libraries used by the client library -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - !dev-db/mariadb-connector-c[mysqlcompat] - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - !yassl? ( - !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) - ) - >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] - sys-libs/ncurses:0= - mroonga? ( app-text/groonga-normalizer-mysql ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - !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 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( virtual/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - >=dev-libs/libpcre-8.35: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 ) - abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] ) - !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 -# 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[embedded=,static=] ) - virtual/libmysqlclient:${SLOT}[${MULTILIB_USEDEP},static-libs=] - server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - java-pkg-opt-2_pkg_setup - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst - - # Here we need to see if the implementation switched client libraries - # We check if this is a new instance of the package and a client library already exists - local SHOW_ABI_MESSAGE libpath - if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then - libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library ${libpath}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - if use galera ; then - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - fi - fi - - # Note about configuration change - einfo - elog "This version of mariadb reorganizes the configuration from a single my.cnf" - elog "to several files in /etc/mysql/${PN}.d." - elog "Please backup any changes you made to /etc/mysql/my.cnf" - elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." - elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropitate section headers, i.e. [mysqld]." - einfo -} - -src_unpack() { - - # Initialize the proper variables first - mysql_init_vars - - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR}/${P}" "${S}" || die -} - -src_prepare() { - java-pkg-opt-2_src_prepare - if use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - # Remove the bundled groonga - # There is no CMake flag, it simply checks for existance - rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" - - 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 - - multilib-minimal_src_configure -} - -multilib_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" - -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" - -DSYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - -DENABLE_STATIC_LIBS=$(usex static-libs ON OFF) - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) - -DCONC_WITH_EXTERNAL_ZLIB=YES - -DWITH_EXTERNAL_ZLIB=YES - -DSUFFIX_INSTALL_DIR="" - -DWITH_UNITTEST=OFF - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION - # systemtap only works on native ABI bug 530132 - if multilib_is_native_abi; then - mycmakeargs+=( - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - else - mycmakeargs+=( - -DWITHOUT_TOOLS=1 - -DWITH_READLINE=1 - -DNOT_FOR_DISTRIBUTION=0 - -DENABLE_DTRACE=0 - ) - fi - - if multilib_is_native_abi && use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - -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) - ) - 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=$(usex embedded) - -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 - -DWITHOUT_EMBEDDED_SERVER=1 - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - multilib-minimal_src_compile -} - -multilib_src_compile() { - cmake-utils_src_compile -} - -src_install() { - # headers with ABI specific data - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/mysql/server/my_config.h - /usr/include/mysql/server/private/embedded_priv.h - /usr/include/mysql/server/mysql_version.h - /usr/include/mariadb/mariadb_version.h - /usr/include/mysql/mariadb_version.h - /usr/include/mysql/server/private/probes_mysql_nodtrace.h - /usr/include/mysql/server/private/probes_mysql_dtrace.h ) - - # wrap the config scripts - local MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /usr/bin/mysql_config ) - multilib-minimal_src_install -} - -# Intentionally override eclass function -multilib_src_install() { - cmake-utils_src_install - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${D}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${D}/usr/include/mysql/server/private/config.h" || die - fi - - if ! multilib_is_native_abi && use server ; then - insinto /usr/include/mysql/server/private - doins "${S}"/sql/*.h - fi - - # Install compatible symlinks to libmysqlclient -# use static-libs && dosym libmariadbclient.a "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.a" -# dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so" - dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}" - - # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. - find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die -} - -multilib_src_install_all() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die - eprefixify "${TMPDIR}/my.cnf" - doins "${TMPDIR}/my.cnf" - insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die - eprefixify "${TMPDIR}/50-distro-client.cnf" - doins "${TMPDIR}/50-distro-client.cnf" - - if use server ; then - mycnf_src="my.cnf.distro-server" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - if use prefix ; then - sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ - "${TMPDIR}/my.cnf.ok" || die - fi - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf - - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - fi - - #Remove mytop if perl is not selected - [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" -} - -# Official test instructions: -# USE='extraengine perl server static-libs' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -multilib_src_test() { - - if ! multilib_is_native_abi ; then - einfo "Server tests not available on non-native abi". - return 0; - fi - - _disable_test() { - - local rawtestname testname testsuite reason mysql_disabled_file mysql_disabled_dir - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - - testsuite="${rawtestname/.*}" - testname="${rawtestname/*.}" - for mysql_disabled_file in \ - "${S}/mysql-test/disabled.def" \ - "${S}/mysql-test/t/disabled.def" ; do - [[ -f ${mysql_disabled_file} ]] && break - done - #mysql_disabled_file="${S}/mysql-test/t/disabled.def" - #einfo "rawtestname=${rawtestname} testname=${testname} testsuite=${testsuite}" - echo ${testname} : ${reason} >> "${mysql_disabled_file}" - - if [[ ( -n ${testsuite} ) && ( ${testsuite} != "main" ) ]]; then - for mysql_disabled_file in \ - "${S}/mysql-test/suite/${testsuite}/disabled.def" \ - "${S}/mysql-test/suite/${testsuite}/t/disabled.def" \ - FAILED ; do - [[ -f ${mysql_disabled_file} ]] && break - done - if [[ ${mysql_disabled_file} != "FAILED" ]]; then - echo "${testname} : ${reason}" >> "${mysql_disabled_file}" - else - for mysql_disabled_dir in \ - "${S}/mysql-test/suite/${testsuite}" \ - "${S}/mysql-test/suite/${testsuite}/t" \ - FAILED ; do - [[ -d ${mysql_disabled_dir} ]] && break - done - if [[ ${mysql_disabled_dir} != "FAILED" ]]; then - echo "${testname} : ${reason}" >> "${mysql_disabled_dir}/disabled.def" - else - ewarn "Could not find testsuite disabled.def location for ${rawtestname}" - fi - fi - fi - } - - 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 - - # These are failing in MariaDB 10.0 for now and are believed to be - # false positives: - # - # main.mysql_client_test, main.mysql_client_test_nonblock - # main.mysql_client_test_comp: - # segfaults at random under Portage only, suspect resource limits. - - local t - for t in plugins.cracklib_password_check plugins.two_password_validations ; do - _disable_test "$t" "False positive due to varying policies" - done - - for t in main.mysql_client_test main.mysql_client_test_nonblock \ - main.mysql_client_test_comp ; do - _disable_test "$t" "False positives in Gentoo" - done - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"/usr/bin/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval '--mysqld' tmpdir)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval '--mysqld' relay-log)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval '--mysqld' log-bin)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see http://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}usr/share/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-init-scripts/Manifest b/dev-db/mysql-init-scripts/Manifest index ab126512f0ae..6bf81dbbf2ea 100644 --- a/dev-db/mysql-init-scripts/Manifest +++ b/dev-db/mysql-init-scripts/Manifest @@ -1,8 +1,8 @@ AUX conf.d-2.0 2944 SHA256 b94756f2a5fe43893dea90fadbe47308e50fb4dbe2cbaa2676f34fa88181d8e7 SHA512 2781e2caefed0c8be9c612f92cecf5a572dc17b97519034637a2b3f98a88af02dd8973f6c6b2af524d235067df6866409d1fe9d56740bfd0efb09948073c8d3b WHIRLPOOL d174ea0c58217b4403a640c06dba06db3d6ecd650ae66a24051e4319f13fb8e6f603c01dee6e9af5b91c645e67f186817182c808e0ba7d7282d51d3ac932ea86 AUX init.d-2.0 4534 SHA256 b6eb4576e654b1f4a8138df04408935a07fab69775e9663f736133c71bbb414b SHA512 f3ba5b3f9b6d60ecdcda3a3aa38f62991969d597586ca0bdc70f2c2901409298f88cab7f98665edd486a6ce312f27c74796afa9c2d880a132516c3b2c002d69c WHIRLPOOL 13bff6f9c7882f7bbc8f755d862f0eea80d7d9e40edf308b3347035cb324f12e649253eafceff8332fa4219f62dab2588740079bb68f0d68c504f3a594a95ac8 -AUX init.d-2.2 5603 SHA256 9216a101ce10924f577c8a165c738b1a880eacd143b2188a9a859c47326904bf SHA512 5e65261228d09d479478f71aaa2272934e893cf2d462d8ed3a3ceaffaae479e5bb61ba84d10722bb4810d36a674aebf0981d318f1f3fb70964fad9981c154883 WHIRLPOOL 5fa32aac0143f01f4f0dc4332b6f835ad3c693167ad8998ae2f2e131d1c92c996b59f8deea4b6d666b81965009607f9a4aab8c89918336f936af2f64a2259171 +AUX init.d-2.2 5604 SHA256 f84ef5dc9f60006a13c2b4aa992e649f96360bf16f76458419dcc56a0d9aa290 SHA512 de7320d3f37b927cda80d47e416e2dcd3fb56ddc1fe95b69dd97b2f85e06d7f83a420837b9604f776282f75ac9450415d6936b77b26535ad907c1e175ea6a013 WHIRLPOOL 4910984399a185b8f97465a1253d1d3b6011fb17fb071d0dfc1e2db03327d04fc573c5847740cacee1f44e757d4beabc3bc14ee841cbf30e5bedb1fa03de5580 AUX init.d-s6 3879 SHA256 4499808045497addaf504abeb2de80de7259e2f2f8468762157ff4612e40d602 SHA512 dc3b7bb441b3df58ecb99d977773365324b43474b1c2d3f9bbd8e18542579008445bbe788e78bc4ef6c1cd0cb51d0c2f16a5577d3840aa125383715f1938b8d9 WHIRLPOOL 7961756c3cc888bd52b321452a2c68bdd6bbc3ed1cedc76e5bab5ced7f4d1d6d910e75886be3d0388c9ecaaf341a7bc17374705efafbf67dc1dc27f9438cb028 -AUX init.d-s6-2.2 4977 SHA256 b254c2e55203fa74d8f370f869ba1e37a6d098457e3346f9bae7a468336b0dda SHA512 6c08421ee1379bde500f3bdddb8d7c997c088241e5feb5ea7ebde4727ffee7ed1489e8d71b968fcb8f7f2e180aef94fc9542bff261c6ac3e67bdee491cc7a52b WHIRLPOOL 4c161cbef84c88a1181ad9dbe3d69ac2eba59b03f7b84fa4e90014a00ec1688ded2098a1dcb73ef251c425e69e3031b1776ff373922409c0e4bc238c1a012d78 +AUX init.d-s6-2.2 4978 SHA256 0cd0c820e91b1e909bb8c760fbe7919bf5bbf7890728f4c23833d4d11fefa070 SHA512 77d3691837a08d117dbaa8252368ab54f1bbd5969189261e498e57cacd158b87e5600b3c2ce62b25f72b8bf5b9a08f26d56fe93b6e2e96bc58c208d92ef1befc WHIRLPOOL 7dad6b3ed263429af39eedf0cde4dbdcec11471bdedd9d7312dc1481f3bb2557e4ef0fc219b3f01dad6aeba5548ebf1142abcb3cf2d3017dbb80b6cbbb668580 AUX init.d-supervise 5303 SHA256 1d3472f50efe242938a3d5f8b5870355a72ec86125b91173543db768fdbe8af5 SHA512 149710600ca4780434e07101aa164e84d7decd86fdc4c2a8c5c37d2a965aff4626408885f98456773c6f8fb27eeeb5ab7028ccf73088739368c45f8ad9d587c4 WHIRLPOOL c36cbff57fb23183d2ed3b9be758a552c5023d64fcef5f3d19a1135574e90f8e38e341207065f22c9c08560fd849b8d68faacd81c18b412bd7aaabc4a8a910f3 AUX log-s6 373 SHA256 e66f40cb4b575fdc0b473dd9e51afca799a317ab317afe5a78267560ffe90776 SHA512 e686bc0a4d9d5daf263c5a5f6bb883da1495feb9910f93c791af2d858b2adbf7cfc785c336ce470609f3f7bd12dabb97b470453bd67316feef5ed4df9ee9307d WHIRLPOOL d836d833e1c6f06515ec0b26a14ac4e89008403c8e01db6a833877d0954a7fffca96ff274b3a3a1c7a7d37eab9f394a107a0ac6424a1f79b91dadc20bb6f87ee AUX logrotate.mysql 368 SHA256 a25ba0df7782e9a2dceac69e808c304e97a10119f5c0c2b539113a41576b5ca3 SHA512 71e6aeec21e220157fb07a609475c626e0698f556db20f5e2876117d1d46a2f297520b2124458e8b8077f9a128e27540ffa1b77cadc5eb372a502edfb804fed1 WHIRLPOOL e2012c56148e24339a7b70f7f7674071c3600ac94ae3c4dcaf1f4bc548f89764dd0099673e11b35f95936bf8bb72b3e65e53f70f1492c09707af3d5d0196e19b @@ -12,7 +12,7 @@ AUX mysqld-wait-ready 1758 SHA256 98d845897c4098e4a3ca62cd3bad26a6fc2565a33737f1 AUX mysqld_at-v2.service 1170 SHA256 e6d19a8414fdf78f1eaaf7f5ec2de57864f9fed86f193870fc0a8f108aec9b3e SHA512 a91eb574925afc0096e668799f9806b1cfa4c808ffab26dab5df1934db0dd8059a5e7913b0fdc3374f41e14cc72a6450890c9d746d3ff2de873af91199a71ee0 WHIRLPOOL 7c42bdd333f578b9a5443ae13383539cc116c0b2f32283c0e09ca20e46076b59f5eea40f6be0dd296fb56de04097ee6eded4ae7d1fb345481eb66a5527ddc254 AUX run-s6 268 SHA256 387eff4eeef85711e052cc5ee7f532f5574e35ff1875c490316b65203009e750 SHA512 82be247195f6d9d230b063e9bda393bab8855382c2f3e5eb4d427fc1eb7e23dbd8c90939224ff2b5e4116a5c9d3f26ebdc9b9f548cde91e7c1217f4f8500c0d3 WHIRLPOOL e7ea48cf98bf7c2a4dd433db0fd64344e62da19f8d7f3b0d092fcd145d69ff1794b432da7a122fef5738684674986e8743141c328e02d1b789a0e4cc8abb32bb EBUILD mysql-init-scripts-2.1-r1.ebuild 1821 SHA256 c9bc91af814c1c774e18c6d420c0922d0c144a8a6257dfc626e57c924f17689a SHA512 22ded8b5a54f56a24f15e9285cb5900dd2cda89b21c78eebc0e7b8fd04ba5cde0b4a50f2d2ba51a520263d3ee97f6f5a0dacd30a754af3c5c992ba498be5d657 WHIRLPOOL 3ee855a1b7aedeff173a233f0a5ce56898524734e60f7f7182d5b4e354042c9b57dd3960551dbee9de71544731480ebcfbad49778ffc723e95165dc1bdcee2a3 -EBUILD mysql-init-scripts-2.2-r1.ebuild 1884 SHA256 16775628ffe3f15a6e48e23c61ab225aa8a3ba0b9efcfdc9ead09b996acbc43f SHA512 8b16a6c266ca769516513f63dd4e02295369543a9301d95d1cb9a3dc1ca07ead83299f2f7b11017f06ea225bdde2a2a34994456ff11c674bddc03006986e7c2b WHIRLPOOL 6cd543dfbeabc924938967cf9c129277ee6c566e8a9d6d62b35bc1092e4c295eb2212959f3560c8c8997a0d3e5176b23abe9702d72db5a3d53c2a0f4af1867e9 +EBUILD mysql-init-scripts-2.2-r2.ebuild 1884 SHA256 16775628ffe3f15a6e48e23c61ab225aa8a3ba0b9efcfdc9ead09b996acbc43f SHA512 8b16a6c266ca769516513f63dd4e02295369543a9301d95d1cb9a3dc1ca07ead83299f2f7b11017f06ea225bdde2a2a34994456ff11c674bddc03006986e7c2b WHIRLPOOL 6cd543dfbeabc924938967cf9c129277ee6c566e8a9d6d62b35bc1092e4c295eb2212959f3560c8c8997a0d3e5176b23abe9702d72db5a3d53c2a0f4af1867e9 MISC ChangeLog 5075 SHA256 44ff68e70c3fc274340328cfa85036b4f6f76fc56d9407ce625b5f2899b318b8 SHA512 bdde86bbb6e5411fcac587bbfe3224c860903cde1ea87ef5c47a0f8e21fe70d43601ceb8973c9d4d0f35cd139d361ed40d11f158d4634fff757ffb4c4a96e676 WHIRLPOOL 4fa50bc76b94aceaf16222d44af2efe06d4a1a79645dc1ff095ec7a05ea043395113eabfc0c837539a63513d1e150df4d5042b4d8c1e0e4605ead5f6e42720c9 MISC ChangeLog-2015 10019 SHA256 bc664645c2510ff8077652c36fdd804b29f4f2c2d84915f75323996d02088be4 SHA512 c7112d3e3695c89f06422f7af6e1b9ed723961c43d5d9cdf5a97ed32943faa66f035b0e04a6ea95499a8b596bc710361d7235c5dae780ab7fed6bc7ff979b2b7 WHIRLPOOL 697811e2925bf4501f4be76e7b48b50def027a8ffd1a01b4d726ff0d4b37ec280c1597f5632a8f90bab3680f0596b6a25ae5b3d11e003a2902f1c6c647d1ffbd MISC metadata.xml 243 SHA256 441acc023219e6b01e567b9d627a53793c43f3f2fd1dbe3be0eced9885b70385 SHA512 7c227a1fadd8d61aae9baabeb5d964c93fe0c4d82fb838c83fe0360cf38b24bebf51037726f13188ecd8f52c335368a693b81e74d79ba949576a6dbcb54887a9 WHIRLPOOL f3d0d5ea02babbb1d947f0d274afcdb548af3c4356bc049be314e561f3f6e3ae9503599a44bc8da1e305aa18cb671950adb2fb284060a4b98b67a8a6d16bef73 diff --git a/dev-db/mysql-init-scripts/files/init.d-2.2 b/dev-db/mysql-init-scripts/files/init.d-2.2 index 124d2e993eb1..f6ad52496e4e 100644 --- a/dev-db/mysql-init-scripts/files/init.d-2.2 +++ b/dev-db/mysql-init-scripts/files/init.d-2.2 @@ -3,7 +3,7 @@ # Distributed under the terms of the GNU General Public License v2 extra_commands="checkconfig" -extra_stopped_commands="boostrap_galera" +extra_stopped_commands="bootstrap_galera" description_checkconfig="Verify the server's configuration" description_boostrap_galera="Start a new Galera cluster with this server as the initial node" diff --git a/dev-db/mysql-init-scripts/files/init.d-s6-2.2 b/dev-db/mysql-init-scripts/files/init.d-s6-2.2 index 46980fab9c37..3fa54e949c91 100644 --- a/dev-db/mysql-init-scripts/files/init.d-s6-2.2 +++ b/dev-db/mysql-init-scripts/files/init.d-s6-2.2 @@ -38,7 +38,7 @@ bootstrap_galera() { extra_commands="checkconfig" -extra_stopped_commands="boostrap_galera" +extra_stopped_commands="bootstrap_galera" description_checkconfig="Verify the server's configuration" description_boostrap_galera="Start a new Galera cluster with this server as the initial node" diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r1.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r1.ebuild deleted file mode 100644 index f97a9eec6219..000000000000 --- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r1.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit systemd s6 - -DESCRIPTION="Gentoo MySQL init scripts." -HOMEPAGE="https://www.gentoo.org/" -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd" -IUSE="" - -DEPEND="" -# This _will_ break with MySQL 5.0, 4.x, 3.x -# It also NEEDS openrc for the save_options/get_options builtins. -# The s6 support was added after openrc 0.16.2 -RDEPEND=" - !d_name[0] == '.') - continue; - -+ /* if current working directory has the same name as current direntry name, -+ * then skip as this is a recursive fs loop -+ */ -+ if (strncmp(direntry->d_name,tzdirsub,strlen(direntry->d_name)) == 0) -+ continue; -+ - snprintf(tzdir + tzdir_orig_len, MAXPGPATH - tzdir_orig_len, - "/%s", direntry->d_name); - -@@ -1615,6 +1621,13 @@ - if (direntry->d_name[0] == '.') - continue; - -+ /* copy current working directory so that there is no risk of modification by basename(), -+ * and compare to current direntry name; skip if they are the same as this is a recursive fs loop -+ */ -+ snprintf(fullname, MAXPGPATH, "%s", dir->dirname[dir->depth]); -+ if (strncmp(direntry->d_name,basename(fullname),strlen(direntry->d_name)) == 0) -+ continue; -+ - snprintf(fullname, MAXPGPATH, "%s/%s", - dir->dirname[dir->depth], direntry->d_name); - if (stat(fullname, &statbuf) != 0) diff --git a/dev-db/postgresql/files/postgresql-9.6-no-server.patch b/dev-db/postgresql/files/postgresql-9.6-no-server.patch deleted file mode 100644 index 637e65ecc472..000000000000 --- a/dev-db/postgresql/files/postgresql-9.6-no-server.patch +++ /dev/null @@ -1,110 +0,0 @@ -vdiff -ru a/contrib/Makefile b/contrib/Makefile ---- a/contrib/Makefile 2015-06-29 15:42:18.000000000 -0400 -+++ b/contrib/Makefile 2015-09-06 07:50:51.258463861 -0400 -@@ -5,58 +5,9 @@ - include $(top_builddir)/src/Makefile.global - - SUBDIRS = \ -- adminpack \ -- auth_delay \ -- auto_explain \ -- bloom \ -- btree_gin \ -- btree_gist \ -- chkpass \ -- citext \ -- cube \ -- dblink \ -- dict_int \ -- dict_xsyn \ -- earthdistance \ -- file_fdw \ -- fuzzystrmatch \ -- hstore \ -- intagg \ -- intarray \ -- isn \ -- lo \ -- ltree \ - oid2name \ -- pageinspect \ -- passwordcheck \ -- pg_buffercache \ -- pg_freespacemap \ -- pg_prewarm \ -- pg_standby \ -- pg_stat_statements \ -- pg_trgm \ -- pgcrypto \ -- pgrowlocks \ -- pgstattuple \ -- pg_visibility \ -- postgres_fdw \ -- seg \ -- spi \ -- tablefunc \ -- tcn \ -- test_decoding \ -- tsm_system_rows \ -- tsm_system_time \ -- tsearch2 \ -- unaccent \ - vacuumlo - --ifeq ($(with_openssl),yes) --SUBDIRS += sslinfo --else --ALWAYS_SUBDIRS += sslinfo --endif -- - ifneq ($(with_uuid),no) - SUBDIRS += uuid-ossp - else -diff -ru a/src/bin/Makefile b/src/bin/Makefile ---- a/src/bin/Makefile 2015-06-29 15:42:18.000000000 -0400 -+++ b/src/bin/Makefile 2015-09-06 08:03:27.014847309 -0400 -@@ -14,20 +14,8 @@ - include $(top_builddir)/src/Makefile.global - - SUBDIRS = \ -- initdb \ -- pg_archivecleanup \ -- pg_basebackup \ - pg_config \ -- pg_controldata \ -- pg_ctl \ - pg_dump \ -- pg_resetxlog \ -- pg_rewind \ -- pg_test_fsync \ -- pg_test_timing \ -- pg_upgrade \ -- pg_xlogdump \ -- pgbench \ - psql \ - scripts - -diff -ru a/src/Makefile b/src/Makefile ---- a/src/Makefile 2015-06-29 15:42:18.000000000 -0400 -+++ b/src/Makefile 2015-09-06 08:04:25.274568519 -0400 -@@ -15,19 +15,11 @@ - SUBDIRS = \ - common \ - port \ -- timezone \ - backend \ -- backend/utils/mb/conversion_procs \ -- backend/snowball \ - include \ - interfaces \ -- backend/replication/libpqwalreceiver \ -- fe_utils \ - bin \ -- pl \ -- makefiles \ -- test/regress \ -- test/perl -+ makefiles - - # There are too many interdependencies between the subdirectories, so - # don't attempt parallel make here. diff --git a/dev-db/postgresql/files/postgresql-9.6.1-no-server.patch b/dev-db/postgresql/files/postgresql-9.6.1-no-server.patch deleted file mode 100644 index 868567cadb2c..000000000000 --- a/dev-db/postgresql/files/postgresql-9.6.1-no-server.patch +++ /dev/null @@ -1,130 +0,0 @@ -diff -Naruw a/contrib/Makefile b/contrib/Makefile ---- a/contrib/Makefile 2016-10-24 16:08:51.000000000 -0400 -+++ b/contrib/Makefile 2016-10-28 11:41:00.450589656 -0400 -@@ -5,58 +5,9 @@ - include $(top_builddir)/src/Makefile.global - - SUBDIRS = \ -- adminpack \ -- auth_delay \ -- auto_explain \ -- bloom \ -- btree_gin \ -- btree_gist \ -- chkpass \ -- citext \ -- cube \ -- dblink \ -- dict_int \ -- dict_xsyn \ -- earthdistance \ -- file_fdw \ -- fuzzystrmatch \ -- hstore \ -- intagg \ -- intarray \ -- isn \ -- lo \ -- ltree \ - oid2name \ -- pageinspect \ -- passwordcheck \ -- pg_buffercache \ -- pg_freespacemap \ -- pg_prewarm \ -- pg_standby \ -- pg_stat_statements \ -- pg_trgm \ -- pgcrypto \ -- pgrowlocks \ -- pgstattuple \ -- pg_visibility \ -- postgres_fdw \ -- seg \ -- spi \ -- tablefunc \ -- tcn \ -- test_decoding \ -- tsm_system_rows \ -- tsm_system_time \ -- tsearch2 \ -- unaccent \ - vacuumlo - --ifeq ($(with_openssl),yes) --SUBDIRS += sslinfo --else --ALWAYS_SUBDIRS += sslinfo --endif -- - ifneq ($(with_uuid),no) - SUBDIRS += uuid-ossp - else -diff -Naruw a/src/backend/Makefile b/src/backend/Makefile ---- a/src/backend/Makefile 2016-10-24 16:08:51.000000000 -0400 -+++ b/src/backend/Makefile 2016-10-28 11:48:58.571353118 -0400 -@@ -51,7 +51,7 @@ - - ########################################################################## - --all: submake-libpgport submake-schemapg postgres $(POSTGRES_IMP) -+all: someheaders - - ifneq ($(PORTNAME), cygwin) - ifneq ($(PORTNAME), win32) -@@ -110,7 +110,7 @@ - endif # aix - - # Update the commonly used headers before building the subdirectories --$(SUBDIRS:%=%-recursive): | generated-headers -+someheaders $(SUBDIRS:%=%-recursive): | generated-headers - - # src/port needs a convenient way to force just errcodes.h to get built - submake-errcodes: $(top_builddir)/src/include/utils/errcodes.h -diff -Naruw a/src/bin/Makefile b/src/bin/Makefile ---- a/src/bin/Makefile 2016-10-24 16:08:51.000000000 -0400 -+++ b/src/bin/Makefile 2016-10-28 11:42:26.000129832 -0400 -@@ -14,19 +14,8 @@ - include $(top_builddir)/src/Makefile.global - - SUBDIRS = \ -- initdb \ -- pg_archivecleanup \ -- pg_basebackup \ - pg_config \ -- pg_controldata \ -- pg_ctl \ - pg_dump \ -- pg_resetxlog \ -- pg_rewind \ -- pg_test_fsync \ -- pg_test_timing \ -- pg_upgrade \ -- pg_xlogdump \ - pgbench \ - psql \ - scripts -diff -Naruw a/src/Makefile b/src/Makefile ---- a/src/Makefile 2016-10-24 16:08:51.000000000 -0400 -+++ b/src/Makefile 2016-10-28 11:41:00.453922971 -0400 -@@ -15,19 +15,11 @@ - SUBDIRS = \ - common \ - port \ -- timezone \ - backend \ -- backend/utils/mb/conversion_procs \ -- backend/snowball \ - include \ - interfaces \ -- backend/replication/libpqwalreceiver \ -- fe_utils \ - bin \ -- pl \ -- makefiles \ -- test/regress \ -- test/perl -+ makefiles - - # There are too many interdependencies between the subdirectories, so - # don't attempt parallel make here. diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index 8c31d9419daa..044669d9d869 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,37 +1,26 @@ -AUX sqlite-3.16.0-full_tarball-build.patch 5574 SHA256 603761b58e8eddb52c389b60d9ce57866516c7a0643645756873f116bb40ff94 SHA512 b17dc5b1f6ddfa859e26c3baf237ba9999bdeb35033efea7235914daa5325cca07f2e3185d0b156d014f23527aeeb0d4b3009967411034a19d9bde1988176afa WHIRLPOOL 40b89a893ca6e116ce8e5c1bd7068b9b1618cd28ad42f60092ed310630693bd24ae0c1d7af6444fb45bbdb47f9021a151cf16985241838a728efcf2ff9b38e73 AUX sqlite-3.16.0-nonfull_tarball-build.patch 405 SHA256 4960dfd86f2d11152b8b1c0ffb70c962b9c24c3898244537f8e3a16e21c55657 SHA512 f7c4ad34b853b0584b63d6f93b8c2f32ff2380b078f1be13e745680d5f3a00b07fe5b0f36c0c27159bdb5b062c28cffc148e3e58dd2cb8a14dd822a11555fe27 WHIRLPOOL 16fc6f1a92c2989f1376d7f941a1f12501459c37c60aa0572dd811e43c14d2977727f33d5c58d542ba5c5cfa96905f7f885a09a7299fb64d93327fbd90d5e33c AUX sqlite-3.18.0-full_tarball-build.patch 6082 SHA256 625aab9dc1215993a01052479361f3ef8e41b3880836a74d5f84dd818fdfbeff SHA512 3e9429bd629775b4e036d21c1367d7505c09d41ec0fa6fcbd411cbe4199a68451ffd9a10bc183405c5ed7620f505d0a4a4e4fad84cdab91a339febed8d525b00 WHIRLPOOL 0e7566b060b0146668d3bcb326c0fef2c4380b0c8e43c34a7b90a4f2b056d357198d1dfee13ea79b81056abd1cebc33cd55bbf7a32d3b5b8d8194e8a140da494 AUX sqlite-3.20.0-full_tarball-build.patch 6080 SHA256 9e4c1d9888284a0322107bbb3dc8e62f4b980eafff894e03553b62f69ea5da3d SHA512 eebc07a6bf3413942c2cb11975b1c2040e91e42af076c5998cb058bfce253a15ada1abe093e4fefba53ff867eff6a450d4c3b611abb3a35ad11e61f61ce3cf02 WHIRLPOOL ef62f7f6632a5df6a21950058d22c57f46fae77898aa7e69aa5f6b6e243aff3ae6e483583d5fe49348300b373cf138e281908e6cf6b72d084298734d1dbfad75 AUX sqlite-3.20.1-full_tarball-csv-unsigned_char.patch 1087 SHA256 010f5943d574695836cda1dfdfee5a7783ff278b8e114122586235df9b43eb65 SHA512 d03bb42685423facbcf292f06b34ca416468b4482af12f1180b8804dca9070fba38907749588ee810eacc25084ad5d6d94d589c47c3ef36b745d0c92fc2ae13f WHIRLPOOL b415457a04a2c1225e553861164143619fce08ff668a8078973fbe25cdf24e90770d294aca50d809530878bf8f9899117bc91cc30da6566f304d615c36250f7a AUX sqlite-3.20.1-full_tarball-tests-big-endian.patch 3507 SHA256 6c9eb8591f4cca2b48c1e1774f30f9aa893eb3cd528054869e649694b747dbf3 SHA512 e9e3827f78cc51b401727138ce2bbe5cd157c47c1d2da8994e2f2b44ab66705625edabed3b0246c82ba56d59761f8451917ffcc6ddbba1dc36a519e5b8a5c96a WHIRLPOOL bc9962603eef99dc8866b5cd1388c52ea3d8ea57c58a3c5e72560fd0b289f740e5d92c9208af1d8f1f897475ae1c8cb046a87fd68dcaa951b0234692c3e70a9f -DIST sqlite-autoconf-3160200.tar.gz 2508179 SHA256 65cc0c3e9366f50c0679c5ccd31432cea894bc4a3e8947dabab88c8693263615 SHA512 83bdd588504f265bbe93fb98a33a292aff5618c14f94d521c8557efbb5f777e82dfbb2d186cbfd4c628ee9522b1fcb73857e24ca2318fa34af3a3f9540e72b9a WHIRLPOOL 850a5051739f65eade0ee5740641a0503870f88d1ebdb40cab36b68d956896270ed59e387d57db74eede5ecd7fc9b3c14bc5841ff02e17eb50abc4701eba18fc -DIST sqlite-autoconf-3170000.tar.gz 2515143 SHA256 a4e485ad3a16e054765baf6371826b5000beed07e626510896069c0bf013874c SHA512 bebf2693ade1c99b6a178bbe663f64911bf7751932a2524506994cbbb19ab254e7febe3693a76084e55853c1ea85db9e4ece87192422583555fbe569915a2ca8 WHIRLPOOL c3ddeb9691470dfd10950ef36bca8f05f06faa171e3ee87da66d431ba364b7dd903b1350b8ab1aae445a2696ea56dd3f0c50e07d25bc83a09d673a9b92c84e3f -DIST sqlite-autoconf-3180000.tar.gz 2533004 SHA256 3757612463976e7d08c5e9f0af3021613fc24bbcfe1c51197d6776b9ece9ac5c SHA512 4c2efda1d63d1849f7a351cc57c02cc1820efe3c19f88460a131a1d6ae4f7411e4b7672a5581055e581093df29f65cebd9ff5b24125c18802523b17477dce1ef WHIRLPOOL 5424d028af1649cedeb9192d86939753000bb94676b0578d5bdd33591ddd064f2e9ca60a1abc6e185a8fbbfd13c04361e7bfd82945b3b7c01073b8e79e985031 -DIST sqlite-autoconf-3190200.tar.gz 2542613 SHA256 ca5361fb01cc3ad63d6fd4eb2cb0b6398e629595896d3558f7e121d37dac2ffc SHA512 fc9fbb76a741a22d620902868d5db6c8954db8a2692c8e91080ab96f41b4e18a4d27aa8f549c8fac62aaf5ad20c908abd01ecc0fdf7204310bf0cb6d1a2e5e14 WHIRLPOOL 003b4600a4689d94b690f9122e749401371deb39e0a04ffcdf161fc72b8d89349a7e9cf9883d54064c23ea08a72cac190d1d14fb586349c528a033d72b139a84 +AUX sqlite-3.21.0-full_archive-build.patch 5885 SHA256 f4a907109dfa6f6bd6b89a86a4d730e9e6b454696d4be2d3f2a0bb76d9fd135d SHA512 27dc99503373d5bc235fcf45fa9731d3328d75332a88be39a12650237b08c7b779b8a95446654e59df0da855d310e0dff35388a661d8d51fc8d363575f52ab7b WHIRLPOOL 2c9a9013b92f4718aa8dde5f12cdba86fe71cc9518a9fa439e93e16121085c24e511a4bd31eb483e06a52e5db5d02c657edcce3bf854e86c867eba16b30f81aa +AUX sqlite-3.21.0-nonfull_archive-build.patch 407 SHA256 29a62dcd5d9f049550130956fdcacab596f8538689b8086c630643d5508d27bf SHA512 1047210c37e638a8bcf80b071e780f28e4260c73c581e0fbf9021d0df5287c5e9a17193e563e8de76b41d3f158ecb8fcccd3df227c1f9360246bc52a70f75651 WHIRLPOOL 83e4da65678ee2e6e9fdb9c3d7f5e713180fb9d4c4b75ddae0f16173e1f8942a2d0f5f3212a59eb1808058bde124711f90f02e228dc94caaba44923a9ceeab5a DIST sqlite-autoconf-3190300.tar.gz 2542682 SHA256 06129c03dced9f87733a8cba408871bd60673b8f93b920ba8d815efab0a06301 SHA512 7896c99726da75818f1027d5675b24724bc89c738874c868868e60c09d4509ad5a6da93f54cfcecb3a1052e4f164f7cb864ede333b9ccfb4f6b811b052ca1d3d WHIRLPOOL 8881e2077a2f443e849e1c1bc4d824e8dfdf3f47f505288f00772e6f7f64b927ae8df0d2d63f240f8b344d729b8258c797073786d3ef75c40e668784c8a8f1c4 DIST sqlite-autoconf-3200000.tar.gz 2565548 SHA256 3814c6f629ff93968b2b37a70497cfe98b366bf587a2261a56a5f750af6ae6a0 SHA512 f5b0ffcc27adeed5b27b29962d03defa167151868f2281c5642a8ddfa10ac8971aff22081a5b46bd36bcf664bd271975e80249ec403b73656658b33af084ec94 WHIRLPOOL dd63a903ccd05ba111e5b2aa23e55dba0400a979c26e88a238af9986b4c3c4f469f1a474d09c77bacebc3eb0f0aebd95910ce32e612c44bc49d2afbae5504fa0 DIST sqlite-autoconf-3200100.tar.gz 2565638 SHA256 ec66595b29bc0798b023a5122021ea646ab4fa9e2f735937c5426feeba950742 SHA512 56e3d326ea2225cadc628c3518d46d9f7c4bafa0e3612f2b7ab0dc0d79fcbb7e095f6d84a9a48e1c6d83adcdc8706ad5ac4404f0f622c7fe38cfde3a7e7e69f0 WHIRLPOOL 9b1f5ae9861ca526a0f01c5981b0dca7a1e633f25d8713a3263e496690f3c7098eff7babae23ba65ace3ef18f56b1c1d0e64311063f22f788c8a489ca2673e26 -DIST sqlite-doc-3160200.zip 5521023 SHA256 c13ffbb6019f3849b251c22358f31ccb862a842c0a2379f552f2935600157dcb SHA512 b79d21074d1ab154e3b324fb2943f24321ad5cdbc6e2030f1d21940ae46538462af049e0e0cd7c6cf96dec2c59708eaf70aa4cb3c84ba1a0e87238ffcf31fca2 WHIRLPOOL 4d07279b8f186c4a015324021d60f3e76840594a35a2466cc023cd3ef32b5b01572d8a83db5d96f7281c617a8384485bdef60d390e1c12c4ecbc7e0223e1a194 -DIST sqlite-doc-3170000.zip 5533032 SHA256 3102d9eab879074776216357e4c9e272f63d0cda975a0819ec5baba5e0922ff6 SHA512 6a7813be301416dc59401b7732733f44efad60b458ded0f4ed8d845aab0843a1123dd20d1e6f209dd32184a87bcd7e68e213e3676c43d1d05d2df5acc2c64b74 WHIRLPOOL dc1c9b6802985be34ac7819e08883c456a0a76fb1822eff46b26613760063b72888d34323cf15f0f48be69555c0b07b99424a85f29ac580c4ad8fa46b990b723 -DIST sqlite-doc-3180000.zip 5552381 SHA256 6f763eba9f51cb1096d1d40fbdd7ff974203060ddb892fc735adb2d7d42f1dad SHA512 7b65130cb2174d823842cddc912432d206044a8b276fdc2eef437854de7d0b05b8eb5d7aec0ead5c3f88bb7788ae5f1c42ffb1e43ab00774a68f6f7fea72d517 WHIRLPOOL be95f25105aea7f553145b371d64d1192057a2931551758bea418dd41b2ead6e9c07368347320bb041a59051c89ca2c84e3cd4e1f95806cad30dca3adec6042b -DIST sqlite-doc-3190200.zip 5577171 SHA256 0d136abeea8d045ab7acef64ce84028dacb418584fa5a259e7ab4233ef21ff46 SHA512 f81b8719a54cd5e7f993f3dbd76821fc39651ef20b12cfd19c6d58fcb948e7fa00aa97e2f25cab421ba85d27d10b12822a87d1ae49e33c004c83b8f68cbc781c WHIRLPOOL fd8d25184a1e291ea597d42ce76ce5959db8a974e90934e637851806021d054fdda0a37d33db159478158331d52024b8ad5de11410dad5eb595b590ddda1c657 +DIST sqlite-autoconf-3210000.tar.gz 2568942 SHA256 d7dd516775005ad87a57f428b6f86afd206cb341722927f104d3f0cf65fbbbe3 SHA512 8f00708965eacef171620c49538f75768d350ec3f2bfef412a5c70af865ab03b6a64ce1e65d9fdb3d66f4d00262a30fc162b01fd69f63c05c14d5243374b6298 WHIRLPOOL 1521c6670fd0d87298cbf931e6a729f09891901007e2d4ba50406c923f20366a3ae679f669c56bf742945d0816f2af162f1a808a435573125eb549f79b773462 DIST sqlite-doc-3190300.zip 5649351 SHA256 62cda70d5285e35144ddfd4629df8fadc2bae8dbcb43d0638aa874c1c03de101 SHA512 4f99b6797f76dab1859eaf4596c42d6b10a80a1ad9dcb33b82fcc4ef80a8e8299ac24c0d2a0f41debf9e82d43c9ecf9675547eb6163756f29afe847613ef75f3 WHIRLPOOL 4c259efcccca513a55150a349410a9c05cd2faa84a41a2f70f9c9311e3cb24d9e028bb2061a03c4dc6dfebfa3ff7738b571c7bd961b0f4aff5b329183b5e9d7b DIST sqlite-doc-3200000.zip 5695366 SHA256 5b7a4dc411937f33f17a8b0b7cb490d5e718fe37a751ee772d8989c23745f394 SHA512 0dfa9487c5e4084a9c17e8bf83a92b9a2cd53642efeff0b12051ecdeaf11e3896031f1b4d59021354a293b8acc8c6fcab827961721fda7a5de8415460d3bd280 WHIRLPOOL cd83788e4c054231b3050c54799781b38344d7bec006e640a489276678146f25ab55ee0bc82fc031e5cab39c92c09877d7ce55af90089691e0d09dac37fbbf19 DIST sqlite-doc-3200100.zip 5759028 SHA256 0caf410e604411fd925c699d5fcb1d846f9297cdf2e18251eceb3e5708301e85 SHA512 518ca59644cecfcd67f511268112e421c5d7bbd77ef1e33304bf306ef110becf1e2a7fe37c506ec6892edb9d5c6ee77657b374c2e061f49890d18af062dea2b3 WHIRLPOOL ba78e9c6cdac90937dd4b39bbf14d78f309b391908ed22f13e9068da66ff6d191d7ade5deaae43d1636342b2ed9f45e34e0c4312c7a15557b4a36b7ed5ba3098 -DIST sqlite-src-3160200.zip 10081950 SHA256 ee77c2cc5cc4a7b0a746a1d4496f7aee0d71c558a3bbfcf8e9e0b35416910337 SHA512 db49551c09830cf4d8997f0a623deeed9f85db5f27e6ca9d8aa5812a23c1466bbcdf8bb56cf009511f72cafec8f09a305127123f54d90437b28770dac34a0897 WHIRLPOOL b8cc52d5111bde34dae02391be8d83f9e703672b2101b36f5409e9acc23743c00561b02bd14b098e29972077fa1866a506d6343b58e4897ca07dac0bb60f4367 -DIST sqlite-src-3170000.zip 10120844 SHA256 86754bee6bcaf1f2a6bf4a02676eb3a43d22d4e5d8339e217424cb2be6b748c3 SHA512 e60381de33fbf566507454e4f1dfb7d3ada554e5c919f05f0dd2f96a6f266adaa62681437f21fdea1c24de57fb6141b798f97854918faa189b507f12f11e0d36 WHIRLPOOL 535c598f7bb9ddbecdd1ca841c0ecf398831c494c99c38542d1cbb756d8333260d6891aa36167aeba75df83fbaf402465dc65c9b3a7fb6685fa54420cb1a1342 -DIST sqlite-src-3180000.zip 10166686 SHA256 eab4d137abd5aa1164244a5d558c9a02122071daf36984b236f8441d749b9ba6 SHA512 b82c5388066f2e905c067d75e890bf2ff03a522733b8c8e0ebdfffe1804d7ecb39b72f6d808fce59133ac8c645f8b6e163e3dff7bbb0d66bbe8748e069ca7a84 WHIRLPOOL b92890b587761dfd550b39fbd64c4fddaf58e495c0f2b7526a624c3415147494648add3fa6968a09411e73c9b0653ec541a49a34daeb7ad2ae4840e829528380 -DIST sqlite-src-3190200.zip 10193843 SHA256 899c370b162a3b1febc644be5363433789a629bd07f5f80231defb5603d1abc1 SHA512 026b97bfc73b6ecf4c48b344a13adfb1c484d76a4fe78fd06bc4d175bb516c324483c6a647eaffc989469b3134c1874a1869b2d6a7d4112e685d75317992deb1 WHIRLPOOL 8af9215bfb2e2c2b418ff19f5e6a31d9ce68c47a3ec5d31fa2747e6de1936a32844fa6d500d876f77038a50dd332d73740594a2a7a9141eff32bc5bf523c5966 +DIST sqlite-doc-3210000.zip 5800635 SHA256 78c2fc9b144b168c7df53ff192c84fa7c29bcc44324b48b0f809a13810bc6c36 SHA512 799c7279166b489d1a5acc9410808c2d4b78e64037fc15b60764180fe1c698f35e27e86793140302f560cfa583baa2c33e416d5c9e1842ec58c6cb6093729334 WHIRLPOOL 07fd680e5573ca68eec31208bf52d096df1a20aa5b3bb69cc98f1c017d3772dfb48706ac10e9f9a70990467d4177fb32e751692e72f9c33883d76d770d55d0a4 DIST sqlite-src-3190300.zip 10193997 SHA256 5595bbf59e7bb6bb43a6e816b9dd2ee74369c6ae3cd60284e24d5f7957286120 SHA512 514c3de6346bdea359036a79c880133f0eeed4cdfc9e811d662dc343f91ea43edda0f9760405a48e7f61ea1dd3478980cc7d3b5409ef27adcb5311a06e36297e WHIRLPOOL 14491a9f14b7f180781ea78010783709e0539b970d0fadec10a3e0afd9fdda8d417dd14811ad10f98b9b8ec5cb491422bc4e9ebad7720a1733fef11e759908c7 DIST sqlite-src-3200000.zip 10575632 SHA256 4b358e77a85d128651e504aaf548253ffe10d5d399aaef5a6e34f29262614bee SHA512 40fe7972902d041f012c7739c8712aa40069aebc7be680fde8f43b33fed885bfc42331bfb7200651486484edb71cbdd77ddb9c119d0847bdfb0e92063090f029 WHIRLPOOL e64cefd85a78402a40abe647c001cf280fe8469da99a03b776ba12bbf19fd372506430b4f9d1b507617dff3d3adf74ea177a2238e006d6b85e39e67c60ce6a03 DIST sqlite-src-3200100.zip 10575637 SHA256 665bcae19f313c974e3fc2e375b93521c3668d79bc7b66250c24a4a4aeaa2c2a SHA512 845a0d64c9356aadf178c04dd716bbd37a7353526b06cfa8e8f65653cf6a1893a5c5e8c78d20b43910c34d9167272cf517749c91ed0ba7686977e3d0327e8939 WHIRLPOOL cfba088bc57f387e665642df2c4050edeaa3802c8c684dcdaa882c608650afb32de3c9877e518d2b1689e26eafb2e693de7d0edc3ce7ce49b0bcf4537954972d -EBUILD sqlite-3.16.2.ebuild 7562 SHA256 9a43f73fd517cac09cccee3fd4db5b227c9d3416ba557a6ecd3627ec7e886188 SHA512 fff1466d88ea7b14db92e74cc080e2d06706b01e1dd9c388529fcddf02570a03e7b47d3745197ec70517b657218e570dc5deb20697d2a79e608ab856b49d63de WHIRLPOOL 1c9fa1b105dee1685d32fee41c44fd0d51327081f38ae9579afe18b04054b13c449928b964e0a238ec3a19785639e643aea58e0fc2463d6e14cffbeeea1c12c1 -EBUILD sqlite-3.17.0.ebuild 7577 SHA256 8a9fef75009478b47686b47c066572d3bb11eb54c87a153de0c6b795ff2917fc SHA512 74dd5ac09d7f988573e5bcdbd509ea3759369a583db29f1ee679ed5b7a56f8e648a54b827806d6f663ac66d407ca71bebe67c3140a6562f399ff8f7ef70f75d1 WHIRLPOOL 916db3be0235376237c3b9060ba2e2053f64ed1b4d9f665b74a4e3b6b9c2ed62c8743d80076c326273a66e95c40438c96d73110867d49e4ceefc7d286c1ab1e9 -EBUILD sqlite-3.18.0.ebuild 7632 SHA256 a07cf557d2152945d5a14150187882033e4967cbdb9ea1bb42cc36f8408002e2 SHA512 e8650cc6a2abd7a825cf2d336f19758aafbe3a4d9c7be9d08bda885bcc76c7c4182132ca990ea9e9fcdce2d2de65eb4fe3605785f80e28870491862e9e4ad5c1 WHIRLPOOL 8498e5adf11085cd6f67a4d68fd118271388991ac039aee16bd770f4909258c1010f2b5708eb8bf328ff486f27c652bebed0121697c212f867ee475d98112fe9 -EBUILD sqlite-3.19.2.ebuild 7860 SHA256 1d72e9ea14610c26b10e3ca33d8cc46b8317361baa7f757e873285c607ab4d00 SHA512 e90aae9d716ed9d6e5f6ab714917ea3479b8852811be8b59f3955618221b3ed454cb0092002f5a1608a6e62521377d67329e03bd5d5119bdb6228195c9085af9 WHIRLPOOL ac2e32d396ffe7dee96918a547ce4fd8955361baf936adb5e36ae6eb2e6a9b0e28710a2e24afc64ba71795ecb5be63137f164b3cfae6ccb096a005607e241afb +DIST sqlite-src-3210000.zip 10577695 SHA256 8681a34e059b30605f611ac85168ca54edbade50c71468b5882f5abbcd66b94e SHA512 3a054422da80d750fd5ab297f9d2728f4e7b55fa790a72d55da8c381835571992d56b349e50d4680b04c9e2e44d6fa83009c2df3ffa045f43ff9059bb8736894 WHIRLPOOL 190c3870efa7c951d2d3abfd938c2b811ccabf73572a885d744059388496cc4ee073b7ca883d4874b3aba20c6ee10df627cd0579c7a448c52ba0568a06b6cee9 EBUILD sqlite-3.19.3.ebuild 7627 SHA256 940a4b87c1445c20736d26b44d6e8bea6fca0dcb90815c505974217d8e8c35c1 SHA512 9b689a4fd1897c8ebdb4c726c7377dbc3a53445539d93d443e208ccf007f0085b7179f8821a2eb0b15bb4591b5dd00747dc54fb0a1971bab249b905f49e2b31f WHIRLPOOL 082c44e8a88d94518733bcb2990c863bbebbb1c248f6cb553a60cdef7138c482eb505a345550b94e8285bfd375d0abea9b2059202b66b837fc3840d82cda8a24 EBUILD sqlite-3.20.0.ebuild 7632 SHA256 9dda38d50abbbc7f1e41729b952745f5bf1a7f2cd9abd0a9ae7fc7140ca90c28 SHA512 0429db119f90a2292eb5ade11f55acee08a68be38bd37e4455e686e5431d1d04475f860fa459d4746e7404123869ebf2ec75fb956d57cad06b49037f25ab8eed WHIRLPOOL 52cb074e3428b4be0777c4cf3e50d6ff7a86ba6e14afd2e2baf31b09e3fd0725dcbfa4adb24fa733706cc647008031a366944cbb3d93e2b700990632e7ec98ea EBUILD sqlite-3.20.1-r1.ebuild 8089 SHA256 82c7e140aab6641a7db9a5eeb879e1eaf6558a099713d897c6afde7654d92321 SHA512 333d20e5d43e07a075e95ffc4eaa2ce6494727474ff205e52272087d8bf6b500060b0fc4c04611e27cab05082a6dc1885b217eb11bb0e89d7946db2c0133b602 WHIRLPOOL 2da3cb7436e1e1408fc880ea9c9007a25ad541ad8bb5a1458d50fcb07f297100937d205eb2615798dea31bb3b818d06cac435aa4d55faf9a95a4efaf939ddf2d +EBUILD sqlite-3.21.0.ebuild 8470 SHA256 113d9a17e55d24a5728e7bc941aa06eaaf76bfca3e2aa55065f9da154d01e324 SHA512 a240c8b818c0b55b57f5ba3498f1f3938efaa6ba773cce310dc1c18d3256f48bb3cd1ad3b7ba124d5d1b245b61955e523f33ed460c496612d84c4783931762c0 WHIRLPOOL 32fe0e4bbe129493f2f988c0fb93c449bd06f04cae7c9a48ae597d90b4a6533409b26ce044ce20307b345681bc7e1fab0b7182d5535d19cffaee84f8697fe136 MISC ChangeLog 13419 SHA256 729f7a8c3bcf0f8b48bf8abb50a5f7d11c9061a7717ef2d99f5e1c9ea0e0aed0 SHA512 d60a569bf7563f3c8efe9f5c75b0e71b25677125cf82251db4c169f0f67090e87944e51b23c797a22ff3d6e104ff81c3e4af43d88e1a4257ce790644fa30e23e WHIRLPOOL 1c24f28d1358c73eccdf19a03373ffb05505adf77631cec6c6189c4307ab344c9586b1ce245bb4ef40017f767eaa7dd22520a0fc071f44c7711fffd9fdc5ed03 MISC ChangeLog-2015 77763 SHA256 c33481b0e8ff18658a72ce845ef033f46d7e2e47fd368f276485936b8249e366 SHA512 ae9ede8a42eb81bdbfd39c201aaed8a295c2eb61999d7961aed59f1d439241b57ffff0548b11317abdf2342a2e35daeb8ba98dea3fbd1904653192c3e2b3c86c WHIRLPOOL 892423e0771ee903650e396b9eb63ca76abe782ce5d3f2e1f993d0c65f3ee1b23e38a743557e09f7d11c6466ffe7c8bf7fb4a372ed58e33c1397d9c9b24f1783 MISC metadata.xml 745 SHA256 0430582d0c0d1d5687f3e488e11f0b0c60f91fa51196df62c5ccd4a57b79912b SHA512 06ed7007e3ded9f29fadc70c583e9795a8ab5c27578159bb060b39c0cf7de6b4bca06ff0ceeab6710c50db96a44c976c52af2352ee7928211a46d5eca071b849 WHIRLPOOL 7c9f0a1ab683d8c10a5eccebdd88f1f470c72ae4b547fc0a465da4cd6c640d0b8658d9767dfd6e16bdfbb54219edc584b0c7e80ed6b4e963032b7aaeeab672d5 diff --git a/dev-db/sqlite/files/sqlite-3.16.0-full_tarball-build.patch b/dev-db/sqlite/files/sqlite-3.16.0-full_tarball-build.patch deleted file mode 100644 index 60907e795f92..000000000000 --- a/dev-db/sqlite/files/sqlite-3.16.0-full_tarball-build.patch +++ /dev/null @@ -1,147 +0,0 @@ -Link executables against libsqlite3.so. -Increase timeout for fuzzcheck. -Fix building with dlopen() not available. - ---- Makefile.in -+++ Makefile.in -@@ -562,6 +562,7 @@ - # - SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 - # SHELL_OPT += -DSQLITE_ENABLE_FTS5 -+SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB - SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS - SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1 -@@ -586,25 +587,25 @@ - - libtclsqlite3.la: tclsqlite.lo libsqlite3.la - $(LTLINK) -no-undefined -o $@ tclsqlite.lo \ -- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ -+ libsqlite3.la @TCL_STUB_LIB_SPEC@ \ - -rpath "$(TCLLIBDIR)" \ - -version-info "8:6:8" \ - -avoid-version - --sqlite3$(TEXE): $(TOP)/src/shell.c sqlite3.c -- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \ -- $(TOP)/src/shell.c sqlite3.c \ -- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)" -+sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la -+ $(LTLINK) $(READLINE_FLAGS) -o $@ \ -+ $(TOP)/src/shell.c libsqlite3.la \ -+ $(LIBREADLINE) - --sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h -- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS) -+sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la - --dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h -- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS) -+dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la - --scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo -+scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la - $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \ -- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS) -+ $(TOP)/ext/misc/scrub.c libsqlite3.la - - srcck1$(BEXE): $(TOP)/tool/srcck1.c - $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c -@@ -679,7 +680,7 @@ - # Rule to build the amalgamation - # - sqlite3.lo: sqlite3.c -- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c -+ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c - - # Rules to build the LEMON compiler generator - # -@@ -1105,13 +1106,13 @@ - - # Fuzz testing - fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) -- ./fuzzcheck$(TEXE) $(FUZZDATA) -+ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA) - - fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA) -- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA) -+ ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA) - - valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) -- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA) -+ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA) - - # The veryquick.test TCL tests. - # -@@ -1141,32 +1142,31 @@ - smoketest: $(TESTPROGS) fuzzcheck$(TEXE) - ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS) - --sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl -+sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl - echo "#define TCLSH 2" > $@ -- echo "#define SQLITE_ENABLE_DBSTAT_VTAB 1" >> $@ -- cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@ -+ cat $(TOP)/src/tclsqlite.c >> $@ - echo "static const char *tclsh_main_loop(void){" >> $@ - echo "static const char *zMainloop = " >> $@ - $(TCLSH_CMD) $(TOP)/tool/tostr.tcl $(TOP)/tool/spaceanal.tcl >> $@ - echo "; return zMainloop; }" >> $@ - --sqlite3_analyzer$(TEXE): sqlite3_analyzer.c -- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS) -+sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la -+ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL) - --showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS) -+showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la - --showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS) -+showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la - --showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS) -+showjournal$(TEXE): $(TOP)/tool/showjournal.c -+ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c - --showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS) -+showwal$(TEXE): $(TOP)/tool/showwal.c -+ $(LTLINK) -o $@ $(TOP)/tool/showwal.c - --changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo -- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS) -+changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la -+ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la - - rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo - $(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS) -@@ -1180,8 +1180,8 @@ - speedtest1$(TEXE): $(TOP)/test/speedtest1.c sqlite3.lo - $(LTLINK) -o $@ $(TOP)/test/speedtest1.c sqlite3.lo $(TLIBS) - --rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo -- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS) -+rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la -+ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la - - loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la - $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS) ---- configure.ac -+++ configure.ac -@@ -584,6 +584,9 @@ - if test "${use_loadextension}" = "yes" ; then - OPT_FEATURE_FLAGS="" - AC_SEARCH_LIBS(dlopen, dl) -+ if test "${ac_cv_search_dlopen}" = "no" ; then -+ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" -+ fi - else - OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" - fi diff --git a/dev-db/sqlite/files/sqlite-3.21.0-full_archive-build.patch b/dev-db/sqlite/files/sqlite-3.21.0-full_archive-build.patch new file mode 100644 index 000000000000..dfc01c88b56c --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.21.0-full_archive-build.patch @@ -0,0 +1,153 @@ +Link executables against libsqlite3.so. +Increase timeout for fuzzcheck. +Fix building with dlopen() not available. + +--- /Makefile.in ++++ /Makefile.in +@@ -600,25 +600,25 @@ + + libtclsqlite3.la: tclsqlite.lo libsqlite3.la + $(LTLINK) -no-undefined -o $@ tclsqlite.lo \ +- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ ++ libsqlite3.la @TCL_STUB_LIB_SPEC@ \ + -rpath "$(TCLLIBDIR)" \ + -version-info "8:6:8" \ + -avoid-version + +-sqlite3$(TEXE): shell.c sqlite3.c +- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \ +- shell.c sqlite3.c \ +- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)" ++sqlite3$(TEXE): shell.c libsqlite3.la ++ $(LTLINK) $(READLINE_FLAGS) -o $@ \ ++ shell.c libsqlite3.la \ ++ $(LIBREADLINE) + +-sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h +- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS) ++sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la + +-dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h +- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS) ++dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la + +-scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo ++scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la + $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \ +- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS) ++ $(TOP)/ext/misc/scrub.c libsqlite3.la + + srcck1$(BEXE): $(TOP)/tool/srcck1.c + $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c +@@ -694,7 +694,7 @@ + # Rule to build the amalgamation + # + sqlite3.lo: sqlite3.c +- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c ++ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c + + # Rules to build the LEMON compiler generator + # +@@ -1145,13 +1145,13 @@ + + # Fuzz testing + fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) +- ./fuzzcheck$(TEXE) $(FUZZDATA) ++ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA) + + fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA) +- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA) ++ ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA) + + valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) +- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA) ++ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA) + + # The veryquick.test TCL tests. + # +@@ -1181,30 +1181,30 @@ + smoketest: $(TESTPROGS) fuzzcheck$(TEXE) + ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS) + +-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in ++sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in + $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in >sqlite3_analyzer.c + +-sqlite3_analyzer$(TEXE): sqlite3_analyzer.c +- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS) ++sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la ++ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL) + +-dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo ++dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la + $(LTLINK) -DDBDUMP_STANDALONE -o $@ \ +- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS) ++ $(TOP)/ext/misc/dbdump.c libsqlite3.la + +-showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS) ++showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la + +-showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS) ++showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la + +-showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS) ++showjournal$(TEXE): $(TOP)/tool/showjournal.c ++ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c + +-showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS) ++showwal$(TEXE): $(TOP)/tool/showwal.c ++ $(LTLINK) -o $@ $(TOP)/tool/showwal.c + +-changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS) ++changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la + + rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo + $(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS) +@@ -1223,11 +1223,11 @@ + kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c + $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS) + +-rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo +- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS) ++rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la ++ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la + +-loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la +- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS) ++loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la ++ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ + + # This target will fail if the SQLite amalgamation contains any exported + # symbols that do not begin with "sqlite3_". It is run as part of the +--- /configure.ac ++++ /configure.ac +@@ -584,6 +584,9 @@ + if test "${use_loadextension}" = "yes" ; then + OPT_FEATURE_FLAGS="" + AC_SEARCH_LIBS(dlopen, dl) ++ if test "${ac_cv_search_dlopen}" = "no" ; then ++ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" ++ fi + else + OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" + fi +--- /tool/sqlite3_analyzer.c.in ++++ /tool/sqlite3_analyzer.c.in +@@ -14,7 +14,6 @@ + #define SQLITE_DEFAULT_MEMSTATUS 0 + #define SQLITE_MAX_EXPR_DEPTH 0 + #define SQLITE_OMIT_LOAD_EXTENSION 1 +-INCLUDE sqlite3.c + INCLUDE $ROOT/src/tclsqlite.c + + const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){ diff --git a/dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch b/dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch new file mode 100644 index 000000000000..06ea8b290536 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.21.0-nonfull_archive-build.patch @@ -0,0 +1,14 @@ +Fix building with dlopen() not available. + +--- /configure.ac ++++ /configure.ac +@@ -102,6 +102,9 @@ + [], [enable_dynamic_extensions=yes]) + if test x"$enable_dynamic_extensions" != "xno"; then + AC_SEARCH_LIBS(dlopen, dl) ++ if test "${ac_cv_search_dlopen}" = "no" ; then ++ DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1 ++ fi + else + DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1 + fi diff --git a/dev-db/sqlite/sqlite-3.16.2.ebuild b/dev-db/sqlite/sqlite-3.16.2.ebuild deleted file mode 100644 index 85b1897f9dec..000000000000 --- a/dev-db/sqlite/sqlite-3.16.2.ebuild +++ /dev/null @@ -1,260 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator - -SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))" -DOC_PV="${SRC_PV}" -# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))" - -DESCRIPTION="A SQL Database Engine in a C Library" -HOMEPAGE="https://sqlite.org/" -SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip ) - tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - !tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" - -LICENSE="public-domain" -SLOT="3" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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" - -RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - doc? ( app-arch/unzip ) - tcl? ( app-arch/unzip ) - test? ( - app-arch/unzip - dev-lang/tcl:0[${MULTILIB_USEDEP}] - ) - tools? ( app-arch/unzip )" - -full_tarball() { - use tcl || use test || use tools -} - -pkg_setup() { - if full_tarball; then - S="${WORKDIR}/${PN}-src-${SRC_PV}" - else - S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" - fi -} - -src_prepare() { - if full_tarball; then - eapply -p0 "${FILESDIR}/${PN}-3.16.0-full_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" - else - eapply -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed \ - -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ - -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ - -i configure.ac || die "sed failed" - fi - - eautoreconf - - multilib_copy_sources -} - -multilib_src_configure() { - local CPPFLAGS="${CPPFLAGS}" options=() - - options+=( - --enable-$(full_tarball && echo load-extension || echo dynamic-extensions) - --enable-threadsafe - ) - if ! full_tarball; then - options+=(--disable-static-shell) - fi - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support column metadata functions. - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support dbstat virtual table. - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=(--enable-fts5) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support JSON1 extension. - # https://sqlite.org/json1.html - append-cppflags -DSQLITE_ENABLE_JSON1 - - # Support memsys5 memory allocator. - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support Resumable Bulk Update extension. - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/rtree.html - append-cppflags -DSQLITE_ENABLE_RTREE - - # Support scan status functions. - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support Session extension. - # https://sqlite.org/sessionintro.html - options+=(--enable-session) - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support soundex() function. - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # debug USE flag. - if full_tarball; then - options+=($(use_enable debug)) - else - if use debug; then - append-cppflags -DSQLITE_DEBUG - else - append-cppflags -DNDEBUG - fi - fi - - # icu USE flag. - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - if full_tarball; then - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - else - sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - fi - - # readline USE flag. - options+=( - --disable-editline - $(use_enable readline) - ) - if full_tarball && use readline; then - options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") - fi - - # secure-delete USE flag. - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - # static-libs USE flag. - options+=($(use_enable static-libs static)) - - # tcl, test, tools USE flags. - if full_tarball; then - options+=(--enable-tcl) - fi - - if [[ "${CHOST}" == *-mint* ]]; then - append-cppflags -DSQLITE_OMIT_WAL - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbhash sqlite3-db-hash - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - - unset -f install_tool - fi -} - -multilib_src_install_all() { - prune_libtool_files - - doman sqlite3.1 - - if use doc; then - rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} - ( - docinto html - dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* - ) - fi -} diff --git a/dev-db/sqlite/sqlite-3.17.0.ebuild b/dev-db/sqlite/sqlite-3.17.0.ebuild deleted file mode 100644 index ad572bba348c..000000000000 --- a/dev-db/sqlite/sqlite-3.17.0.ebuild +++ /dev/null @@ -1,260 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator - -SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))" -DOC_PV="${SRC_PV}" -# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))" - -DESCRIPTION="A SQL Database Engine in a C Library" -HOMEPAGE="https://sqlite.org/" -SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip ) - tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - !tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" - -LICENSE="public-domain" -SLOT="3" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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" - -RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - doc? ( app-arch/unzip ) - tcl? ( app-arch/unzip ) - test? ( - app-arch/unzip - dev-lang/tcl:0[${MULTILIB_USEDEP}] - ) - tools? ( app-arch/unzip )" - -full_tarball() { - use tcl || use test || use tools -} - -pkg_setup() { - if full_tarball; then - S="${WORKDIR}/${PN}-src-${SRC_PV}" - else - S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" - fi -} - -src_prepare() { - if full_tarball; then - eapply -p0 "${FILESDIR}/${PN}-3.16.0-full_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" - else - eapply -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed \ - -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ - -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ - -i configure.ac || die "sed failed" - fi - - eautoreconf - - multilib_copy_sources -} - -multilib_src_configure() { - local CPPFLAGS="${CPPFLAGS}" options=() - - options+=( - --enable-$(full_tarball && echo load-extension || echo dynamic-extensions) - --enable-threadsafe - ) - if ! full_tarball; then - options+=(--disable-static-shell) - fi - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support column metadata functions. - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support dbstat virtual table. - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=(--enable-fts5) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support JSON1 extension. - # https://sqlite.org/json1.html - append-cppflags -DSQLITE_ENABLE_JSON1 - - # Support memsys5 memory allocator. - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support Resumable Bulk Update extension. - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/rtree.html - append-cppflags -DSQLITE_ENABLE_RTREE - - # Support scan status functions. - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support Session extension. - # https://sqlite.org/sessionintro.html - options+=(--enable-session) - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support soundex() function. - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # debug USE flag. - if full_tarball; then - options+=($(use_enable debug)) - else - if use debug; then - append-cppflags -DSQLITE_DEBUG - else - append-cppflags -DNDEBUG - fi - fi - - # icu USE flag. - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - if full_tarball; then - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - else - sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - fi - - # readline USE flag. - options+=( - --disable-editline - $(use_enable readline) - ) - if full_tarball && use readline; then - options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") - fi - - # secure-delete USE flag. - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - # static-libs USE flag. - options+=($(use_enable static-libs static)) - - # tcl, test, tools USE flags. - if full_tarball; then - options+=(--enable-tcl) - fi - - if [[ "${CHOST}" == *-mint* ]]; then - append-cppflags -DSQLITE_OMIT_WAL - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbhash sqlite3-db-hash - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - - unset -f install_tool - fi -} - -multilib_src_install_all() { - prune_libtool_files - - doman sqlite3.1 - - if use doc; then - rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} - ( - docinto html - dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* - ) - fi -} diff --git a/dev-db/sqlite/sqlite-3.18.0.ebuild b/dev-db/sqlite/sqlite-3.18.0.ebuild deleted file mode 100644 index a607c0afbdc2..000000000000 --- a/dev-db/sqlite/sqlite-3.18.0.ebuild +++ /dev/null @@ -1,261 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator - -SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))" -DOC_PV="${SRC_PV}" -# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))" - -DESCRIPTION="A SQL Database Engine in a C Library" -HOMEPAGE="https://sqlite.org/" -SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip ) - tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - !tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" - -LICENSE="public-domain" -SLOT="3" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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" - -RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - doc? ( app-arch/unzip ) - tcl? ( app-arch/unzip ) - test? ( - app-arch/unzip - dev-lang/tcl:0[${MULTILIB_USEDEP}] - ) - tools? ( app-arch/unzip )" - -full_tarball() { - use tcl || use test || use tools -} - -pkg_setup() { - if full_tarball; then - S="${WORKDIR}/${PN}-src-${SRC_PV}" - else - S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" - fi -} - -src_prepare() { - if full_tarball; then - eapply -p0 "${FILESDIR}/${PN}-3.18.0-full_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" - else - eapply -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed \ - -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ - -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ - -i configure.ac || die "sed failed" - fi - - eautoreconf - - multilib_copy_sources -} - -multilib_src_configure() { - local CPPFLAGS="${CPPFLAGS}" options=() - - options+=( - --enable-$(full_tarball && echo load-extension || echo dynamic-extensions) - --enable-threadsafe - ) - if ! full_tarball; then - options+=(--disable-static-shell) - fi - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support column metadata functions. - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support dbstat virtual table. - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=(--enable-fts5) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support JSON1 extension. - # https://sqlite.org/json1.html - append-cppflags -DSQLITE_ENABLE_JSON1 - - # Support memsys5 memory allocator. - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support Resumable Bulk Update extension. - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/rtree.html - append-cppflags -DSQLITE_ENABLE_RTREE - - # Support scan status functions. - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support Session extension. - # https://sqlite.org/sessionintro.html - options+=(--enable-session) - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support soundex() function. - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # debug USE flag. - if full_tarball; then - options+=($(use_enable debug)) - else - if use debug; then - append-cppflags -DSQLITE_DEBUG - else - append-cppflags -DNDEBUG - fi - fi - - # icu USE flag. - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - if full_tarball; then - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - else - sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - fi - - # readline USE flag. - options+=( - --disable-editline - $(use_enable readline) - ) - if full_tarball && use readline; then - options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") - fi - - # secure-delete USE flag. - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - # static-libs USE flag. - options+=($(use_enable static-libs static)) - - # tcl, test, tools USE flags. - if full_tarball; then - options+=(--enable-tcl) - fi - - if [[ "${CHOST}" == *-mint* ]]; then - append-cppflags -DSQLITE_OMIT_WAL - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - - unset -f install_tool - fi -} - -multilib_src_install_all() { - prune_libtool_files - - doman sqlite3.1 - - if use doc; then - rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} - ( - docinto html - dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* - ) - fi -} diff --git a/dev-db/sqlite/sqlite-3.19.2.ebuild b/dev-db/sqlite/sqlite-3.19.2.ebuild deleted file mode 100644 index cb6dc5fdf17c..000000000000 --- a/dev-db/sqlite/sqlite-3.19.2.ebuild +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator - -SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))" -DOC_PV="${SRC_PV}" -# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))" - -DESCRIPTION="A SQL Database Engine in a C Library" -HOMEPAGE="https://sqlite.org/" -SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip ) - tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) - !tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" - -LICENSE="public-domain" -SLOT="3" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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" - -RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - doc? ( app-arch/unzip ) - tcl? ( app-arch/unzip ) - test? ( - app-arch/unzip - dev-lang/tcl:0[${MULTILIB_USEDEP}] - ) - tools? ( app-arch/unzip )" - -full_tarball() { - use tcl || use test || use tools -} - -pkg_setup() { - if full_tarball; then - S="${WORKDIR}/${PN}-src-${SRC_PV}" - else - S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" - fi -} - -src_prepare() { - if full_tarball; then - eapply -p0 "${FILESDIR}/${PN}-3.18.0-full_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" - - # Fix references to $(OPT_FEATURE_FLAGS). - # https://sqlite.org/src/info/43ce3bd3a4b41ea7 - sed -e "s/OPT_FEATURE_FLAGS=\"\$(OPT_FEATURE_FLAGS)/OPT_FEATURE_FLAGS=\"\${OPT_FEATURE_FLAGS}/" -i configure.ac || die "sed failed" - else - eapply -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-build.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed \ - -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ - -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ - -i configure.ac || die "sed failed" - fi - - eautoreconf - - multilib_copy_sources -} - -multilib_src_configure() { - local CPPFLAGS="${CPPFLAGS}" options=() - - options+=( - --enable-$(full_tarball && echo load-extension || echo dynamic-extensions) - --enable-threadsafe - ) - if ! full_tarball; then - options+=(--disable-static-shell) - fi - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support column metadata functions. - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support dbstat virtual table. - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=(--enable-fts5) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support JSON1 extension. - # https://sqlite.org/json1.html - append-cppflags -DSQLITE_ENABLE_JSON1 - - # Support memsys5 memory allocator. - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support Resumable Bulk Update extension. - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/rtree.html - append-cppflags -DSQLITE_ENABLE_RTREE - - # Support scan status functions. - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support Session extension. - # https://sqlite.org/sessionintro.html - options+=(--enable-session) - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support soundex() function. - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # debug USE flag. - if full_tarball; then - options+=($(use_enable debug)) - else - if use debug; then - append-cppflags -DSQLITE_DEBUG - else - append-cppflags -DNDEBUG - fi - fi - - # icu USE flag. - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - if full_tarball; then - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - else - sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - fi - - # readline USE flag. - options+=( - --disable-editline - $(use_enable readline) - ) - if full_tarball && use readline; then - options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") - fi - - # secure-delete USE flag. - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - # static-libs USE flag. - options+=($(use_enable static-libs static)) - - # tcl, test, tools USE flags. - if full_tarball; then - options+=(--enable-tcl) - fi - - if [[ "${CHOST}" == *-mint* ]]; then - append-cppflags -DSQLITE_OMIT_WAL - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - - unset -f install_tool - fi -} - -multilib_src_install_all() { - prune_libtool_files - - doman sqlite3.1 - - if use doc; then - rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} - ( - docinto html - dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* - ) - fi -} diff --git a/dev-db/sqlite/sqlite-3.21.0.ebuild b/dev-db/sqlite/sqlite-3.21.0.ebuild new file mode 100644 index 000000000000..59ef4346af99 --- /dev/null +++ b/dev-db/sqlite/sqlite-3.21.0.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator + +SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))" +DOC_PV="${SRC_PV}" +# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))" + +DESCRIPTION="A SQL Database Engine in a C Library" +HOMEPAGE="https://sqlite.org/" +SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip ) + tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) + test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) + tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) + !tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" + +LICENSE="public-domain" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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" + +RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) + readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) + tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) + tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + doc? ( app-arch/unzip ) + tcl? ( app-arch/unzip ) + test? ( + app-arch/unzip + dev-lang/tcl:0[${MULTILIB_USEDEP}] + ) + tools? ( app-arch/unzip )" + +full_archive() { + use tcl || use test || use tools +} + +pkg_setup() { + if full_archive; then + S="${WORKDIR}/${PN}-src-${SRC_PV}" + else + S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" + fi +} + +src_prepare() { + if full_archive; then + eapply "${FILESDIR}/${PN}-3.21.0-full_archive-build.patch" + + eapply_user + + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" + + # https://sqlite.org/src/info/bf09fa683ea42b75 + sed -e "s:cp tsrc/shell\.c tsrc/sqlite3ext\.h \.:cp tsrc/sqlite3ext.h .:" -i Makefile.in || die "sed failed" + else + eapply "${FILESDIR}/${PN}-3.21.0-nonfull_archive-build.patch" + + eapply_user + + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed \ + -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ + -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ + -i configure.ac || die "sed failed" + fi + + eautoreconf + + multilib_copy_sources +} + +multilib_src_configure() { + local CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" options=() + + options+=( + --enable-$(full_archive && echo load-extension || echo dynamic-extensions) + --enable-threadsafe + ) + if ! full_archive; then + options+=(--disable-static-shell) + fi + + # Support detection of misuse of SQLite API. + # https://sqlite.org/compile.html#enable_api_armor + append-cppflags -DSQLITE_ENABLE_API_ARMOR + + # Support column metadata functions. + # https://sqlite.org/c3ref/column_database_name.html + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA + + # Support sqlite_dbpage virtual table. + # https://sqlite.org/compile.html#enable_dbpage_vtab + append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB + + # Support dbstat virtual table. + # https://sqlite.org/dbstat.html + append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB + + # Support comments in output of EXPLAIN. + # https://sqlite.org/compile.html#enable_explain_comments + append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS + + # Support Full-Text Search versions 3, 4 and 5. + # https://sqlite.org/fts3.html + # https://sqlite.org/fts5.html + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 + options+=(--enable-fts5) + + # Support hidden columns. + append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS + + # Support JSON1 extension. + # https://sqlite.org/json1.html + append-cppflags -DSQLITE_ENABLE_JSON1 + + # Support memsys5 memory allocator. + # https://sqlite.org/malloc.html#memsys5 + append-cppflags -DSQLITE_ENABLE_MEMSYS5 + + # Support Resumable Bulk Update extension. + # https://sqlite.org/rbu.html + append-cppflags -DSQLITE_ENABLE_RBU + + # Support R*Trees. + # https://sqlite.org/rtree.html + append-cppflags -DSQLITE_ENABLE_RTREE + + # Support scan status functions. + # https://sqlite.org/c3ref/stmt_scanstatus.html + # https://sqlite.org/c3ref/stmt_scanstatus_reset.html + append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS + + # Support sqlite_stmt virtual table. + # https://sqlite.org/stmt.html + append-cppflags -DSQLITE_ENABLE_STMTVTAB + + # Support Session extension. + # https://sqlite.org/sessionintro.html + options+=(--enable-session) + + # Support unknown() function. + # https://sqlite.org/compile.html#enable_unknown_sql_function + append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + + # Support unlock notification. + # https://sqlite.org/unlock_notify.html + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY + + # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. + # https://sqlite.org/compile.html#enable_update_delete_limit + append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + + # Support soundex() function. + # https://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # debug USE flag. + if full_archive; then + options+=($(use_enable debug)) + else + if use debug; then + append-cppflags -DSQLITE_DEBUG + else + append-cppflags -DNDEBUG + fi + fi + + # icu USE flag. + if use icu; then + # Support ICU extension. + # https://sqlite.org/compile.html#enable_icu + append-cppflags -DSQLITE_ENABLE_ICU + if full_archive; then + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + else + sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + fi + + # readline USE flag. + options+=( + --disable-editline + $(use_enable readline) + ) + if full_archive && use readline; then + options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") + fi + + # secure-delete USE flag. + if use secure-delete; then + # Enable secure_delete pragma by default. + # https://sqlite.org/pragma.html#pragma_secure_delete + append-cppflags -DSQLITE_SECURE_DELETE + fi + + # static-libs USE flag. + options+=($(use_enable static-libs static)) + + # tcl, test, tools USE flags. + if full_archive; then + options+=(--enable-tcl) + fi + + if [[ "${CHOST}" == *-mint* ]]; then + append-cppflags -DSQLITE_OMIT_WAL + fi + + if [[ "${ABI}" == "x86" ]]; then + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then + append-cflags -mfpmath=sse + else + append-cflags -ffloat-store + fi + fi + + econf "${options[@]}" +} + +multilib_src_compile() { + emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" + + if use tools && multilib_is_native_abi; then + emake changeset dbdump dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer + fi +} + +multilib_src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) +} + +multilib_src_install() { + emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + + if use tools && multilib_is_native_abi; then + install_tool() { + if [[ -f ".libs/${1}" ]]; then + newbin ".libs/${1}" "${2}" + else + newbin "${1}" "${2}" + fi + } + + install_tool changeset sqlite3-changeset + install_tool dbdump sqlite3-db-dump + install_tool dbhash sqlite3-db-hash + install_tool rbu sqlite3-rbu + install_tool scrub sqlite3-scrub + install_tool showdb sqlite3-show-db + install_tool showjournal sqlite3-show-journal + install_tool showstat4 sqlite3-show-stat4 + install_tool showwal sqlite3-show-wal + install_tool sqldiff sqlite3-diff + install_tool sqlite3_analyzer sqlite3-analyzer + + unset -f install_tool + fi +} + +multilib_src_install_all() { + prune_libtool_files + + doman sqlite3.1 + + if use doc; then + rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} + ( + docinto html + dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* + ) + fi +} -- cgit v1.2.3