* 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().
This commit is contained in:
nekral-guest 2008-08-30 18:29:55 +00:00
parent 0802405344
commit 76ea48bb64
3 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2008-08-26 Tobias <tp@fonz.de>
* 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 <nicolas.francois@centraliens.net> 2008-08-26 Nicolas François <nicolas.francois@centraliens.net>
* src/groupmems.c: Handle the options alphabetically. * src/groupmems.c: Handle the options alphabetically.

1
NEWS
View File

@ -5,6 +5,7 @@ shadow-4.1.2.1 -> shadow-4.1.3 UNRELEASED
*** general: *** general:
- packaging - packaging
* Added support for OpenPAM. * Added support for OpenPAM.
* Added support for uclibc.
- gpasswd - gpasswd
* Added support for long options --add (-a), --delete (-d), * Added support for long options --add (-a), --delete (-d),

View File

@ -431,12 +431,14 @@ static int copy_symlink (const char *src, const char *dst,
return -1; return -1;
} }
#ifdef HAVE_LUTIMES
/* 2007-10-18: We don't care about /* 2007-10-18: We don't care about
* exit status of lutimes because * exit status of lutimes because
* it returns ENOSYS on many system * it returns ENOSYS on many system
* - not implemented * - not implemented
*/ */
lutimes (dst, mt); lutimes (dst, mt);
#endif
return err; return err;
} }
@ -548,9 +550,15 @@ static int copy_file (const char *src, const char *dst,
(void) close (ifd); (void) close (ifd);
#ifdef HAVE_FUTIMES
if (futimes (ofd, mt) != 0) { if (futimes (ofd, mt) != 0) {
return -1; return -1;
} }
#else
if (utimes(dst, mt) != 0) {
return -1;
}
#endif
if (close (ofd) != 0) { if (close (ofd) != 0) {
return -1; return -1;