diff options
author | Donny Davies <woodchip@gentoo.org> | 2003-01-04 23:07:22 +0000 |
---|---|---|
committer | Donny Davies <woodchip@gentoo.org> | 2003-01-04 23:07:22 +0000 |
commit | f1024f6e2af01a75ea053e1d2b05054de8076aca (patch) | |
tree | 75d6ee6e4b1dc197371ba9a89caad20c70c99846 /dev-db | |
parent | Versionbump and securityupdate (diff) | |
download | historical-f1024f6e2af01a75ea053e1d2b05054de8076aca.tar.gz historical-f1024f6e2af01a75ea053e1d2b05054de8076aca.tar.bz2 historical-f1024f6e2af01a75ea053e1d2b05054de8076aca.zip |
fix initscript + update to latest
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/mysql/ChangeLog | 7 | ||||
-rw-r--r-- | dev-db/mysql/files/digest-mysql-4.0.1_alpha | 1 | ||||
-rw-r--r-- | dev-db/mysql/files/digest-mysql-4.0.7 | 1 | ||||
-rw-r--r-- | dev-db/mysql/files/mysql-4.0.rc6 | 9 | ||||
-rw-r--r-- | dev-db/mysql/mysql-4.0.7.ebuild (renamed from dev-db/mysql/mysql-4.0.1_alpha.ebuild) | 154 |
5 files changed, 90 insertions, 82 deletions
diff --git a/dev-db/mysql/ChangeLog b/dev-db/mysql/ChangeLog index 4f946183f1e7..6b1241672f1b 100644 --- a/dev-db/mysql/ChangeLog +++ b/dev-db/mysql/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-db/mysql # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.30 2002/12/17 19:17:50 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/ChangeLog,v 1.31 2003/01/04 23:07:22 woodchip Exp $ + +*mysql-4.0.7 (04 Jan 2003) + + 04 Jan 2003; Donny Davies <woodchip@gentoo.org> : Latest 'gamma' release. + Sync initscript. *mysql-3.23.54a (16 Dec 2002) diff --git a/dev-db/mysql/files/digest-mysql-4.0.1_alpha b/dev-db/mysql/files/digest-mysql-4.0.1_alpha deleted file mode 100644 index 4c26d9b2e51f..000000000000 --- a/dev-db/mysql/files/digest-mysql-4.0.1_alpha +++ /dev/null @@ -1 +0,0 @@ -MD5 d27d493007db352dc3a4224babe1edc0 mysql-4.0.1-alpha.tar.gz 11801864 diff --git a/dev-db/mysql/files/digest-mysql-4.0.7 b/dev-db/mysql/files/digest-mysql-4.0.7 new file mode 100644 index 000000000000..df9d3f6fc29f --- /dev/null +++ b/dev-db/mysql/files/digest-mysql-4.0.7 @@ -0,0 +1 @@ +MD5 79cb998cbde4b03efb670b57da8368e0 mysql-4.0.7-gamma.tar.gz 12059003 diff --git a/dev-db/mysql/files/mysql-4.0.rc6 b/dev-db/mysql/files/mysql-4.0.rc6 index 181ba6683729..126a0ee874ea 100644 --- a/dev-db/mysql/files/mysql-4.0.rc6 +++ b/dev-db/mysql/files/mysql-4.0.rc6 @@ -1,13 +1,20 @@ #!/sbin/runscript # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/mysql-4.0.rc6,v 1.2 2003/01/04 23:07:22 woodchip Exp $ depend() { need net } checkconfig() { - if [ ! -d /var/lib/mysql/mysql ] ; then + if [ ! -f /etc/mysql/my.cnf ] ; then + eerror "No /etc/mysql/my.cnf file exists!" + fi + + dir=`awk '{ if ( $0 ~ /^datadir[ \t]+=/ ) { print $3 } }' < /etc/mysql/my.cnf` + + if [ ! -d $dir/mysql ] ; then eerror "You dont appear to have the mysql database installed yet." eerror "Please run /usr/bin/mysql_install_db to have this done..." return 1 diff --git a/dev-db/mysql/mysql-4.0.1_alpha.ebuild b/dev-db/mysql/mysql-4.0.7.ebuild index 391b4cf91250..2c4e726b7a9c 100644 --- a/dev-db/mysql/mysql-4.0.1_alpha.ebuild +++ b/dev-db/mysql/mysql-4.0.7.ebuild @@ -1,79 +1,85 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-4.0.1_alpha.ebuild,v 1.7 2002/11/20 05:26:07 rphillips Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-4.0.7.ebuild,v 1.1 2003/01/04 23:07:22 woodchip Exp $ -IUSE="static readline innodb berkdb tcpd" +#cuckoo, cuckoo +NEWP=mysql-4.0.7-gamma + +IUSE="static readline innodb berkdb tcpd ssl" + +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +HOMEPAGE="http://www.mysql.com/" SVER=${PV%.*} -#for normal releases: +#normal releases: SDIR=MySQL-${SVER} -#file is named with - not _ on the download sites ... -DOWN_NAME=${P/_/-} +#for a pre-release: +#SDIR=MySQL-${SVER}-Pre -DESCRIPTION="A fast, multi-threaded, multi-user SQL database server." -HOMEPAGE="http://www.mysql.com/" -SRC_URI="ftp://ftp.sunet.se/pub/unix/databases/relational/mysql/Downloads/${SDIR}/${DOWN_NAME}.tar.gz - ftp://mysql.valueclick.com/pub/mysql/Downloads/${SDIR}/${DOWN_NAME}.tar.gz" -S=${WORKDIR}/${DOWN_NAME} -DEPEND="virtual/glibc - readline? ( >=sys-libs/readline-4.1 ) - berkdb? ( =sys-libs/db-3.2.3h =sys-libs/db-1* ) +S=${WORKDIR}/${NEWP} +SRC_URI="ftp://ftp.sunet.se/pub/unix/databases/relational/mysql/Downloads/${SDIR}/${NEWP}.tar.gz + ftp://mysql.valueclick.com/pub/mysql/Downloads/${SDIR}/${NEWP}.tar.gz" + +#HEY! +#the benchmark stuff in /usr/share/mysql/sql-bench and the +#/usr/bin/mysql_setpermission script need dev-perl/DBD-mysql. +#Can't add it here: circ depend. Emerge it either before or +#after mysql; easier before, then it pulls in mysql. + +DEPEND="readline? ( >=sys-libs/readline-4.1 ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + ssl? ( >=dev-libs/openssl-0.9.6d ) >=sys-libs/zlib-1.1.3 sys-devel/perl sys-apps/procps" +KEYWORDS="~x86 ~sparc ~ppc" LICENSE="GPL-2" SLOT="0" -KEYWORDS="x86 ppc" src_unpack() { - unpack ${A} ; cd ${S} - # for -ldb-3.2 instead of -ldb, because gentoo has -ldb1 instead - patch -p1 < ${FILESDIR}/mysql-4.0-db-3.2.1.diff || die - # required for qmail-mysql + unpack ${A} || die + cd ${S} || die + #required for qmail-mysql patch -p0 < ${FILESDIR}/mysql-4.0-nisam.h.diff || die - # zap startup script messages - patch -p1 < ${FILESDIR}/mysql-4.0-install-db-sh.diff || die - # zap binary distribution stuff + #zap startup script messages + patch -p1 < ${FILESDIR}/mysql-4.0.4-install-db-sh.diff || die + #zap binary distribution stuff patch -p1 < ${FILESDIR}/mysql-4.0-mysqld-safe-sh.diff || die - # for correct hardcoded sysconf directory + #for correct hardcoded sysconf directory patch -p1 < ${FILESDIR}/mysql-4.0-my-print-defaults.diff || die - aclocal || die - automake || die - autoconf || die + #patch -p1 < ${FILESDIR}/mysql-3.23.51-tcpd.patch || die } src_compile() { local myconf - # means use the system readline - use readline && myconf="${myconf} --without-readline" - use berkdb && myconf="${myconf} --with-berkeley-db --with-berkeley-db-includes=/usr/include/db3 --with-berkeley-db-libs=/usr/lib" - use berkdb || myconf="${myconf} --without-berkeley-db" + #The following fix is due to a bug with bdb on sparc's. See: + #http://www.geocrawler.com/mail/msg.php3?msg_id=4754814&list=8 + if use sparc || use sparc64; then + myconf="${myconf} --without-berkeley-db" + else + use berkdb && myconf="${myconf} --with-berkeley-db=./bdb" + use berkdb || myconf="${myconf} --without-berkeley-db" + fi + use readline && myconf="${myconf} --with-readline" + use readline || myconf="${myconf} --without-readline" use static && myconf="${myconf} --with-mysqld-ldflags=-all-static --disable-shared" use static || myconf="${myconf} --enable-shared --enable-static" use tcpd && myconf="${myconf} --with-libwrap" use tcpd || myconf="${myconf} --without-libwrap" use innodb && myconf="${myconf} --with-innodb" use innodb || myconf="${myconf} --without-innodb" + use ssl && myconf="${myconf} --with-vio --with-openssl" + use ssl || myconf="${myconf} --without-openssl" [ -n "${DEBUGBUILD}" ] && myconf="${myconf} --with-debug" [ -n "${DEBUGBUILD}" ] || myconf="${myconf} --without-debug" - # CXX must be g++ because gcc|c++ does not find /usr/lib/gcc-lib/libstc+++.so. - # the compiler flags are needed to address stability issues. - CC=gcc \ - CFLAGS="${CFLAGS/-O?/} -O2" \ - CXX=g++ \ - CXXFLAGS="${CXXFLAGS/-O?/} -O2 -felide-constructors -fno-exceptions -fno-rtti" \ - ./configure \ - --prefix=/usr \ - --libdir=/usr/lib \ - --exec-prefix=/usr \ - --datadir=/usr/share \ + #the compiler flags are as per their "official" spec ;) + einfo "myconf is: $myconf" + CFLAGS="${CFLAGS/-O?/} -O3" \ + CXXFLAGS="${CXXFLAGS/-O?/} -O3 -felide-constructors -fno-exceptions -fno-rtti" \ + econf \ --libexecdir=/usr/sbin \ --sysconfdir=/etc/mysql \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --includedir=/usr/include \ --localstatedir=/var/lib/mysql \ --with-raid \ --with-low-memory \ @@ -83,31 +89,31 @@ src_compile() { --with-extra-charsets=all \ --enable-thread-safe-client \ --with-client-ldflags=-lstdc++ \ - --with-comment="${PF}.ebuild package" \ + --with-comment="Gentoo ${PF}.ebuild package" \ --with-unix-socket-path=/var/run/mysqld/mysqld.sock \ - --host=${CHOST} ${myconf} || die "bad ./configure" + ${myconf} || die "bad ./configure" - make || die "compile problem" + emake || die "compile problem" } src_install() { - dodir /var/lib/mysql /var/run/mysqld /var/log/mysql make install DESTDIR=${D} benchdir_root=/usr/share/mysql || die - # eeek, not sure whats going on here.. are these needed by anything? - use innodb && ( insinto /usr/lib/mysql ; doins ${WORKDIR}/../libs/* ) + #eeek, not sure whats going on here.. are these needed by anything? +# use innodb && insinto /usr/lib/mysql && doins ${WORKDIR}/../libs/* - # move client libs, install a couple of missing headers + #move client libs, install a couple of missing headers 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 + #convenience links dosym /usr/bin/mysqlcheck /usr/bin/mysqlanalyze dosym /usr/bin/mysqlcheck /usr/bin/mysqlrepair dosym /usr/bin/mysqlcheck /usr/bin/mysqloptimize - # while my broom gently sweeps... + #while my broom gently sweeps... rm -f ${D}/usr/share/mysql/binary-configure rm -f ${D}/usr/share/mysql/mysql.server rm -f ${D}/usr/share/mysql/make_binary_distribution @@ -118,11 +124,12 @@ src_install() { dodoc README COPYING COPYING.LIB MIRRORS Docs/{manual.ps,manual.txt} docinto conf-samples ; dodoc support-files/my-*.cnf - docinto html ; dodoc Docs/*.html + dohtml -r Docs/* insinto /etc/mysql doins ${FILESDIR}/my.cnf scripts/mysqlaccess.conf - exeinto /etc/init.d ; newexe ${FILESDIR}/mysql-4.0.rc6 mysql + exeinto /etc/init.d + newexe ${FILESDIR}/mysql-4.0.rc6 mysql } pkg_config() { @@ -136,47 +143,36 @@ pkg_config() { einfo "database in place. If you are having problems trying" einfo "to start mysqld, perhaps you need to manually run" einfo "/usr/bin/mysql_install_db and/or check your config" - einfo "file(s) and/or database(s) and/or logfile(s) :>" + einfo "file(s) and/or database(s) and/or logfile(s)." fi - - # ensure permissions on these just in case... - chown -R mysql ${ROOT}/var/lib/mysql ${ROOT}/var/run/mysqld } -pkg_postinst() { - # /etc/passwd: mysql:x:60:60:mysql:/var/lib/mysql:/dev/null - # /etc/group: mysql:x:60: - # creating mysql group if he isn't already there - if ! grep -q ^mysql: /etc/group ; then - #echo Adding system group: mysql. +pkg_preinst() { + if ! groupmod mysql; then groupadd -g 60 mysql || die "problem adding group mysql" fi - # creating mysql user if he isn't already there - if ! grep -q ^mysql: /etc/passwd ; then - #echo Adding system user: mysql. + if ! id mysql; then useradd -g mysql -s /dev/null -d /var/lib/mysql -c "mysql" mysql assert "problem adding user mysql" fi +} - # modifying him if he was already there - usermod -c "mysql" mysql || die "usermod problem" - usermod -d "/var/lib/mysql" mysql || die "usermod problem" - usermod -g "mysql" mysql || die "usermod problem" - usermod -s "/dev/null" mysql || die "usermod problem" - - # ensure sane permissions on existing databases and /var/run/mysqld - chown mysql.mysql ${ROOT}/var/lib/mysql ${ROOT}/var/run/mysqld - find ${ROOT}/var/lib/mysql -not \( -group root -or -group mysql \) -exec chgrp mysql {} \; +pkg_postinst() { + #empty dirs... + install -d -m0755 -o mysql -g mysql ${ROOT}/var/lib/mysql + install -d -m0755 -o mysql -g mysql ${ROOT}/var/run/mysqld + install -d -m0755 -o mysql -g mysql ${ROOT}/var/log/mysql - # get these proper and ready to go + #secure the logfiles... does this bother anybody? touch ${ROOT}/var/log/mysql/mysql.{log,err} chown mysql.mysql ${ROOT}/var/log/mysql/mysql.{log,err} - chmod 0600 ${ROOT}/var/log/mysql/mysql.{log,err} + chmod 0660 ${ROOT}/var/log/mysql/mysql.{log,err} + #your friendly public service announcement... einfo einfo "You might want to run:" - einfo "\"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\"" + einfo "\"ebuild /var/db/pkg/dev-db/${PF}/${PF}.ebuild config\"" einfo "if this is a new install." einfo } |