add a package for xfsprogs
SVN-Revision: 25558
This commit is contained in:
parent
667ac6c970
commit
f3fe6605bb
5 changed files with 191 additions and 0 deletions
83
package/xfsprogs/Makefile
Normal file
83
package/xfsprogs/Makefile
Normal file
|
@ -0,0 +1,83 @@
|
|||
#
|
||||
# Copyright (C) 2006-2008 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=xfsprogs
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=3.1.4
|
||||
PKG_SOURCE_URL:=http://ftp.debian.org/pool/main/x/xfsprogs
|
||||
PKG_MD5SUM:=23568a603c913b80076abe3c23521573
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
|
||||
PKG_INSTALL:=1
|
||||
PKG_FIXUP = libtool
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
|
||||
define Package/xfsprogs/default
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS:=+libuuid +libpthread +librt
|
||||
URL:=http://oss.sgi.com/projects/xfs
|
||||
endef
|
||||
|
||||
define Package/xfs-mkfs
|
||||
$(call Package/xfsprogs/default)
|
||||
TITLE:=Utility for creating XFS filesystems
|
||||
endef
|
||||
|
||||
define Package/xfs-fsck
|
||||
$(call Package/xfsprogs/default)
|
||||
TITLE:=Utilities for checking and repairing XFS filesystems
|
||||
endef
|
||||
|
||||
define Package/xfs-growfs
|
||||
$(call Package/xfsprogs/default)
|
||||
TITLE:=Utility for increasing the size of XFS filesystems
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += \
|
||||
-I$(STAGING_DIR)/usr/include \
|
||||
-D_LARGEFILE64_SOURCE \
|
||||
-D_FILE_OFFSET_BITS=64 \
|
||||
-D_GNU_SOURCE
|
||||
|
||||
MAKE_FLAGS += \
|
||||
DEBUG= Q= \
|
||||
PCFLAGS="-Wall" \
|
||||
PKG_PLATFORM=linux \
|
||||
ENABLE_GETTEXT=no \
|
||||
prefix=$(PKG_INSTALL_DIR)/usr \
|
||||
exec_prefix=$(PKG_INSTALL_DIR)/usr \
|
||||
PKG_SBIN_DIR=$(PKG_INSTALL_DIR)/usr/sbin \
|
||||
PKG_ROOT_SBIN_DIR=$(PKG_INSTALL_DIR)/sbin \
|
||||
PKG_MAN_DIR=$(PKG_INSTALL_DIR)/usr/man \
|
||||
PKG_LOCALE_DIR=$(PKG_INSTALL_DIR)/usr/share/locale \
|
||||
PKG_ROOT_LIB_DIR=$(PKG_INSTALL_DIR)/lib \
|
||||
PKG_DOC_DIR=$(PKG_INSTALL_DIR)/usr/share/doc/xfsprogs
|
||||
|
||||
define Package/xfs-mkfs/install
|
||||
mkdir -p $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mkfs.xfs $(1)/sbin
|
||||
endef
|
||||
|
||||
define Package/xfs-fsck/install
|
||||
mkdir -p $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/xfs_repair $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xfs_db $(1)/sbin
|
||||
endef
|
||||
|
||||
define Package/xfs-growfs/install
|
||||
mkdir -p $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xfs_growfs $(1)/sbin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,xfs-mkfs))
|
||||
$(eval $(call BuildPackage,xfs-fsck))
|
||||
$(eval $(call BuildPackage,xfs-growfs))
|
13
package/xfsprogs/patches/100-no_aio.patch
Normal file
13
package/xfsprogs/patches/100-no_aio.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -87,8 +87,8 @@ AC_PACKAGE_GLOBALS(xfsprogs)
|
||||
AC_PACKAGE_UTILITIES(xfsprogs)
|
||||
AC_MULTILIB($enable_lib64)
|
||||
|
||||
-AC_PACKAGE_NEED_AIO_H
|
||||
-AC_PACKAGE_NEED_LIO_LISTIO
|
||||
+librt="-lrt"
|
||||
+AC_SUBST(librt)
|
||||
|
||||
AC_PACKAGE_NEED_UUID_H
|
||||
AC_PACKAGE_NEED_UUIDCOMPARE
|
28
package/xfsprogs/patches/110-uclibc_no_ustat.patch
Normal file
28
package/xfsprogs/patches/110-uclibc_no_ustat.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
--- a/libxfs/linux.c
|
||||
+++ b/libxfs/linux.c
|
||||
@@ -21,7 +21,9 @@
|
||||
#include <mntent.h>
|
||||
#include <sys/stat.h>
|
||||
#undef ustat
|
||||
+#ifndef __UCLIBC__
|
||||
#include <sys/ustat.h>
|
||||
+#endif
|
||||
#include <sys/mount.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/sysinfo.h>
|
||||
@@ -49,6 +51,7 @@ static int max_block_alignment;
|
||||
int
|
||||
platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose)
|
||||
{
|
||||
+#ifndef __UCLIBC__
|
||||
/* Pad ust; pre-2.6.28 linux copies out too much in 32bit compat mode */
|
||||
struct ustat ust[2];
|
||||
struct stat64 st;
|
||||
@@ -68,6 +71,7 @@ platform_check_ismounted(char *name, cha
|
||||
progname, name);
|
||||
return 1;
|
||||
}
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
|
39
package/xfsprogs/patches/120-portability.patch
Normal file
39
package/xfsprogs/patches/120-portability.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
--- a/copy/xfs_copy.c
|
||||
+++ b/copy/xfs_copy.c
|
||||
@@ -463,6 +463,15 @@ read_ag_header(int fd, xfs_agnumber_t ag
|
||||
}
|
||||
|
||||
|
||||
+static void sig_mask(int type)
|
||||
+{
|
||||
+ sigset_t mask;
|
||||
+ sigemptyset(&mask);
|
||||
+ sigaddset(&mask, SIGCHLD);
|
||||
+ sigprocmask(type, &mask, NULL);
|
||||
+}
|
||||
+
|
||||
+
|
||||
void
|
||||
write_wbuf(void)
|
||||
{
|
||||
@@ -478,9 +487,9 @@ write_wbuf(void)
|
||||
if (target[i].state != INACTIVE)
|
||||
pthread_mutex_unlock(&targ[i].wait); /* wake up */
|
||||
|
||||
- sigrelse(SIGCHLD);
|
||||
+ sig_mask(SIG_UNBLOCK);
|
||||
pthread_mutex_lock(&mainwait);
|
||||
- sighold(SIGCHLD);
|
||||
+ sig_mask(SIG_BLOCK);
|
||||
}
|
||||
|
||||
|
||||
@@ -847,7 +856,7 @@ main(int argc, char **argv)
|
||||
/* set up sigchild signal handler */
|
||||
|
||||
signal(SIGCHLD, handler);
|
||||
- sighold(SIGCHLD);
|
||||
+ sig_mask(SIG_BLOCK);
|
||||
|
||||
/* make children */
|
||||
|
28
package/xfsprogs/patches/130-uclibc_no_xattr.patch
Normal file
28
package/xfsprogs/patches/130-uclibc_no_xattr.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
--- a/fsr/xfs_fsr.c
|
||||
+++ b/fsr/xfs_fsr.c
|
||||
@@ -35,7 +35,9 @@
|
||||
#include <sys/wait.h>
|
||||
#include <sys/vfs.h>
|
||||
#include <sys/statvfs.h>
|
||||
+#ifndef __UCLIBC__
|
||||
#include <sys/xattr.h>
|
||||
+#endif
|
||||
|
||||
|
||||
#ifndef XFS_XFLAG_NODEFRAG
|
||||
@@ -990,6 +992,7 @@ fsr_setup_attr_fork(
|
||||
int tfd,
|
||||
xfs_bstat_t *bstatp)
|
||||
{
|
||||
+#ifndef __UCLIBC__
|
||||
struct stat64 tstatbuf;
|
||||
int i;
|
||||
int last_forkoff = 0;
|
||||
@@ -1108,6 +1111,7 @@ fsr_setup_attr_fork(
|
||||
out:
|
||||
if (dflag)
|
||||
fsrprintf(_("set temp attr\n"));
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in a new issue