ports/101913: [PATCH] devel/fam: update to 2.6.10, take maintainership

Stanislav Sedov ssedov at mbsd.msk.ru
Sat Aug 12 11:00:36 UTC 2006


>Number:         101913
>Category:       ports
>Synopsis:       [PATCH] devel/fam: update to 2.6.10, take maintainership
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug 12 11:00:32 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Stanislav Sedov
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
MBSD labs, Inc.
>Environment:
System: FreeBSD fonon.realnet 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Wed Aug  2 21:44:37 MSD
>Description:
- Update to 2.6.10
- Take maintainership

The following files was added:
- files/patch-configure.in
- files/patch-fam_Directory.c++
- files/patch-fam_DirectoryScanner.c++
- files/patch-fam_DirectoryScanner.h
- files/patch-fam_FileSystem.c++
- files/patch-fam_FileSystemTable.c++
- files/patch-fam_Makefile.am
- files/patch-fam_StringTable.h
- files/pkg-message.in

I removed the following files:
- files/patch-fam-Scheduler.h
- pkg-message

>How-To-Repeat:
>Fix:

--- fam-2.6.10.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/devel/fam/Makefile /var/tmp/ruby/fam/Makefile
--- /usr/ports/devel/fam/Makefile	Sat Apr 15 12:26:46 2006
+++ /var/tmp/ruby/fam/Makefile	Sat Aug 12 00:41:56 2006
@@ -6,24 +6,24 @@
 #
 
 PORTNAME=		fam
-PORTVERSION=		2.6.9
-PORTREVISION=		6
+PORTVERSION=		2.6.10
+PORTREVISION=		0
 CATEGORIES=		devel
 MASTER_SITES=		ftp://oss.sgi.com/projects/fam/download/
-PATCH_SITES=		ftp://oss.sgi.com/projects/fam/download/patches/
-PATCH_DIST_STRIP=	-p1
-PATCHFILES=		freebsd-mntent.patch # freebsd-build.patch
 DIST_SUBDIR=		${PORTNAME}
 
-MAINTAINER=	ports at FreeBSD.org
+MAINTAINER=	ssedov at mbsd.msk.ru
 COMMENT=	A file alteration monitor
 
-CFLAGS+=		-Wno-deprecated
+CFLAGS+=	-Wno-deprecated
 
-USE_AUTOTOOLS=	automake:15 autoconf:253
-CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+USE_AUTOTOOLS=	aclocal:19 automake:19 autoconf:259 libtool:15
+AUTOMAKE_ARGS=	-c -a
 USE_GMAKE=	yes
-INSTALLS_SHLIB=	yes
+USE_GNOME=	gnometarget
+USE_LDCONFIG=	yes
+ACLOCAL_ARGS=	--acdir=${ACLOCAL_DIR} -I ${LOCALBASE}/share/aclocal
+SUB_FILES=	pkg-message
 
 MAN1=		fam.1m
 MAN3=		fam.3x
@@ -35,11 +35,7 @@
 	@${MV} ${WRKSRC}/Makefile.am ${WRKSRC}/Makefile.am.orig
 	@${SED} -e s/util// -e /SUBDIRS/q \
 		<${WRKSRC}/Makefile.am.orig >${WRKSRC}/Makefile.am
-	@${RM} -f ${WRKSRC}/Makefile.am.orig
-	@${RM} -f ${WRKSRC}/fam/mntent*
 	@${CP} ${FILESDIR}/mntent* ${WRKSRC}/fam
-	@${REINPLACE_CMD} -e 's|$$lt_target|$$host|' \
-		-e '/^_LT_AC_SHELL_INIT/d' ${WRKSRC}/aclocal.m4
 
 post-install:
 	@${CAT} ${PKGMESSAGE}
diff -ruN --exclude=CVS /usr/ports/devel/fam/distinfo /var/tmp/ruby/fam/distinfo
--- /usr/ports/devel/fam/distinfo	Sun Jan 22 13:28:08 2006
+++ /var/tmp/ruby/fam/distinfo	Sat Aug 12 00:33:46 2006
@@ -1,6 +1,3 @@
-MD5 (fam/fam-2.6.9.tar.gz) = 8b647472152940b9789e649fa2734443
-SHA256 (fam/fam-2.6.9.tar.gz) = 5a19d8d6be0dd23c058e31debe0e6e7da479b321abf26017e7c28f12851eebb2
-SIZE (fam/fam-2.6.9.tar.gz) = 282627
-MD5 (fam/freebsd-mntent.patch) = d1509acc51463cc7d224ee9afb783e09
-SHA256 (fam/freebsd-mntent.patch) = 785e148691f74e5b640b06c388ed81fc2db83847770b882baa0ed2547a620a28
-SIZE (fam/freebsd-mntent.patch) = 11188
+MD5 (fam/fam-2.6.10.tar.gz) = 1c5a2ea659680bdd1e238d7828a857a7
+SHA256 (fam/fam-2.6.10.tar.gz) = 885ced3480aef3cee519a459a572e31cd2fd5e24bcd35b1d0c8833361699026e
+SIZE (fam/fam-2.6.10.tar.gz) = 321189
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/mntent.h /var/tmp/ruby/fam/files/mntent.h
--- /usr/ports/devel/fam/files/mntent.h	Tue Sep 10 15:49:31 2002
+++ /var/tmp/ruby/fam/files/mntent.h	Fri Aug 11 22:32:30 2006
@@ -1,67 +1,56 @@
-/* -*-C++-*-
+/*
+ *  mntent
+ *  mntent.h - compatability header for FreeBSD
+ *
+ *  Copyright (c) 2001 David Rufino <daverufino at btinternet.com>
+ *  All rights reserved.
+ *
+ * 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.
+ *
+ * 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.
+ */
 
-  mntent.h
-
-  Copyright (C) 2002 Alan Eldridge
-  
-  This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2, or (at your option)
-  any later version.
-  
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-  
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
-
-  $Id$
-
-  2002/09/08 alane at geeksrus.net
-*/
-
-#ifdef HAVE_MNTENT_H
+#if defined(HAVE_MNTENT_H)
 #include <mntent.h>
 #else
-
-#ifndef mntent_h_
-#define mntent_h_
-
+#ifndef _MNTENT_H
+#define _MNTENT_H
 #include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/ucred.h>
-#include <sys/mount.h>
 
-#define	MOUNTED	"dummy"
-#define MNTTYPE_NFS "nfs"
+#define MOUNTED "dummy"
 
-const int MOPTSLEN (256 - (MNAMELEN * 2 + MFSNAMELEN + 2 * sizeof(int)));
+#define MNTTYPE_NFS "nfs"
 
 struct mntent {
-public:  
-  char	mnt_fsname[ MNAMELEN ];
-  char	mnt_dir[ MNAMELEN ];
-  char	mnt_type[ MFSNAMELEN ];
-  char	mnt_opts[ MOPTSLEN ];
-  int	mnt_freq, mnt_passno;
-private:
-  void clear();
-public:
-  mntent() {
-    clear();
-  }
-  struct mntent *from_statfs(struct statfs *pst);
+	char *mnt_fsname;
+	char *mnt_dir;
+	char *mnt_type;
+	char *mnt_opts;
+	int mnt_freq;
+	int mnt_passno;
 };
 
-FILE *setmntent(const char *szfn, char *szrw);
-struct mntent *getmntent(FILE *pf);
-char *hasmntopt(const struct mntent *pmnt, const char *szopt);
-int endmntent(FILE *pf);
+#define setmntent(x,y) ((FILE *)0x1)
+struct mntent *getmntent __P ((FILE *fp));
+char *hasmntopt __P ((const struct mntent *mnt, const char *option));
+#define endmntent(x) ((int)1)
 
-#endif /* mntent_h_ */
-#endif /* not HAVE_MNTENT_H */
+#endif /* _MNTENT_H */
+#endif /* HAVE_MNTENT_H */
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/mntent_compat.c++ /var/tmp/ruby/fam/files/mntent_compat.c++
--- /usr/ports/devel/fam/files/mntent_compat.c++	Tue Dec  6 09:52:04 2005
+++ /var/tmp/ruby/fam/files/mntent_compat.c++	Sat Aug 12 00:39:09 2006
@@ -1,156 +1,174 @@
-/* -*-C++-*-
+/*
+ * Copyright (c) 1980, 1989, 1993, 1994
+ *      The Regents of the University of California.  All rights reserved.
+ * Copyright (c) 2001
+ *      David Rufino <daverufino at btinternet.com>
+ * Copyright (c) 2006
+ *      Stanislav Sedov <ssedov at mbsd.msk.ru>
+ *
+ * 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.
+ */
 
-  mntentemu.c++
-
-  Copyright (C) 2002 Alan Eldridge
-  
-  This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2, or (at your option)
-  any later version.
-  
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-  
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
-
-  $Id: mntent_compat.cc,v 1.3 2002/09/08 18:42:20 alane Exp $
-
-  2002/09/08 alane at geeksrus.net
-*/
-
-#ifndef HAVE_MNTENT_H
+/* most of this was ripped from the mount(3) source */
 
 #include "config.h"
 #include "mntent.h"
-
-#include <string>
-
-// globals (yuck, but easier for debugging)
-
-mntent	G_mntent;
-int	G_mntpos;
-int	G_mntsize;
-bool	G_mntfOpen = false;
-struct statfs *G_pmntstat = 0;
-
-// map option flags to names
-
-struct optmap {
-  int fl;
-  std::string st;
-};
-
-static struct optmap omap[] = {
-  { MNT_SYNCHRONOUS,	"sync"		},
-  { MNT_NOEXEC,		"noexec"	},
-  { MNT_NOSUID,		"nosuid"	},
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
+
+static int pos = -1;
+static int mntsize = -1;
+static struct mntent _mntent;
+
+struct {
+	int		m_flag;
+	const char	*m_option;
+} mntoptions[] = {
+	{ MNT_ASYNC,		"async" },
+	{ MNT_NOATIME,		"noatime"},
+	{ MNT_NOEXEC,		"noexec"},
+	{ MNT_NOSUID,		"nosuid"},
+	{ MNT_NOSYMFOLLOW,	"nosymfollow"},
+	{ MNT_SYNCHRONOUS,	"sync"},
+	{ MNT_UNION,		"union"},
+	{ MNT_NOCLUSTERR,	"noclusterr"},
+	{ MNT_NOCLUSTERW,	"noclusterw"},
+	{ MNT_SUIDDIR,		"suiddir"},
+#ifdef MNT_SNAPSHOT
+	{ MNT_SNAPSHOT,		"snapshot"},
+#endif
+#ifdef MNT_MULTILABEL
+	{ MNT_MULTILABEL,	"multilabel"},
+#endif
+#ifdef MNT_ACLS
+	{ MNT_ACLS,		"acls"},
+#endif
 #ifdef MNT_NODEV
-  { MNT_NODEV,		"nodev"		},
+	{ MNT_NODEV,		"nodev"},
 #endif
-  { MNT_UNION,		"union"		},
-  { MNT_ASYNC,		"async"		},
-  { MNT_NOATIME,	"noatime"	},
-  { MNT_NOCLUSTERR,	"noclusterr"	},
-  { MNT_NOCLUSTERW,	"noclusterw"	},
-  { MNT_NOSYMFOLLOW,	"nosymfollow"	},
-  { MNT_SUIDDIR,	"suiddir"	},
-  { 0, "noop" }
 };
 
-// zap everything for clarity
-
-void
-mntent::clear()
-{
-  memset(mnt_fsname, 0, sizeof(mnt_fsname));
-  memset(mnt_dir, 0, sizeof(mnt_dir));
-  memset(mnt_type, 0, sizeof(mnt_type));
-  memset(mnt_opts, 0, sizeof(mnt_opts));
-  mnt_freq = mnt_passno = 0;
-}
-
-// fake it from a statfs struct
-
-mntent *
-mntent::from_statfs(struct statfs *pst)
-{
-
-  clear();
-  strcpy(mnt_fsname, pst->f_mntfromname);
-  strcpy(mnt_dir, pst->f_mntonname);
-  strcpy(mnt_type, pst->f_fstypename);
-  mnt_freq = mnt_passno = 0;
-
-  std::string opts;
-  int fl = pst->f_flags;
-
-  opts += (fl & MNT_RDONLY) ? "ro" : "rw";
-  for (optmap *pmp = omap; pmp->fl != 0; pmp++) {
-    if ((fl & pmp->fl) != 0) {
-      opts += (" " + pmp->st);
-    }
-  }
-  strcpy(mnt_opts, opts.c_str());
-
-  return this;
-}
-
-// "rewind" the mtab file 
-
-FILE *
-setmntent(const char *, char *)
-{
-  if (!G_mntfOpen) {
-    G_mntfOpen = true;
-  }
-
-  G_mntpos = 0;
-  G_mntsize = getmntinfo(&G_pmntstat, MNT_NOWAIT);
-
-  return reinterpret_cast<FILE *>(1);
-}
-
-// return ptr to opt string if present
+#define N_OPTS (sizeof(mntoptions) / sizeof(*mntoptions))
 
 char *
-hasmntopt(const mntent *pmnt, const char *szopt)
+hasmntopt (const struct mntent *mnt, const char *option)
 {
-  std::string opt(szopt);
-  std::string mntopts(pmnt->mnt_opts);
+	int found;
+	char *opt, *optbuf;
 
-  std::string::size_type pos = mntopts.find(opt);
-  const char *szret = (pos == std::string::npos) ? "" : pmnt->mnt_opts + pos;
-
-  return const_cast<char *>(szret);
+	optbuf = strdup(mnt->mnt_opts);
+	found = 0;
+	for (opt = optbuf; (opt = strtok(opt, " ")) != NULL; opt = NULL) {
+		if (!strcasecmp(opt, option)) {
+			opt = opt - optbuf + mnt->mnt_opts;
+			free (optbuf);
+			return (opt);
+		}
+	}
+	free (optbuf);
+	return (NULL);
+}
+
+static char *
+catopt (char *s0, const char *s1)
+{
+	size_t newlen;
+	char *cp;
+
+	if (s1 == NULL || *s1 == '\0')
+		return s0;
+
+	if (s0 != NULL) {
+		newlen = strlen(s0) + strlen(s1) + 1 + 1;
+		if ((cp = (char *)realloc(s0, newlen)) == NULL)
+			return (NULL);
+
+		(void)strcat(cp, " ");
+		(void)strcat(cp, s1);
+	} else
+		cp = strdup(s1);
+
+	return (cp);
+}
+
+
+static char *
+flags2opts (int flags)
+{
+	char *res = NULL;
+	int i;
+
+	res = catopt(res, (flags & MNT_RDONLY) ? "ro" : "rw");
+
+	for (i = 0; i < N_OPTS; i++)
+		if (flags & mntoptions[i].m_flag)
+			res = catopt(res, mntoptions[i].m_option);
+	return res;
+}
+
+static struct mntent *
+statfs_to_mntent (struct statfs *mntbuf)
+{
+	static char opts_buf[40], *tmp;
+	
+	_mntent.mnt_fsname = mntbuf->f_mntfromname;
+	_mntent.mnt_dir = mntbuf->f_mntonname;
+	_mntent.mnt_type = mntbuf->f_fstypename;
+	tmp = flags2opts (mntbuf->f_flags);
+	if (tmp) {
+		opts_buf[sizeof(opts_buf) - 1] = '\0';
+		strncpy (opts_buf, tmp, sizeof(opts_buf)-1);
+		free (tmp);
+	} else {
+		*opts_buf = '\0';
+	}
+	_mntent.mnt_opts = opts_buf;	
+	_mntent.mnt_freq = _mntent.mnt_passno = 0;
+	return (&_mntent);
 }
 
-// get next mntent until all gone, then return 0
-
 struct mntent *
-getmntent(FILE *)
+getmntent (FILE *fp)
 {
-  if (!G_mntfOpen) {
-    return 0;
-  } else if (G_mntpos < G_mntsize) {
-    return G_mntent.from_statfs(G_pmntstat + G_mntpos++);
-  } else {
-    G_mntfOpen = false;
-    return 0;
-  }
-}
+	struct statfs *mntbuf;
 
-// "close" the mtab file
+	if (pos == -1 || mntsize == -1)
+		mntsize = getmntinfo (&mntbuf, MNT_NOWAIT);
 
-int 
-endmntent(FILE *)
-{
-  G_mntfOpen = false;
-  return 0;
-}
+	++pos;
+	if (pos == mntsize) {
+		pos = mntsize = -1;
+		return (NULL);
+	}
 
-#endif /* ifndef HAVE_MNTENT_H */
+	return (statfs_to_mntent (&mntbuf[pos]));
+}
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-configure.in /var/tmp/ruby/fam/files/patch-configure.in
--- /usr/ports/devel/fam/files/patch-configure.in	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-configure.in	Fri Aug 11 22:24:34 2006
@@ -0,0 +1,23 @@
+--- configure.in.orig	Fri Aug 11 22:23:19 2006
++++ configure.in	Fri Aug 11 22:24:34 2006
+@@ -308,11 +308,6 @@
+ dnl If we don't have MNTTYPE_NFS , we croak.
+ dnl
+ 
+-FAM_DECL_IN_MNTENT(MNTTYPE_NFS, ,AC_MSG_ERROR(Didn't find MNTTYPE_NFS in mntent.h))
+-FAM_DECL_IN_MNTENT(MNTTYPE_NFS2, AC_DEFINE(HAVE_MNTTYPE_NFS2))
+-FAM_DECL_IN_MNTENT(MNTTYPE_NFS3, AC_DEFINE(HAVE_MNTTYPE_NFS3))
+-FAM_DECL_IN_MNTENT(MNTTYPE_CACHEFS, AC_DEFINE(HAVE_MNTTYPE_CACHEFS))
+-
+ dnl
+ dnl  Test for bindresvport() prototype.
+ dnl
+@@ -563,8 +558,6 @@
+     man/fam.1m
+     support/Makefile
+     test/Makefile
+-    util/Makefile
+-    util/editconf/Makefile
+ )
+ 
+ dnl 
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam-Scheduler.h /var/tmp/ruby/fam/files/patch-fam-Scheduler.h
--- /usr/ports/devel/fam/files/patch-fam-Scheduler.h	Fri Sep  6 14:02:43 2002
+++ /var/tmp/ruby/fam/files/patch-fam-Scheduler.h	Thu Jan  1 05:00:00 1970
@@ -1,14 +0,0 @@
---- fam/Scheduler.h~	Tue Jul 16 02:14:41 2002
-+++ fam/Scheduler.h	Fri Sep  6 03:46:29 2002
-@@ -105,7 +105,11 @@
-     //  for the corresponding I/O type.
- 
-     struct IOTypeInfo {
-+#if defined(__FreeBSD__) && defined(__GNUC__) && (__GNUC__ > 2)
-+	FDInfo::FDIOHandler FDInfo::*iotype;
-+#else
- 	FDInfo::FDIOHandler FDInfo::*const iotype;
-+#endif
- 	unsigned int nbitsset;		// number of bits set in fds
- 	fd_set fds;
- 	IOTypeInfo(FDInfo::FDIOHandler FDInfo::* a_iotype) :
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam_Directory.c++ /var/tmp/ruby/fam/files/patch-fam_Directory.c++
--- /usr/ports/devel/fam/files/patch-fam_Directory.c++	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-fam_Directory.c++	Sat Aug 12 00:10:38 2006
@@ -0,0 +1,11 @@
+--- fam/Directory.c++.orig	Tue Apr 15 10:21:29 2003
++++ fam/Directory.c++	Sat Aug 12 00:10:16 2006
+@@ -26,7 +26,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <stdio.h>
+-#include <sys/dir.h>
++#include <dirent.h>
+ #include <sys/stat.h>
+ #include <sys/wait.h>
+ #include <unistd.h>
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam_DirectoryScanner.c++ /var/tmp/ruby/fam/files/patch-fam_DirectoryScanner.c++
--- /usr/ports/devel/fam/files/patch-fam_DirectoryScanner.c++	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-fam_DirectoryScanner.c++	Sat Aug 12 00:13:34 2006
@@ -0,0 +1,11 @@
+--- fam/DirectoryScanner.c++.orig	Sat Aug 12 00:12:06 2006
++++ fam/DirectoryScanner.c++	Sat Aug 12 00:13:23 2006
+@@ -100,7 +100,7 @@
+     
+     while (dir && ready)
+     {
+-	struct direct *dp = readdir(dir);
++	struct dirent *dp = readdir(dir);
+ 	if (dp == NULL)
+ 	{   closedir(dir);
+ 	    dir = NULL;
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam_DirectoryScanner.h /var/tmp/ruby/fam/files/patch-fam_DirectoryScanner.h
--- /usr/ports/devel/fam/files/patch-fam_DirectoryScanner.h	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-fam_DirectoryScanner.h	Sat Aug 12 00:10:32 2006
@@ -0,0 +1,11 @@
+--- fam/DirectoryScanner.h.orig	Tue Apr 15 10:21:30 2003
++++ fam/DirectoryScanner.h	Sat Aug 12 00:10:29 2006
+@@ -27,7 +27,7 @@
+ 
+ #include <stddef.h>
+ #include <sys/types.h>
+-#include <sys/dir.h>
++#include <dirent.h>
+ 
+ #include "Event.h"
+ 
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam_FileSystem.c++ /var/tmp/ruby/fam/files/patch-fam_FileSystem.c++
--- /usr/ports/devel/fam/files/patch-fam_FileSystem.c++	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-fam_FileSystem.c++	Fri Aug 11 22:26:48 2006
@@ -0,0 +1,11 @@
+--- fam/FileSystem.c++.orig	Fri Aug 11 22:26:04 2006
++++ fam/FileSystem.c++	Fri Aug 11 22:26:26 2006
+@@ -22,7 +22,7 @@
+ 
+ #include "FileSystem.h"
+ 
+-#include <mntent.h>
++#include "mntent.h"
+ #include <string.h>
+ 
+ #include "Event.h"
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam_FileSystemTable.c++ /var/tmp/ruby/fam/files/patch-fam_FileSystemTable.c++
--- /usr/ports/devel/fam/files/patch-fam_FileSystemTable.c++	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-fam_FileSystemTable.c++	Fri Aug 11 22:28:52 2006
@@ -0,0 +1,10 @@
+--- fam/FileSystemTable.c++.orig	Fri Aug 11 22:27:15 2006
++++ fam/FileSystemTable.c++	Fri Aug 11 22:28:29 2006
+@@ -255,7 +255,6 @@
+     //  create_fs_by_name initializes our "root" member variable.
+     if (!fs_by_name)
+     {   create_fs_by_name();
+-	mtab_watcher = new InternalClient(mtab_name, mtab_event_handler, NULL);
+     }
+ 
+     cr.become_user();
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam_Makefile.am /var/tmp/ruby/fam/files/patch-fam_Makefile.am
--- /usr/ports/devel/fam/files/patch-fam_Makefile.am	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-fam_Makefile.am	Fri Aug 11 22:29:39 2006
@@ -0,0 +1,10 @@
+--- fam/Makefile.am.orig	Fri Aug 11 22:29:03 2006
++++ fam/Makefile.am	Fri Aug 11 22:29:18 2006
+@@ -72,6 +72,7 @@
+   main.c++ \
+   timeval.c++ \
+   timeval.h \
++  mntent_compat.c++ \
+   @IMON_FUNCS at .c++
+ 
+ EXTRA_fam_SOURCES = IMonIrix.c++ IMonLinux.c++ IMonNone.c++
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/patch-fam_StringTable.h /var/tmp/ruby/fam/files/patch-fam_StringTable.h
--- /usr/ports/devel/fam/files/patch-fam_StringTable.h	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/patch-fam_StringTable.h	Fri Aug 11 22:30:23 2006
@@ -0,0 +1,10 @@
+--- fam/StringTable.h.orig	Fri Aug 11 22:29:55 2006
++++ fam/StringTable.h	Fri Aug 11 22:30:12 2006
+@@ -25,6 +25,7 @@
+ 
+ #include <assert.h>
+ #include <string.h>
++#include "mntent.h"
+ 
+ //  A StringTable maps C strings onto values.  It is a cheap O(n)
+ //  implementation, suitable only for small tables that are
diff -ruN --exclude=CVS /usr/ports/devel/fam/files/pkg-message.in /var/tmp/ruby/fam/files/pkg-message.in
--- /usr/ports/devel/fam/files/pkg-message.in	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/fam/files/pkg-message.in	Sat Aug 12 00:40:55 2006
@@ -0,0 +1,31 @@
+************************************************************************
+
+1. In order to run this port, please add the following line to /etc/rpc if
+it is not already there:
+
+--------------------------------------------------------------------
+sgi_fam		391002
+--------------------------------------------------------------------
+
+2. To run fam from inetd (the recommended method), then please add the
+following lines to /etc/inetd.conf if they are not already there:
+
+--------------------------------------------------------------------
+# FAM: File Alteration Monitor [devel/fam]
+sgi_fam/1-2	stream rpc/tcp wait root %%LOCALBASE%%/bin/fam	fam
+--------------------------------------------------------------------
+
+After modifying /etc/inetd.conf, you must (as root) run:
+
+	killall -HUP inetd
+
+Fam also requires that portmapper is running.  Add the appropriate
+entry to /etc/rc.conf:
+
+For 4.x:
+Add portmap_enable="YES" and either reboot or run /usr/sbin/portmap.
+
+For 5.x and later:
+Add rpcbind_enable="YES" and either reboot or run /etc/rc.d/rpcbind start.
+
+************************************************************************
diff -ruN --exclude=CVS /usr/ports/devel/fam/pkg-message /var/tmp/ruby/fam/pkg-message
--- /usr/ports/devel/fam/pkg-message	Sat May 17 05:34:06 2003
+++ /var/tmp/ruby/fam/pkg-message	Thu Jan  1 05:00:00 1970
@@ -1,31 +0,0 @@
-************************************************************************
-
-1. In order to run this port, please add the following line to /etc/rpc if
-it is not already there:
-
-==8<====8<====8<====8<====8<====8<====8<====8<====8<====8<==
-sgi_fam		391002
-==8<====8<====8<====8<====8<====8<====8<====8<====8<====8<==
-
-2. To run fam from inetd (the recommended method), then please add the
-following lines to /etc/inetd.conf if they are not already there:
-
-==8<====8<====8<====8<====8<====8<====8<====8<====8<====8<==
-# FAM: File Alteration Monitor [devel/fam]
-sgi_fam/1-2	stream rpc/tcp wait root /usr/local/bin/fam	fam
-==8<====8<====8<====8<====8<====8<====8<====8<====8<====8<==
-
-After modifying /etc/inetd.conf, you must (as root) run:
-
-	killall -HUP inetd
-
-Fam also requires that portmapper is running.  Add the appropriate
-entry to /etc/rc.conf:
-
-For 4.x:
-Add portmap_enable="YES" and either reboot or run /usr/sbin/portmap.
-
-For 5.x:
-Add rpcbind_enable="YES" and either reboot or run /usr/sbin/rpcbind.
-
-************************************************************************
diff -ruN --exclude=CVS /usr/ports/devel/fam/pkg-plist /var/tmp/ruby/fam/pkg-plist
--- /usr/ports/devel/fam/pkg-plist	Tue Aug  3 21:49:35 2004
+++ /var/tmp/ruby/fam/pkg-plist	Sat Aug 12 00:44:38 2006
@@ -5,4 +5,5 @@
 lib/libfam.la
 lib/libfam.so
 lib/libfam.so.0
- at unexec rm -f %D/etc/rc.d/fam.sh || true
+ at comment For non-standart prefixes
+ at unexec rm -f %D/libdata/ldconfig/fam || true
--- fam-2.6.10.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list