Hello community, here is the log from the commit of package device-mapper checked in at Tue May 23 01:36:10 CEST 2006. -------- --- device-mapper/device-mapper.changes 2006-05-18 18:39:04.000000000 +0200 +++ device-mapper/device-mapper.changes 2006-05-23 01:06:25.000000000 +0200 @@ -1,0 +2,12 @@ +Mon May 22 17:16:40 CEST 2006 - fehr@suse.de + +- update to new version 1.02.07 + Add DM_CORELOG flag to dm_tree_node_add_mirror_target(). + Avoid a dmeventd compiler warning. + +- update to new version 1.02.06 + Move DEFS into configure.h. + Fix leaks in error paths found by coverity. + Remove dmsetup line buffer limitation. + +------------------------------------------------------------------- Old: ---- device-mapper.1.02.05.tar.bz2 New: ---- device-mapper.1.02.07.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ device-mapper.spec ++++++ --- /var/tmp/diff_new_pack.tsqGSs/_old 2006-05-23 01:36:02.000000000 +0200 +++ /var/tmp/diff_new_pack.tsqGSs/_new 2006-05-23 01:36:02.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package device-mapper (Version 1.02.05) +# spec file for package device-mapper (Version 1.02.07) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -13,7 +13,7 @@ License: GPL, LGPL Group: System/Base Autoreqprov: on -Version: 1.02.05 +Version: 1.02.07 Release: 1 Summary: Device Mapper Tools Source: device-mapper.%{version}.tar.bz2 @@ -68,6 +68,14 @@ %{_mandir}/man8/dmsetup.8.gz %changelog -n device-mapper +* Mon May 22 2006 - fehr@suse.de +- update to new version 1.02.07 + Add DM_CORELOG flag to dm_tree_node_add_mirror_target(). + Avoid a dmeventd compiler warning. +- update to new version 1.02.06 + Move DEFS into configure.h. + Fix leaks in error paths found by coverity. + Remove dmsetup line buffer limitation. * Thu Apr 20 2006 - fehr@suse.de - update to new version 1.02.05 Separate install_include target in makefiles. ++++++ device-mapper.1.02.05.tar.bz2 -> device-mapper.1.02.07.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/VERSION new/device-mapper.1.02.07/VERSION --- old/device-mapper.1.02.05/VERSION 2006-04-19 19:25:07.000000000 +0200 +++ new/device-mapper.1.02.07/VERSION 2006-05-11 22:24:50.000000000 +0200 @@ -1 +1 @@ -1.02.05 (2006-04-19) +1.02.07 (2006-05-11) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/WHATS_NEW new/device-mapper.1.02.07/WHATS_NEW --- old/device-mapper.1.02.05/WHATS_NEW 2006-04-19 18:41:03.000000000 +0200 +++ new/device-mapper.1.02.07/WHATS_NEW 2006-05-11 22:24:07.000000000 +0200 @@ -1,3 +1,14 @@ +Version 1.02.07 - 11 May 2006 +============================= + Add DM_CORELOG flag to dm_tree_node_add_mirror_target(). + Avoid a dmeventd compiler warning. + +Version 1.02.06 - 10 May 2006 +============================= + Move DEFS into configure.h. + Fix leaks in error paths found by coverity. + Remove dmsetup line buffer limitation. + Version 1.02.05 - 19 Apr 2006 ============================= Separate install_include target in makefiles. diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/configure new/device-mapper.1.02.07/configure --- old/device-mapper.1.02.05/configure 2006-04-19 18:38:56.000000000 +0200 +++ new/device-mapper.1.02.07/configure 2006-05-10 21:38:25.000000000 +0200 @@ -310,7 +310,7 @@ #endif" ac_default_prefix=/usr -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os AWK CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB LIBOBJS MSGFMT usrlibdir JOBS STATIC_LINK OWNER GROUP interface kerneldir missingkernel kernelvsn tmpdir LVM_DEFS COPTIMISE_FLAG CLDFLAGS LDDEPS LIB_SUFFIX DEBUG DM_LIB_VERSION COMPAT DMIOCTLS LOCALEDIR INTL_PACKAGE INTL DEVICE_UID DEVICE_GID DEVICE_MODE DMEVENTD PKGCONFIG LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os AWK CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB LIBOBJS MSGFMT usrlibdir JOBS STATIC_LINK OWNER GROUP interface kerneldir missingkernel kernelvsn tmpdir COPTIMISE_FLAG CLDFLAGS LDDEPS LIB_SUFFIX DEBUG DM_LIB_VERSION COMPAT DMIOCTLS LOCALEDIR INTL_PACKAGE INTL DEVICE_UID DEVICE_GID DEVICE_MODE DMEVENTD PKGCONFIG LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1321,6 +1321,10 @@ ################################################################################ + ac_config_headers="$ac_config_headers include/configure.h" + + +################################################################################ ac_aux_dir= for ac_dir in autoconf $srcdir/autoconf; do if test -f $ac_dir/install-sh; then @@ -5364,6 +5368,82 @@ then exec_prefix=""; fi; + +################################################################################ + +echo "$as_me:$LINENO: checking for getline in -lc" >&5 +echo $ECHO_N "checking for getline in -lc... $ECHO_C" >&6 +if test "${ac_cv_lib_c_getline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lc $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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char getline (); +int +main () +{ +getline (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_c_getline=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_c_getline=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_c_getline" >&5 +echo "${ECHO_T}$ac_cv_lib_c_getline" >&6 +if test $ac_cv_lib_c_getline = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETLINE 1 +_ACEOF + +fi + + ################################################################################ echo "$as_me:$LINENO: checking whether to enable selinux support" >&5 echo $ECHO_N "checking whether to enable selinux support... $ECHO_C" >&6 @@ -5377,8 +5457,6 @@ ################################################################################ if test x$SELINUX = xyes; then - echo "$as_me:$LINENO: checking for sepol_check_context function" >&5 -echo $ECHO_N "checking for sepol_check_context function... $ECHO_C" >&6 echo "$as_me:$LINENO: checking for sepol_check_context in -lsepol" >&5 echo $ECHO_N "checking for sepol_check_context in -lsepol... $ECHO_C" >&6 if test "${ac_cv_lib_sepol_sepol_check_context+set}" = set; then @@ -5449,15 +5527,16 @@ HAVE_SEPOL=no fi - echo "$as_me:$LINENO: result: $HAVE_SEPOL" >&5 -echo "${ECHO_T}$HAVE_SEPOL" >&6 if test x$HAVE_SEPOL = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SEPOL 1 +_ACEOF + LIBS="-lsepol $LIBS" fi - echo "$as_me:$LINENO: checking for is_selinux_enabled function" >&5 -echo $ECHO_N "checking for is_selinux_enabled function... $ECHO_C" >&6 echo "$as_me:$LINENO: checking for is_selinux_enabled in -lselinux" >&5 echo $ECHO_N "checking for is_selinux_enabled in -lselinux... $ECHO_C" >&6 if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then @@ -5528,11 +5607,13 @@ HAVE_SELINUX=no fi - echo "$as_me:$LINENO: result: $HAVE_SELINUX" >&5 -echo "${ECHO_T}$HAVE_SELINUX" >&6 if test x$HAVE_SELINUX = xyes; then - LVM_DEFS="$LVM_DEFS -DHAVE_SELINUX" + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SELINUX 1 +_ACEOF + LIBS="-lselinux $LIBS" else { echo "$as_me:$LINENO: WARNING: Disabling selinux" >&5 @@ -5686,7 +5767,11 @@ cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - LVM_DEFS="$LVM_DEFS -DHAVE_GETOPTLONG" + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETOPTLONG 1 +_ACEOF + fi done @@ -5906,7 +5991,6 @@ - ################################################################################ ac_config_files="$ac_config_files Makefile make.tmpl include/Makefile dmsetup/Makefile lib/Makefile lib/libdevmapper.pc lib/libdm-common.h dmeventd/Makefile dmeventd/libdevmapper-event.pc kernel/Makefile man/Makefile po/Makefile" cat >confcache <<\_ACEOF @@ -5983,38 +6067,7 @@ }' fi -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -cat >confdef2opt.sed <<\_ACEOF -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g -t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g -t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed - +DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= @@ -6348,10 +6401,15 @@ --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE Configuration files: $config_files +Configuration headers: +$config_headers + Report bugs to <bug-autoconf@gnu.org>." _ACEOF @@ -6472,6 +6530,7 @@ "kernel/Makefile" ) CONFIG_FILES="$CONFIG_FILES kernel/Makefile" ;; "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "po/Makefile" ) CONFIG_FILES="$CONFIG_FILES po/Makefile" ;; + "include/configure.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/configure.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; @@ -6484,6 +6543,7 @@ # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree @@ -6596,7 +6656,6 @@ s,@missingkernel@,$missingkernel,;t t s,@kernelvsn@,$kernelvsn,;t t s,@tmpdir@,$tmpdir,;t t -s,@LVM_DEFS@,$LVM_DEFS,;t t s,@COPTIMISE_FLAG@,$COPTIMISE_FLAG,;t t s,@CLDFLAGS@,$CLDFLAGS,;t t s,@LDDEPS@,$LDDEPS,;t t @@ -6852,6 +6911,229 @@ done _ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +done +_ACEOF cat >>$CONFIG_STATUS <<\_ACEOF diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/configure.in new/device-mapper.1.02.07/configure.in --- old/device-mapper.1.02.05/configure.in 2006-04-19 18:38:56.000000000 +0200 +++ new/device-mapper.1.02.07/configure.in 2006-05-10 21:38:25.000000000 +0200 @@ -20,6 +20,9 @@ AC_INIT(lib/libdevmapper.h) ################################################################################ +AC_CONFIG_HEADERS(include/configure.h) + +################################################################################ dnl -- Setup the directory where autoconf has auxilary files AC_CONFIG_AUX_DIR(autoconf) @@ -200,6 +203,12 @@ then exec_prefix=""; fi; + +################################################################################ +dnl -- getline included in recent libc + +AC_CHECK_LIB(c, getline, AC_DEFINE([HAVE_GETLINE], 1, [Define to 1 if getline is available.])) + ################################################################################ dnl -- Disable selinux AC_MSG_CHECKING(whether to enable selinux support) @@ -210,20 +219,17 @@ ################################################################################ dnl -- Check for selinux if test x$SELINUX = xyes; then - AC_MSG_CHECKING(for sepol_check_context function) AC_CHECK_LIB(sepol, sepol_check_context, HAVE_SEPOL=yes, HAVE_SEPOL=no) - AC_MSG_RESULT($HAVE_SEPOL) if test x$HAVE_SEPOL = xyes; then + AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.]) LIBS="-lsepol $LIBS" fi - AC_MSG_CHECKING(for is_selinux_enabled function) AC_CHECK_LIB(selinux, is_selinux_enabled, HAVE_SELINUX=yes, HAVE_SELINUX=no) - AC_MSG_RESULT($HAVE_SELINUX) if test x$HAVE_SELINUX = xyes; then - LVM_DEFS="$LVM_DEFS -DHAVE_SELINUX" + AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 if selinux is available.]) LIBS="-lselinux $LIBS" else AC_MSG_WARN(Disabling selinux) @@ -232,7 +238,7 @@ ################################################################################ dnl -- Check for getopt -AC_CHECK_HEADERS(getopt.h, LVM_DEFS="$LVM_DEFS -DHAVE_GETOPTLONG") +AC_CHECK_HEADERS(getopt.h, AC_DEFINE([HAVE_GETOPTLONG], 1, [Define to 1 if getopt_long is available.])) ################################################################################ dnl -- Internationalisation stuff @@ -359,7 +365,6 @@ AC_SUBST(missingkernel) AC_SUBST(kernelvsn) AC_SUBST(tmpdir) -AC_SUBST(LVM_DEFS) AC_SUBST(CFLAGS) AC_SUBST(COPTIMISE_FLAG) AC_SUBST(CLDFLAGS) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/dmeventd/dmeventd.c new/device-mapper.1.02.07/dmeventd/dmeventd.c --- old/device-mapper.1.02.05/dmeventd/dmeventd.c 2006-03-09 22:33:59.000000000 +0100 +++ new/device-mapper.1.02.07/dmeventd/dmeventd.c 2006-05-11 21:08:02.000000000 +0200 @@ -16,6 +16,9 @@ * dmeventd - dm event daemon to monitor active mapped devices */ +#define _GNU_SOURCE +#define _FILE_OFFSET_BITS 64 + #include "libdevmapper.h" #include "libdevmapper-event.h" #include "list.h" @@ -318,7 +321,7 @@ struct stat st_buf; char path2[PATH_MAX]; - if (!device) + if (!device || !*device) return 0; if (device[0] == '/') /* absolute path */ @@ -718,8 +721,11 @@ void *dl; struct dso_data *ret = NULL; + log_very_verbose("Opening shared library %s", data->dso_name); + if (!(dl = dlopen(data->dso_name, RTLD_NOW))){ - log_error("%s\n", dlerror()); + log_error("dmeventd %s dlopen failed: %s", data->dso_name, + dlerror()); return NULL; } @@ -1207,14 +1213,14 @@ /* Init thread signal handling. */ static void init_thread_signals(void) { - sigset_t sigset; + sigset_t my_sigset; struct sigaction act; memset(&act, 0, sizeof(act)); act.sa_handler = sig_alarm; sigaction(SIGALRM, &act, NULL); - sigfillset(&sigset); - pthread_sigmask(SIG_BLOCK, &sigset, NULL); + sigfillset(&my_sigset); + pthread_sigmask(SIG_BLOCK, &my_sigset, NULL); } static int daemonize(void) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/dmsetup/dmsetup.c new/device-mapper.1.02.07/dmsetup/dmsetup.c --- old/device-mapper.1.02.05/dmsetup/dmsetup.c 2006-04-06 18:20:40.000000000 +0200 +++ new/device-mapper.1.02.07/dmsetup/dmsetup.c 2006-05-10 21:38:25.000000000 +0200 @@ -19,6 +19,8 @@ #define _GNU_SOURCE #define _FILE_OFFSET_BITS 64 +#include <configure.h> + #include "libdevmapper.h" #include "log.h" @@ -74,7 +76,7 @@ # define MKDEV(x,y) makedev((x),(y)) #endif -#define LINE_SIZE 1024 +#define LINE_SIZE 4096 #define ARGS_MAX 256 #define err(msg, x...) fprintf(stderr, msg "\n", ##x) @@ -117,7 +119,9 @@ */ static int _parse_file(struct dm_task *dmt, const char *file) { - char buffer[LINE_SIZE], ttype[LINE_SIZE], *ptr, *comment; + char *buffer = NULL; + size_t buffer_size = 0; + char ttype[LINE_SIZE], *ptr, *comment; FILE *fp; unsigned long long start, size; int r = 0, n, line = 0; @@ -132,7 +136,17 @@ } else fp = stdin; - while (fgets(buffer, sizeof(buffer), fp)) { +#ifndef HAVE_GETLINE + buffer_size = LINE_SIZE; + if (!(buffer = malloc(buffer_size))) { + err("Failed to malloc line buffer."); + return 0; + } + + while (fgets(buffer, buffer_size, fp)) { +#else + while (getline(&buffer, &buffer_size, fp) > 0) { +#endif line++; /* trim trailing space */ @@ -164,6 +178,7 @@ r = 1; out: + free(buffer); if (file) fclose(fp); return r; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/include/Makefile.in new/device-mapper.1.02.07/include/Makefile.in --- old/device-mapper.1.02.05/include/Makefile.in 2004-04-02 17:18:37.000000000 +0200 +++ new/device-mapper.1.02.07/include/Makefile.in 2006-05-10 21:38:25.000000000 +0200 @@ -34,7 +34,7 @@ distclean: find . -maxdepth 2 -type l -exec $(RM) \{\} \; - $(RM) Makefile .include_symlinks .symlinks_created + $(RM) Makefile .include_symlinks .symlinks_created configure.h pofile: all diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/include/configure.h.in new/device-mapper.1.02.07/include/configure.h.in --- old/device-mapper.1.02.05/include/configure.h.in 1970-01-01 01:00:00.000000000 +0100 +++ new/device-mapper.1.02.07/include/configure.h.in 2006-05-10 21:38:25.000000000 +0200 @@ -0,0 +1,181 @@ +/* include/configure.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if the `closedir' function returns void instead of `int'. */ +#undef CLOSEDIR_VOID + +/* Define to 1 if you have the <ctype.h> header file. */ +#undef HAVE_CTYPE_H + +/* Define to 1 if you have the <dirent.h> header file. */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +#undef HAVE_DOPRNT + +/* Define to 1 if you have the <errno.h> header file. */ +#undef HAVE_ERRNO_H + +/* Define to 1 if you have the <fcntl.h> header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if getline is available. */ +#undef HAVE_GETLINE + +/* Define to 1 if getopt_long is available. */ +#undef HAVE_GETOPTLONG + +/* Define to 1 if you have the <getopt.h> header file. */ +#undef HAVE_GETOPT_H + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the <limits.h> header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#undef HAVE_MALLOC + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `memset' function. */ +#undef HAVE_MEMSET + +/* Define to 1 if you have the `mkdir' function. */ +#undef HAVE_MKDIR + +/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the `rmdir' function. */ +#undef HAVE_RMDIR + +/* Define to 1 if selinux is available. */ +#undef HAVE_SELINUX + +/* Define to 1 if sepol_check_context is available. */ +#undef HAVE_SEPOL + +/* Define to 1 if `stat' has the bug that it succeeds when given the + zero-length file name argument. */ +#undef HAVE_STAT_EMPTY_STRING_BUG + +/* Define to 1 if you have the <stdarg.h> header file. */ +#undef HAVE_STDARG_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strrchr' function. */ +#undef HAVE_STRRCHR + +/* Define to 1 if `st_rdev' is member of `struct stat'. */ +#undef HAVE_STRUCT_STAT_ST_RDEV + +/* Define to 1 if your `struct stat' has `st_rdev'. Deprecated, use + `HAVE_STRUCT_STAT_ST_RDEV' instead. */ +#undef HAVE_ST_RDEV + +/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the <sys/ioctl.h> header file. */ +#undef HAVE_SYS_IOCTL_H + +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the <sys/param.h> header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <termios.h> header file. */ +#undef HAVE_TERMIOS_H + +/* Define to 1 if you have the `uname' function. */ +#undef HAVE_UNAME + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vprintf' function. */ +#undef HAVE_VPRINTF + +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing + slash. */ +#undef LSTAT_FOLLOWS_SLASHED_SYMLINK + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define as the return type of signal handlers (`int' or `void'). */ +#undef RETSIGTYPE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +#undef TIME_WITH_SYS_TIME + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to rpl_malloc if the replacement function should be used. */ +#undef malloc + +/* Define to `long' if <sys/types.h> does not define. */ +#undef off_t + +/* Define to `int' if <sys/types.h> does not define. */ +#undef pid_t + +/* Define to `unsigned' if <sys/types.h> does not define. */ +#undef size_t diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/include/lib.h new/device-mapper.1.02.07/include/lib.h --- old/device-mapper.1.02.05/include/lib.h 2005-10-17 00:57:20.000000000 +0200 +++ new/device-mapper.1.02.07/include/lib.h 2006-05-10 21:38:25.000000000 +0200 @@ -23,6 +23,8 @@ #define _GNU_SOURCE #define _FILE_OFFSET_BITS 64 +#include <configure.h> + #include "log.h" #include "intl.h" diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/lib/libdevmapper.h new/device-mapper.1.02.07/lib/libdevmapper.h --- old/device-mapper.1.02.05/lib/libdevmapper.h 2006-02-23 20:11:51.000000000 +0100 +++ new/device-mapper.1.02.07/lib/libdevmapper.h 2006-05-11 21:10:55.000000000 +0200 @@ -350,6 +350,7 @@ #define DM_NOSYNC 0x00000001 /* Known already in sync */ #define DM_FORCESYNC 0x00000002 /* Force resync */ #define DM_BLOCK_ON_ERROR 0x00000004 /* On error, suspend I/O */ +#define DM_CORELOG 0x00000008 /* In-memory log */ int dm_tree_node_add_mirror_target_log(struct dm_tree_node *node, uint32_t region_size, diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/lib/libdm-common.c new/device-mapper.1.02.07/lib/libdm-common.c --- old/device-mapper.1.02.05/lib/libdm-common.c 2006-02-21 00:55:58.000000000 +0100 +++ new/device-mapper.1.02.07/lib/libdm-common.c 2006-05-10 18:23:41.000000000 +0200 @@ -101,8 +101,10 @@ return NULL; } - if (!dm_check_version()) + if (!dm_check_version()) { + dm_free(dmt); return NULL; + } memset(dmt, 0, sizeof(*dmt)); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/lib/libdm-deptree.c new/device-mapper.1.02.07/lib/libdm-deptree.c --- old/device-mapper.1.02.05/lib/libdm-deptree.c 2006-02-08 15:14:13.000000000 +0100 +++ new/device-mapper.1.02.07/lib/libdm-deptree.c 2006-05-11 21:10:55.000000000 +0200 @@ -1243,8 +1243,8 @@ log_parm_count += hweight32(seg->flags); /* [no]sync, block_on_error etc. */ if (seg->clustered) { - if (seg->uuid) - log_parm_count++; /* uuid */ + if (seg->uuid && !(seg->flags & DM_CORELOG)) + log_parm_count++; /* uuid (already counted for core log) */ if ((tw = _dm_snprintf(params + pos, paramsize - pos, "clustered_")) < 0) { stack; /* Out of space */ return -1; @@ -1701,18 +1701,19 @@ seg = list_item(list_last(&node->props.segs), struct load_segment); if (log_uuid) { - if (!(log_node = dm_tree_find_node_by_uuid(node->dtree, log_uuid))) { - log_error("Couldn't find mirror log uuid %s.", log_uuid); - return 0; - } - - if (!_link_tree_nodes(node, log_node)) - return_0; - if (!(seg->uuid = dm_pool_strdup(node->dtree->mem, log_uuid))) { log_error("log uuid pool_strdup failed"); return 0; } + if (!(flags & DM_CORELOG)) { + if (!(log_node = dm_tree_find_node_by_uuid(node->dtree, log_uuid))) { + log_error("Couldn't find mirror log uuid %s.", log_uuid); + return 0; + } + + if (!_link_tree_nodes(node, log_node)) + return_0; + } } seg->log = log_node; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/lib/libdm-file.c new/device-mapper.1.02.07/lib/libdm-file.c --- old/device-mapper.1.02.05/lib/libdm-file.c 2006-01-31 15:50:37.000000000 +0100 +++ new/device-mapper.1.02.07/lib/libdm-file.c 2006-05-10 18:23:41.000000000 +0200 @@ -23,7 +23,7 @@ static int _create_dir_recursive(const char *dir) { char *orig, *s; - int rc; + int rc, r = 0; log_verbose("Creating directory \"%s\"", dir); /* Create parent directories */ @@ -35,22 +35,24 @@ if (rc < 0 && errno != EEXIST) { log_error("%s: mkdir failed: %s", orig, strerror(errno)); - dm_free(orig); - return 0; + goto out; } } *s++ = '/'; } - dm_free(orig); /* Create final directory */ rc = mkdir(dir, 0777); if (rc < 0 && errno != EEXIST) { log_error("%s: mkdir failed: %s", orig, strerror(errno)); - return 0; + goto out; } - return 1; + + r = 1; +out: + dm_free(orig); + return r; } int create_dir(const char *dir) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/device-mapper.1.02.05/make.tmpl.in new/device-mapper.1.02.07/make.tmpl.in --- old/device-mapper.1.02.05/make.tmpl.in 2006-04-19 17:23:10.000000000 +0200 +++ new/device-mapper.1.02.07/make.tmpl.in 2006-05-10 21:38:25.000000000 +0200 @@ -24,7 +24,7 @@ MSGFMT = @MSGFMT@ LN_S = @LN_S@ LIBS = @LIBS@ -DEFS += @DEFS@ @LVM_DEFS@ +DEFS += @DEFS@ CFLAGS += @CFLAGS@ CLDFLAGS += @CLDFLAGS@ LDDEPS += @LDDEPS@ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...
participants (1)
-
root@suse.de