r4243 - in glibc-package/branches/eglibc-2.11/debian: . patches patches/any
Author: schizo
Date: 2010-04-11 18:23:37 +0000 (Sun, 11 Apr 2010)
New Revision: 4243
Added:
glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-remove.diff
Removed:
glibc-package/branches/eglibc-2.11/debian/patches/any/submitted-remove.diff
Modified:
glibc-package/branches/eglibc-2.11/debian/changelog
glibc-package/branches/eglibc-2.11/debian/patches/series
Log:
patches/any/submitted-remove.diff: replace with cvs-remove.diff, from upstream
Modified: glibc-package/branches/eglibc-2.11/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/changelog 2010-04-11 18:22:34 UTC (rev 4242)
+++ glibc-package/branches/eglibc-2.11/debian/changelog 2010-04-11 18:23:37 UTC (rev 4243)
@@ -89,11 +89,11 @@
[ Samuel Thibault ]
* patches/hurd-i386/local-pthread.diff: Refresh patch.
* Update debian/testsuite-checking/expected-results-i486-gnu-libc.
- * patches/any/submitted-remove.diff: New patch to fix remove() on
- directory on non-Linux ports.
* patches/hurd-i386/cvs-setsid.diff: Update to git version.
* patches/hurd-i386/local-locarchive.diff: New patch to fix installation of
locales-all.
+ * patches/hurd-i386/cvs-remove.diff: New upstream patch to fix remove()
+ on directory on non-Linux ports.
[ Aurelien Jarno ]
* debian/control.in/*: add ${misc:Depends} to all binary packages.
Added: glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-remove.diff
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-remove.diff (rev 0)
+++ glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-remove.diff 2010-04-11 18:23:37 UTC (rev 4243)
@@ -0,0 +1,52 @@
+commit cb652f30b0aa17e65803962305e052e509a5316d
+Author: Ulrich Drepper <drepper@redhat.com>
+Date: Sun Apr 4 02:08:37 2010 -0700
+
+ Handle POSIX-compliant errno value of unlink in remove.
+
+---
+ posix/remove.c | 10 ++++++++--
+ unix/sysv/linux/remove.c | 2 ++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/sysdeps/posix/remove.c b/sysdeps/posix/remove.c
+index c44af92..ae5bbdb 100644
+--- a/sysdeps/posix/remove.c
++++ b/sysdeps/posix/remove.c
+@@ -1,5 +1,5 @@
+ /* ANSI C `remove' function to delete a file or directory. POSIX.1 version.
+- Copyright (C) 1995,96,97,2002,2003 Free Software Foundation, Inc.
++ Copyright (C) 1995,96,97,2002,2003,2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -21,6 +21,12 @@
+ #include <stdio.h>
+ #include <unistd.h>
+
++
++#ifndef IS_NO_DIRECTORY_ERROR
++# define IS_NO_DIRECTORY_ERROR errno != EPERM
++#endif
++
++
+ int
+ remove (file)
+ const char *file;
+@@ -28,7 +34,7 @@ remove (file)
+ /* First try to unlink since this is more frequently the necessary action. */
+ if (__unlink (file) != 0
+ /* If it is indeed a directory... */
+- && (errno != EISDIR
++ && (IS_NO_DIRECTORY_ERROR
+ /* ...try to remove it. */
+ || __rmdir (file) != 0))
+ /* Cannot remove the object for whatever reason. */
+diff --git a/sysdeps/unix/sysv/linux/remove.c b/sysdeps/unix/sysv/linux/remove.c
+new file mode 100644
+index 0000000..4abf34a
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/remove.c
+@@ -0,0 +1,2 @@
++#define IS_NO_DIRECTORY_ERROR errno != EISDIR
++#include <sysdeps/posix/remove.c>
Deleted: glibc-package/branches/eglibc-2.11/debian/patches/any/submitted-remove.diff
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/any/submitted-remove.diff 2010-04-11 18:22:34 UTC (rev 4242)
+++ glibc-package/branches/eglibc-2.11/debian/patches/any/submitted-remove.diff 2010-04-11 18:23:37 UTC (rev 4243)
@@ -1,25 +0,0 @@
-Only Linux' unlink() uses EISDIR when the entry to remove() is a directory
-Reported by Ludovic Courtès
-
-2010-02-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
-
- * sysdeps/posix/remove.c (remove): Check __unlink()'s result against
- EPERM too.
-
----
- remove.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sysdeps/posix/remove.c b/sysdeps/posix/remove.c
-index c44af92..61fa5f3 100644
---- a/sysdeps/posix/remove.c
-+++ b/sysdeps/posix/remove.c
-@@ -28,7 +28,7 @@ remove (file)
- /* First try to unlink since this is more frequently the necessary action. */
- if (__unlink (file) != 0
- /* If it is indeed a directory... */
-- && (errno != EISDIR
-+ && ((errno != EISDIR && errno != EPERM)
- /* ...try to remove it. */
- || __rmdir (file) != 0))
- /* Cannot remove the object for whatever reason. */
Modified: glibc-package/branches/eglibc-2.11/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/series 2010-04-11 18:22:34 UTC (rev 4242)
+++ glibc-package/branches/eglibc-2.11/debian/patches/series 2010-04-11 18:23:37 UTC (rev 4243)
@@ -228,5 +228,5 @@
any/submitted-stack-guard-quick-randomization.diff
any/submitted-leading-zero-stack-guard.diff
any/submitted-stat-issock.diff
-any/submitted-remove.diff
+any/cvs-remove.diff
any/submitted-nptl-invalid-td.patch
Reply to: