|
Bernhard M. Wiedemann |
1250f9 |
Prefer sys/vfs.h, as statvfs stats all filesystems again
|
|
Bernhard M. Wiedemann |
1250f9 |
--- ./configure.ac.orig 2011-05-12 12:36:32.000000000 +0000
|
|
Bernhard M. Wiedemann |
1250f9 |
+++ ./configure.ac 2011-05-12 12:36:42.000000000 +0000
|
|
Bernhard M. Wiedemann |
1250f9 |
@@ -402,25 +402,25 @@ dnl
|
|
Bernhard M. Wiedemann |
1250f9 |
found_struct_statfs=no
|
|
Bernhard M. Wiedemann |
1250f9 |
|
|
Bernhard M. Wiedemann |
1250f9 |
if test X$found_struct_statfs = Xno ; then
|
|
Bernhard M. Wiedemann |
1250f9 |
-dnl Solaris 2.6+ wants to use statvfs
|
|
Bernhard M. Wiedemann |
1250f9 |
+dnl first try including sys/vfs.h
|
|
Bernhard M. Wiedemann |
1250f9 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
Bernhard M. Wiedemann |
1250f9 |
#ifdef HAVE_SYS_TYPES_H
|
|
Bernhard M. Wiedemann |
1250f9 |
#include <sys/types.h>
|
|
Bernhard M. Wiedemann |
1250f9 |
#endif
|
|
Bernhard M. Wiedemann |
1250f9 |
-#include <sys/statvfs.h> ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h)
|
|
Bernhard M. Wiedemann |
1250f9 |
- AC_DEFINE(STATFS_IN_SYS_STATVFS, 1,
|
|
Bernhard M. Wiedemann |
1250f9 |
- [statfs in <sys/statvfs.h> (for solaris 2.6+ systems)])
|
|
Bernhard M. Wiedemann |
1250f9 |
+#include <sys/vfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h)
|
|
Bernhard M. Wiedemann |
1250f9 |
+ AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in <sys/vfs.h> (for linux systems)])
|
|
Bernhard M. Wiedemann |
1250f9 |
found_struct_statfs=yes],[])
|
|
Bernhard M. Wiedemann |
1250f9 |
fi
|
|
Bernhard M. Wiedemann |
1250f9 |
|
|
Bernhard M. Wiedemann |
1250f9 |
if test X$found_struct_statfs = Xno ; then
|
|
Bernhard M. Wiedemann |
1250f9 |
-dnl first try including sys/vfs.h
|
|
Bernhard M. Wiedemann |
1250f9 |
+dnl Solaris 2.6+ wants to use statvfs
|
|
Bernhard M. Wiedemann |
1250f9 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
Bernhard M. Wiedemann |
1250f9 |
#ifdef HAVE_SYS_TYPES_H
|
|
Bernhard M. Wiedemann |
1250f9 |
#include <sys/types.h>
|
|
Bernhard M. Wiedemann |
1250f9 |
#endif
|
|
Bernhard M. Wiedemann |
1250f9 |
-#include <sys/vfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h)
|
|
Bernhard M. Wiedemann |
1250f9 |
- AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in <sys/vfs.h> (for linux systems)])
|
|
Bernhard M. Wiedemann |
1250f9 |
+#include <sys/statvfs.h> ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h)
|
|
Bernhard M. Wiedemann |
1250f9 |
+ AC_DEFINE(STATFS_IN_SYS_STATVFS, 1,
|
|
Bernhard M. Wiedemann |
1250f9 |
+ [statfs in <sys/statvfs.h> (for solaris 2.6+ systems)])
|
|
Bernhard M. Wiedemann |
1250f9 |
found_struct_statfs=yes],[])
|
|
Bernhard M. Wiedemann |
1250f9 |
fi
|
|
Bernhard M. Wiedemann |
1250f9 |
|
|
Bernhard M. Wiedemann |
1250f9 |
--- ./lib/transaction.c.orig 2011-05-12 12:36:55.000000000 +0000
|
|
Bernhard M. Wiedemann |
1250f9 |
+++ ./lib/transaction.c 2011-05-12 12:38:03.000000000 +0000
|
|
Bernhard M. Wiedemann |
1250f9 |
@@ -114,7 +114,11 @@ static rpmDiskSpaceInfo rpmtsCreateDSI(c
|
|
Bernhard M. Wiedemann |
1250f9 |
dsi->bneeded = 0;
|
|
Bernhard M. Wiedemann |
1250f9 |
dsi->ineeded = 0;
|
|
Bernhard M. Wiedemann |
1250f9 |
#ifdef STATFS_HAS_F_BAVAIL
|
|
Bernhard M. Wiedemann |
1250f9 |
+# ifdef ST_RDONLY
|
|
Bernhard M. Wiedemann |
1250f9 |
dsi->bavail = (sfb.f_flag & ST_RDONLY) ? 0 : sfb.f_bavail;
|
|
Bernhard M. Wiedemann |
1250f9 |
+# else
|
|
Bernhard M. Wiedemann |
1250f9 |
+ dsi->bavail = sfb.f_bavail;
|
|
Bernhard M. Wiedemann |
1250f9 |
+# endif
|
|
Bernhard M. Wiedemann |
1250f9 |
#else
|
|
Bernhard M. Wiedemann |
1250f9 |
/* FIXME: the statfs struct doesn't have a member to tell how many blocks are
|
|
Bernhard M. Wiedemann |
1250f9 |
* available for non-superusers. f_blocks - f_bfree is probably too big, but
|