diff options
author | tv <tv@pkgsrc.org> | 1999-05-06 23:37:00 +0000 |
---|---|---|
committer | tv <tv@pkgsrc.org> | 1999-05-06 23:37:00 +0000 |
commit | 51434187e063cfb0cbd69cbd5561f662a81bd0ec (patch) | |
tree | 56b87acc2cbe3ccf18bc5245771381a0ef81b3c8 /databases/mysql-server | |
parent | 4c9fbf487d752c20ca61f30e846f233602097d7c (diff) | |
download | pkgsrc-51434187e063cfb0cbd69cbd5561f662a81bd0ec.tar.gz |
Second half of the split mysql pkg (server). Works on alpha, arm32, i386,
and sparc (more to come when this works properly with PTL2).
Diffstat (limited to 'databases/mysql-server')
29 files changed, 1858 insertions, 0 deletions
diff --git a/databases/mysql-server/Makefile b/databases/mysql-server/Makefile new file mode 100644 index 00000000000..2b211ff21aa --- /dev/null +++ b/databases/mysql-server/Makefile @@ -0,0 +1,54 @@ +# $NetBSD: Makefile,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ +# + +DISTNAME= mysql-3.22.22 +PKGNAME= ${DISTNAME:S/-/-server-/} +CATEGORIES= databases +MASTER_SITES= ftp://ftp.mysql.com/pub/mysql/Downloads/MySQL-3.22/ \ + ftp://ftp.netcasting.net/pub/mysql/Downloads/MySQL-3.22/ + +MAINTAINER= packages@netbsd.org +HOMEPAGE= http://www.mysql.com/ + +DEPENDS= ${DISTNAME:S/-/-client-/}:../../databases/mysql-client + +NO_CDROM= "Restrictive license." + +.include "../../mk/bsd.prefs.mk" + +MYSQL_DATADIR?= /var/mysql + +GNU_CONFIGURE= yes +CONFIGURE_ARGS+=--localstatedir=${MYSQL_DATADIR} \ + --with-named-z-libs=z --with-named-curses=curses \ + --without-perl --without-debug --without-bench \ + --without-docs --with-low-memory +CONFIGURE_ENV= INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ + INSTALL_DATA="${INSTALL_DATA}" \ + INSTALL_SCRIPT="${INSTALL_SCRIPT}" CXX="${CXX}" + +CFLAGS+= -Dunix + +# not yet... works on some platforms but not all +#CC= ${LOCALBASE}/bin/ptlgcc +#CXX= ${LOCALBASE}/bin/ptlg++ + +# platforms on which included mit-pthreads is usable +ONLY_FOR_ARCHS= alpha arm32 i386 sparc + +USE_GMAKE= yes +USE_PERL5= yes + +post-extract: + @cd ${WRKSRC} && for dir in dbug heap isam merge mysys strings; do \ + ${MV} $$dir/Makefile.in $$dir/Makefile.in.orig; \ + ${SED} -e '/^install-exec:/s/install-pkglibLIBRARIES//' $$dir/Makefile.in.orig >$$dir/Makefile.in; \ + done + +post-install: + @cd ${WRKSRC}/scripts && \ + ${MAKE_PROGRAM} safe_mysqld mysql_install_db && \ + ${INSTALL_SCRIPT} safe_mysqld mysql_install_db ${PREFIX}/bin/ + ${PREFIX}/bin/mysql_install_db --force + +.include "../../mk/bsd.pkg.mk" diff --git a/databases/mysql-server/files/md5 b/databases/mysql-server/files/md5 new file mode 100644 index 00000000000..0fc3d51ea3e --- /dev/null +++ b/databases/mysql-server/files/md5 @@ -0,0 +1,3 @@ +$NetBSD: md5,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +MD5 (mysql-3.22.22.tar.gz) = 1a0eedbe7cda20845ec2e767b96ade5c diff --git a/databases/mysql-server/patches/patch-aa b/databases/mysql-server/patches/patch-aa new file mode 100644 index 00000000000..6f3e0fafc52 --- /dev/null +++ b/databases/mysql-server/patches/patch-aa @@ -0,0 +1,15 @@ +$NetBSD: patch-aa,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- Makefile.in.orig Thu May 6 10:58:47 1999 ++++ Makefile.in Thu May 6 12:35:20 1999 +@@ -136,8 +136,8 @@ + # These are built from source in the Docs directory + EXTRA_DIST = INSTALL-SOURCE-GENERIC README \ + PUBLIC INSTALL-SOURCE MIRRORS +-SUBDIRS = @docs_dirs@ @readline_dir@ client @sql_server_dirs@ \ +- scripts include tests man @bench_dirs@ support-files ++SUBDIRS = @sql_server_dirs@ \ ++ tests @bench_dirs@ + + # Relink after clean + CLEANFILES = linked_client_sources diff --git a/databases/mysql-server/patches/patch-ab b/databases/mysql-server/patches/patch-ab new file mode 100644 index 00000000000..d3066513189 --- /dev/null +++ b/databases/mysql-server/patches/patch-ab @@ -0,0 +1,12 @@ +$NetBSD: patch-ab,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- dbug/dbug.c.orig Thu May 6 13:03:41 1999 ++++ dbug/dbug.c Thu May 6 13:03:52 1999 +@@ -317,7 +317,6 @@ + + #if defined(unix) || defined(xenix) || defined(VMS) + # define Delay(A) sleep((uint) A) +-IMPORT unsigned sleep (); /* Pause for given number of seconds */ + #else + #if defined(AMIGA) + IMPORT int Delay (); /* Pause for given number of ticks */ diff --git a/databases/mysql-server/patches/patch-ah b/databases/mysql-server/patches/patch-ah new file mode 100644 index 00000000000..61ea997911e --- /dev/null +++ b/databases/mysql-server/patches/patch-ah @@ -0,0 +1,105 @@ +$NetBSD: patch-ah,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- mit-pthreads/config/configure.orig Tue Mar 10 10:11:25 1998 ++++ mit-pthreads/config/configure Fri Apr 16 18:16:36 1999 +@@ -1165,6 +1165,12 @@ + name=$host_cpu-$host_os + + case $host in ++ alpha-*-netbsd1.3[H-Z]|alpha-*-netbsd1.4*) ++ name=alpha-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork lseek pipe fstat" ++ available_syscalls="sigsuspend sigprocmask" ++ ;; + alpha-*-netbsd1.3*) + name=alpha-netbsd-1.3 + sysincludes=netbsd-1.1 +@@ -1183,6 +1189,17 @@ + CFLAGS="$CFLAGS -std" + fi + ;; ++ arm32-*-netbsd1.3[H-Z]|arm32-*-netbsd1.4*) ++ name=arm32-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork pipe lseek ftruncate fstat" ++ available_syscalls="sigsuspend sigprocmask" ++ ;; ++ arm32-*-netbsd1.3*) ++ name=arm32-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork pipe lseek ftruncate sigsuspend sigprocmask fstat" ++ ;; + hppa1.0-*-hpux10.20 | hppa1.1-*-hpux10.20) + name=hppa-hpux-10.20 + sysincludes=hpux-10.20 +@@ -1232,6 +1249,17 @@ + EOF + + ;; ++ sparc-*-netbsd1.3[H-Z]|sparc-*-netbsd1.4*) ++ name=sparc-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="pipe fork lseek ftruncate fstat" ++ available_syscalls="sigprocmask sigsuspend" ++ ;; ++ sparc-*-netbsd1.3*) ++ name=sparc-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="pipe fork lseek ftruncate sigprocmask sigsuspend fstat" ++ ;; + sparc-*-netbsd1.0A | sparc-*-netbsd1.1* | sparc-*-netbsd1.2*) + name=sparc-sunos-4.1.3 + sysincludes=netbsd-1.0 +@@ -1257,6 +1285,12 @@ + syscall=i386-bsdi-2.0 + except="fork lseek ftruncate sigsuspend" + ;; ++ i386-*-netbsd1.3[H-Z]|i386-*-netbsd1.4*) ++ name=i386-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork lseek ftruncate pipe fstat" ++ available_syscalls="sigsuspend sigprocmask" ++ ;; + i386-*-netbsd1.3*) + name=i386-netbsd-1.3 + sysincludes=netbsd-1.1 +@@ -1898,6 +1932,38 @@ + if test $pthreads_cv_timespec_in_time = yes ; then + cat >> confdefs.h <<\EOF + #define _OS_HAS_TIMESPEC 1 ++EOF ++fi ++ ++echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 ++if eval "test \"`echo '$''{'pthreads_cv_socklen_t'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ cat > conftest.$ac_ext <<EOF ++#line 1678 "configure" ++#include "confdefs.h" ++#include <sys/types.h> ++#include <sys/socket.h> ++int main() { return 0; } ++int t() { ++socklen_t foo; ++; return 0; } ++EOF ++if { (eval echo configure:1686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++ rm -rf conftest* ++ pthreads_cv_socklen_t=yes ++else ++ rm -rf conftest* ++ pthreads_cv_socklen_t=no ++fi ++rm -f conftest* ++ ++fi ++ ++echo "$ac_t""$pthreads_cv_socklen_t" 1>&6 ++if test $pthreads_cv_socklen_t = yes ; then ++ cat >> confdefs.h <<\EOF ++#define _OS_HAS_SOCKLEN_T 1 + EOF + + fi diff --git a/databases/mysql-server/patches/patch-ai b/databases/mysql-server/patches/patch-ai new file mode 100644 index 00000000000..b72409c9057 --- /dev/null +++ b/databases/mysql-server/patches/patch-ai @@ -0,0 +1,22 @@ +$NetBSD: patch-ai,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- mit-pthreads/config/config.sub.orig Fri Jan 23 23:07:31 1998 ++++ mit-pthreads/config/config.sub Sun Oct 25 18:54:55 1998 +@@ -119,7 +119,7 @@ + case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. +- tahoe | i[3456]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \ ++ tahoe | i[3456]86 | i860 | m68k | m68000 | m88k | ns32k | arm | arm32 | pyramid \ + | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \ + | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \ + | powerpc | sparc64 | 1750a | dsp16xx | mips64 | mipsel \ +@@ -133,7 +133,7 @@ + ;; + # Recognize the basic CPU types with company name. + vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \ +- | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ ++ | sparc-* | ns32k-* | fx80-* | arm-* | arm32-* | c[123]* \ + | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ + | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ + | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ diff --git a/databases/mysql-server/patches/patch-aj b/databases/mysql-server/patches/patch-aj new file mode 100644 index 00000000000..f42e01e2acb --- /dev/null +++ b/databases/mysql-server/patches/patch-aj @@ -0,0 +1,20 @@ +$NetBSD: patch-aj,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ +--- mit-pthreads/pthreads/fd.c.orig Tue Jan 13 06:28:04 1998 ++++ mit-pthreads/pthreads/fd.c Mon Dec 28 23:50:16 1998 +@@ -44,6 +44,7 @@ + + #include <pthread.h> + #include <stdlib.h> ++#include <string.h> + #include <unistd.h> + #include <sys/types.h> + #include <sys/stat.h> +@@ -702,7 +703,7 @@ + */ + off_t lseek(int fd, off_t offset, int whence) + { +- int ret; ++ off_t ret; + + if ((ret = fd_lock(fd, FD_RDWR, NULL)) == OK) { + ret = fd_table[fd]->ops->seek(fd_table[fd]->fd, diff --git a/databases/mysql-server/patches/patch-ak b/databases/mysql-server/patches/patch-ak new file mode 100644 index 00000000000..5c553916f86 --- /dev/null +++ b/databases/mysql-server/patches/patch-ak @@ -0,0 +1,124 @@ +$NetBSD: patch-ak,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- mit-pthreads/pthreads/fd_kern.c.orig Wed Nov 26 09:43:02 1997 ++++ mit-pthreads/pthreads/fd_kern.c Sat Mar 20 23:41:26 1999 +@@ -575,6 +575,7 @@ + off_t __fd_kern_lseek(union fd_data fd_data, int f, off_t offset, int whence) + { + int fd = fd_data.i; ++ extern off_t machdep_sys_lseek(int, off_t, int); + off_t ret=machdep_sys_lseek(fd, offset, whence); + if ((long) ret < 0L && (long) ret >= -255L) + { +@@ -1096,7 +1097,11 @@ + /* ========================================================================== + * bind() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++int bind(int fd, const struct sockaddr *name, socklen_t namelen) ++#else + int bind(int fd, const struct sockaddr *name, int namelen) ++#endif + { + /* Not much to do in bind */ + int ret; +@@ -1118,7 +1123,11 @@ + /* ========================================================================== + * connect() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++int connect(int fd, const struct sockaddr *name, socklen_t namelen) ++#else + int connect(int fd, const struct sockaddr *name, int namelen) ++#endif + { + struct sockaddr tmpname; + int ret, tmpnamelen; +@@ -1170,7 +1179,11 @@ + /* ========================================================================== + * accept() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++int accept(int fd, struct sockaddr *name, socklen_t *namelen) ++#else + int accept(int fd, struct sockaddr *name, int *namelen) ++#endif + { + int ret, fd_kern; + +@@ -1377,8 +1390,13 @@ + /* ========================================================================== + * sendto() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++ssize_t sendto(int fd, const void * msg, size_t len, int flags, ++ const struct sockaddr *to, socklen_t to_len) ++#else + ssize_t sendto(int fd, const void * msg, size_t len, int flags, + const struct sockaddr *to, int to_len) ++#endif + { + return(sendto_timedwait(fd, msg, len, flags, to, to_len, NULL)); + } +@@ -1629,8 +1647,13 @@ + /* ========================================================================== + * recvfrom() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++ssize_t recvfrom(int fd, void * buf, size_t len, int flags, ++ struct sockaddr * from, socklen_t * from_len) ++#else + ssize_t recvfrom(int fd, void * buf, size_t len, int flags, + struct sockaddr * from, int * from_len) ++#endif + { + return(recvfrom_timedwait(fd, buf, len, flags, from, from_len, NULL)); + } +@@ -1788,7 +1811,11 @@ + /* ========================================================================== + * setsockopt() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++int setsockopt(int fd, int level, int optname, const void * optval, socklen_t optlen) ++#else + int setsockopt(int fd, int level, int optname, const void * optval, int optlen) ++#endif + { + int ret; + +@@ -1810,7 +1837,11 @@ + /* ========================================================================== + * getsockopt() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++int getsockopt(int fd, int level, int optname, void * optval, socklen_t * optlen) ++#else + int getsockopt(int fd, int level, int optname, void * optval, int * optlen) ++#endif + { + int ret; + +@@ -1832,7 +1863,11 @@ + /* ========================================================================== + * getsockname() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++int getsockname(int fd, struct sockaddr * name, socklen_t * naddrlen) ++#else + int getsockname(int fd, struct sockaddr * name, int * naddrlen) ++#endif + { + int ret; + +@@ -1854,7 +1889,11 @@ + /* ========================================================================== + * getpeername() + */ ++#ifdef _OS_HAS_SOCKLEN_T ++int getpeername(int fd, struct sockaddr * peer, socklen_t * paddrlen) ++#else + int getpeername(int fd, struct sockaddr * peer, int * paddrlen) ++#endif + { + int ret; + diff --git a/databases/mysql-server/patches/patch-al b/databases/mysql-server/patches/patch-al new file mode 100644 index 00000000000..ab4d56a06df --- /dev/null +++ b/databases/mysql-server/patches/patch-al @@ -0,0 +1,25 @@ +$NetBSD: patch-al,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- mit-pthreads/machdep/netbsd-1.1/__signal.h.orig Tue Apr 23 08:11:39 1996 ++++ mit-pthreads/machdep/netbsd-1.1/__signal.h Sat Oct 17 21:41:52 1998 +@@ -1,8 +1,20 @@ + #include <sys/signal.h> + ++#if NSIG <= 32 + #define __SIGEMPTYSET 0 + #define __SIGFILLSET 0xffffffff + #define __SIGADDSET(s, n) (*(s) |= 1 << ((n) - 1), 0) + #define __SIGDELSET(s, n) (*(s) &= ~(1 << ((n) - 1)), 0) + #define __SIGISMEMBER(s, n) ((*(s) & (1 << ((n) - 1))) != 0) + ++#else /* XXX Netbsd >= 1.3H */ ++#define __SIGEMPTYSET { 0, 0, 0, 0} ++#define __SIGFILLSET { 0xffffffff, 0xffffffff, \ ++ 0xffffffff, 0xffffffff } ++#define __SIGMASK(n) (1 << (((n) - 1) & 31)) ++#define __SIGWORD(n) (((n) - 1) >> 5) ++#define __SIGADDSET(s, n) ((s)->__bits[__SIGWORD(n)] |= __SIGMASK(n)) ++#define __SIGDELSET(s, n) ((s)->__bits[__SIGWORD(n)] &= ~__SIGMASK(n)) ++#define __SIGISMEMBER(s, n) (((s)->__bits[__SIGWORD(n)] & __SIGMASK(n)) != 0) ++ ++#endif diff --git a/databases/mysql-server/patches/patch-am b/databases/mysql-server/patches/patch-am new file mode 100644 index 00000000000..562dec8ff94 --- /dev/null +++ b/databases/mysql-server/patches/patch-am @@ -0,0 +1,21 @@ +$NetBSD: patch-am,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- mit-pthreads/machdep/engine-alpha-netbsd-1.3.h.orig Mon Mar 9 11:30:59 1998 ++++ mit-pthreads/machdep/engine-alpha-netbsd-1.3.h Thu Oct 22 18:24:17 1998 +@@ -10,6 +10,7 @@ + #include <setjmp.h> + #include <sys/time.h> + #include <sys/cdefs.h> ++#include <sys/signal.h> /* for _NSIG */ + + /* The first machine dependent functions are the SEMAPHORES needing + the test and set instruction. +@@ -46,7 +47,7 @@ + * sigset_t macros + */ + #define SIG_ANY(sig) (sig) +-#define SIGMAX 31 ++#define SIGMAX (_NSIG-1) + + /* + * New Strutures diff --git a/databases/mysql-server/patches/patch-an b/databases/mysql-server/patches/patch-an new file mode 100644 index 00000000000..42dfa37fc50 --- /dev/null +++ b/databases/mysql-server/patches/patch-an @@ -0,0 +1,30 @@ +$NetBSD: patch-an,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- mit-pthreads/machdep/syscall-alpha-netbsd-1.3.S.orig Mon Mar 9 11:30:59 1998 ++++ mit-pthreads/machdep/syscall-alpha-netbsd-1.3.S Mon Oct 19 21:25:47 1998 +@@ -72,6 +72,7 @@ + RET + .end machdep_sys_pipe + ++#ifndef SYS___sigsuspend14 + /* The sigsuspend system call is special... */ + .align 4 + .globl machdep_sys_sigsuspend +@@ -83,7 +84,9 @@ + mov zero, v0 /* shouldn't need; just in case... */ + RET + .end machdep_sys_sigsuspend ++#endif /* SYS_sigsuspend14 */ + ++#ifndef SYS___sigprocmask14 + /* The sigprocmask system call is special... */ + .align 4 + .globl machdep_sys_sigprocmask +@@ -100,6 +103,7 @@ + Lret: mov zero, v0 + RET + .end machdep_sys_sigprocmask ++#endif /* SYS_sigprocmask14 */ + + /* More stuff ... */ + .align 4 diff --git a/databases/mysql-server/patches/patch-ao b/databases/mysql-server/patches/patch-ao new file mode 100644 index 00000000000..97d85d127d3 --- /dev/null +++ b/databases/mysql-server/patches/patch-ao @@ -0,0 +1,18 @@ +$NetBSD: patch-ao,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- mit-pthreads/machdep/syscall-template-alpha-netbsd-1.3.S.orig Mon Mar 9 11:30:59 1998 ++++ mit-pthreads/machdep/syscall-template-alpha-netbsd-1.3.S Mon Oct 19 21:24:36 1998 +@@ -3,6 +3,13 @@ + #include <sys/syscall.h> + #define CHMK() call_pal 0x83 + ++#ifdef SYS___sigsuspend14 ++#define SYS_sigsuspend SYS___sigsuspend14 ++#endif ++#ifdef SYS___sigprocmask14 ++#define SYS_sigprocmask SYS___sigprocmask14 ++#endif ++ + #undef SYSCALL + + /* Kernel syscall interface: diff --git a/databases/mysql-server/patches/patch-ap b/databases/mysql-server/patches/patch-ap new file mode 100644 index 00000000000..d0f78080d59 --- /dev/null +++ b/databases/mysql-server/patches/patch-ap @@ -0,0 +1,111 @@ +$NetBSD: patch-ap,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- /dev/null Thu Oct 22 03:18:30 1998 ++++ mit-pthreads/machdep/engine-sparc-netbsd-1.3.h Thu Oct 22 18:29:44 1998 +@@ -0,0 +1,106 @@ ++/* ==== machdep.h ============================================================ ++ * Copyright (c) 1994 Chris Provenzano, proven@athena.mit.edu ++ * ++ * engine-sparc-sunos-4.1.3.h,v 1.52.4.1 1995/12/13 05:42:33 proven Exp ++ * ++ */ ++ ++#include <unistd.h> ++#include <setjmp.h> ++#include <sys/time.h> ++#include <sys/cdefs.h> ++#include <sys/signal.h> /* for _NSIG */ ++ ++/* ++ * The first machine dependent functions are the SEMAPHORES ++ * needing the test and set instruction. ++ */ ++#define SEMAPHORE_CLEAR 0 ++#define SEMAPHORE_SET 0xff ++ ++#define SEMAPHORE_TEST_AND_SET(lock) \ ++({ \ ++char *p = lock; \ ++long temp; \ ++ \ ++__asm__ volatile("ldstub %1,%0" \ ++ :"=r" (temp) \ ++ :"m" (*p) \ ++ :"memory"); \ ++temp; \ ++}) ++ ++#define SEMAPHORE_RESET(lock) \ ++{ \ ++__asm__ volatile("stb %1, %0" \ ++ :"=m" (*lock) \ ++ :"r" (SEMAPHORE_CLEAR) \ ++ :"memory"); \ ++} ++ ++/* ++ * New types ++ */ ++typedef char semaphore; ++ ++/* ++ * sigset_t macros ++ */ ++#define SIG_ANY(sig) (sig) ++#define SIGMAX (_NSIG-1) ++ ++/* ++ * New Strutures ++ */ ++struct machdep_pthread { ++ void *(*start_routine)(void *); ++ void *start_argument; ++ void *machdep_stack; ++ struct itimerval machdep_timer; ++ jmp_buf machdep_state; ++}; ++ ++/* ++ * Static machdep_pthread initialization values. ++ * For initial thread only. ++ */ ++#define MACHDEP_PTHREAD_INIT \ ++{ NULL, NULL, NULL, { { 0, 0 }, { 0, 100000 } }, 0 } ++ ++/* ++ * Minimum stack size ++ */ ++#define PTHREAD_STACK_MIN 1024 ++ ++/* ++ * Some fd flag defines that are necessary to distinguish between posix ++ * behavior and bsd4.3 behavior. ++ */ ++#define __FD_NONBLOCK (O_NONBLOCK | O_NDELAY) ++ ++/* ++ * New functions ++ */ ++ ++__BEGIN_DECLS ++ ++#if defined(PTHREAD_KERNEL) ++ ++#define __machdep_stack_get(x) (x)->machdep_stack ++#define __machdep_stack_set(x, y) (x)->machdep_stack = y ++#define __machdep_stack_repl(x, y) \ ++{ \ ++ if (stack = __machdep_stack_get(x)) { \ ++ __machdep_stack_free(stack); \ ++ } \ ++ __machdep_stack_set(x, y); \ ++} ++ ++void * __machdep_stack_alloc __P_((size_t)); ++void __machdep_stack_free __P_((void *)); ++ ++int machdep_save_state __P_((void)); ++ ++#endif ++ ++__END_DECLS diff --git a/databases/mysql-server/patches/patch-aq b/databases/mysql-server/patches/patch-aq new file mode 100644 index 00000000000..aabe9fb545e --- /dev/null +++ b/databases/mysql-server/patches/patch-aq @@ -0,0 +1,237 @@ +$NetBSD: patch-aq,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- /dev/null Sun Oct 25 03:18:33 1998 ++++ mit-pthreads/machdep/engine-sparc-netbsd-1.3.c Sun Oct 25 18:26:20 1998 +@@ -0,0 +1,232 @@ ++/* ==== machdep.c ============================================================ ++ * Copyright (c) 1993, 1994 Chris Provenzano, proven@athena.mit.edu ++ * ++ * Description : Machine dependent functions for SunOS-4.1.3 on sparc ++ * ++ * 1.00 93/08/04 proven ++ * -Started coding this file. ++ * ++ * 98/10/22 bad ++ * -update for fat sigset_t in NetBSD 1.3H ++ */ ++ ++#ifndef lint ++static const char rcsid[] = "$Id: patch-aq,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $"; ++#endif ++ ++#include "config.h" ++#include <pthread.h> ++#include <stdlib.h> ++#include <errno.h> ++ ++/* ========================================================================== ++ * machdep_save_state() ++ */ ++int machdep_save_state(void) ++{ ++ /* Save register windows onto stackframe */ ++ __asm__ ("ta 3"); ++ ++ return(setjmp(pthread_run->machdep_data.machdep_state)); ++} ++ ++/* ========================================================================== ++ * machdep_restore_state() ++ */ ++void machdep_restore_state(void) ++{ ++ longjmp(pthread_run->machdep_data.machdep_state, 1); ++} ++/* ========================================================================== ++ * machdep_save_float_state() ++ */ ++void machdep_save_float_state(struct pthread * pthread) ++{ ++ return; ++} ++ ++/* ========================================================================== ++ * machdep_restore_float_state() ++ */ ++void machdep_restore_float_state(void) ++{ ++ return; ++} ++ ++/* ========================================================================== ++ * machdep_set_thread_timer() ++ */ ++void machdep_set_thread_timer(struct machdep_pthread *machdep_pthread) ++{ ++ if (setitimer(ITIMER_VIRTUAL, &(machdep_pthread->machdep_timer), NULL)) { ++ PANIC(); ++ } ++} ++ ++/* ========================================================================== ++ * machdep_unset_thread_timer() ++ */ ++void machdep_unset_thread_timer(struct machdep_pthread *machdep_pthread) ++{ ++ struct itimerval zeroval = { { 0, 0 }, { 0, 0} }; ++ ++ if (setitimer(ITIMER_VIRTUAL, &zeroval, NULL)) { ++ PANIC(); ++ } ++} ++ ++/* ========================================================================== ++ * machdep_pthread_cleanup() ++ */ ++void *machdep_pthread_cleanup(struct machdep_pthread *machdep_pthread) ++{ ++ return(machdep_pthread->machdep_stack); ++} ++ ++/* ========================================================================== ++ * machdep_pthread_start() ++ */ ++void machdep_pthread_start(void) ++{ ++ context_switch_done(); ++ pthread_sched_resume (); ++ ++ /* Run current threads start routine with argument */ ++ pthread_exit(pthread_run->machdep_data.start_routine ++ (pthread_run->machdep_data.start_argument)); ++ ++ /* should never reach here */ ++ PANIC(); ++} ++ ++/* ========================================================================== ++ * __machdep_stack_free() ++ */ ++void __machdep_stack_free(void * stack) ++{ ++ free(stack); ++} ++ ++/* ========================================================================== ++ * __machdep_stack_alloc() ++ */ ++void * __machdep_stack_alloc(size_t size) ++{ ++ void * stack; ++ ++ return(malloc(size)); ++} ++ ++/* ========================================================================== ++ * __machdep_pthread_create() ++ */ ++void __machdep_pthread_create(struct machdep_pthread *machdep_pthread, ++ void *(* start_routine)(), void *start_argument, ++ long stack_size, long nsec, long flags) ++{ ++ machdep_pthread->start_routine = start_routine; ++ machdep_pthread->start_argument = start_argument; ++ ++ machdep_pthread->machdep_timer.it_value.tv_sec = 0; ++ machdep_pthread->machdep_timer.it_interval.tv_sec = 0; ++ machdep_pthread->machdep_timer.it_interval.tv_usec = 0; ++ machdep_pthread->machdep_timer.it_value.tv_usec = nsec / 1000; ++ ++ /* Save register windows onto stackframe */ ++ __asm__ ("ta 3"); ++ ++ setjmp(machdep_pthread->machdep_state); ++ /* ++ * Set up new stact frame so that it looks like it ++ * returned from a longjmp() to the beginning of ++ * machdep_pthread_start(). ++ */ ++ machdep_pthread->machdep_state[3] = (int)machdep_pthread_start; ++ machdep_pthread->machdep_state[4] = (int)machdep_pthread_start; ++ ++ /* Sparc stack starts high and builds down. */ ++ machdep_pthread->machdep_state[2] = ++ (int)machdep_pthread->machdep_stack + stack_size - 1024; ++ machdep_pthread->machdep_state[2] &= ~7; ++ ++} ++ ++#if defined(HAVE_SYSCALL_GETDENTS) ++/* ========================================================================== ++ * machdep_sys_getdirentries() ++ * ++ * Always use getdents in place of getdirentries if possible --proven ++ */ ++int machdep_sys_getdirentries(int fd, char * buf, int len, int * seek) ++{ ++ return(machdep_sys_getdents(fd, buf, len)); ++} ++#endif ++ ++/* ========================================================================== ++ * machdep_sys_wait3() ++ */ ++machdep_sys_wait3(int * b, int c, int * d) ++{ ++ return(machdep_sys_wait4(0, b, c, d)); ++} ++ ++/* ========================================================================== ++ * machdep_sys_waitpid() ++ */ ++machdep_sys_waitpid(int pid, int * statusp, int options) ++{ ++ if (pid == -1) ++ pid = 0; ++ else if (pid == 0) ++ pid = - getpgrp (); ++ return machdep_sys_wait4 (pid, statusp, options, NULL); ++} ++ ++#if !defined(HAVE_SYSCALL_SIGPROCMASK) ++#if 0 ++/* ========================================================================== ++ * machdep_sys_sigprocmask() ++ * This isn't a real implementation; we can make the assumption that the ++ * pthreads library is not using oset, and that it is always blocking or ++ * unblocking all signals at once. ++ */ ++int machdep_sys_sigprocmask(int how, const sigset_t *set, sigset_t *oset) ++{ ++ switch(how) { ++ case SIG_BLOCK: ++ sigblock(*set); ++ break; ++ case SIG_UNBLOCK: ++ sigsetmask(~*set); ++ break; ++ case SIG_SETMASK: ++ sigsetmask(*set); ++ break; ++ default: ++ return -EINVAL; ++ } ++ return(OK); ++} ++ ++/* ========================================================================== ++ * sigaction() ++ * ++ * Temporary until I do machdep_sys_sigaction() ++ */ ++int sigaction(int sig, const struct sigaction *act, struct sigaction *oldact) ++{ ++ return(sigvec(sig, (struct sigvec *)act, (struct sigvec *)oldact)); ++} ++#endif ++#endif ++ ++#if !defined(HAVE_SYSCALL_GETDTABLESIZE) ++/* ========================================================================== ++ * machdep_sys_getdtablesize() ++ */ ++machdep_sys_getdtablesize() ++{ ++ return(sysconf(_SC_OPEN_MAX)); ++} ++#endif diff --git a/databases/mysql-server/patches/patch-ar b/databases/mysql-server/patches/patch-ar new file mode 100644 index 00000000000..bea1d8b580e --- /dev/null +++ b/databases/mysql-server/patches/patch-ar @@ -0,0 +1,176 @@ +$NetBSD: patch-ar,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- /dev/null Sun Oct 25 03:17:31 1998 ++++ mit-pthreads/machdep/syscall-sparc-netbsd-1.3.S Sat Oct 24 21:39:15 1998 +@@ -0,0 +1,171 @@ ++/* ==== syscall.S ============================================================ ++ * Copyright (c) 1994 Chris Provenzano, proven@mit.edu ++ * All rights reserved. ++ * ++ */ ++ ++#ifndef lint ++ .text ++ .asciz "$Id: patch-ar,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $"; ++#endif ++ ++#include <sys/syscall.h> ++ ++#define SYSCALL(x) \ ++ .globl _machdep_sys_##x; \ ++ \ ++_machdep_sys_##x:; \ ++ \ ++ mov SYS_##x, %g1; \ ++ ta 0; \ ++ bcs,a 2b; \ ++ sub %r0,%o0,%o0; \ ++ retl ++ ++ ++/* ++ * Initial asm stuff for all functions. ++ */ ++ .text ++ .align 4 ++ ++/* ========================================================================== ++ * error code for all syscalls. The error value is returned as the negative ++ * of the errno value. ++ */ ++ ++1: ++ sub %r0, %o0, %o0 ++2: ++ retl ++ nop ++ ++/* ========================================================================== ++ * machdep_sys_pipe() ++ */ ++ .globl _machdep_sys_pipe ++ ++_machdep_sys_pipe: ++ mov %o0, %o2 ++ mov SYS_pipe, %g1 ++ ta 0 ++ bcs 1b ++ nop ++ st %o0, [ %o2 ] ++ st %o1, [ %o2 + 4 ] ++ retl ++ mov %g0, %o0 ++ ++/* ========================================================================== ++ * machdep_sys_fork() ++ */ ++ .globl _machdep_sys_fork; ++ ++_machdep_sys_fork:; ++ ++ mov SYS_fork, %g1; ++ ta 0; ++ bcs 1b; ++ nop; ++ dec %o1; ++ retl; ++ and %o0, %o1, %o0; ! return 0 in child, pid in parent ++ ++#ifndef SYS___sigprocmask14 ++/* ========================================================================== ++ * machdep_sys_sigprocmask() ++ */ ++ .globl _machdep_sys_sigprocmask; ++ ++_machdep_sys_sigprocmask:; ++ ++ ld [%o1], %o1; ++ mov SYS_sigprocmask, %g1; ++ ta 0; ++ bcs 1b; ++ nop; ++ retl ++ nop ++#endif ++ ++#ifndef SYS___sigsuspend14 ++/* ========================================================================== ++ * machdep_sys_sigsuspend() ++ */ ++ .globl _machdep_sys_sigsuspend; ++ ++_machdep_sys_sigsuspend:; ++ ++ ld [%o0], %o0; ++ mov SYS_sigsuspend, %g1; ++ ta 0; ++ bcs 1b; ++ nop; ++ retl ++ nop ++#endif ++ ++/* ========================================================================== ++ * machdep_sys_fstat() ++ */ ++ .globl _machdep_sys_fstat; ++ ++_machdep_sys_fstat:; ++ ++ mov SYS___fstat13, %g1; ++ ta 0; ++ bcs 1b; ++ nop; ++ retl ++ nop ++ ++/* ========================================================================== ++ * machdep_sys___syscall() ++ */ ++_machdep_sys___syscall:; ++ ++ mov SYS___syscall, %g1; ++ ta 0; ++ bcs 1b; ++ nop; ++ retl ++ nop ++ ++/* ========================================================================== ++ * machdep_sys_lseek() ++ */ ++ .global _machdep_sys_lseek ++ ++_machdep_sys_lseek: ++ save %sp,-112,%sp ++ mov %i1,%o4 ++ mov %i2,%o5 ++ st %i3,[%sp+92] ++ mov 0,%o0 ++ mov SYS_lseek,%o1 ++ mov %i0,%o2 ++ call _machdep_sys___syscall,0 ++ mov 0,%o3 ++ mov %o0,%i0 ++ mov %o1,%i1 ++ ret ++ restore ++ ++/* ========================================================================== ++ * machdep_sys_ftruncate() ++ */ ++ .global _machdep_sys_ftruncate ++ ++_machdep_sys_ftruncate: ++ save %sp,-104,%sp ++ mov %i1,%o4 ++ mov %i2,%o5 ++ mov 0,%o0 ++ mov SYS_ftruncate,%o1 ++ mov %i0,%o2 ++ call _machdep_sys___syscall,0 ++ mov 0,%o3 ++ mov %o0,%o1 ++ sra %o0,31,%o0 ++ ret ++ restore %g0,%o1,%o0 diff --git a/databases/mysql-server/patches/patch-as b/databases/mysql-server/patches/patch-as new file mode 100644 index 00000000000..45238d5f01d --- /dev/null +++ b/databases/mysql-server/patches/patch-as @@ -0,0 +1,52 @@ +$NetBSD: patch-as,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- /dev/null Mon Oct 19 22:21:39 1998 ++++ mit-pthreads/machdep/syscall-template-sparc-netbsd-1.3.S Mon Oct 19 22:36:44 1998 +@@ -0,0 +1,47 @@ ++/* ==== syscall.S ============================================================ ++ * Copyright (c) 1994 Chris Provenzano, proven@mit.edu ++ * All rights reserved. ++ * ++ */ ++ ++#include <sys/syscall.h> ++ ++#ifdef SYS___sigsuspend14 ++#define SYS_sigsuspend SYS___sigsuspend14 ++#endif ++#ifdef SYS___sigprocmask14 ++#define SYS_sigprocmask SYS___sigprocmask14 ++#endif ++ ++#define SYSCALL(x) \ ++ .globl _machdep_sys_##x; \ ++ \ ++_machdep_sys_##x:; \ ++ \ ++ mov SYS_##x, %g1; \ ++ ta 0; \ ++ bcs,a 2b; \ ++ sub %r0,%o0,%o0; \ ++ retl; \ ++ nop ++ ++/* ++ * Initial asm stuff for all functions. ++ */ ++ .text ++ .align 4 ++ ++/* ========================================================================== ++ * error code for all syscalls. The error value is returned as the negative ++ * of the errno value. ++ */ ++ ++1: ++ sub %r0, %o0, %o0 ++2: ++ retl ++ nop ++ ++#define XSYSCALL(NAME) SYSCALL(NAME) ++ ++XSYSCALL(SYSCALL_NAME) diff --git a/databases/mysql-server/patches/patch-at b/databases/mysql-server/patches/patch-at new file mode 100644 index 00000000000..4a3813ae1b8 --- /dev/null +++ b/databases/mysql-server/patches/patch-at @@ -0,0 +1,21 @@ +$NetBSD: patch-at,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- mit-pthreads/machdep/engine-i386-netbsd-1.3.h.orig Mon Mar 2 19:44:34 1998 ++++ mit-pthreads/machdep/engine-i386-netbsd-1.3.h Thu Oct 22 18:24:46 1998 +@@ -8,6 +8,7 @@ + #include <unistd.h> + #include <setjmp.h> + #include <sys/time.h> ++#include <sys/signal.h> /* for _NSIG */ + + /* + * The first machine dependent functions are the SEMAPHORES +@@ -37,7 +38,7 @@ + * sigset_t macros + */ + #define SIG_ANY(sig) (sig) +-#define SIGMAX 31 ++#define SIGMAX (_NSIG-1) + + /* + * New Strutures diff --git a/databases/mysql-server/patches/patch-au b/databases/mysql-server/patches/patch-au new file mode 100644 index 00000000000..2886da5aeb5 --- /dev/null +++ b/databases/mysql-server/patches/patch-au @@ -0,0 +1,36 @@ +$NetBSD: patch-au,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- mit-pthreads/machdep/syscall-i386-netbsd-1.3.S.orig Mon Mar 2 19:44:34 1998 ++++ mit-pthreads/machdep/syscall-i386-netbsd-1.3.S Mon Oct 19 00:12:26 1998 +@@ -88,6 +88,7 @@ + jb 3f; + ret + ++#ifndef SYS___sigsuspend14 + /* ========================================================================== + * machdep_sys_sigsuspend() + */ +@@ -102,6 +103,7 @@ + int $0x80; + jb 3f; + ret ++#endif + + 3: + +@@ -148,6 +150,7 @@ + leave + ret + ++#ifndef SYS___sigprocmask14 + /* ========================================================================== + * machdep_sys_sigprocmask() + */ +@@ -162,6 +165,7 @@ + int $0x80; + jb 3b; + ret ++#endif + + /* ========================================================================== + * machdep_sys_pipe() diff --git a/databases/mysql-server/patches/patch-av b/databases/mysql-server/patches/patch-av new file mode 100644 index 00000000000..1a74f07883a --- /dev/null +++ b/databases/mysql-server/patches/patch-av @@ -0,0 +1,18 @@ +$NetBSD: patch-av,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- mit-pthreads/machdep/syscall-template-i386-netbsd-1.3.S.orig Mon Mar 2 19:44:34 1998 ++++ mit-pthreads/machdep/syscall-template-i386-netbsd-1.3.S Mon Oct 19 00:10:09 1998 +@@ -1,6 +1,13 @@ + #include <machine/asm.h> + #include <sys/syscall.h> + ++#ifdef SYS___sigsuspend14 ++#define SYS_sigsuspend SYS___sigsuspend14 ++#endif ++#ifdef SYS___sigprocmask14 ++#define SYS_sigprocmask SYS___sigprocmask14 ++#endif ++ + #ifdef __STDC__ + + #define SYSCALL(x) \ diff --git a/databases/mysql-server/patches/patch-aw b/databases/mysql-server/patches/patch-aw new file mode 100644 index 00000000000..aadca25e622 --- /dev/null +++ b/databases/mysql-server/patches/patch-aw @@ -0,0 +1,107 @@ +$NetBSD: patch-aw,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- /dev/null Thu Oct 22 03:18:30 1998 ++++ mit-pthreads/machdep/engine-arm32-netbsd-1.3.h Thu Oct 22 19:39:30 1998 +@@ -0,0 +1,102 @@ ++/* ==== machdep.h ============================================================ ++ * Copyright (c) 1993 Chris Provenzano, proven@athena.mit.edu ++ * ++ * Id: engine-i386-netbsd-1.3.h,v 1.1 1998/02/28 04:53:15 cjs Exp ++ * ++ */ ++ ++#include <unistd.h> ++#include <setjmp.h> ++#include <sys/time.h> ++#include <sys/signal.h> /* for _NSIG */ ++ ++/* ++ * The first machine dependent functions are the SEMAPHORES ++ * needing the test and set instruction. ++ */ ++#define SEMAPHORE_CLEAR 0 ++#define SEMAPHORE_SET 1 ++ ++#if 0 ++#define SEMAPHORE_TEST_AND_SET(lock) \ ++({ \ ++long temp = SEMAPHORE_SET; \ ++ \ ++__asm__ volatile ("xchgl %0,(%2)" \ ++ :"=r" (temp) \ ++ :"0" (temp),"r" (lock)); \ ++temp; \ ++}) ++ ++#define SEMAPHORE_RESET(lock) *lock = SEMAPHORE_CLEAR ++#endif ++ ++/* ++ * New types ++ */ ++typedef long semaphore; ++ ++/* ++ * sigset_t macros ++ */ ++#define SIG_ANY(sig) (sig) ++#define SIGMAX (_NSIG-1) ++ ++/* ++ * New Strutures ++ */ ++struct machdep_pthread { ++ void *(*start_routine)(void *); ++ void *start_argument; ++ void *machdep_stack; ++ struct itimerval machdep_timer; ++ jmp_buf machdep_state; ++#if 0 ++ char machdep_float_state[108]; ++#endif ++}; ++ ++/* ++ * Static machdep_pthread initialization values. ++ * For initial thread only. ++ */ ++#define MACHDEP_PTHREAD_INIT \ ++{ NULL, NULL, NULL, { { 0, 0 }, { 0, 100000 } }, 0 } ++ ++/* ++ * Minimum stack size ++ */ ++#define PTHREAD_STACK_MIN 1024 ++ ++/* ++ * Some fd flag defines that are necessary to distinguish between posix ++ * behavior and bsd4.3 behavior. ++ */ ++#define __FD_NONBLOCK O_NONBLOCK ++ ++/* ++ * New functions ++ */ ++ ++__BEGIN_DECLS ++ ++#if defined(PTHREAD_KERNEL) ++ ++#define __machdep_stack_get(x) (x)->machdep_stack ++#define __machdep_stack_set(x, y) (x)->machdep_stack = y ++#define __machdep_stack_repl(x, y) \ ++{ \ ++ if (stack = __machdep_stack_get(x)) { \ ++ __machdep_stack_free(stack); \ ++ } \ ++ __machdep_stack_set(x, y); \ ++} ++ ++void * __machdep_stack_alloc __P_((size_t)); ++void __machdep_stack_free __P_((void *)); ++ ++int machdep_save_state __P_((void)); ++ ++#endif ++ ++__END_DECLS diff --git a/databases/mysql-server/patches/patch-ax b/databases/mysql-server/patches/patch-ax new file mode 100644 index 00000000000..e219803cd85 --- /dev/null +++ b/databases/mysql-server/patches/patch-ax @@ -0,0 +1,208 @@ +$NetBSD: patch-ax,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- /dev/null Thu Feb 4 01:37:20 1999 ++++ mit-pthreads/machdep/engine-arm32-netbsd-1.3.c Thu Feb 4 01:53:39 1999 +@@ -0,0 +1,203 @@ ++/* ==== machdep.c ============================================================ ++ * Copyright (c) 1993, 1994 Chris Provenzano, proven@athena.mit.edu ++ * ++ * Description : Machine dependent functions for NetBSD on arm32 ++ * ++ * 1.00 93/08/04 proven ++ * -Started coding this file. ++ * ++ * 98/10/22 bad ++ * -adapt from i386 version ++ */ ++ ++#ifndef lint ++static const char rcsid[] = "$Id: patch-ax,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $"; ++#endif ++ ++#include <pthread.h> ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <sys/syscall.h> ++#include <stdlib.h> ++#include <fcntl.h> ++#include <stdio.h> ++ ++#if defined(_JB_REG_R13) ++#define REG_LR _JB_REG_R14 ++#define REG_SP _JB_REG_R13 ++#else ++#define REG_LR JMPBUF_REG_R14 ++#define REG_SP JMPBUF_REG_R13 ++#endif ++ ++/* ========================================================================== ++ * machdep_save_state() ++ */ ++int machdep_save_state(void) ++{ ++ return(_setjmp(pthread_run->machdep_data.machdep_state)); ++} ++ ++/* ========================================================================== ++ * machdep_save_state() ++ */ ++int machdep_save_float_state(struct pthread * pthread) ++{ ++ return; ++} ++ ++/* ========================================================================== ++ * machdep_restore_state() ++ */ ++void machdep_restore_state(void) ++{ ++ _longjmp(pthread_run->machdep_data.machdep_state, 1); ++} ++ ++/* ========================================================================== ++ * machdep_restore_float_state() ++ */ ++int machdep_restore_float_state(void) ++{ ++ return; ++} ++ ++/* ========================================================================== ++ * machdep_set_thread_timer() ++ */ ++void machdep_set_thread_timer(struct machdep_pthread *machdep_pthread) ++{ ++ if (setitimer(ITIMER_VIRTUAL, &(machdep_pthread->machdep_timer), NULL)) { ++ PANIC(); ++ } ++} ++ ++/* ========================================================================== ++ * machdep_unset_thread_timer() ++ */ ++void machdep_unset_thread_timer(struct machdep_pthread *machdep_pthread) ++{ ++ struct itimerval zeroval = { { 0, 0 }, { 0, 0 } }; ++ int ret; ++ ++ if (machdep_pthread) { ++ ret = setitimer(ITIMER_VIRTUAL, &zeroval, ++ &(machdep_pthread->machdep_timer)); ++ } else { ++ ret = setitimer(ITIMER_VIRTUAL, &zeroval, NULL); ++ } ++ ++ if (ret) { ++ PANIC(); ++ } ++} ++ ++/* ========================================================================== ++ * machdep_pthread_cleanup() ++ */ ++void *machdep_pthread_cleanup(struct machdep_pthread *machdep_pthread) ++{ ++ return(machdep_pthread->machdep_stack); ++} ++ ++/* ========================================================================== ++ * machdep_pthread_start() ++ */ ++void machdep_pthread_start(void) ++{ ++ context_switch_done(); ++ pthread_sched_resume(); ++ ++ /* Run current threads start routine with argument */ ++ pthread_exit(pthread_run->machdep_data.start_routine ++ (pthread_run->machdep_data.start_argument)); ++ ++ /* should never reach here */ ++ PANIC(); ++} ++ ++/* ========================================================================== ++ * __machdep_stack_free() ++ */ ++void __machdep_stack_free(void * stack) ++{ ++ free(stack); ++} ++ ++/* ========================================================================== ++ * __machdep_stack_alloc() ++ */ ++void * __machdep_stack_alloc(size_t size) ++{ ++ void * stack; ++ ++ return(malloc(size)); ++} ++ ++/* ========================================================================== ++ * __machdep_pthread_create() ++ */ ++void __machdep_pthread_create(struct machdep_pthread *machdep_pthread, ++ void *(* start_routine)(), void *start_argument, ++ long stack_size, long nsec, long flags) ++{ ++ machdep_pthread->start_routine = start_routine; ++ machdep_pthread->start_argument = start_argument; ++ ++ machdep_pthread->machdep_timer.it_value.tv_sec = 0; ++ machdep_pthread->machdep_timer.it_interval.tv_sec = 0; ++ machdep_pthread->machdep_timer.it_interval.tv_usec = 0; ++ machdep_pthread->machdep_timer.it_value.tv_usec = nsec / 1000; ++ ++ _setjmp(machdep_pthread->machdep_state); ++ /* ++ * Set up new stact frame so that it looks like it ++ * returned from a longjmp() to the beginning of ++ * machdep_pthread_start(). ++ */ ++ machdep_pthread->machdep_state[REG_LR] = (int)machdep_pthread_start; ++ ++ /* Stack starts high and builds down. */ ++ machdep_pthread->machdep_state[REG_SP] = ++ (int)machdep_pthread->machdep_stack + stack_size; ++} ++ ++/* ========================================================================== ++ * machdep_sys_creat() ++ */ ++machdep_sys_creat(char * path, int mode) ++{ ++ return(machdep_sys_open(path, O_WRONLY | O_CREAT | O_TRUNC, mode)); ++} ++ ++/* ========================================================================== ++ * machdep_sys_wait3() ++ */ ++machdep_sys_wait3(int * b, int c, int * d) ++{ ++ return(machdep_sys_wait4(0, b, c, d)); ++} ++ ++/* ========================================================================== ++ * machdep_sys_waitpid() ++ */ ++machdep_sys_waitpid(int a, int * b, int c) ++{ ++ return(machdep_sys_wait4(a, b, c, NULL)); ++} ++ ++/* ========================================================================== ++ * machdep_sys_getdtablesize() ++ */ ++machdep_sys_getdtablesize() ++{ ++ return(sysconf(_SC_OPEN_MAX)); ++} ++ ++/* ========================================================================== ++ * machdep_sys_getdirentries() ++ */ ++machdep_sys_getdirentries(int fd, char * buf, int len, int * seek) ++{ ++ return(machdep_sys_getdents(fd, buf, len)); ++} diff --git a/databases/mysql-server/patches/patch-ay b/databases/mysql-server/patches/patch-ay new file mode 100644 index 00000000000..20d3f7656e0 --- /dev/null +++ b/databases/mysql-server/patches/patch-ay @@ -0,0 +1,198 @@ +$NetBSD: patch-ay,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- /dev/null Sun Oct 25 03:15:17 1998 ++++ mit-pthreads/machdep/syscall-arm32-netbsd-1.3.S Sun Oct 25 18:49:24 1998 +@@ -0,0 +1,193 @@ ++/* ==== syscall.S ============================================================ ++ * Copyright (c) 1990 The Regents of the University of California. ++ * Copyright (c) 1993 Chris Provenzano, proven@mit.edu ++ * All rights reserved. ++ * ++ * This code is derived from software contributed to Berkeley by ++ * William Jolitz. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * Description : Machine dependent syscalls for i386/i486/i586 ++ * ++ * 1.00 93/08/26 proven ++ * -Started coding this file. ++ * ++ * 1.01 93/11/13 proven ++ * -The functions readv() and writev() added. ++ */ ++ ++#ifndef lint ++ .text ++ .asciz "$Id: patch-ay,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $"; ++#endif ++ ++#if defined(SYSLIBC_SCCS) && !defined(lint) ++ .asciz "@(#)syscall.s 5.1 (Berkeley) 4/23/90" ++#endif /* SYSLIBC_SCCS and not lint */ ++ ++#include <machine/asm.h> ++#include <sys/syscall.h> ++ ++/* ++ * Initial asm stuff for all functions. ++ */ ++ .text ++ .align 0 ++ ++ ++/* ========================================================================== ++ * machdep_sys_fork() ++ */ ++ .globl _machdep_sys_fork; ++ ++_machdep_sys_fork:; ++ ++ swi SYS_fork ++ bcs 1f ++ sub r1, r1, #0x00000001 ++ and r0, r0, r1 ++ mov r15, r14 ++ ++ ++ ++/* ========================================================================== ++ * machdep_sys_fstat() ++ */ ++ .globl _machdep_sys_fstat; ++ ++_machdep_sys_fstat:; ++ ++ swi SYS___fstat13 ++ bcs 1f ++ mov r15, r14 ++ ++/* ========================================================================== ++ * machdep_sys___syscall() ++ */ ++ ++_machdep_sys___syscall:; ++ ++ swi SYS___syscall ++ bcs 1f ++ mov r15, r14 ++ ++ ++#ifndef SYS___sigsuspend14 ++/* ========================================================================== ++ * machdep_sys_sigsuspend() ++ */ ++ .globl _machdep_sys_sigsuspend; ++ ++_machdep_sys_sigsuspend:; ++ ++ ldr r0, [r0] ++ swi SYS_sigsuspend ++ bcs 1f ++ mov r0, #0x00000000 ++ mov r15, r14 ++ ++#endif ++ ++#ifndef SYS___sigprocmask14 ++/* ========================================================================== ++ * machdep_sys_sigprocmask() ++ */ ++ .globl _machdep_sys_sigprocmask; ++ ++_machdep_sys_sigprocmask:; ++ ++ teq r1, #0x00000000 ++ moveq r0, #0x00000001 ++ moveq r1, #0x00000000 ++ ldrne r1, [r1] ++ swi SYS_sigprocmask ++ bcs 1f ++ teq r2, #0x00000000 ++ strne r0, [r2] ++ mov r0, #0x00000000 ++ mov r15, r14 ++#endif ++ ++/* ========================================================================== ++ * machdep_sys_ftruncate() ++ */ ++ .global _machdep_sys_ftruncate ++_machdep_sys_ftruncate: ++ mov r12, r13 ++ stmfd r13!, {r11, r12, r14, r15} ++ sub r13, r13, #8 ++ stmia r13, {r1-r2} ++ mov r3, #0 ++ sub r11, r12, #4 ++ mov r2, r0 ++ mov r1, #0 ++ mov r0, #201 ++ bl _machdep_sys___syscall ++ ldmea r11, {r11, r13, r15} ++ ++/* ========================================================================== ++ * machdep_sys_lseek() ++ */ ++ .global _machdep_sys_lseek ++ ++_machdep_sys_lseek: ++ mov r12, r13 ++ stmfd r13!, {r11, r12, r14, r15} ++ str r3, [r13, #-4]! ++ sub r13, r13, #8 ++ stmia r13, {r1-r2} ++ sub r11, r12, #4 ++ mov r3, #0 ++ mov r2, r0 ++ mov r1, #0 ++ mov r0, #SYS_lseek ++ bl _machdep_sys___syscall ++ ldmea r11, {r11, r13, r15} ++ ++/* ========================================================================== ++ * machdep_sys_pipe() ++ */ ++ .globl _machdep_sys_pipe; ++ ++_machdep_sys_pipe:; ++ ++ mov r2, r0 ++ swi SYS_pipe ++ bcs 1f ++ str r0, [r2, #0x0000] ++ str r1, [r2, #0x0004] ++ mov r0, #0x00000000 ++ mov r15, r14 ++ ++ ++1: ++ rsb r0, r0, #0x00000000 ++ mvn r1, #0x00000000 ++ mov r15, r14 diff --git a/databases/mysql-server/patches/patch-az b/databases/mysql-server/patches/patch-az new file mode 100644 index 00000000000..f65352f4ddf --- /dev/null +++ b/databases/mysql-server/patches/patch-az @@ -0,0 +1,60 @@ +$NetBSD: patch-az,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- /dev/null Sun Oct 25 20:12:14 1998 ++++ mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S Sun Oct 25 20:18:57 1998 +@@ -0,0 +1,55 @@ ++#include <machine/asm.h> ++#include <sys/syscall.h> ++ ++#ifdef SYS___sigsuspend14 ++#define SYS_sigsuspend SYS___sigsuspend14 ++#endif ++#ifdef SYS___sigprocmask14 ++#define SYS_sigprocmask SYS___sigprocmask14 ++#endif ++ ++#ifdef __STDC__ ++ ++#define SYSCALL(x) \ ++ .globl _machdep_sys_##x; \ ++ \ ++_machdep_sys_##x:; \ ++ \ ++ swi SYS_##x; \ ++ bcs 1b; \ ++ mov r15, r14; ++ ++#else ++ ++#define SYSCALL(x) \ ++ .globl _machdep_sys_/**/x; \ ++ \ ++_machdep_sys_/**/x:; \ ++ \ ++ swi SYS_/**/x; \ ++ bcs 1b; \ ++ mov r15, r14; ++ ++#endif ++ ++ ++/* ++ * Initial asm stuff for all functions. ++ */ ++ .text ++ .align 0 ++ ++ ++/* ========================================================================== ++ * error code for all syscalls. The error value is returned as the negative ++ * of the errno value. ++ */ ++ ++1: ++ rsb r0, r0, #0x00000000 ++ mvn r1, #0x00000000 ++ mov r15, r14 ++ ++#define XSYSCALL(NAME) SYSCALL(NAME) ++ ++XSYSCALL(SYSCALL_NAME) diff --git a/databases/mysql-server/patches/patch-ba b/databases/mysql-server/patches/patch-ba new file mode 100644 index 00000000000..af05d97b75a --- /dev/null +++ b/databases/mysql-server/patches/patch-ba @@ -0,0 +1,11 @@ +$NetBSD: patch-ba,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ +--- mit-pthreads/pthreads/specific.c.orig Mon Dec 28 23:52:16 1998 ++++ mit-pthreads/pthreads/specific.c Mon Dec 28 23:52:30 1998 +@@ -42,6 +42,7 @@ + #include <errno.h> + #include <pthread.h> + #include <stdlib.h> ++#include <string.h> + + static struct pthread_key key_table[PTHREAD_DATAKEYS_MAX]; + static pthread_mutex_t key_mutex = PTHREAD_MUTEX_INITIALIZER; diff --git a/databases/mysql-server/patches/patch-bc b/databases/mysql-server/patches/patch-bc new file mode 100644 index 00000000000..13e1fd97ca9 --- /dev/null +++ b/databases/mysql-server/patches/patch-bc @@ -0,0 +1,14 @@ +$NetBSD: patch-bc,v 1.1.1.1 1999/05/06 23:37:00 tv Exp $ + +--- mit-pthreads/config/config.h.in.orig Thu May 29 16:59:14 1997 ++++ mit-pthreads/config/config.h.in Sat Mar 20 23:30:53 1999 +@@ -18,6 +18,9 @@ + /* Does the OS already support struct timespec */ + #undef _OS_HAS_TIMESPEC + ++/* Does the OS need socklen_t for the socket syscalls? */ ++#undef _OS_HAS_SOCKLEN_T ++ + /* For networking code: an integral type the size of an IP address (4 + octets). Determined by examining return values from certain + functions. */ diff --git a/databases/mysql-server/patches/patch-bd b/databases/mysql-server/patches/patch-bd new file mode 100644 index 00000000000..5836c73962a --- /dev/null +++ b/databases/mysql-server/patches/patch-bd @@ -0,0 +1,83 @@ +$NetBSD: patch-bd,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ + +--- mit-pthreads/config/configure.in.orig Mon Mar 9 11:30:59 1998 ++++ mit-pthreads/config/configure.in Fri Apr 16 18:17:12 1999 +@@ -124,6 +124,12 @@ + name=$host_cpu-$host_os + + case $host in ++ alpha-*-netbsd1.3[H-Z]|alpha-*-netbsd1.4*) ++ name=alpha-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork lseek pipe fstat" ++ available_syscalls="sigsuspend sigprocmask" ++ ;; + alpha-*-netbsd1.3*) + name=alpha-netbsd-1.3 + sysincludes=netbsd-1.1 +@@ -142,6 +148,17 @@ + CFLAGS="$CFLAGS -std" + fi + ;; ++ arm32-*-netbsd1.3[H-Z]|arm32-*-netbsd1.4*) ++ name=arm32-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork pipe lseek ftruncate fstat" ++ available_syscalls="sigsuspend sigprocmask" ++ ;; ++ arm32-*-netbsd1.3*) ++ name=arm32-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork pipe lseek ftruncate sigsuspend sigprocmask fstat" ++ ;; + hppa1.0-*-hpux10.20 | hppa1.1-*-hpux10.20) + name=hppa-hpux-10.20 + sysincludes=hpux-10.20 +@@ -176,6 +193,17 @@ + AC_DEFINE(LD_LINKS_STATIC_DATA) + AC_DEFINE(BROKEN_SIGNALS) + ;; ++ sparc-*-netbsd1.3[H-Z]|sparc-*-netbsd1.4*) ++ name=sparc-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="pipe fork lseek ftruncate fstat" ++ available_syscalls="sigprocmask sigsuspend" ++ ;; ++ sparc-*-netbsd1.3*) ++ name=sparc-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="pipe fork lseek ftruncate sigprocmask sigsuspend fstat" ++ ;; + sparc-*-netbsd1.0A | sparc-*-netbsd1.1* | sparc-*-netbsd1.2*) + name=sparc-sunos-4.1.3 + sysincludes=netbsd-1.0 +@@ -201,6 +229,12 @@ + syscall=i386-bsdi-2.0 + except="fork lseek ftruncate sigsuspend" + ;; ++ i386-*-netbsd1.3[H-Z]|i386-*-netbsd1.4*) ++ name=i386-netbsd-1.3 ++ sysincludes=netbsd-1.1 ++ except="fork lseek ftruncate pipe fstat" ++ available_syscalls="sigsuspend sigprocmask" ++ ;; + i386-*-netbsd1.3*) + name=i386-netbsd-1.3 + sysincludes=netbsd-1.1 +@@ -339,6 +373,16 @@ + AC_MSG_RESULT($pthreads_cv_timespec_in_time) + if test $pthreads_cv_timespec_in_time = yes ; then + AC_DEFINE(_OS_HAS_TIMESPEC) ++fi ++ ++dnl socklen_t ++AC_CACHE_VAL(pthreads_cv_socklen_t, ++ AC_TRY_COMPILE([#include <sys/types.h> ++#include <sys/socket.h>], [socklen_t foo;], ++ pthreads_cv_socklen_t=yes, pthreads_cv_socklen_t=no)) ++AC_MSG_RESULT($pthreads_cv_socklen_t) ++if test $pthreads_cv_socklen_t = yes ; then ++ AC_DEFINE(_OS_HAS_SOCKLEN_T) + fi + + diff --git a/databases/mysql-server/pkg/COMMENT b/databases/mysql-server/pkg/COMMENT new file mode 100644 index 00000000000..86cc9be18be --- /dev/null +++ b/databases/mysql-server/pkg/COMMENT @@ -0,0 +1 @@ +MySQL, a free SQL database (server) diff --git a/databases/mysql-server/pkg/DESCR b/databases/mysql-server/pkg/DESCR new file mode 100644 index 00000000000..4693dde9acf --- /dev/null +++ b/databases/mysql-server/pkg/DESCR @@ -0,0 +1,14 @@ +*MySQL* is a SQL (Structured Query Language) database server. +SQL is the most popular database language in the world. +*MySQL* is a client server implementation that consists of a +server daemon `mysqld' and many different client programs/libraries. + +The main goals of *MySQL* are speed and robustness. + +The base upon which *MySQL* is built is a set of routines that have +been used in a highly demanding production environment for many years. +While *MySQL* is still in development it already offers a rich and +highly useful function set. + +The official way to pronounce *MySQL* is 'My Ess Que Ell' (Not +MY-SEQUEL). diff --git a/databases/mysql-server/pkg/PLIST b/databases/mysql-server/pkg/PLIST new file mode 100644 index 00000000000..ea398c4e33c --- /dev/null +++ b/databases/mysql-server/pkg/PLIST @@ -0,0 +1,62 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 1999/05/06 23:37:01 tv Exp $ +bin/comp_err +bin/isamchk +bin/isamlog +bin/mysql_install_db +bin/perror +bin/replace +bin/resolveip +bin/safe_mysqld +libexec/mysqld +share/mysql/czech/errmsg.sys +share/mysql/czech/errmsg.txt +share/mysql/dutch/errmsg.sys +share/mysql/dutch/errmsg.txt +share/mysql/english/errmsg.sys +share/mysql/english/errmsg.txt +share/mysql/french/errmsg.sys +share/mysql/french/errmsg.txt +share/mysql/german/errmsg.sys +share/mysql/german/errmsg.txt +share/mysql/hungarian/errmsg.sys +share/mysql/hungarian/errmsg.txt +share/mysql/italian/errmsg.sys +share/mysql/italian/errmsg.txt +share/mysql/japanese/errmsg.sys +share/mysql/japanese/errmsg.txt +share/mysql/korean/errmsg.sys +share/mysql/korean/errmsg.txt +share/mysql/norwegian-ny/errmsg.sys +share/mysql/norwegian-ny/errmsg.txt +share/mysql/norwegian/errmsg.sys +share/mysql/norwegian/errmsg.txt +share/mysql/polish/errmsg.sys +share/mysql/polish/errmsg.txt +share/mysql/portuguese/errmsg.sys +share/mysql/portuguese/errmsg.txt +share/mysql/russian/errmsg.sys +share/mysql/russian/errmsg.txt +share/mysql/spanish/errmsg.sys +share/mysql/spanish/errmsg.txt +share/mysql/slovak/errmsg.sys +share/mysql/slovak/errmsg.txt +share/mysql/swedish/errmsg.sys +share/mysql/swedish/errmsg.txt +@exec %D/bin/mysql_install_db --force +@dirrm share/mysql/czech +@dirrm share/mysql/dutch +@dirrm share/mysql/english +@dirrm share/mysql/french +@dirrm share/mysql/german +@dirrm share/mysql/hungarian +@dirrm share/mysql/italian +@dirrm share/mysql/japanese +@dirrm share/mysql/korean +@dirrm share/mysql/norwegian +@dirrm share/mysql/norwegian-ny +@dirrm share/mysql/polish +@dirrm share/mysql/portuguese +@dirrm share/mysql/russian +@dirrm share/mysql/spanish +@dirrm share/mysql/slovak +@dirrm share/mysql/swedish |