pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/sysutils/fam Various fixes/cleanups to get this packag...
details: https://anonhg.NetBSD.org/pkgsrc/rev/8c8d2a37e19b
branches: trunk
changeset: 483780:8c8d2a37e19b
user: sketch <sketch%pkgsrc.org@localhost>
date: Fri Nov 19 12:35:22 2004 +0000
description:
Various fixes/cleanups to get this package compiling on Solaris:
+ Use the mnttab(4) interface instead of mntent.
+ C++ syntax cleanups to appease the SunPro compiler.
+ Use MAXPATHLEN instead of NAME_MAX which can be unimplemented on strict
POSIX systems.
+ Use POSIX inttypes.h if BSD types are not available.
+ RPC includes and C++ namespace fixes.
+ Use dirent(3) instead of older sys/dir.h interface.
+ Avoid `sun' namespace collision.
Patch based on the work of Robert Lillack and others, described in
http://mail-index.netbsd.org/tech-pkg/2004/08/20/0005.html and tested with
SunPro and gcc.
diffstat:
sysutils/fam/Makefile | 30 +++++++-
sysutils/fam/distinfo | 33 ++++++---
sysutils/fam/patches/patch-aa | 4 +-
sysutils/fam/patches/patch-ab | 21 ++++-
sysutils/fam/patches/patch-ad | 80 +++++++++++++++++++++-
sysutils/fam/patches/patch-ae | 37 +++++++++-
sysutils/fam/patches/patch-af | 153 ++++++++++++++++++++++++++++++++++++++++-
sysutils/fam/patches/patch-ag | 14 ++-
sysutils/fam/patches/patch-ah | 11 ++-
sysutils/fam/patches/patch-al | 13 +++
sysutils/fam/patches/patch-am | 12 +++
sysutils/fam/patches/patch-an | 13 +++
sysutils/fam/patches/patch-ao | 10 ++-
sysutils/fam/patches/patch-ap | 4 +-
sysutils/fam/patches/patch-aq | 21 +++++
sysutils/fam/patches/patch-ar | 12 +++
sysutils/fam/patches/patch-as | 24 ++++++
sysutils/fam/patches/patch-at | 21 +++++
sysutils/fam/patches/patch-av | 39 ++++++++++
sysutils/fam/patches/patch-aw | 16 ++++
sysutils/fam/patches/patch-ax | 4 +-
sysutils/fam/patches/patch-ay | 16 ++++
sysutils/fam/patches/patch-az | 16 ++++
23 files changed, 564 insertions(+), 40 deletions(-)
diffs (truncated from 826 to 300 lines):
diff -r 9bbd57b4246e -r 8c8d2a37e19b sysutils/fam/Makefile
--- a/sysutils/fam/Makefile Fri Nov 19 12:33:13 2004 +0000
+++ b/sysutils/fam/Makefile Fri Nov 19 12:35:22 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.19 2004/10/17 20:12:06 jmmv Exp $
+# $NetBSD: Makefile,v 1.20 2004/11/19 12:35:22 sketch Exp $
#
DISTNAME= fam-2.7.0
@@ -54,6 +54,34 @@
.include "../../mk/pthread.buildlink3.mk"
.endif
+LDFLAGS.SunOS+= -lsocket -lnsl
+
+.if ${OPSYS} == "SunOS"
+SUBST_CLASSES+= sunfix dirent
+
+SUBST_MESSAGE.sunfix= "Fixing ${OPSYS} namespace collision."
+SUBST_STAGE.sunfix= pre-configure
+SUBST_FILES.sunfix+= lib/Client.c++
+SUBST_FILES.sunfix+= src/ClientConnection.c++ src/ClientConnection.h
+SUBST_FILES.sunfix+= src/LocalClient.c++ src/LocalClient.h
+SUBST_FILES.sunfix+= src/Listener.c++
+SUBST_FILES.sunfix+= src/TCP_Client.h
+SUBST_SED.sunfix= -e 's/sun\([^_]\)/sa_un\1/g'
+
+SUBST_MESSAGE.dirent= "Fixing old sys/dir.h usage."
+SUBST_STAGE.dirent= pre-configure
+SUBST_FILES.dirent+= src/Directory.c++
+SUBST_FILES.dirent+= src/DirectoryScanner.c++ src/DirectoryScanner.h
+SUBST_SED.dirent= -e 's,sys/dir.h,dirent.h,g' -e 's/struct direct/struct dirent/g'
+
+.include "../../mk/compiler.mk"
+
+.if !empty(PKGSRC_COMPILER:Msunpro)
+BUILDLINK_TRANSFORM+= rm:-lstdc++
+.endif
+
+.endif
+
post-extract:
${CP} ${FILESDIR}/IMonKQueue.c++ ${WRKSRC}/src
${CP} ${FILESDIR}/imon-compat.h ${WRKSRC}/src
diff -r 9bbd57b4246e -r 8c8d2a37e19b sysutils/fam/distinfo
--- a/sysutils/fam/distinfo Fri Nov 19 12:33:13 2004 +0000
+++ b/sysutils/fam/distinfo Fri Nov 19 12:35:22 2004 +0000
@@ -1,19 +1,30 @@
-$NetBSD: distinfo,v 1.15 2004/10/17 19:20:53 jmmv Exp $
+$NetBSD: distinfo,v 1.16 2004/11/19 12:35:22 sketch Exp $
SHA1 (fam-2.7.0.tar.gz) = 6c2316f02acf89a41c42ffc3d7fd9cf5eada83a8
Size (fam-2.7.0.tar.gz) = 301974 bytes
-SHA1 (patch-aa) = 19743b7627e72e96c13a1288d8872e85d42a6dca
-SHA1 (patch-ab) = a486fd2b7330a0942717fd2aebb0fbdeb3c87dc7
+SHA1 (patch-aa) = 97f73077cf7845cc0ac13247b0d2ee92a1d722d6
+SHA1 (patch-ab) = 0ca86059b8e4f9ba59537c6525acf35784e35743
SHA1 (patch-ac) = 676966b0372780af4ee5536276132a04dd038863
-SHA1 (patch-ad) = b8e621acd36811a76a84af82e6f2b5962973e344
-SHA1 (patch-ae) = 225a0bd5195be3d3d75edf021b27bed19d84dc15
-SHA1 (patch-af) = 57946b3837479b641bb002620ae41008f49af995
-SHA1 (patch-ag) = 978fa2a582c5f9d2c8660c0a8d933211e97ef500
-SHA1 (patch-ah) = d7763198df76d1f0783342a8961b59879e8e1241
+SHA1 (patch-ad) = 19364c8dd3f887a59f41556206c8c2d179577932
+SHA1 (patch-ae) = aa8fed958555d6870367fd202a6117ddcb5a1da9
+SHA1 (patch-af) = 5868f44d29c31533bdb012213022e814d3fc3995
+SHA1 (patch-ag) = 3300a1cd565f9edaea3c334a9e278185efbcb7a6
+SHA1 (patch-ah) = dc8ec60631b57668fcef0b296efe3e271cb7fcae
SHA1 (patch-ai) = b80aafbb3849fc8c828b6829d8975b910e4d0fd5
SHA1 (patch-aj) = 39391961fd7929d6a5fb49ecb492585cb821afaa
SHA1 (patch-ak) = 48ddfcf9b7562832402a464437ca485249d371a1
-SHA1 (patch-ao) = 64827309bf91a2018629e28fef20109dde3fbf01
-SHA1 (patch-ap) = 318e99722c78b1120d444d1421f04affc107d028
+SHA1 (patch-al) = e0b4c3ca447f42573def07e8b47209ec6e6ad016
+SHA1 (patch-am) = 12e4d17ded9ca12df9788d34c0f3e3d1ba301e9a
+SHA1 (patch-an) = 7aa54fb1f90e3b2eb767d41fd842f7f4a0561b81
+SHA1 (patch-ao) = 161160f121e9338e807bfe0c5df6cf14457fec62
+SHA1 (patch-ap) = bbb31577e0cc9ffb8ccbce75082ccddd917d7cea
+SHA1 (patch-aq) = a54ba100b779fa13b35c962ba734ee11e093cb28
+SHA1 (patch-ar) = dd88a28f4951ff110949d0d79dc6aee18fc9e065
+SHA1 (patch-as) = 52c3788e2d08b8fccbef3f57fa888b0c2ea52daf
+SHA1 (patch-at) = 209f89cefac326e6c1b99bec4622ba0d6eabe1e4
SHA1 (patch-au) = 6bd507eb448b3fd126042759a3b6f70335401c5b
-SHA1 (patch-ax) = 950e9fd9de885f653f96aebaafc2269f489e2fad
+SHA1 (patch-av) = e79813d88ec48a886688539da34150c5bd229a0a
+SHA1 (patch-aw) = 9e5de9617e6cd59644294695d0ea79427b521ba0
+SHA1 (patch-ax) = 59d31ea4735ed964ac508874c422fe5bfc8efd5e
+SHA1 (patch-ay) = 081b4bc7cf25a8e30b3680b6df7599570ea0db86
+SHA1 (patch-az) = 13901fdef8c13318d585e36820c5e0aa4c28f889
diff -r 9bbd57b4246e -r 8c8d2a37e19b sysutils/fam/patches/patch-aa
--- a/sysutils/fam/patches/patch-aa Fri Nov 19 12:33:13 2004 +0000
+++ b/sysutils/fam/patches/patch-aa Fri Nov 19 12:35:22 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.6 2004/04/18 17:11:08 jmmv Exp $
+$NetBSD: patch-aa,v 1.7 2004/11/19 12:35:22 sketch Exp $
--- configure.ac.orig 2003-11-26 20:47:59.000000000 +0100
+++ configure.ac
@@ -7,7 +7,7 @@
AC_HEADER_STDC
AC_HEADER_DIRENT
-AC_CHECK_HEADERS([fcntl.h limits.h linux/imon.h netinet/in.h rpc/rpc.h rpcsvc/mount.h stddef.h stdlib.h string.h syslog.h sys/imon.h sys/param.h sys/select.h sys/statvfs.h sys/syssgi.h sys/time.h
sys/types.h sys/un.h unistd.h])
-+AC_CHECK_HEADERS([fcntl.h limits.h linux/imon.h netinet/in.h rpc/rpc.h rpcsvc/mount.h stddef.h stdlib.h string.h syslog.h sys/imon.h sys/param.h sys/select.h sys/statvfs.h sys/syssgi.h sys/time.h
sys/types.h sys/un.h unistd.h mntent.h sys/sysmacros.h])
++AC_CHECK_HEADERS([fcntl.h limits.h linux/imon.h netinet/in.h rpc/rpc.h rpcsvc/mount.h stddef.h stdlib.h string.h syslog.h sys/imon.h sys/param.h sys/select.h sys/statvfs.h sys/syssgi.h sys/time.h
sys/types.h sys/un.h unistd.h mntent.h sys/mnttab.h sys/sysmacros.h])
if test "$have_sys_imon_h"; then
MONITOR_FUNCS=IMonIRIX
diff -r 9bbd57b4246e -r 8c8d2a37e19b sysutils/fam/patches/patch-ab
--- a/sysutils/fam/patches/patch-ab Fri Nov 19 12:33:13 2004 +0000
+++ b/sysutils/fam/patches/patch-ab Fri Nov 19 12:35:22 2004 +0000
@@ -1,7 +1,7 @@
-$NetBSD: patch-ab,v 1.3 2004/03/28 22:00:05 minskim Exp $
+$NetBSD: patch-ab,v 1.4 2004/11/19 12:35:22 sketch Exp $
---- config.h.in.orig 2003-01-19 18:40:15.000000000 -0600
-+++ config.h.in
+--- config.h.in.orig 2003-01-20 00:40:15.000000000 +0000
++++ config.h.in 2004-11-08 14:04:04.600109000 +0000
@@ -52,6 +52,9 @@
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
@@ -22,16 +22,29 @@
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
-@@ -120,6 +126,12 @@
+@@ -120,6 +126,15 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if you have the <mntent.h> header file. */
+#undef HAVE_MNTENT_H
+
++/* Define to 1 if you have the <sys/mnttab.h> header file. */
++#undef HAVE_SYS_MNTTAB_H
++
+/* Define to 1 if you have the <sys/sysmacros.h> header file. */
+#undef HAVE_SYS_SYSMACROS_H
+
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
+@@ -180,3 +192,9 @@
+
+ /* Define to `int' if <sys/types.h> doesn't define. */
+ #undef uid_t
++
++/* Use standard POSIX type if BSD type is not available */
++#ifndef u_int32_t
++#include <inttypes.h>
++typedef uint32_t u_int32_t;
++#endif
diff -r 9bbd57b4246e -r 8c8d2a37e19b sysutils/fam/patches/patch-ad
--- a/sysutils/fam/patches/patch-ad Fri Nov 19 12:33:13 2004 +0000
+++ b/sysutils/fam/patches/patch-ad Fri Nov 19 12:35:22 2004 +0000
@@ -1,7 +1,7 @@
-$NetBSD: patch-ad,v 1.4 2004/03/28 22:01:54 minskim Exp $
+$NetBSD: patch-ad,v 1.5 2004/11/19 12:35:22 sketch Exp $
---- src/NFSFileSystem.c++.orig 2003-01-18 08:18:12.000000000 -0600
-+++ src/NFSFileSystem.c++
+--- src/NFSFileSystem.c++.orig 2003-01-18 14:18:12.000000000 +0000
++++ src/NFSFileSystem.c++ 2004-11-08 17:31:41.663685000 +0000
@@ -24,7 +24,7 @@
#include "NFSFileSystem.h"
@@ -11,3 +11,77 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+@@ -41,12 +41,20 @@
+ #define ACREGMIN 3
+ #endif
+
++#if defined(HAVE_SYS_MNTTAB_H)
++NFSFileSystem::NFSFileSystem(const mnttab& mnt)
++#else
+ NFSFileSystem::NFSFileSystem(const mntent& mnt)
++#endif
+ : FileSystem(mnt)
+ {
+ // Extract the host name from the fs name.
+
++#if defined(HAVE_SYS_MNTTAB_H)
++ const char *fsname = mnt.mnt_special;
++#else
+ const char *fsname = mnt.mnt_fsname;
++#endif
+ const char *colon = strchr(fsname, ':');
+ if(colon == NULL)
+ {
+@@ -55,12 +63,12 @@
+ assert(colon);
+ colon = fsname;
+ }
+- char hostname[NAME_MAX + 1];
++ char hostname[MAXPATHLEN + 1];
+ int hostnamelen = colon - fsname;
+- if(hostnamelen > NAME_MAX)
++ if(hostnamelen > MAXPATHLEN)
+ {
+- assert(hostnamelen <= NAME_MAX);
+- hostnamelen = NAME_MAX;
++ assert(hostnamelen <= MAXPATHLEN);
++ hostnamelen = MAXPATHLEN;
+ }
+ strncpy(hostname, fsname, hostnamelen);
+ hostname[hostnamelen] = '\0';
+@@ -84,7 +92,11 @@
+ // acregmin, acregmax, actimeo, and noac options in the mount
+ // options. Otherwise, use defaults.
+
++#if defined(HAVE_SYS_MNTTAB_H)
++ const char * opt = mnt.mnt_mntopts;
++#else
+ const char * opt = mnt.mnt_opts;
++#endif
+
+ bool f_noac = false;
+ bool f_actimeo = false;
+@@ -102,20 +114,20 @@
+ if (strstr(opt, "noac")) {
+ f_noac = true;
+ }
+- if ((p = strstr(opt, "actimeo")))
++ if ((p = strstr((char *)opt, "actimeo")))
+ {
+ if (sscanf(p, "actimeo=%i", &actimeo) == 1) {
+ f_actimeo = true;
+ }
+ }
+
+- if ((p = strstr(opt, "acregmin"))) {
++ if ((p = strstr((char *)opt, "acregmin"))) {
+ if (sscanf(p, "acregmin=%i", &acregmin) == 1) {
+ f_acregmin = true;
+ }
+ }
+
+- if ((p = strstr(opt, "acregmax"))) {
++ if ((p = strstr((char *)opt, "acregmax"))) {
+ if (sscanf(p, "acregmax=%i", &acregmax) == 1) {
+ f_acregmax = true;
+ }
diff -r 9bbd57b4246e -r 8c8d2a37e19b sysutils/fam/patches/patch-ae
--- a/sysutils/fam/patches/patch-ae Fri Nov 19 12:33:13 2004 +0000
+++ b/sysutils/fam/patches/patch-ae Fri Nov 19 12:35:22 2004 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ae,v 1.3 2004/03/28 22:00:05 minskim Exp $
+$NetBSD: patch-ae,v 1.4 2004/11/19 12:35:22 sketch Exp $
---- src/FileSystem.c++.orig 2003-01-18 08:18:12.000000000 -0600
-+++ src/FileSystem.c++
-@@ -22,7 +22,7 @@
+--- src/FileSystem.c++.orig 2003-01-18 14:18:12.000000000 +0000
++++ src/FileSystem.c++ 2004-11-08 15:39:34.558377000 +0000
+@@ -22,14 +22,20 @@
#include "FileSystem.h"
@@ -11,3 +11,32 @@
#include <string.h>
#include "Event.h"
+
++#if defined(HAVE_SYS_MNTTAB_H)
++FileSystem::FileSystem(const mnttab& mnt)
++ : mydir (strcpy(new char[strlen(mnt.mnt_mountp) + 1], mnt.mnt_mountp)),
++ myfsname(strcpy(new char[strlen(mnt.mnt_special) + 1], mnt.mnt_special))
++#else
+ FileSystem::FileSystem(const mntent& mnt)
+ : mydir (strcpy(new char[strlen(mnt.mnt_dir ) + 1], mnt.mnt_dir )),
+ myfsname(strcpy(new char[strlen(mnt.mnt_fsname) + 1], mnt.mnt_fsname))
++#endif
+ { }
+
+ FileSystem::~FileSystem()
+@@ -40,9 +46,15 @@
+ }
+
+ bool
++#if defined(HAVE_SYS_MNTTAB_H)
++FileSystem::matches(const mnttab& mnt) const
++{
++ return !strcmp(mydir, mnt.mnt_mountp) && !strcmp(myfsname, mnt.mnt_special);
++#else
+ FileSystem::matches(const mntent& mnt) const
+ {
+ return !strcmp(mydir, mnt.mnt_dir) && !strcmp(myfsname, mnt.mnt_fsname);
++#endif
+ }
+
+ void
diff -r 9bbd57b4246e -r 8c8d2a37e19b sysutils/fam/patches/patch-af
--- a/sysutils/fam/patches/patch-af Fri Nov 19 12:33:13 2004 +0000
+++ b/sysutils/fam/patches/patch-af Fri Nov 19 12:35:22 2004 +0000
@@ -1,7 +1,7 @@
-$NetBSD: patch-af,v 1.3 2004/03/28 22:00:05 minskim Exp $
+$NetBSD: patch-af,v 1.4 2004/11/19 12:35:22 sketch Exp $
Home |
Main Index |
Thread Index |
Old Index