+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX logrotate.mysql 440 RMD160 fbf0bc4b0b6c3ac611c6a3b916db36647016013d SHA1 11f83890c53fe80702e4a9aa3c4ed4cf5ba6dfcc SHA256 dafc74057585e50abdc682f1cf756d1cf4342df51f140880181dbb11f07afba1
MD5 e61a6d6aaa65503bddf57f77a65dd5ba files/logrotate.mysql 440
RMD160 fbf0bc4b0b6c3ac611c6a3b916db36647016013d files/logrotate.mysql 440
DIST mysql-5.0.26.tar.gz 25986952 RMD160 98ee85457de4bc8c8f8acddc8b6f0dc7687f32c7 SHA1 7197159f9214722aa41b82ad80f87b4af5d232ce SHA256 4266fe6a3593700d4157b8cc4278fa8ae98837d4757735fc6ed70d9df6bb2680
DIST mysql-5.1.13-bk-20061018.tar.gz 15866253 RMD160 707f1636d5e58f4c0e34809adfe19d04bf510530 SHA1 b265bcbd7a2c95976fb60142f819f7f136238eef SHA256 2dd77660688fec0bec3bb812fa85de059c983296d69f0e1e51f3669dca118770
DIST mysql-extras-20050920.tar.bz2 51007 RMD160 27e8eaaf09bf8a6cc1fbec2678d756bad102c1ea SHA1 3b73c69526ef85eb7be53b54c85bb20dc36650d3 SHA256 f75922eac6229593508c4adace441b53d7bc68e82282fc80f1174612418bb8fc
+DIST mysql-patchset-4.0.25-r1.tar.bz2 4577 RMD160 83fbe57e3ae33c1041c3b4628481903087848c1f SHA1 b83148ba72644298f9eabb9e475b412dbd397429 SHA256 94f57350089dc59d30cdee522ee35a9bc9bfceb2ebe1bfa2e324b1e04024e0cf
DIST mysql-patchset-4.0.27-r1.tar.bz2 4716 RMD160 362a1e2816c0606c47449c9e869a2a06459f3109 SHA1 0049ce4e08adc4fffc449a6286fb35512de5f460 SHA256 2cc1def725861a30c6146c63b68eb54356524d1b901eb7ae50742dcc93ea5e40
DIST mysql-patchset-4.1.21-r1.tar.bz2 3851 RMD160 61ea4ef8d630f5e9fad1daa9e0d4204b2b6a94bf SHA1 6c0176beb3fcb6eb5633f8523d40a198e862dec9 SHA256 68a161055ae75a5668bea4534586261638f3471c30ee52cd6e2f0b4f6835751e
DIST mysql-patchset-5.0.26-r3.tar.bz2 2483 RMD160 a74add4ef93ac5f3a05136d8ebf1dac8eb61190d SHA1 e501b69c27882e67c3097a987f30250f8e405a5c SHA256 c718472b0d7e7dcf49b5da9b004427f993a02d495a76a938c795eca46f820b3d
MD5 0a98ffc228fea2a1a073880b2120dc68 mysql-3.23.58-r1.ebuild 7232
RMD160 8dccb272ad58c1338c219aeb0327ad45522b05bf mysql-3.23.58-r1.ebuild 7232
SHA256 6d461c9d360a41d4c9c7dafbc5744a3222a00a417fe439da4aebee276c956b38 mysql-3.23.58-r1.ebuild 7232
-EBUILD mysql-4.0.25-r2.ebuild 14137 RMD160 b361380538c03bc19b959365efaa7852c8a8ef7d SHA1 6e8de0ad7098c4c44a31fffa3172ccf3dfca1838 SHA256 384555f5fff6f68301b549bb686fc18a7c48d1ebcc45c81bc02a17d9a68aff97
-MD5 0a503eba26baf96cd16c71164f7c231c mysql-4.0.25-r2.ebuild 14137
-RMD160 b361380538c03bc19b959365efaa7852c8a8ef7d mysql-4.0.25-r2.ebuild 14137
-SHA256 384555f5fff6f68301b549bb686fc18a7c48d1ebcc45c81bc02a17d9a68aff97 mysql-4.0.25-r2.ebuild 14137
-EBUILD mysql-4.0.27.ebuild 1040 RMD160 e7564f92aefffec78f38f7701f26cbab74d0e506 SHA1 ac4b434bd591962068fdbe2b639c7219cbc67b7c SHA256 7ff82818d17dcd54142e01ce27c5818028cb13deb1d6ace1712cacd333dfbd45
-MD5 2cc1857986f932eec506803ba76d1d15 mysql-4.0.27.ebuild 1040
-RMD160 e7564f92aefffec78f38f7701f26cbab74d0e506 mysql-4.0.27.ebuild 1040
-SHA256 7ff82818d17dcd54142e01ce27c5818028cb13deb1d6ace1712cacd333dfbd45 mysql-4.0.27.ebuild 1040
-EBUILD mysql-4.1.21.ebuild 1045 RMD160 997d68dc58a375caddc664c79b802ddb4c02b4af SHA1 6cee4c85a0264bd3c283a958bf4c0c8b11a788a4 SHA256 d96f168ac319995d0e65b411fa61ff34431cb31e1309a7bcf6b0914f2b47636e
-MD5 7e2f89c049a24f46360402745e06a2a2 mysql-4.1.21.ebuild 1045
-RMD160 997d68dc58a375caddc664c79b802ddb4c02b4af mysql-4.1.21.ebuild 1045
-SHA256 d96f168ac319995d0e65b411fa61ff34431cb31e1309a7bcf6b0914f2b47636e mysql-4.1.21.ebuild 1045
-EBUILD mysql-5.0.26-r1.ebuild 1068 RMD160 8aa6029d0056e01524f5e8bd7240c099d2ff4bbb SHA1 7b057f6b4ba7573a92c079d2275c26d96743f78a SHA256 46af5a53942afc118ae70af6054572b705f5c7f2a4f4c325a58d4491f9561d7b
-MD5 aec25d40465f886a11b4ba225328f5f8 mysql-5.0.26-r1.ebuild 1068
-RMD160 8aa6029d0056e01524f5e8bd7240c099d2ff4bbb mysql-5.0.26-r1.ebuild 1068
-SHA256 46af5a53942afc118ae70af6054572b705f5c7f2a4f4c325a58d4491f9561d7b mysql-5.0.26-r1.ebuild 1068
-EBUILD mysql-5.1.13_alpha20061018.ebuild 616 RMD160 8712e3c0a3a814cd388b0285af30db9e2b39bac4 SHA1 b89c1f4c7e0e7eb8c3df8adffce958541a96ac55 SHA256 9b26a62348af2dc7b66100762408df94c4dc2b6215489c9b696f0203aed502a3
-MD5 dda22462bbb4b17bd02f8a0fa75a11a0 mysql-5.1.13_alpha20061018.ebuild 616
-RMD160 8712e3c0a3a814cd388b0285af30db9e2b39bac4 mysql-5.1.13_alpha20061018.ebuild 616
-SHA256 9b26a62348af2dc7b66100762408df94c4dc2b6215489c9b696f0203aed502a3 mysql-5.1.13_alpha20061018.ebuild 616
-MISC ChangeLog 73802 RMD160 619d52d9d57030c9b30a8b00b0cf65b12c1d1cee SHA1 702f170a438a4e752c9a7834a15a6e2a8e38106a SHA256 6d696b95d6e66785d8a8b1f2df36579c419346c88da32a4079c9858acc32d8f8
-MD5 d505939a6d74343035f567884db4e426 ChangeLog 73802
-RMD160 619d52d9d57030c9b30a8b00b0cf65b12c1d1cee ChangeLog 73802
-SHA256 6d696b95d6e66785d8a8b1f2df36579c419346c88da32a4079c9858acc32d8f8 ChangeLog 73802
+EBUILD mysql-4.0.25-r2.ebuild 1108 RMD160 2fe2bf052c7a40788d1a642a1621a59974190c1f SHA1 a90f1a91fd04adc0ded89a770b91a388628972f5 SHA256 ac35678ceb16b20533d40f25ffa4aa39cab3823121c84c4d577d2810996979b3
+MD5 b551a414b4611d9287e29fa36d4e5cd4 mysql-4.0.25-r2.ebuild 1108
+RMD160 2fe2bf052c7a40788d1a642a1621a59974190c1f mysql-4.0.25-r2.ebuild 1108
+SHA256 ac35678ceb16b20533d40f25ffa4aa39cab3823121c84c4d577d2810996979b3 mysql-4.0.25-r2.ebuild 1108
+EBUILD mysql-4.0.27.ebuild 1101 RMD160 38d36c2fe0d75e8f46abb07fcb5f82e42f00f95b SHA1 03932fa83d5398e54dd4ceec5bcdd096b01229ed SHA256 c88d7667c07c35d56f9fb19718681e31bb05a9a20e66f96e76a316062da1bf18
+MD5 b2257058f3a0e81731ff01ceeba5b3fc mysql-4.0.27.ebuild 1101
+RMD160 38d36c2fe0d75e8f46abb07fcb5f82e42f00f95b mysql-4.0.27.ebuild 1101
+SHA256 c88d7667c07c35d56f9fb19718681e31bb05a9a20e66f96e76a316062da1bf18 mysql-4.0.27.ebuild 1101
+EBUILD mysql-4.1.21.ebuild 1107 RMD160 be7e09de630286cb26c696cd770e59e1f68eb8e4 SHA1 ca65ddd6f5a09da68e5f5f3a69295d0ef9adec1a SHA256 c46486c4ae7298daee9da3352663bb68fc5de68a1cfbc6fc32f64eb3428a7f9d
+MD5 18670df4da1c1f4abf57f015279aeef5 mysql-4.1.21.ebuild 1107
+RMD160 be7e09de630286cb26c696cd770e59e1f68eb8e4 mysql-4.1.21.ebuild 1107
+SHA256 c46486c4ae7298daee9da3352663bb68fc5de68a1cfbc6fc32f64eb3428a7f9d mysql-4.1.21.ebuild 1107
+EBUILD mysql-5.0.26-r1.ebuild 1127 RMD160 b9089d6a4a511ccc188e1bbc574e67d5a2a333f9 SHA1 8d8b97a4a39241a0c6ee977b19e504d7702ab4ff SHA256 e7ceb34a88a8b3d8d9e53c4a8eb1967a16d44ff3499f529e89c9c4131e554e46
+MD5 61da71412a932b28e843a3b160096317 mysql-5.0.26-r1.ebuild 1127
+RMD160 b9089d6a4a511ccc188e1bbc574e67d5a2a333f9 mysql-5.0.26-r1.ebuild 1127
+SHA256 e7ceb34a88a8b3d8d9e53c4a8eb1967a16d44ff3499f529e89c9c4131e554e46 mysql-5.0.26-r1.ebuild 1127
+EBUILD mysql-5.1.13_alpha20061018.ebuild 677 RMD160 42c8beeb6110caed2370b33442928d0884dc59f3 SHA1 a40f21b58b12d383edc6c46a83efd26be62e8971 SHA256 7203e3014a03f9e8a4431224db9ab6067f657c2ace60df7a2884c09e1e090bbc
+MD5 172e293877377296b177431a51438553 mysql-5.1.13_alpha20061018.ebuild 677
+RMD160 42c8beeb6110caed2370b33442928d0884dc59f3 mysql-5.1.13_alpha20061018.ebuild 677
+SHA256 7203e3014a03f9e8a4431224db9ab6067f657c2ace60df7a2884c09e1e090bbc mysql-5.1.13_alpha20061018.ebuild 677
+MISC ChangeLog 74150 RMD160 0f1394c44621b51460cb9141920a8ffa39fcbd42 SHA1 84b45e2a2f13d2631340e0146a7b5e105e86677b SHA256 f316b5a0d39e3256e0b4036da8dc1d786d34c4abac99358a0e48013fa188dbbe
+MD5 d123f8e567e8706e8f3660b1b1790a38 ChangeLog 74150
+RMD160 0f1394c44621b51460cb9141920a8ffa39fcbd42 ChangeLog 74150
+SHA256 f316b5a0d39e3256e0b4036da8dc1d786d34c4abac99358a0e48013fa188dbbe ChangeLog 74150
MISC metadata.xml 159 RMD160 a50a94af7706288c46f81d6c3da9b5f888050eee SHA1 5eb253a678d6faa0f1c6b3c5720a804ed8923566 SHA256 5cfd5aa0e8104c0326b5f4c9205a6449a94e0f6f6abfd2626f1e7a8fe77b98b7
MD5 f1c86d989c7ea2451931e7e2c3530f8c metadata.xml 159
RMD160 a50a94af7706288c46f81d6c3da9b5f888050eee metadata.xml 159
MD5 7a9b202499409304a68680f9d749ec8d files/digest-mysql-3.23.58-r1 512
RMD160 5d30edca2748f16b2092021823c1377da2007194 files/digest-mysql-3.23.58-r1 512
SHA256 348bceaedc24580dd89d90afb52164a26487574c59e855e2483468d5f1584eec files/digest-mysql-3.23.58-r1 512
-MD5 c43796de98df1d4cbf33c1eb0f40159a files/digest-mysql-4.0.25-r2 509
-RMD160 86340f7069fa8b49c5fbf428afa44c603fc8c6f1 files/digest-mysql-4.0.25-r2 509
-SHA256 fbade4c995f82cd8b0c952b9c8d61ea19d4d380b800658352d3ab5fb8318cfcb files/digest-mysql-4.0.25-r2 509
+MD5 360770d3e18379b3c6518e4f03957dc9 files/digest-mysql-4.0.25-r2 515
+RMD160 1711fe7ff7cf110f0c35c3847829d65771140b40 files/digest-mysql-4.0.25-r2 515
+SHA256 e57188f0ae973c5a370400840c5622afa4b5cf2aebcc36ec678e58aab8a5b3ca files/digest-mysql-4.0.25-r2 515
MD5 a446244c4b4263f0b13b66e6f00c900f files/digest-mysql-4.0.27 515
RMD160 40e537e57145b90ef6f7bcf85a293a91fc810c2b files/digest-mysql-4.0.27 515
SHA256 a6d30a80a2ef1831b3651f841d37b65f7d8dde499a3c4d94f6a54ff3c74f4076 files/digest-mysql-4.0.27 515
MD5 5b1a20d6a4cc2b82b91161be043099ad files/digest-mysql-5.1.13_alpha20061018 280
RMD160 6647bb65ed37800a236b1cf6f0873ee129ba0758 files/digest-mysql-5.1.13_alpha20061018 280
SHA256 a3b9a24c9133b65ba097615211ac40a0f7f466456ccf9b39920956866eed4bee files/digest-mysql-5.1.13_alpha20061018 280
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.5 (GNU/Linux)
+
+iD8DBQFFR+leKolR564NvWYRAsBgAJ4/IqRroOxW1wrp3j22GwZNjuOSMQCeOf12
+R9YX2zszvLSlXvNOKiHCuWM=
+=Gmgu
+-----END PGP SIGNATURE-----
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-4.0.25-r2.ebuild,v 1.29 2006/09/30 15:24:32 chtekk Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-4.0.25-r2.ebuild,v 1.30 2006/11/01 00:24:14 vivo Exp $
-inherit eutils gnuconfig flag-o-matic versionator
+# Leave this empty
+MYSQL_VERSION_ID=""
+MYSQL_RERELEASE=""
+# Set the patchset revision to use, must be either empty or a decimal number
+MYSQL_PATCHSET_REV="1"
-SVER=${PV%.*}
-PLV=""
-NEWP="${PN}-${SVER}.$( get_version_component_range 3-3 )${PLV}"
+inherit mysql
-# 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}/${PN}"
-
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-HOMEPAGE="http://www.mysql.com/"
-SRC_URI="mirror://mysql/Downloads/MySQL-${SVER}/${NEWP}.tar.gz
- mirror://gentoo/mysql-extras-20050920.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86"
-IUSE="berkdb debug doc minimal perl readline selinux ssl static tcpd big-tables"
-RESTRICT="primaryuri"
-
-DEPEND="readline? ( >=sys-libs/readline-4.1 )
- berkdb? ( sys-apps/ed )
- tcpd? ( >=sys-apps/tcp-wrappers-7.6-r6 )
- ssl? ( >=dev-libs/openssl-0.9.6d )
- perl? ( dev-lang/perl )
- >=sys-libs/zlib-1.2.3
- >=sys-apps/texinfo-4.7-r1
- sys-process/procps
- >=sys-apps/sed-4"
-RDEPEND="${DEPEND}
- selinux? ( sec-policy/selinux-mysql )"
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( dev-perl/DBD-mysql )"
-
-mysql_upgrade_warning() {
- ewarn
- ewarn "If you're upgrading from MySQL-3.x to 4.0, or 4.0.x to 4.1.x, you"
- ewarn "must recompile the other packages on your system that link with"
- ewarn "libmysqlclient after the upgrade completes. To obtain such a list"
- ewarn "of packages for your system, you may use 'revdep-rebuild' from"
- ewarn "app-portage/gentoolkit."
- ewarn
- epause 5
-}
-
-mysql_get_datadir() {
- DATADIR=""
- if [ -f '/etc/mysql/my.cnf' ] ; then
- #DATADIR=`/usr/sbin/mysqld --help |grep '^datadir' | awk '{print $2}'`
- #DATADIR=`my_print_defaults mysqld | grep -- '^--datadir' | tail -n1 | sed -e 's|^--datadir=||'`
- DATADIR=`my_print_defaults mysqld 2>/dev/null | sed -ne '/datadir/s|^--datadir=||p' | tail -n1`
- if [ -z "${DATADIR}" ]; then
- DATADIR=`grep ^datadir /etc/mysql/my.cnf | sed -e 's/.*= //'`
- einfo "Using default DATADIR"
- fi
- fi
- if [ -z "${DATADIR}" ]; then
- DATADIR="/var/lib/mysql/"
- einfo "Using default DATADIR"
- fi
- einfo "MySQL DATADIR is ${DATADIR}"
-
- if [ -z "${PREVIOUS_DATADIR}" ] ; then
- if [ -a "${DATADIR}" ] ; then
- ewarn "Previous datadir found, it's YOUR job to change"
- ewarn "ownership and have care of it"
- PREVIOUS_DATADIR="yes"
- export PREVIOUS_DATADIR
- else
- PREVIOUS_DATADIR="no"
- export PREVIOUS_DATADIR
- fi
- fi
-
- export DATADIR
-}
-
-pkg_setup() {
- mysql_upgrade_warning
- mysql_get_datadir
-
- enewgroup mysql 60 || die "problem adding group mysql"
- enewuser mysql 60 -1 /dev/null mysql \
- || die "problem adding user mysql"
-
-}
-src_unpack() {
- if use static && use ssl; then
- local msg="MySQL does not support building statically with SSL support"
- eerror "${msg}"
- die "${msg}"
- fi
-
- unpack ${A} || die
-
- mv "${WORKDIR}/${NEWP}" "${S}"
- cd "${S}"
-
- local MY_PATCH_SOURCE="${WORKDIR}/mysql-extras"
-
- #zap startup script messages
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0.23-install-db-sh.diff" || die
- #zap binary distribution stuff
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0.18-mysqld-safe-sh.diff" || die
- #required for qmail-mysql
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0-nisam.h.diff" || die
- #for correct hardcoded sysconf directory
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0-my-print-defaults.diff" || die
- # NPTL support
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0.18-gentoo-nptl.diff" || die
-
- # fixed in 4.0.25
- #EPATCH_OPTS="-p1 -d ${S}" \
- #epatch ${MY_PATCH_SOURCE}/${PN}-4.0.24-manual.texi.patch || die
-
- # attempt to get libmysqlclient_r linked against ssl if USE="ssl" enabled
- # i would really prefer to fix this at the Makefile.am level, but can't
- # get the software to autoreconf as distributed - too many missing files
- EPATCH_OPTS="-p1 -d ${S}" \
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0.21-thrssl.patch" || die
-
- # PIC fixes
- # bug #42968
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0.25-r2-asm-pic-fixes.patch" || die
-
- if use tcpd; then
- epatch "${MY_PATCH_SOURCE}/${PN}-4.0.14-r1-tcpd-vars-fix.diff" || die
- fi
-
- for d in ${S} ${S}/innobase; do
- cd ${d}
- # WARNING, plain autoconf breaks it!
- #autoconf
- # must use this instead
- WANT_AUTOCONF=2.5 autoreconf --force
- # Fix the evil "libtool.m4 and ltmain.sh have a version mismatch!"
- libtoolize --copy --force
- gnuconfig_update
- done
-
- # upstream bug http://bugs.mysql.com/bug.php?id=7971
- # names conflict with stuff in 2.6.10 kernel headers
- echo ${S}/client/mysqltest.c ${S}/extra/replace.c | xargs -n1 \
- sed -i \
- -e "s/\<set_bit\>/my__set_bit/g" \
- -e "s/\<clear_bit\>/my__clear_bit/g" \
- || die "Failed to fix bitops"
-}
-
-src_compile() {
- local myconf
-
- # readline pair reads backwards on purpose, DONT change it around, Ok?
- # this is because it refers to the building of a bundled readline
- # versus the system copy
- use readline && myconf="${myconf} --without-readline"
- use readline || myconf="${myconf} --with-readline"
-
- use static \
- && myconf="${myconf} --with-mysqld-ldflags=-all-static --disable-shared" \
- || myconf="${myconf} --enable-shared --enable-static"
-
- myconf="${myconf} `use_with tcpd libwrap`"
-
- use ssl \
- && myconf="${myconf} --with-vio --with-openssl" \
- || myconf="${myconf} --without-openssl"
-
- myconf="${myconf} `use_with debug` `use_with big-tables`"
-
- # benchmarking stuff needs perl
- # and shouldn't be bothered with on minimal builds
- if useq perl && ! useq minimal; then
- myconf="${myconf} --with-bench"
- else
- myconf="${myconf} --without-bench"
- fi
-
- # these are things we exclude from a minimal build
- # note that the server actually does get built and installed
- # but we then delete it before packaging.
- local minimal_exclude_list="server embedded-server extra-tools innodb raid"
- if ! useq minimal; then
- for i in ${minimal_exclude_list}; do
- myconf="${myconf} --with-${i}"
- done
-
- # lots of chars
- myconf="${myconf} --with-extra-charsets=all"
-
- #The following fix is due to a bug with berkdb on sparc's. See:
- #http://www.geocrawler.com/mail/msg.php3?msg_id=4754814&list=8
- # it boils down to non-64 bit safety.
- if useq sparc || useq alpha || useq hppa || useq mips || useq amd64
- then
- myconf="${myconf} --without-berkeley-db"
- else
- use berkdb \
- && myconf="${myconf} --with-berkeley-db=./bdb" \
- || myconf="${myconf} --without-berkeley-db"
- fi
-
- else
- for i in ${minimal_exclude_list}; do
- myconf="${myconf} --without-${i}"
- done
- myconf="${myconf} --without-berkeley-db"
- myconf="${myconf} --with-extra-charsets=none"
- fi
-
- # documentation
- myconf="${myconf} `use_with doc docs`"
-
- # glibc-2.3.2_pre fix; bug #16496
- append-flags "-DHAVE_ERRNO_AS_DEFINE=1"
-
- #bug fix for #15099, should make this api backward compatible
- append-flags "-DUSE_OLD_FUNCTIONS"
-
- #the compiler flags are as per their "official" spec ;)
- #CFLAGS="${CFLAGS/-O?/} -O3" \
- export CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-exceptions -fno-rtti"
-
- econf \
- -C \
- --libexecdir=/usr/sbin \
- --sysconfdir=/etc/mysql \
- --localstatedir=/var/lib/mysql \
- --with-low-memory \
- --enable-assembler \
- --with-charset=latin1 \
- --enable-local-infile \
- --with-mysqld-user=mysql \
- --with-client-ldflags=-lstdc++ \
- --enable-thread-safe-client \
- --with-comment="Gentoo Linux ${PF}" \
- --with-unix-socket-path=/var/run/mysqld/mysqld.sock \
- ${myconf} || die "bad ./configure"
-
- emake || die "compile problem"
-}
+#REMEMBER!!!: update also eclass/mysql*.eclass prior to commit
+KEYWORDS="~alpha ~amd64 arm ~hppa ~ia64 mips ~ppc ~ppc64 s390 sh ~sparc ~x86"
src_test() {
- cd ${S}
+ cd "${S}"
einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
make check || die "make check failed"
- if ! useq minimal; then
- local retstatus
+ if ! useq "minimal" ; then
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+ local retstatus
addpredict /this-dir-does-not-exist/t9.MYI
- make test
- retstatus=$?
- # to be sure ;)
- pkill -9 -f ${S}/ndb/src/kernel/ndbd 2>/dev/null
- pkill -9 -f ${S}/ndb/src/mgmsrv/ndb_mgmd 2>/dev/null
- pkill -9 -f ${S}/ndb/src/mgmclient/ndb_mgm 2>/dev/null
- pkill -9 -f ${S}/sql/mysqld 2>/dev/null
- [[ $retstatus == 0 ]] || die "make test failed"
+ cd mysql-test
+ sed -i -e "s|PORT=3306|PORT=3307|g" mysql-test-run
+ ./mysql-test-run
+ retstatus=$?
+ # Just to be sure ;)
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+ [[ $retstatus -eq 0 ]] || die "make test failed"
else
einfo "Skipping server tests due to minimal build."
fi
}
-
-src_install() {
- mysql_get_datadir
- make install DESTDIR="${D}" benchdir_root="/usr/share/mysql" || die
-
- # move client libs, install a couple of missing headers
- local lib=$(get_libdir)
- mv ${D}/usr/${lib}/mysql/libmysqlclient*.so* ${D}/usr/${lib}
- dosym ../libmysqlclient.so /usr/${lib}/mysql/libmysqlclient.so
- dosym ../libmysqlclient_r.so /usr/${lib}/mysql/libmysqlclient_r.so
- insinto /usr/include/mysql ; doins include/{my_config.h,my_dir.h}
-
- # convenience links
- dosym /usr/bin/mysqlcheck /usr/bin/mysqlanalyze
- dosym /usr/bin/mysqlcheck /usr/bin/mysqlrepair
- dosym /usr/bin/mysqlcheck /usr/bin/mysqloptimize
-
- # various junk
- rm -f ${D}/usr/bin/make*distribution
- rm -f ${D}/usr/share/mysql/make_*_distribution
- rm -f ${D}/usr/share/mysql/mysql.server
- rm -f ${D}/usr/share/mysql/binary-configure
- rm -f ${D}/usr/share/mysql/mysql-log-rotate
- rm -f ${D}/usr/share/mysql/{post,pre}install
- rm -f ${D}/usr/share/mysql/mi_test*
- rm -f ${D}/usr/share/mysql/*.spec # Redhat gunk
- rm -f ${D}/usr/share/mysql/*.plist # Apple gunk
- rm -f ${D}/usr/share/mysql/my-*.cnf # Put them elsewhere
-
- # All of these (ab)use Perl.
- if ! use perl; then
- rm -f ${D}/usr/bin/{mysqlhotcopy,mysql_find_rows,mysql_convert_table_format,mysqld_multi,mysqlaccess,mysql_fix_extensions,mysqldumpslow,mysql_zap,mysql_explain_log,mysql_tableinfo,mysql_setpermission}
- rm -f ${D}/usr/bin/mysqlhotcopy
- rm -rf ${D}/usr/share/mysql/sql-bench
- fi
-
- # clean up stuff for a minimal build
- # this is anything server-specific
- if useq minimal; then
- rm -rf ${D}/usr/share/mysql/{mysql-test,sql-bench}
- rm -f ${D}/usr/bin/{mysql_install_db,mysqlmanager*,mysql_secure_installation,mysql_fix_privilege_tables,mysqlhotcopy,mysql_convert_table_format,mysqld_multi,mysql_fix_extensions,mysql_zap,mysql_explain_log,mysql_tableinfo,mysqld_safe,myisam*,isam*,mysql_install,mysql_waitpid,mysqlbinlog,mysqltest,pack_isam}
- rm -f ${D}/usr/sbin/mysqld
- rm -f ${D}/usr/lib/mysql/lib{heap,merge,nisam,mysys,mystrings,mysqld,myisammrg,vio,dbug,myisam}.a
- fi
-
- # config stuff
- insinto /etc/mysql
- doins scripts/mysqlaccess.conf
- newins "${FILESDIR}/my.cnf-4.0" my.cnf
-
- # minimal builds don't have the server
- if ! useq minimal; then
- exeinto /etc/init.d
- newexe "${FILESDIR}/mysql.rc6" mysql
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate.mysql" mysql
-
- #empty dirs...
- diropts "-m0750"
- if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
- dodir "${DATADIR}"
- keepdir "${DATADIR}"
- chown -R mysql:mysql "${D}/${DATADIR}"
- fi
-
- #diropts "-m0755"
- #dodir "/var/log/mysql"
- #touch ${D}/var/log/mysql/mysql.{log,err}
- #chmod 0660 ${D}/var/log/mysql/mysql.{log,err}
- #keepdir "/var/log/mysql"
- #chown -R mysql:mysql "${D}/var/log/mysql"
-
- diropts "-m0755"
- dodir "/var/run/mysqld"
-
- keepdir "/var/run/mysqld"
- chown -R mysql:mysql "${D}/var/run/mysqld"
- fi
-
- # docs
- dodoc README COPYING ChangeLog EXCEPTIONS-CLIENT INSTALL-SOURCE
- # minimal builds don't have the server
- if useq doc && ! useq minimal; then
- dohtml Docs/*.html
- dodoc Docs/manual.{txt,ps}
- docinto conf-samples
- dodoc support-files/my-*.cnf
- fi
-
-}
-
-pkg_preinst() {
- enewgroup mysql 60 || die "problem adding group mysql"
- enewuser mysql 60 -1 /dev/null mysql \
- || die "problem adding user mysql"
-}
-
-pkg_postinst() {
- mysql_get_datadir
-
- # mind at FEATURES=collision-protect before to remove this
- #empty dirs...
- [ -d "${ROOT}/var/log/mysql" ] \
- || install -d -m0755 -o mysql -g mysql ${ROOT}/var/log/mysql
-
- #secure the logfiles... does this bother anybody?
- touch ${ROOT}/var/log/mysql/mysql.{log,err}
- chown mysql:mysql ${ROOT}/var/log/mysql/mysql*
- chmod 0660 ${ROOT}/var/log/mysql/mysql*
- # secure some directories
- chmod 0750 ${ROOT}/var/log/mysql
-
- if ! useq minimal; then
- # your friendly public service announcement...
- einfo
- einfo "You might want to run:"
- einfo "\"emerge --config =${PF}\""
- einfo "if this is a new install."
- einfo
- fi
-
- mysql_upgrade_warning
- einfo "InnoDB is not optional as of MySQL-4.0.24, at the request of upstream."
-}
-
-pkg_config() {
- mysql_get_datadir
-
- if built_with_use dev-db/mysql minimal; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ "$(pgrep mysqld)" != "" ]] ; then
- die "Oops you already have a mysql daemon running!"
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=5
-
- if [[ -d "${ROOT}/${DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "Please rename it or delete it if you wish to replace it."
- die "MySQL database already exists!"
- fi
-
- einfo "Creating the mysql database and setting proper"
- einfo "permissions on it..."
-
- einfo "Insert a password for the mysql 'root' user"
- ewarn "bug: avoid [\"'\\_%] characters in the password"
-
- read -rsp " >" pwd1 ; echo
- einfo "Check the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
-
- ${ROOT}/usr/bin/mysql_install_db || die "MySQL databases not installed"
-
- # MySQL 5.0 don't ned this
- chown -R mysql:mysql ${ROOT}/${DATADIR}
- chmod 0750 ${ROOT}/${DATADIR}
-
- # now we can set the password
- local socket=${ROOT}/var/run/mysqld/mysqld.sock
- local mysqld="${ROOT}/usr/sbin/mysqld \
- --skip-grant-tables \
- --basedir=${ROOT}/usr \
- --datadir=${ROOT}/${DATADIR} \
- --skip-innodb \
- --skip-bdb \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${ROOT}/var/run/mysqld/mysqld.pid"
-
- $mysqld &
-
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]]
- do
- maxtry=$(($maxtry-1))
- echo -n "."
- sleep 1
- done
-
- # do this from memory we don't want clear text password in temp files
- local sql="UPDATE mysql.user SET Password = PASSWORD('${pwd1}') WHERE USER='root'"
- ${ROOT}/usr/bin/mysql \
- --socket=${socket} \
- -hlocalhost \
- -e "${sql}"
- local retstatus=$?
-
- kill $( cat ${ROOT}/var/run/mysqld/mysqld.pid )
-
- [[ $retstatus == 0 ]] || die "Failed to communicate with MySQL server"
-
- einfo "done"
-}
-
-