X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=m4%2Flchown.m4;fp=m4%2Flchown.m4;h=646dd9f34f6a01815d59cbc2ccd0821b1b897ec2;hp=f509fde04abc21c58c0a77569315bf9b46ff183e;hb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6;hpb=00fa13ff3f2d5b6e2a94c5e948c38616ff7ad37a diff --git a/m4/lchown.m4 b/m4/lchown.m4 index f509fde..646dd9f 100644 --- a/m4/lchown.m4 +++ b/m4/lchown.m4 @@ -1,21 +1,29 @@ -# serial 13 +# serial 15 # Determine whether we need the lchown wrapper. -dnl Copyright (C) 1998, 2001, 2003-2007, 2009 Free Software Foundation, Inc. +dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2010 Free Software Foundation, +dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. -dnl Provide lchown on systems that lack it. +dnl Provide lchown on systems that lack it, and work around bugs +dnl on systems that have it. AC_DEFUN([gl_FUNC_LCHOWN], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_CHOWN]) + AC_CHECK_FUNCS_ONCE([lchmod]) AC_REPLACE_FUNCS([lchown]) if test $ac_cv_func_lchown = no; then + HAVE_LCHOWN=0 + elif test "$gl_cv_func_chown_slash_works" != yes \ + || test "$gl_cv_func_chown_ctime_works" != yes; then + dnl Trailing slash and ctime bugs in chown also occur in lchown. + AC_LIBOBJ([lchown]) REPLACE_LCHOWN=1 fi ])