diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2011-01-22 22:37:50 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2011-01-22 22:37:50 +0100 |
commit | 9436a026e2e23d207fbdcb9e8bc9b076e3573700 (patch) | |
tree | adb1937bc90be8869a5f7c9636da84773414eb3b /package/xfsprogs | |
parent | 52b1b0100c53b1f8699955df618fcb47744e0a7e (diff) |
activate GCC cflags check, cleanup FLAGS stuff in OpenADK.
* remove TCFLAGS/TLDFLAGS/TCPPFLAGS and only use
TARGET_CFLAGS/TARGET_LDFLAGS/TARGET_CPPFLAGS, ...
* activate GCC_HONOUR_COPTS and fix all packages to
honour CFLAGS
* use CC_FOR_BUILD, CFLAGS_FOR_BUILD, ... for all
build compilation, remove HOST* variants
* introduce KERNEL_MODULE_FLAGS for external kernel
modules
* mark rpm package as broken, mark syslinux for native builds
only, mark libhugetlb for eglibc/glibc only usage
Diffstat (limited to 'package/xfsprogs')
-rw-r--r-- | package/xfsprogs/Makefile | 2 | ||||
-rw-r--r-- | package/xfsprogs/patches/patch-configure | 352 | ||||
-rw-r--r-- | package/xfsprogs/patches/patch-copy_xfs_copy_c | 82 | ||||
-rw-r--r-- | package/xfsprogs/patches/patch-fsr_xfs_fsr_c | 57 | ||||
-rw-r--r-- | package/xfsprogs/patches/patch-libxfs_linux_c | 35 |
5 files changed, 527 insertions, 1 deletions
diff --git a/package/xfsprogs/Makefile b/package/xfsprogs/Makefile index 6afc5e705..9f5b2ee38 100644 --- a/package/xfsprogs/Makefile +++ b/package/xfsprogs/Makefile @@ -22,7 +22,7 @@ include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,XFSPROGS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) INSTALL_STYLE:= manual - +TARGET_LDFLAGS+= -lrt CONFIGURE_ARGS+= --enable-gettext=no \ --with-gnu-ld CONFIGURE_ENV+= DEBUG=" " OPTIMIZER=" " diff --git a/package/xfsprogs/patches/patch-configure b/package/xfsprogs/patches/patch-configure new file mode 100644 index 000000000..24d7f645e --- /dev/null +++ b/package/xfsprogs/patches/patch-configure @@ -0,0 +1,352 @@ +--- xfsprogs-3.1.4.orig/configure 2010-11-11 18:38:31.000000000 +0100 ++++ xfsprogs-3.1.4/configure 2011-01-22 19:33:52.458658054 +0100 +@@ -12604,349 +12604,6 @@ fi + + + +-for ac_header in aio.h +-do +-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +- { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +-$as_echo_n "checking for $ac_header... " >&6; } +-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +- $as_echo_n "(cached) " >&6 +-fi +-ac_res=`eval 'as_val=${'$as_ac_Header'} +- $as_echo "$as_val"'` +- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } +-else +- # Is the header compilable? +-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +-$as_echo_n "checking $ac_header usability... " >&6; } +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +-#include <$ac_header> +-_ACEOF +-rm -f conftest.$ac_objext +-if { (ac_try="$ac_compile" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_compile") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { +- test -z "$ac_c_werror_flag" || +- test ! -s conftest.err +- } && test -s conftest.$ac_objext; then +- ac_header_compiler=yes +-else +- $as_echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- ac_header_compiler=no +-fi +- +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +-$as_echo "$ac_header_compiler" >&6; } +- +-# Is the header present? +-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +-$as_echo_n "checking $ac_header presence... " >&6; } +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include <$ac_header> +-_ACEOF +-if { (ac_try="$ac_cpp conftest.$ac_ext" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null && { +- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || +- test ! -s conftest.err +- }; then +- ac_header_preproc=yes +-else +- $as_echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- ac_header_preproc=no +-fi +- +-rm -f conftest.err conftest.$ac_ext +-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +-$as_echo "$ac_header_preproc" >&6; } +- +-# So? What about this header? +-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in +- yes:no: ) +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} +- ac_header_preproc=yes +- ;; +- no:yes:* ) +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +-$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +-$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} +- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} +- +- ;; +-esac +-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +-$as_echo_n "checking for $ac_header... " >&6; } +-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +- $as_echo_n "(cached) " >&6 +-else +- eval "$as_ac_Header=\$ac_header_preproc" +-fi +-ac_res=`eval 'as_val=${'$as_ac_Header'} +- $as_echo "$as_val"'` +- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } +- +-fi +-as_val=`eval 'as_val=${'$as_ac_Header'} +- $as_echo "$as_val"'` +- if test "x$as_val" = x""yes; then +- cat >>confdefs.h <<_ACEOF +-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +-_ACEOF +- +-fi +- +-done +- +- if test $ac_cv_header_aio_h = no; then +- echo +- echo 'FATAL ERROR: could not find a valid <aio.h> header.' +- exit 1 +- fi +- +- +-for ac_func in lio_listio +-do +-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +-$as_echo_n "checking for $ac_func... " >&6; } +-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +- $as_echo_n "(cached) " >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. +- For example, HP-UX 11i <limits.h> declares gettimeofday. */ +-#define $ac_func innocuous_$ac_func +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char $ac_func (); below. +- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since +- <limits.h> exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include <limits.h> +-#else +-# include <assert.h> +-#endif +- +-#undef $ac_func +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char $ac_func (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined __stub_$ac_func || defined __stub___$ac_func +-choke me +-#endif +- +-int +-main () +-{ +-return $ac_func (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (ac_try="$ac_link" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_link") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { +- test -z "$ac_c_werror_flag" || +- test ! -s conftest.err +- } && test -s conftest$ac_exeext && { +- test "$cross_compiling" = yes || +- $as_test_x conftest$ac_exeext +- }; then +- eval "$as_ac_var=yes" +-else +- $as_echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- eval "$as_ac_var=no" +-fi +- +-rm -rf conftest.dSYM +-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-ac_res=`eval 'as_val=${'$as_ac_var'} +- $as_echo "$as_val"'` +- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +-$as_echo "$ac_res" >&6; } +-as_val=`eval 'as_val=${'$as_ac_var'} +- $as_echo "$as_val"'` +- if test "x$as_val" = x""yes; then +- cat >>confdefs.h <<_ACEOF +-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +-_ACEOF +- +-fi +-done +- +- if test $ac_cv_func_lio_listio = yes; then +- librt="" +- else +- +-{ $as_echo "$as_me:$LINENO: checking for lio_listio in -lrt" >&5 +-$as_echo_n "checking for lio_listio in -lrt... " >&6; } +-if test "${ac_cv_lib_rt_lio_listio+set}" = set; then +- $as_echo_n "(cached) " >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lrt -lpthread $LIBS" +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char lio_listio (); +-int +-main () +-{ +-return lio_listio (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (ac_try="$ac_link" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_link") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { +- test -z "$ac_c_werror_flag" || +- test ! -s conftest.err +- } && test -s conftest$ac_exeext && { +- test "$cross_compiling" = yes || +- $as_test_x conftest$ac_exeext +- }; then +- ac_cv_lib_rt_lio_listio=yes +-else +- $as_echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- ac_cv_lib_rt_lio_listio=no +-fi +- +-rm -rf conftest.dSYM +-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_rt_lio_listio" >&5 +-$as_echo "$ac_cv_lib_rt_lio_listio" >&6; } +-if test "x$ac_cv_lib_rt_lio_listio" = x""yes; then +- cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBRT 1 +-_ACEOF +- +- LIBS="-lrt $LIBS" +- +-else +- +- echo +- echo 'FATAL ERROR: could not find a library with lio_listio.' +- exit 1 +-fi +- +- librt="-lrt" +- fi +- +- +- +- +- +- + for ac_header in uuid.h sys/uuid.h uuid/uuid.h + do + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 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..5640d0625 --- /dev/null +++ b/package/xfsprogs/patches/patch-copy_xfs_copy_c @@ -0,0 +1,82 @@ +--- xfsprogs-3.1.4.orig/copy/xfs_copy.c 2010-01-29 20:46:13.000000000 +0100 ++++ xfsprogs-3.1.4/copy/xfs_copy.c 2011-01-22 20:44:49.478658642 +0100 +@@ -240,6 +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); + +@@ -272,7 +276,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 +298,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 +471,11 @@ 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 +487,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 +530,12 @@ 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 +861,11 @@ 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-fsr_xfs_fsr_c b/package/xfsprogs/patches/patch-fsr_xfs_fsr_c new file mode 100644 index 000000000..5093c2924 --- /dev/null +++ b/package/xfsprogs/patches/patch-fsr_xfs_fsr_c @@ -0,0 +1,57 @@ +--- xfsprogs-3.1.4.orig/fsr/xfs_fsr.c 2010-10-01 19:33:38.000000000 +0200 ++++ xfsprogs-3.1.4/fsr/xfs_fsr.c 2011-01-22 20:34:12.465325200 +0100 +@@ -35,7 +35,6 @@ + #include <sys/wait.h> + #include <sys/vfs.h> + #include <sys/statvfs.h> +-#include <sys/xattr.h> + + + #ifndef XFS_XFLAG_NODEFRAG +@@ -1003,6 +1002,7 @@ fsr_setup_attr_fork( + * use the old method if we have attr1 or the kernel does not yet + * support passing the fork offset in the bulkstat data. + */ ++#if 0 + if (!(fsgeom.flags & XFS_FSOP_GEOM_FLAGS_ATTR2) || + bstatp->bs_forkoff == 0) { + /* attr1 */ +@@ -1013,6 +1013,7 @@ fsr_setup_attr_fork( + } + goto out; + } ++#endif + + /* attr2 w/ fork offsets */ + +@@ -1050,6 +1051,7 @@ fsr_setup_attr_fork( + * If there is no attribute, then we need to create one to get + * an attribute fork at the default location. + */ ++#if 0 + if (!tbstat.bs_forkoff) { + ret = fsetxattr(tfd, name, "XX", 2, XATTR_CREATE); + if (ret) { +@@ -1058,7 +1060,7 @@ fsr_setup_attr_fork( + } + continue; + } +- ++#endif + /* + * make a progress check so we don't get stuck trying to extend + * a large btree form attribute fork. +@@ -1097,11 +1099,13 @@ fsr_setup_attr_fork( + } + + /* we need to grow the attr fork, so create another attr */ ++#if 0 + ret = fsetxattr(tfd, name, "XX", 2, XATTR_CREATE); + if (ret) { + fsrprintf(_("could not set ATTR\n")); + return -1; + } ++#endif + + } while (++i < 100); /* don't go forever */ + diff --git a/package/xfsprogs/patches/patch-libxfs_linux_c b/package/xfsprogs/patches/patch-libxfs_linux_c new file mode 100644 index 000000000..586dab521 --- /dev/null +++ b/package/xfsprogs/patches/patch-libxfs_linux_c @@ -0,0 +1,35 @@ +--- xfsprogs-3.1.4.orig/libxfs/linux.c 2010-01-29 20:46:13.000000000 +0100 ++++ xfsprogs-3.1.4/libxfs/linux.c 2011-01-22 20:27:29.458658270 +0100 +@@ -16,12 +16,10 @@ + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#define ustat __kernel_ustat + #include <xfs/libxfs.h> + #include <mntent.h> + #include <sys/stat.h> +-#undef ustat +-#include <sys/ustat.h> ++#include <sys/statvfs.h> + #include <sys/mount.h> + #include <sys/ioctl.h> + #include <sys/sysinfo.h> +@@ -49,8 +47,7 @@ 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 statvfs info; + struct stat64 st; + + if (!s) { +@@ -61,7 +58,7 @@ platform_check_ismounted(char *name, cha + s = &st; + } + +- if (ustat(s->st_rdev, ust) >= 0) { ++ if (statvfs(name, &info) >= 0) { + if (verbose) + fprintf(stderr, + _("%s: %s contains a mounted filesystem\n"), |