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