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: