This commit is contained in:
parent
e924ef4a29
commit
2ae347a8e8
1 changed files with 81 additions and 0 deletions
81
doc/bugs/Utility__47__libdiskfree.c_more_BSD_friendly.mdwn
Normal file
81
doc/bugs/Utility__47__libdiskfree.c_more_BSD_friendly.mdwn
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
### Please describe the problem.
|
||||||
|
|
||||||
|
There exist more BSD systems than FreeBSD. Thus I propose diff for Utility/libdiskfree.c.
|
||||||
|
|
||||||
|
Based on pkgsrc patching guidelines https://www.netbsd.org/docs/pkgsrc/components.html#components.patches.guidelines
|
||||||
|
I tried to cook a diff even I'm not C developer.
|
||||||
|
|
||||||
|
|
||||||
|
### What steps will reproduce the problem?
|
||||||
|
|
||||||
|
Add support for more OS for disk free check.
|
||||||
|
|
||||||
|
### What version of git-annex are you using? On what operating system?
|
||||||
|
git-annex-5.20150930
|
||||||
|
|
||||||
|
|
||||||
|
### Please provide any additional information below.
|
||||||
|
|
||||||
|
The diff probably needs check, improvement...
|
||||||
|
|
||||||
|
[[!format sh """
|
||||||
|
--- libdiskfree.c.orig Sun Oct 4 15:18:07 2015
|
||||||
|
+++ libdiskfree.c Sun Oct 4 15:23:23 2015
|
||||||
|
@@ -7,35 +7,30 @@
|
||||||
|
|
||||||
|
/* Include appropriate headers for the OS, and define what will be used to
|
||||||
|
* check the free space. */
|
||||||
|
-#if defined(__APPLE__)
|
||||||
|
-# define _DARWIN_FEATURE_64_BIT_INODE 1
|
||||||
|
-# include <sys/param.h>
|
||||||
|
-# include <sys/mount.h>
|
||||||
|
-# define STATCALL statfs
|
||||||
|
-# define STATSTRUCT statfs64
|
||||||
|
-#else
|
||||||
|
-#if defined (__FreeBSD__)
|
||||||
|
-# include <sys/param.h>
|
||||||
|
-# include <sys/mount.h>
|
||||||
|
-# define STATCALL statfs /* statfs64 not yet tested on a real FreeBSD machine */
|
||||||
|
-# define STATSTRUCT statfs
|
||||||
|
-#else
|
||||||
|
-#if defined __ANDROID__
|
||||||
|
-# warning free space checking code not available for Android
|
||||||
|
-# define UNKNOWN
|
||||||
|
-#else
|
||||||
|
#if defined (__linux__) || defined (__FreeBSD_kernel__)
|
||||||
|
/* Linux or Debian kFreeBSD */
|
||||||
|
/* This is a POSIX standard, so might also work elsewhere too. */
|
||||||
|
# include <sys/statvfs.h>
|
||||||
|
# define STATCALL statvfs
|
||||||
|
# define STATSTRUCT statvfs
|
||||||
|
-#else
|
||||||
|
-# warning free space checking code not available for this OS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined __ANDROID__
|
||||||
|
+# warning free space checking code not available for Android
|
||||||
|
# define UNKNOWN
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
+#if defined (HAVE_SYS_PARAM_H) && defined (HAVE_SYS_MOUNT_H)
|
||||||
|
+#if defined(__APPLE__)
|
||||||
|
+# define _DARWIN_FEATURE_64_BIT_INODE 1
|
||||||
|
#endif
|
||||||
|
-#endif
|
||||||
|
+# include <sys/param.h>
|
||||||
|
+# include <sys/mount.h>
|
||||||
|
+# define STATCALL statfs /* statfs64 not yet tested on a real FreeBSD machine */
|
||||||
|
+# define STATSTRUCT statfs64
|
||||||
|
+#else
|
||||||
|
+# warning free space checking code not available for this OS
|
||||||
|
+# define UNKNOWN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
"""]]
|
||||||
|
|
||||||
|
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
||||||
|
|
||||||
|
Not tested this "feature" yet, I got another issue which blocks me for now.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue