Subject: pkg/25405: sysutils/fam broken on -current due to statvfs, patch included
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <space7@meinberlikomm.de>
List: pkgsrc-bugs
Date: 04/30/2004 14:37:02
>Number: 25405
>Category: pkg
>Synopsis: sysutils/fam doesn't build on -current, statfs -> statvfs
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Apr 30 12:38:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Stefan Krüger
>Release: NetBSD 2.0E
>Organization:
>Environment:
System: NetBSD dsl-217-199-71-50.berlikomm.net 2.0E NetBSD 2.0E (PLUTO) #1: Fri Apr 30 01:05:21 CEST 2004 space7@dsl-62-220-19-176.berlikomm.net:/usr/obj/cvsroot/src/sys/arch/i386/compile/PLUTO i386
Architecture: i386
Machine: i386
>Description:
sysutils/fam doesn't build -current
build log:
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -DFAM_CONF=\"/usr/pkg/etc/fam.conf\" -DNDEBUG -Os -pipe -march=pentium3 -c -o mntent_compat.o `test -f 'mntent_compat.c++' || echo './'`mntent_compat.c++
mntent_compat.c++: In function `mntent* statfs_to_mntent(statfs*)':
etc etc etc...
>How-To-Repeat:
on -current, cd ../pkgsrc/sysutils/fam; make
>Fix:
diff -uNr fam.orig/distinfo fam/distinfo
--- fam.orig/distinfo 2004-04-30 14:30:38.000000000 +0200
+++ fam/distinfo 2004-04-30 14:29:00.000000000 +0200
@@ -14,6 +14,6 @@
SHA1 (patch-aj) = 39391961fd7929d6a5fb49ecb492585cb821afaa
SHA1 (patch-ak) = 48ddfcf9b7562832402a464437ca485249d371a1
SHA1 (patch-ao) = 64827309bf91a2018629e28fef20109dde3fbf01
-SHA1 (patch-ap) = 256910675fad9922c0bca47c5b080eb96b51fe1d
+SHA1 (patch-ap) = aab5c139a5941fab9c570db70c0d170a678872d2
SHA1 (patch-au) = 6bd507eb448b3fd126042759a3b6f70335401c5b
SHA1 (patch-ax) = 950e9fd9de885f653f96aebaafc2269f489e2fad
diff -uNr fam.orig/patches/patch-ap fam/patches/patch-ap
--- fam.orig/patches/patch-ap 2004-04-30 14:30:34.000000000 +0200
+++ fam/patches/patch-ap 2004-04-30 14:28:53.000000000 +0200
@@ -1,8 +1,6 @@
-$NetBSD: patch-ap,v 1.4 2004/04/14 20:53:08 adam Exp $
-
---- src/mntent_compat.c++.orig Wed Apr 14 22:41:20 2004
-+++ src/mntent_compat.c++
-@@ -0,0 +1,176 @@
+--- src/mntent_compat.c++.orig 2004-04-30 14:24:58.000000000 +0200
++++ src/mntent_compat.c++ 2004-04-30 14:28:45.000000000 +0200
+@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 1980, 1989, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
@@ -48,6 +46,9 @@
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
++#ifdef HAVE_SYS_STATVFS_H
++# include <sys/statvfs.h>
++#endif
+
+static int pos = -1;
+static int mntsize = -1;
@@ -141,14 +142,22 @@
+}
+
+static struct mntent *
++#ifdef HAVE_SYS_STATVFS_H
++statfs_to_mntent (struct statvfs *mntbuf)
++#else
+statfs_to_mntent (struct statfs *mntbuf)
++#endif
+{
+ static char opts_buf[40], *tmp;
+
+ _mntent.mnt_fsname = mntbuf->f_mntfromname;
+ _mntent.mnt_dir = mntbuf->f_mntonname;
+ _mntent.mnt_type = mntbuf->f_fstypename;
++#ifdef HAVE_SYS_STATVFS_H
++ tmp = flags2opts (mntbuf->f_flag);
++#else
+ tmp = flags2opts (mntbuf->f_flags);
++#endif
+ if (tmp) {
+ opts_buf[sizeof(opts_buf)-1] = '\0';
+ strncpy (opts_buf, tmp, sizeof(opts_buf)-1);
@@ -164,7 +173,11 @@
+struct mntent *
+getmntent (FILE *fp)
+{
++#ifdef HAVE_SYS_STATVFS_H
++ struct statvfs *mntbuf;
++#else
+ struct statfs *mntbuf;
++#endif
+
+ if (pos == -1 || mntsize == -1)
+ mntsize = getmntinfo (&mntbuf, MNT_NOWAIT);
>Release-Note:
>Audit-Trail:
>Unformatted: