Commit a88ff365 authored by Natanael Copa's avatar Natanael Copa
Browse files

main/xfsprogs: upgrade to 4.14.0

parent 86563770
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xfsprogs
pkgver=4.5.0
pkgrel=2
pkgver=4.14.0
pkgrel=0
pkgdesc="XFS filesystem utilities"
url="http://xfs.org/index.php/Main_Page"
arch="all"
......@@ -11,7 +11,6 @@ makedepends="linux-headers util-linux-dev bash gzip"
options="!check" # no test suite
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-extra"
source="https://www.kernel.org/pub/linux/utils/fs/xfs/$pkgname/$pkgname-$pkgver.tar.gz
musl-fixes.patch
"
builddir="$srcdir/$pkgname-$pkgver"
......@@ -49,5 +48,4 @@ extra() {
mv "$pkgdir"/usr "$subpkgdir"/
}
sha512sums="71ccb13fbbe09410b6ea116bbce9e6beb189246b29a7542e5f268649229aa0c156f197338573c17fc58e943a98b658fc38ceb21712d3c99af27f86a21eca7dca xfsprogs-4.5.0.tar.gz
52d7ff52e19a5f351f3a97bb20c9f5a063b344ca2e18250a5ee3e15a1693461f95825aa8b7c3c9149d2ce3696c64772d092f679810eccf996321ea93b0770596 musl-fixes.patch"
sha512sums="6b8e5e12aa5c4d197feb7c464495a1da163cf7a61416a5b9960dbae9456d776d815d5bb2f60850027274bd8d2cd4409f0fa8d572117043ba38ecc5c785f24967 xfsprogs-4.14.0.tar.gz"
diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
index 6f00b41..5b4af53 100644
--- a/fsr/xfs_fsr.c
+++ b/fsr/xfs_fsr.c
@@ -44,6 +44,10 @@
#define _PATH_FSRLAST "/var/tmp/.fsrlast_xfs"
#define _PATH_PROC_MOUNTS "/proc/mounts"
+#ifndef _PATH_MOUNTED
+#define _PATH_MOUNTED MOUNTED
+#endif
+
char *progname;
diff --git a/libxfs/linux.c b/libxfs/linux.c
index 2e07d54..4075786 100644
--- a/libxfs/linux.c
+++ b/libxfs/linux.c
@@ -16,11 +16,8 @@
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#define ustat __kernel_ustat
#include <mntent.h>
#include <sys/stat.h>
-#undef ustat
-#include <sys/ustat.h>
#include <sys/mount.h>
#include <sys/ioctl.h>
#include <sys/sysinfo.h>
@@ -51,9 +48,12 @@
int
platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose)
{
- /* Pad ust; pre-2.6.28 linux copies out too much in 32bit compat mode */
- struct ustat ust[2];
struct stat64 st;
+ FILE *f;
+ struct stat64 mst;
+ struct mntent *mnt;
+ char mounts[MAXPATHLEN];
+ int ismounted = 0;
if (!s) {
if (stat64(block, &st) < 0)
@@ -63,14 +63,25 @@
s = &st;
}
- if (ustat(s->st_rdev, ust) >= 0) {
+ strcpy(mounts, (!access(PROC_MOUNTED, R_OK)) ? PROC_MOUNTED : MOUNTED);
+ if ((f = setmntent(mounts, "r")) == NULL)
+ return 0;
+
+ while ((mnt = getmntent(f)) != NULL) {
+ if (stat64(mnt->mnt_dir, &mst) < 0)
+ continue;
+ if (mst.st_dev != s->st_rdev)
+ continue;
+
if (verbose)
fprintf(stderr,
_("%s: %s contains a mounted filesystem\n"),
progname, name);
- return 1;
+ ismounted = 1;
+ break;
}
- return 0;
+ endmntent(f);
+ return ismounted;
}
int
--- old/io/readdir.c
+++ new/io/readdir.c
@@ -23,6 +23,9 @@
#include <sys/types.h>
#include <dirent.h>
+#define _DIRENT_HAVE_D_OFF
+#define _DIRENT_HAVE_D_RECLEN
+#define _DIRENT_HAVE_D_TYPE
static struct cmdinfo readdir_cmd;
--- old/include/linux.h
+++ new/include/linux.h
@@ -31,6 +31,36 @@
#include <stdbool.h>
#include <asm/types.h>
#include <mntent.h>
+#include <stdio.h>
+
+#ifndef loff_t
+#define loff_t off_t
+#endif
+#ifndef __uint8_t
+#define __uint8_t uint8_t
+#endif
+#ifndef __uint16_t
+#define __uint16_t uint16_t
+#endif
+#ifndef __uint32_t
+#define __uint32_t uint32_t
+#endif
+#ifndef __uint64_t
+#define __uint64_t uint64_t
+#endif
+
+#ifndef __int8_t
+#define __int8_t int8_t
+#endif
+#ifndef __int16_t
+#define __int16_t int16_t
+#endif
+#ifndef __int32_t
+#define __int32_t int32_t
+#endif
+#ifndef __int64_t
+#define __int64_t int64_t
+#endif
static __inline__ int xfsctl(const char *path, int fd, int cmd, void *p)
{
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment