summaryrefslogtreecommitdiff
path: root/package/xfsprogs
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/xfsprogs
Initial import
Diffstat (limited to 'package/xfsprogs')
-rw-r--r--package/xfsprogs/Config.in8
-rw-r--r--package/xfsprogs/Makefile32
-rw-r--r--package/xfsprogs/ipkg/xfsprogs.control5
-rw-r--r--package/xfsprogs/patches/patch-configure_in20
-rw-r--r--package/xfsprogs/patches/patch-copy_xfs_copy_c80
-rw-r--r--package/xfsprogs/patches/patch-include_builddefs_in35
-rw-r--r--package/xfsprogs/patches/patch-include_buildmacros12
-rw-r--r--package/xfsprogs/patches/patch-libhandle_Makefile12
-rw-r--r--package/xfsprogs/patches/patch-libxfs_linux_c38
9 files changed, 242 insertions, 0 deletions
diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in
new file mode 100644
index 000000000..729c249e0
--- /dev/null
+++ b/package/xfsprogs/Config.in
@@ -0,0 +1,8 @@
+config ADK_PACKAGE_XFSPROGS
+ prompt "xfsprogs.......................... Utilities to create and check XFS filesystems"
+ tristate
+ select ADK_PACKAGE_LIBUUID
+ select ADK_PACKAGE_LIBPTHREAD
+ default n
+ help
+ Utilities to create and check XFS filesystems.
diff --git a/package/xfsprogs/Makefile b/package/xfsprogs/Makefile
new file mode 100644
index 000000000..d4e38aa81
--- /dev/null
+++ b/package/xfsprogs/Makefile
@@ -0,0 +1,32 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= xfsprogs
+PKG_VERSION:= 3.0.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= ec734f935ec87ebb8be890d29380a3e6
+MASTER_SITES:= ftp://oss.sgi.com/projects/xfs/cmd_tars/ \
+ ftp://oss.sgi.com/projects/xfs/previous/cmd_tars/
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,XFSPROGS,xfsprogs,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+
+CONFIGURE_STYLE= autoconf gnu
+CONFIGURE_ARGS+= --enable-gettext=no \
+ --with-gnu-ld
+CONFIGURE_ENV+= DEBUG=" " OPTIMIZER=" "
+BUILD_STYLE= auto
+INSTALL_STYLE= auto
+ALL_TARGET=
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_XFSPROGS}/sbin
+ ${CP} ${WRKINST}/usr/sbin/mkfs.xfs ${IDIR_XFSPROGS}/sbin/
+ ${CP} ${WRKINST}/usr/sbin/xfs_repair ${IDIR_XFSPROGS}/sbin/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/xfsprogs/ipkg/xfsprogs.control b/package/xfsprogs/ipkg/xfsprogs.control
new file mode 100644
index 000000000..0625159eb
--- /dev/null
+++ b/package/xfsprogs/ipkg/xfsprogs.control
@@ -0,0 +1,5 @@
+Package: xfsprogs
+Priority: optional
+Section: admin
+Depends: libuuid, libpthread
+Description: Utilities to create and check XFS filesystems
diff --git a/package/xfsprogs/patches/patch-configure_in b/package/xfsprogs/patches/patch-configure_in
new file mode 100644
index 000000000..78bb9c4b8
--- /dev/null
+++ b/package/xfsprogs/patches/patch-configure_in
@@ -0,0 +1,20 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- xfsprogs-3.0.0.orig/configure.in 2009-02-04 23:29:48.000000000 +0100
++++ xfsprogs-3.0.0/configure.in 2009-03-27 11:40:33.000000000 +0100
+@@ -46,16 +46,12 @@ AC_PACKAGE_GLOBALS(xfsprogs)
+ AC_PACKAGE_UTILITIES(xfsprogs)
+ AC_MULTILIB($enable_lib64)
+
+-AC_PACKAGE_NEED_AIO_H
+-AC_PACKAGE_NEED_LIO_LISTIO
+-
+ AC_PACKAGE_NEED_UUID_H
+ AC_PACKAGE_NEED_UUIDCOMPARE
+
+ AC_PACKAGE_NEED_PTHREAD_H
+ AC_PACKAGE_NEED_PTHREADMUTEXINIT
+
+-AC_HAVE_FADVISE
+ AC_HAVE_MADVISE
+ AC_HAVE_MINCORE
+ AC_HAVE_SENDFILE
diff --git a/package/xfsprogs/patches/patch-copy_xfs_copy_c b/package/xfsprogs/patches/patch-copy_xfs_copy_c
new file mode 100644
index 000000000..f5205398e
--- /dev/null
+++ b/package/xfsprogs/patches/patch-copy_xfs_copy_c
@@ -0,0 +1,80 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- xfsprogs-3.0.0.orig/copy/xfs_copy.c 2009-02-04 23:29:25.000000000 +0100
++++ xfsprogs-3.0.0/copy/xfs_copy.c 2009-03-27 11:40:33.000000000 +0100
+@@ -240,7 +240,10 @@ handler(int sig)
+ {
+ pid_t pid = getpid();
+ int status, i;
++ struct sigaction action;
+
++ action.sa_handler = handler;
++ action.sa_flags = 0;
+ pid = wait(&status);
+
+ kids--;
+@@ -272,7 +275,7 @@ handler(int sig)
+ pthread_exit(NULL);
+ }
+
+- signal(SIGCHLD, handler);
++ sigaction(SIGCHLD, &action, NULL);
+ return;
+ } else {
+ /* it just croaked it bigtime, log it */
+@@ -294,7 +297,7 @@ handler(int sig)
+ do_warn(_("%s: Unknown child died (should never happen!)\n"), progname);
+ die_perror();
+ pthread_exit(NULL);
+- signal(SIGCHLD, handler);
++ sigaction(SIGCHLD, &action, NULL);
+ }
+
+ void
+@@ -467,6 +470,10 @@ void
+ write_wbuf(void)
+ {
+ int i;
++ sigset_t unblock, initial;
++
++ sigemptyset(&unblock);
++ sigaddset(&unblock, SIGCHLD);
+
+ /* verify target threads */
+ for (i = 0; i < num_targets; i++)
+@@ -478,9 +485,9 @@ write_wbuf(void)
+ if (target[i].state != INACTIVE)
+ pthread_mutex_unlock(&targ[i].wait); /* wake up */
+
+- sigrelse(SIGCHLD);
++ sigprocmask(SIG_UNBLOCK, &unblock, &initial);
+ pthread_mutex_lock(&mainwait);
+- sighold(SIGCHLD);
++ sigprocmask(SIG_SETMASK, &initial, NULL);
+ }
+
+
+@@ -521,6 +528,11 @@ main(int argc, char **argv)
+ libxfs_init_t xargs;
+ thread_args *tcarg;
+ struct stat64 statbuf;
++ struct sigaction saction;
++ sigset_t sigblock, initial;
++
++ saction.sa_handler = handler;
++ saction.sa_flags = 0;
+
+ progname = basename(argv[0]);
+
+@@ -846,8 +858,10 @@ main(int argc, char **argv)
+
+ /* set up sigchild signal handler */
+
+- signal(SIGCHLD, handler);
+- sighold(SIGCHLD);
++ sigaction(SIGCHLD, &saction, NULL);
++ sigemptyset(&sigblock);
++ sigaddset(&sigblock, SIGCHLD);
++ sigprocmask(SIG_BLOCK, &sigblock, &initial);
+
+ /* make children */
+
diff --git a/package/xfsprogs/patches/patch-include_builddefs_in b/package/xfsprogs/patches/patch-include_builddefs_in
new file mode 100644
index 000000000..452817404
--- /dev/null
+++ b/package/xfsprogs/patches/patch-include_builddefs_in
@@ -0,0 +1,35 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- xfsprogs-2.10.1.orig/include/builddefs.in 2007-09-11 04:01:15.000000000 +0200
++++ xfsprogs-2.10.1/include/builddefs.in 2008-11-12 11:28:41.000000000 +0100
+@@ -25,7 +25,7 @@ OPTIMIZER = @opt_build@
+ MALLOCLIB = @malloc_lib@
+ LOADERFLAGS = @LDFLAGS@
+
+-LIBRT = @librt@
++LIBRT = -lrt
+ LIBUUID = @libuuid@
+ LIBPTHREAD = @libpthread@
+ LIBTERMCAP = @libtermcap@
+@@ -50,14 +50,14 @@ PKG_RELEASE = @pkg_release@
+ PKG_VERSION = @pkg_version@
+ PKG_PLATFORM = @pkg_platform@
+ PKG_DISTRIBUTION= @pkg_distribution@
+-PKG_BIN_DIR = @bindir@
+-PKG_SBIN_DIR = @sbindir@
+-PKG_LIB_DIR = @libdir@@libdirsuffix@
+-PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
+-PKG_INC_DIR = @includedir@/xfs
+-PKG_MAN_DIR = @mandir@
+-PKG_DOC_DIR = @datadir@/doc/@pkg_name@
+-PKG_LOCALE_DIR = @datadir@/locale
++PKG_BIN_DIR = $(DESTDIR)@bindir@
++PKG_SBIN_DIR = $(DESTDIR)@sbindir@
++PKG_LIB_DIR = $(DESTDIR)@libdir@@libdirsuffix@
++PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@@libdirsuffix@
++PKG_INC_DIR = $(DESTDIR)@includedir@/xfs
++PKG_MAN_DIR = $(DESTDIR)@mandir@
++PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@
++PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale
+
+ CC = @cc@
+ AWK = @awk@
diff --git a/package/xfsprogs/patches/patch-include_buildmacros b/package/xfsprogs/patches/patch-include_buildmacros
new file mode 100644
index 000000000..f163f3f2b
--- /dev/null
+++ b/package/xfsprogs/patches/patch-include_buildmacros
@@ -0,0 +1,12 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- xfsprogs-3.0.0.orig/include/buildmacros 2009-02-04 23:29:25.000000000 +0100
++++ xfsprogs-3.0.0/include/buildmacros 2009-03-27 11:45:29.000000000 +0100
+@@ -48,7 +48,7 @@ LTINSTALL = $(LIBTOOL) --mode=install $(
+ LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CCF)
+
+ ifeq ($(ENABLE_SHARED),yes)
+-LTLDFLAGS += -rpath $(PKG_LIB_DIR)
++#LTLDFLAGS += -rpath $(PKG_LIB_DIR)
+ LTLDFLAGS += -version-info $(LTVERSION)
+ endif
+
diff --git a/package/xfsprogs/patches/patch-libhandle_Makefile b/package/xfsprogs/patches/patch-libhandle_Makefile
new file mode 100644
index 000000000..2c16921e1
--- /dev/null
+++ b/package/xfsprogs/patches/patch-libhandle_Makefile
@@ -0,0 +1,12 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- xfsprogs-2.10.1.orig/libhandle/Makefile 2007-09-11 04:01:17.000000000 +0200
++++ xfsprogs-2.10.1/libhandle/Makefile 2008-12-09 19:02:03.000000000 +0100
+@@ -17,7 +17,7 @@ default: $(LTLIBRARY)
+ include $(BUILDRULES)
+
+ install: default
+- $(INSTALL_LTLIB)
++ #$(INSTALL_LTLIB)
+
+ install-dev: default
+ $(INSTALL_LTLIB_DEV)
diff --git a/package/xfsprogs/patches/patch-libxfs_linux_c b/package/xfsprogs/patches/patch-libxfs_linux_c
new file mode 100644
index 000000000..9d0a95f75
--- /dev/null
+++ b/package/xfsprogs/patches/patch-libxfs_linux_c
@@ -0,0 +1,38 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- xfsprogs-3.0.0.orig/libxfs/linux.c 2009-02-04 23:29:25.000000000 +0100
++++ xfsprogs-3.0.0/libxfs/linux.c 2009-03-27 11:43:17.000000000 +0100
+@@ -20,8 +20,6 @@
+ #include <xfs/libxfs.h>
+ #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>
+@@ -49,25 +47,6 @@ static int max_block_alignment;
+ 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;
+-
+- if (!s) {
+- if (stat64(block, &st) < 0)
+- return 0;
+- if ((st.st_mode & S_IFMT) != S_IFBLK)
+- return 0;
+- s = &st;
+- }
+-
+- if (ustat(s->st_rdev, ust) >= 0) {
+- if (verbose)
+- fprintf(stderr,
+- _("%s: %s contains a mounted filesystem\n"),
+- progname, name);
+- return 1;
+- }
+ return 0;
+ }
+