rpms/tar/devel tar-1.17-xattrs-conf.patch, NONE, 1.1 tar-1.17-xattrs.patch, 1.1, 1.2 tar.1, 1.1, 1.2 tar.spec, 1.64, 1.65
Radek Brich (rbrich)
fedora-extras-commits at redhat.com
Wed Dec 12 13:47:25 UTC 2007
- Previous message (by thread): rpms/pungi/devel .cvsignore, 1.36, 1.37 pungi.spec, 1.39, 1.40 sources, 1.37, 1.38
- Next message (by thread): rpms/gcc/devel gcc41-debug-fortran-array.patch, NONE, 1.1 gcc41-omp-outer-ctx.patch, NONE, 1.1 gcc41-pr34178.patch, NONE, 1.1 gcc41-pr34364.patch, NONE, 1.1 gcc41-pr34394.patch, NONE, 1.1 gcc41.spec, 1.183, 1.184 gcc41-pr34094.patch, 1.1, NONE gcc41-pr34238.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: rbrich
Update of /cvs/extras/rpms/tar/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26507
Modified Files:
tar-1.17-xattrs.patch tar.1 tar.spec
Added Files:
tar-1.17-xattrs-conf.patch
Log Message:
fix xattrs detection (no bug #)
tar-1.17-xattrs-conf.patch:
--- NEW FILE tar-1.17-xattrs-conf.patch ---
diff -up tar-1.17/configure.xattrs tar-1.17/configure
--- tar-1.17/configure.xattrs 2007-06-08 10:36:00.000000000 +0200
+++ tar-1.17/configure 2007-12-10 15:31:54.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for GNU tar 1.17.
+# Generated by GNU Autoconf 2.61 for GNU tar 1.17.
#
# Report bugs to <bug-tar at gnu.org>.
#
@@ -12,7 +12,8 @@
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
@@ -21,10 +22,13 @@ if test -n "${ZSH_VERSION+set}" && (emul
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+
+
# PATH needs CR
@@ -217,7 +221,7 @@ test \$exitcode = 0) || { (exit 1); exit
else
as_candidate_shells=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
@@ -235,7 +239,6 @@ IFS=$as_save_IFS
# Try only shells that exist, to save several forks.
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
{ ("$as_shell") 2> /dev/null <<\_ASEOF
-# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
@@ -244,10 +247,12 @@ if test -n "${ZSH_VERSION+set}" && (emul
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+
:
_ASEOF
@@ -255,7 +260,6 @@ _ASEOF
CONFIG_SHELL=$as_shell
as_have_required=yes
if { "$as_shell" 2> /dev/null <<\_ASEOF
-# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
@@ -264,10 +268,12 @@ if test -n "${ZSH_VERSION+set}" && (emul
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+
:
(as_func_return () {
@@ -514,19 +520,28 @@ else
as_mkdir_p=false
fi
-# Find out whether ``test -x'' works. Don't use a zero-byte file, as
-# systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- as_executable_p="test -x"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
else
- as_executable_p=:
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
fi
-rm -f conf$$.file
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -567,36 +582,36 @@ ac_unique_file="src/tar.c"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
-#if HAVE_STDINT_H
+#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"
@@ -914,6 +929,7 @@ target_alias
CC
CFLAGS
LDFLAGS
+LIBS
CPPFLAGS
YACC
YFLAGS
@@ -1028,10 +1044,10 @@ do
-disable-* | --disable-*)
ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
[...11409 lines suppressed...]
# PATH needs CR
@@ -38117,19 +34205,28 @@ else
as_mkdir_p=false
fi
-# Find out whether ``test -x'' works. Don't use a zero-byte file, as
-# systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- as_executable_p="test -x"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
else
- as_executable_p=:
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
fi
-rm -f conf$$.file
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -38145,7 +34242,7 @@ exec 6>&1
# values after options handling.
ac_log="
This file was extended by GNU tar $as_me 1.17, which was
-generated by GNU Autoconf 2.60. Invocation command line was
+generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -38174,7 +34271,7 @@ current configuration.
Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
- -V, --version print version number, then exit
+ -V, --version print version number and configuration settings, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
@@ -38198,7 +34295,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
GNU tar config.status 1.17
-configured by $0, generated by GNU Autoconf 2.60,
+configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
Copyright (C) 2006 Free Software Foundation, Inc.
@@ -39274,7 +35371,7 @@ echo "$as_me: executing $ac_file command
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
diff -up tar-1.17/config.hin.xattrs tar-1.17/config.hin
--- tar-1.17/config.hin.xattrs 2007-06-08 10:36:29.000000000 +0200
+++ tar-1.17/config.hin 2007-12-10 12:52:08.000000000 +0100
@@ -163,6 +163,9 @@
includes <alloca.h> only if HAVE_ALLOCA_H is defined. */
#undef HAVE_ALLOCA_H
+/* Define to 1 if you have the <attr/xattr.h> header file. */
+#undef HAVE_ATTR_XATTR_H
+
/* Define to 1 if you have the <bp-sym.h> header file. */
#undef HAVE_BP_SYM_H
@@ -396,12 +399,21 @@
/* Define to 1 if you have the <features.h> header file. */
#undef HAVE_FEATURES_H
+/* Define to 1 if you have the `fgetxattr' function. */
+#undef HAVE_FGETXATTR
+
+/* Define to 1 if you have the `flistxattr' function. */
+#undef HAVE_FLISTXATTR
+
/* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H
/* Define to 1 if you have the `flockfile' function. */
#undef HAVE_FLOCKFILE
+/* Define to 1 if you have the `fsetxattr' function. */
+#undef HAVE_FSETXATTR
+
/* Define to 1 if you have the `fsync' function. */
#undef HAVE_FSYNC
@@ -441,6 +453,9 @@
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
+/* Define to 1 if you have the `getxattr' function. */
+#undef HAVE_GETXATTR
+
/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
@@ -480,12 +495,27 @@
/* Define to 1 if you have the `lchown' function. */
#undef HAVE_LCHOWN
+/* Define to 1 if you have the `lgetxattr' function. */
+#undef HAVE_LGETXATTR
+
+/* Define to 1 if you have the `acl' library (-lacl). */
+#undef HAVE_LIBACL
+
+/* Define to 1 if you have the `selinux' library (-lselinux). */
+#undef HAVE_LIBSELINUX
+
/* Define to 1 if you have the <linewrap.h> header file. */
#undef HAVE_LINEWRAP_H
/* Define to 1 if you have the <linux/fd.h> header file. */
#undef HAVE_LINUX_FD_H
+/* Define to 1 if you have the `listxattr' function. */
+#undef HAVE_LISTXATTR
+
+/* Define to 1 if you have the `llistxattr' function. */
+#undef HAVE_LLISTXATTR
+
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
@@ -498,6 +528,9 @@
/* Define to 1 if the system has the type `long long int'. */
#undef HAVE_LONG_LONG_INT
+/* Define to 1 if you have the `lsetxattr' function. */
+#undef HAVE_LSETXATTR
+
/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT
@@ -598,12 +631,18 @@
/* Define to 1 if you have the <search.h> header file. */
#undef HAVE_SEARCH_H
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
+#undef HAVE_SELINUX_SELINUX_H
+
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
+/* Define to 1 if you have the `setxattr' function. */
+#undef HAVE_SETXATTR
+
/* Define to 1 if you have the <sgtty.h> header file. */
#undef HAVE_SGTTY_H
@@ -743,6 +782,9 @@
/* Define to 1 if you have the <sysexits.h> header file. */
#undef HAVE_SYSEXITS_H
+/* Define to 1 if you have the <sys/acl.h> header file. */
+#undef HAVE_SYS_ACL_H
+
/* Define to 1 if you have the <sys/bitypes.h> header file. */
#undef HAVE_SYS_BITYPES_H
@@ -891,6 +933,9 @@
/* Define if utimes works properly. */
#undef HAVE_WORKING_UTIMES
+/* Define if we have a working extended attributes */
+#undef HAVE_XATTRS
+
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
tar-1.17-xattrs.patch:
Index: tar-1.17-xattrs.patch
===================================================================
RCS file: /cvs/extras/rpms/tar/devel/tar-1.17-xattrs.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- tar-1.17-xattrs.patch 28 Jun 2007 16:11:58 -0000 1.1
+++ tar-1.17-xattrs.patch 12 Dec 2007 13:47:18 -0000 1.2
@@ -1,310 +1,6 @@
---- tar-1.17/configure.xattrs 2007-06-08 10:36:00.000000000 +0200
-+++ tar-1.17/configure 2007-06-27 17:18:14.000000000 +0200
-@@ -514,19 +514,29 @@ else
- as_mkdir_p=false
- fi
-
--# Find out whether ``test -x'' works. Don't use a zero-byte file, as
--# systems may use methods other than mode bits to determine executability.
--cat >conf$$.file <<_ASEOF
--#! /bin/sh
--exit 0
--_ASEOF
--chmod +x conf$$.file
--if test -x conf$$.file >/dev/null 2>&1; then
-- as_executable_p="test -x"
-+if test -x / >/dev/null 2>&1; then
-+ as_test_x='test -x'
- else
-- as_executable_p=:
-+ if ls -dL / >/dev/null 2>&1; then
-+ as_ls_L_option=L
-+ else
-+ as_ls_L_option=
-+ fi
-+ as_test_x='
-+ eval sh -c '\''
-+ if test -d "$1"; then
-+ test -d "$1/.";
-+ else
-+ case $1 in
-+ -*)set "./$1";;
-+ esac;
-+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-+ ???[sx]*):;;*)false;;esac;fi
-+ '\'' sh
-+ '
- fi
--rm -f conf$$.file
-+as_executable_p=$as_test_x
-+
-
- # Sed expression to map a string onto a valid CPP name.
- as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-@@ -1925,6 +1935,9 @@ ac_header_list="$ac_header_list sys/tpri
- ac_header_list="$ac_header_list sys/tape.h"
- ac_header_list="$ac_header_list unistd.h"
- ac_header_list="$ac_header_list locale.h"
-+ac_header_list="$ac_header_list selinux/selinux.h"
-+ac_header_list="$ac_header_list attr/xattr.h"
-+ac_header_list="$ac_header_list sys/acl.h"
- ac_func_list="$ac_func_list flockfile"
- ac_func_list="$ac_func_list funlockfile"
- ac_header_list="$ac_header_list features.h"
-@@ -34101,6 +34114,251 @@ _ACEOF
- fi
- done
-
-+
-+for ac_func in getxattr fgetxattr lgetxattr \
-+ setxattr fsetxattr lsetxattr \
-+ listxattr flistxattr llistxattr
-+do
-+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&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 "echo \"\$as_me:$LINENO: $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
-+ 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 &&
-+ $as_test_x conftest$ac_exeext; then
-+ eval "$as_ac_var=yes"
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ eval "$as_ac_var=no"
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+ac_res=`eval echo '${'$as_ac_var'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+if test `eval echo '${'$as_ac_var'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+_ACEOF
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define HAVE_XATTRS
-+_ACEOF
-+
-+fi
-+done
-+
-+
-+{ echo "$as_me:$LINENO: checking for getfilecon in -lselinux" >&5
-+echo $ECHO_N "checking for getfilecon in -lselinux... $ECHO_C" >&6; }
-+if test "${ac_cv_lib_selinux_getfilecon+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lselinux $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 getfilecon ();
-+int
-+main ()
-+{
-+return getfilecon ();
-+ ;
-+ 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 "echo \"\$as_me:$LINENO: $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
-+ 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 &&
-+ $as_test_x conftest$ac_exeext; then
-+ ac_cv_lib_selinux_getfilecon=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_lib_selinux_getfilecon=no
-+fi
-+
-+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
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_getfilecon" >&5
-+echo "${ECHO_T}$ac_cv_lib_selinux_getfilecon" >&6; }
-+if test $ac_cv_lib_selinux_getfilecon = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define HAVE_LIBSELINUX 1
-+_ACEOF
-+
-+ LIBS="-lselinux $LIBS"
-+
-+fi
-+
-+
-+{ echo "$as_me:$LINENO: checking for acl_get_fd in -lacl" >&5
-+echo $ECHO_N "checking for acl_get_fd in -lacl... $ECHO_C" >&6; }
-+if test "${ac_cv_lib_acl_acl_get_fd+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lacl $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 acl_get_fd ();
-+int
-+main ()
-+{
-+return acl_get_fd ();
-+ ;
-+ 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 "echo \"\$as_me:$LINENO: $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
-+ 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 &&
-+ $as_test_x conftest$ac_exeext; then
-+ ac_cv_lib_acl_acl_get_fd=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_lib_acl_acl_get_fd=no
-+fi
-+
-+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
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_acl_acl_get_fd" >&5
-+echo "${ECHO_T}$ac_cv_lib_acl_acl_get_fd" >&6; }
-+if test $ac_cv_lib_acl_acl_get_fd = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define HAVE_LIBACL 1
-+_ACEOF
-+
-+ LIBS="-lacl $LIBS"
-+
-+fi
-+
-+
-+
-+
- { echo "$as_me:$LINENO: checking whether getgrgid is declared" >&5
- echo $ECHO_N "checking whether getgrgid is declared... $ECHO_C" >&6; }
- if test "${ac_cv_have_decl_getgrgid+set}" = set; then
+diff -up tar-1.17/configure.ac.xattrs tar-1.17/configure.ac
--- tar-1.17/configure.ac.xattrs 2007-06-08 10:28:04.000000000 +0200
-+++ tar-1.17/configure.ac 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/configure.ac 2007-12-10 15:31:54.000000000 +0100
@@ -40,7 +40,7 @@ AC_CHECK_HEADERS_ONCE(fcntl.h linux/fd.h
sys/param.h sys/device.h sys/filio.h sys/gentape.h \
sys/inet.h sys/io/trioctl.h \
@@ -337,8 +33,9 @@
AC_CHECK_TYPE(iconv_t,:,
AC_DEFINE(iconv_t, int,
[Conversion descriptor type]),
+diff -up tar-1.17/doc/tar.texi.xattrs tar-1.17/doc/tar.texi
--- tar-1.17/doc/tar.texi.xattrs 2007-06-08 10:25:19.000000000 +0200
-+++ tar-1.17/doc/tar.texi 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/doc/tar.texi 2007-12-10 15:31:54.000000000 +0100
@@ -7845,6 +7845,8 @@ implementation able to read @samp{ustar}
most @samp{posix} archives as well, with the only exception that any
additional information (such as long file names etc.) will in such
@@ -400,8 +97,9 @@
@end table
@node Portability
+diff -up tar-1.17/src/Makefile.in.xattrs tar-1.17/src/Makefile.in
--- tar-1.17/src/Makefile.in.xattrs 2007-06-08 10:35:58.000000000 +0200
-+++ tar-1.17/src/Makefile.in 2007-06-27 17:11:28.000000000 +0200
++++ tar-1.17/src/Makefile.in 2007-12-10 15:31:54.000000000 +0100
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10a from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
@@ -472,8 +170,9 @@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xheader.Po at am__quote@
.c.o:
+diff -up tar-1.17/src/common.h.xattrs tar-1.17/src/common.h
--- tar-1.17/src/common.h.xattrs 2007-06-08 10:14:42.000000000 +0200
-+++ tar-1.17/src/common.h 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/src/common.h 2007-12-10 15:31:54.000000000 +0100
@@ -255,6 +255,15 @@ GLOBAL int same_owner_option;
/* If positive, preserve permissions when extracting. */
GLOBAL int same_permissions_option;
@@ -513,9 +212,10 @@
/* Module system.c */
---- /dev/null 2007-06-25 09:32:25.472134050 +0200
-+++ tar-1.17/src/xattrs.c 2007-06-27 17:10:56.000000000 +0200
-@@ -0,0 +1,457 @@
+diff -up /dev/null tar-1.17/src/xattrs.c
+--- /dev/null 2007-12-10 11:30:31.504001819 +0100
++++ tar-1.17/src/xattrs.c 2007-12-10 15:31:54.000000000 +0100
+@@ -0,0 +1,491 @@
+/* Create a tar archive.
+
+ Copyright (C) 2006 Free Software Foundation, Inc.
@@ -675,6 +375,12 @@
+{
+ if (acls_option > 0)
+ {
++#ifndef HAVE_LIBACL
++ static int done = 0;
++ if (!done)
++ WARN ((0, 0, _("ACL support requested, but not available")));
++ done = 1;
++#endif
+ xattrs__acls_get_a (st, file_name, fd,
+ &st->acls_a_ptr, &st->acls_a_len);
+ if (!xisfile)
@@ -685,8 +391,14 @@
+
+void xattrs_selinux_get(struct tar_stat_info *st, char const *file_name, int fd)
+{
-+#ifdef HAVE_LIBSELINUX
+ if (selinux_context_option > 0)
++ {
++#ifndef HAVE_LIBSELINUX
++ static int done = 0;
++ if (!done)
++ WARN ((0, 0, _("SELinux support requested, but not available")));
++ done = 1;
++#else
+ if (fd == -1)
+ {
+ if (lgetfilecon (file_name, &st->cntx_name) == -1)
@@ -695,11 +407,11 @@
+ else if (fgetfilecon (fd, &st->cntx_name) == -1)
+ call_arg_warn ("fgetfilecon", file_name);
+#endif
++ }
+}
+
+void xattrs_xattrs_get(struct tar_stat_info *st, char const *file_name, int fd)
+{
-+#ifdef HAVE_XATTRS
+ if (xattrs_option > 0)
+ { /* get all xattrs ... this include security.* and system.* if
+ available. We filter them here, but we have to filter them
@@ -709,6 +421,13 @@
+ static char *xatrs = NULL;
+ ssize_t xret = -1;
+
++#ifndef HAVE_XATTRS
++ static int done = 0;
++ if ((xattrs_option > 0) && !done)
++ WARN ((0, 0, _("Xattr support requested, but not available")));
++ done = 1;
++#else
++
+ if (!xatrs) xatrs = xmalloc (xsz);
+
+ while (((fd == -1) ?
@@ -758,8 +477,8 @@
+ xret -= len + 1;
+ }
+ }
-+ }
+#endif
++ }
+}
+
+static void xattrs__fd_set(struct tar_stat_info const *st,
@@ -908,7 +627,12 @@
+{
+ if ((acls_option >= 0) && (typeflag != SYMTYPE))
+ {
-+#ifdef HAVE_LIBACL
++#ifndef HAVE_LIBACL
++ static int done = 0;
++ if (!done)
++ WARN ((0, 0, _("ACL support requested, but not available")));
++ done = 1;
++#else
+ xattrs__acls_set (st, file_name, ACL_TYPE_ACCESS,
+ st->acls_a_ptr, st->acls_a_len);
+ if (S_ISDIR (st->stat.st_mode))
@@ -921,12 +645,17 @@
+void xattrs_selinux_set(struct tar_stat_info const *st,
+ char const *file_name, char typeflag)
+{
-+#ifdef HAVE_LIBSELINUX
+ if ((selinux_context_option >= 0) && st->cntx_name)
+ {
+ const char *sysname = "setfilecon";
+ int ret = -1;
-+
++
++#ifndef HAVE_LIBSELINUX
++ static int done = 0;
++ if (!done)
++ WARN ((0, 0, _("SELinux support requested, but not available")));
++ done = 1;
++#else
+ if (typeflag != SYMTYPE)
+ ret = setfilecon (file_name, st->cntx_name);
+ else
@@ -939,18 +668,23 @@
+ call_arg_warn(sysname, file_name);
+ else if ((ret == -1) && (errno != EOPNOTSUPP))
+ call_arg_error(sysname, file_name);
-+ }
+#endif
++ }
+}
+
+void xattrs_xattrs_set(struct tar_stat_info const *st,
+ char const *file_name, char typeflag)
+{
-+#ifdef HAVE_XATTRS
+ if ((xattrs_option >= 0) && st->xattr_map_size)
+ {
+ size_t scan = 0;
-+
++
++#ifndef HAVE_XATTRS
++ static int done = 0;
++ if (!done)
++ WARN ((0, 0, _("Xattr support requested, but not available")));
++ done = 1;
++#else
+ while (scan < st->xattr_map_size)
+ {
+ char *keyword = st->xattr_map[scan].xkey;
@@ -969,12 +703,13 @@
+
+ ++scan;
+ }
-+ }
+#endif
++ }
+}
+
+diff -up tar-1.17/src/tar.c.xattrs tar-1.17/src/tar.c
--- tar-1.17/src/tar.c.xattrs 2007-06-01 12:17:10.000000000 +0200
-+++ tar-1.17/src/tar.c 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/src/tar.c 2007-12-10 15:31:54.000000000 +0100
@@ -247,7 +247,8 @@ tar_set_quoting_style (char *arg)
enum
@@ -1133,8 +868,9 @@
free (st->sparse_map);
free (st->dumpdir);
xheader_destroy (&st->xhdr);
+diff -up tar-1.17/src/xheader.c.xattrs tar-1.17/src/xheader.c
--- tar-1.17/src/xheader.c.xattrs 2007-06-01 12:17:10.000000000 +0200
-+++ tar-1.17/src/xheader.c 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/src/xheader.c 2007-12-10 15:31:54.000000000 +0100
@@ -419,6 +419,74 @@ xheader_write_global (struct xheader *xh
free (name);
}
@@ -1434,8 +1170,9 @@
+
{ NULL, NULL, NULL, false }
};
---- tar-1.17/src/list.c.xattrs 2007-06-27 17:10:56.000000000 +0200
-+++ tar-1.17/src/list.c 2007-06-27 17:10:56.000000000 +0200
+diff -up tar-1.17/src/list.c.xattrs tar-1.17/src/list.c
+--- tar-1.17/src/list.c.xattrs 2007-12-10 15:31:54.000000000 +0100
++++ tar-1.17/src/list.c 2007-12-10 15:31:54.000000000 +0100
@@ -567,6 +567,13 @@ decode_header (union block *header, stru
assign_string (&stat_info->gname,
header->header.gname[0] ? header->header.gname : NULL);
@@ -1450,8 +1187,9 @@
if (format == OLDGNU_FORMAT && incremental_option)
{
stat_info->atime.tv_sec = TIME_FROM_HEADER (header->oldgnu_header.atime);
+diff -up tar-1.17/src/Makefile.am.xattrs tar-1.17/src/Makefile.am
--- tar-1.17/src/Makefile.am.xattrs 2006-12-05 08:37:59.000000000 +0100
-+++ tar-1.17/src/Makefile.am 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/src/Makefile.am 2007-12-10 15:31:54.000000000 +0100
@@ -20,7 +20,7 @@
bin_PROGRAMS = tar
@@ -1475,8 +1213,9 @@
-tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME)
+tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME)
+diff -up tar-1.17/src/create.c.xattrs tar-1.17/src/create.c
--- tar-1.17/src/create.c.xattrs 2007-06-01 12:17:10.000000000 +0200
-+++ tar-1.17/src/create.c 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/src/create.c 2007-12-10 15:31:54.000000000 +0100
@@ -24,6 +24,7 @@
#include <quotearg.h>
@@ -1516,19 +1255,20 @@
return header;
}
-@@ -1570,6 +1595,10 @@ dump_file0 (struct tar_stat_info *st, co
- open_diag (p);
- return;
+@@ -1572,6 +1597,10 @@ dump_file0 (struct tar_stat_info *st, co
}
-+
-+ xattrs_acls_get(st, p, fd, !is_dir);
-+ xattrs_selinux_get(st, p, fd);
-+ xattrs_xattrs_get(st, p, fd);
}
++ xattrs_acls_get(st, p, fd, !is_dir);
++ xattrs_selinux_get(st, p, fd);
++ xattrs_xattrs_get(st, p, fd);
++
if (is_dir)
---- /dev/null 2007-06-25 09:32:25.472134050 +0200
-+++ tar-1.17/src/xattrs.h 2007-06-27 17:10:56.000000000 +0200
+ {
+ const char *tag_file_name;
+diff -up /dev/null tar-1.17/src/xattrs.h
+--- /dev/null 2007-12-10 11:30:31.504001819 +0100
++++ tar-1.17/src/xattrs.h 2007-12-10 15:31:54.000000000 +0100
@@ -0,0 +1,14 @@
+
+extern void xattrs_acls_get(struct tar_stat_info *st,
@@ -1544,8 +1284,9 @@
+ char const *file_name, char typeflag);
+extern void xattrs_xattrs_set(struct tar_stat_info const *st,
+ char const *file_name, char typeflag);
+diff -up tar-1.17/src/extract.c.xattrs tar-1.17/src/extract.c
--- tar-1.17/src/extract.c.xattrs 2007-06-08 10:14:42.000000000 +0200
-+++ tar-1.17/src/extract.c 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/src/extract.c 2007-12-10 15:31:54.000000000 +0100
@@ -69,6 +69,13 @@ struct delayed_set_stat
mode_t invert_permissions;
enum permstatus permstatus;
@@ -1665,8 +1406,9 @@
set_stat (source, &st1, NULL, 0, 0, SYMTYPE);
valid_source = source;
}
+diff -up tar-1.17/src/tar.h.xattrs tar-1.17/src/tar.h
--- tar-1.17/src/tar.h.xattrs 2007-06-01 12:17:10.000000000 +0200
-+++ tar-1.17/src/tar.h 2007-06-27 17:10:56.000000000 +0200
++++ tar-1.17/src/tar.h 2007-12-10 15:31:54.000000000 +0100
@@ -276,6 +276,14 @@ struct xheader
uintmax_t string_length;
};
Index: tar.1
===================================================================
RCS file: /cvs/extras/rpms/tar/devel/tar.1,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- tar.1 28 Jun 2007 16:14:57 -0000 1.1
+++ tar.1 12 Dec 2007 13:47:18 -0000 1.2
@@ -357,7 +357,9 @@
change to directory DIR
.TP
.B -f, --file [HOSTNAME:]F
-use archive file or device F (default "-", meaning stdin/stdout)
+Use archive file or device F (default "-", meaning stdin/stdout).
+Note that "/dev/stdout" is not equivalent to "-". Using "/dev/stdout"
+explicitly can lead to corrupted archive, especially when coupled with "-v".
.TP
.B -j, --bzip2
filter archive through bzip2, use to decompress .bz2 files
@@ -399,7 +401,9 @@
print directory names while reading the archive
.TP
.B -f, --file [HOSTNAME:]F
-use archive file or device F (default "-", meaning stdin/stdout)
+Use archive file or device F (default "-", meaning stdin/stdout).
+Note that "/dev/stdout" is not equivalent to "-". Using "/dev/stdout"
+explicitly can lead to corrupted archive, especially when coupled with "-v".
.TP
.B -F, --info-script F --new-volume-script F
run script at end of each tape (implies \fI--multi-volume\fR)
Index: tar.spec
===================================================================
RCS file: /cvs/extras/rpms/tar/devel/tar.spec,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- tar.spec 24 Oct 2007 12:21:40 -0000 1.64
+++ tar.spec 12 Dec 2007 13:47:18 -0000 1.65
@@ -2,7 +2,7 @@
Name: tar
Epoch: 2
Version: 1.17
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: Applications/Archiving
URL: http://www.gnu.org/software/tar/
@@ -16,6 +16,7 @@
Patch5: tar-1.17-wildcards.patch
Patch6: tar-1.17-dot_dot_vuln.patch
Patch7: tar-1.17-safer_name_suffix.patch
+Patch8: tar-1.17-xattrs-conf.patch
Prereq: info
BuildRequires: autoconf automake gzip texinfo gettext libacl-devel libselinux-devel gawk
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -43,6 +44,7 @@
%patch5 -p1 -b .wildcards
%patch6 -p1 -b .dot_dot_vuln
%patch7 -p1 -b .safer_name_suffix
+%patch8 -p1 -b .xattrs-conf
%build
%configure --bindir=/bin --libexecdir=/sbin
@@ -93,6 +95,15 @@
%{_infodir}/tar.info*
%changelog
+* Wed Dec 12 2007 Radek Brich <rbrich at redhat.com> 2:1.17-5
+- fix (non)detection of xattrs
+- move configure stuff from -xattrs patch to -xattrs-conf,
+ so the original patch could be easily read
+- fix -xattrs patch to work with zero length files and show
+ warnings when xattrs not available (fixes by James Antill)
+- possible corruption (#408621) - add warning to man page
+ for now, may be actually fixed later, depending on upstream
+
* Tue Oct 23 2007 Radek Brich <rbrich at redhat.com> 2:1.17-4
- upstream patch for CVE-2007-4476
(tar stack crashing in safer_name_suffix)
- Previous message (by thread): rpms/pungi/devel .cvsignore, 1.36, 1.37 pungi.spec, 1.39, 1.40 sources, 1.37, 1.38
- Next message (by thread): rpms/gcc/devel gcc41-debug-fortran-array.patch, NONE, 1.1 gcc41-omp-outer-ctx.patch, NONE, 1.1 gcc41-pr34178.patch, NONE, 1.1 gcc41-pr34364.patch, NONE, 1.1 gcc41-pr34394.patch, NONE, 1.1 gcc41.spec, 1.183, 1.184 gcc41-pr34094.patch, 1.1, NONE gcc41-pr34238.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list