diff --git a/ChangeLog b/ChangeLog index 74b1875e..de35f9ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-08-26 Tobias + + * NEWS: Added support for uclibc. + * configure.in, libmisc/copydir.c: futimes() and lutimes() are not + standard. Check if they are implemented before using them. Do not + set the time of links if lutimes() does not exist, and use + utimes() as a replacement for futimes(). + 2008-08-26 Nicolas François * src/groupmems.c: Handle the options alphabetically. diff --git a/NEWS b/NEWS index 19500726..f8289067 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ shadow-4.1.2.1 -> shadow-4.1.3 UNRELEASED *** general: - packaging * Added support for OpenPAM. + * Added support for uclibc. - gpasswd * Added support for long options --add (-a), --delete (-d), diff --git a/libmisc/copydir.c b/libmisc/copydir.c index abcea4c1..b887303c 100644 --- a/libmisc/copydir.c +++ b/libmisc/copydir.c @@ -431,12 +431,14 @@ static int copy_symlink (const char *src, const char *dst, return -1; } +#ifdef HAVE_LUTIMES /* 2007-10-18: We don't care about * exit status of lutimes because * it returns ENOSYS on many system * - not implemented */ lutimes (dst, mt); +#endif return err; } @@ -548,9 +550,15 @@ static int copy_file (const char *src, const char *dst, (void) close (ifd); +#ifdef HAVE_FUTIMES if (futimes (ofd, mt) != 0) { return -1; } +#else + if (utimes(dst, mt) != 0) { + return -1; + } +#endif if (close (ofd) != 0) { return -1;