From 219a6dab8995aad9ac4860cc1a84d6f3509a03a4 Mon Sep 17 00:00:00 2001 From: wbx Date: Sun, 17 May 2009 14:41:34 +0200 Subject: Initial import --- package/xfsprogs/Config.in | 8 +++ package/xfsprogs/Makefile | 32 +++++++++ package/xfsprogs/ipkg/xfsprogs.control | 5 ++ package/xfsprogs/patches/patch-configure_in | 20 ++++++ package/xfsprogs/patches/patch-copy_xfs_copy_c | 80 ++++++++++++++++++++++ .../xfsprogs/patches/patch-include_builddefs_in | 35 ++++++++++ package/xfsprogs/patches/patch-include_buildmacros | 12 ++++ package/xfsprogs/patches/patch-libhandle_Makefile | 12 ++++ package/xfsprogs/patches/patch-libxfs_linux_c | 38 ++++++++++ 9 files changed, 242 insertions(+) create mode 100644 package/xfsprogs/Config.in create mode 100644 package/xfsprogs/Makefile create mode 100644 package/xfsprogs/ipkg/xfsprogs.control create mode 100644 package/xfsprogs/patches/patch-configure_in create mode 100644 package/xfsprogs/patches/patch-copy_xfs_copy_c create mode 100644 package/xfsprogs/patches/patch-include_builddefs_in create mode 100644 package/xfsprogs/patches/patch-include_buildmacros create mode 100644 package/xfsprogs/patches/patch-libhandle_Makefile create mode 100644 package/xfsprogs/patches/patch-libxfs_linux_c (limited to 'package/xfsprogs') 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 + #include + #include +-#undef ustat +-#include + #include + #include + #include +@@ -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; + } + -- cgit v1.2.3