I have just done an NMU to fix this bug. Please find the diff attached.
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' [EMAIL PROTECTED] | [EMAIL PROTECTED]
`- people.debian.org/~aurel32 | www.aurel32.net
diff -Nru /tmp/9kZRE43ObH/liblockfile-1.06.1/debian/changelog /tmp/XgLtyg7l45/liblockfile-1.06.2/debian/changelog
--- /tmp/9kZRE43ObH/liblockfile-1.06.1/debian/changelog 2006-01-10 07:23:49.000000000 +0100
+++ /tmp/XgLtyg7l45/liblockfile-1.06.2/debian/changelog 2007-06-03 19:29:43.000000000 +0200
@@ -1,3 +1,11 @@
+liblockfile (1.06.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Rename eaccess() to eaccess_write() as eaccess is now a glibc function.
+ Patch by Colin Watson. Closes: #392779.
+
+ -- Aurelien Jarno <[EMAIL PROTECTED]> Sun, 03 Jun 2007 19:28:33 +0200
+
liblockfile (1.06.1) unstable; urgency=low
* Non-maintainer upload.
diff -Nru /tmp/9kZRE43ObH/liblockfile-1.06.1/dotlockfile.c /tmp/XgLtyg7l45/liblockfile-1.06.2/dotlockfile.c
--- /tmp/9kZRE43ObH/liblockfile-1.06.1/dotlockfile.c 2003-05-15 14:08:28.000000000 +0200
+++ /tmp/XgLtyg7l45/liblockfile-1.06.2/dotlockfile.c 2007-06-03 19:27:10.000000000 +0200
@@ -42,7 +42,7 @@
extern int optind;
#endif
-extern int eaccess(char *, gid_t, struct stat *);
+extern int eaccess_write(char *, gid_t, struct stat *);
/*
* Sleep for an amout of time while regulary checking if
@@ -252,14 +252,14 @@
return L_ERROR;
}
gid = getgid();
- if (eaccess(dir, gid, &st) < 0) {
+ if (eaccess_write(dir, gid, &st) < 0) {
if (errno == ENOENT) {
enoent:
if (!quiet) fprintf(stderr,
"dotlockfile: %s: no such directory\n", dir);
return L_TMPLOCK;
}
- if ((r = eaccess(dir, getegid(), &st) < 0) && errno == ENOENT)
+ if ((r = eaccess_write(dir, getegid(), &st) < 0) && errno == ENOENT)
goto enoent;
if (r < 0 || !ismaillock(lockfile, pwd->pw_name)) {
if (!quiet) fprintf(stderr,
@@ -272,7 +272,7 @@
/*
* Now we should be able to chdir() to the lock directory.
* When we stat("."), it should be the same as at the
- * eaccess() check or someone played symlink() games on us.
+ * eaccess_write() check or someone played symlink() games on us.
*/
if (chdir(dir) < 0 || stat(".", &st2) < 0) {
if (!quiet) fprintf(stderr,
diff -Nru /tmp/9kZRE43ObH/liblockfile-1.06.1/lockfile.c /tmp/XgLtyg7l45/liblockfile-1.06.2/lockfile.c
--- /tmp/9kZRE43ObH/liblockfile-1.06.1/lockfile.c 2004-06-04 17:14:21.000000000 +0200
+++ /tmp/XgLtyg7l45/liblockfile-1.06.2/lockfile.c 2007-06-03 19:27:10.000000000 +0200
@@ -54,7 +54,7 @@
#ifdef LIB
static
#endif
-int eaccess(char *fn, gid_t gid, struct stat *st)
+int eaccess_write(char *fn, gid_t gid, struct stat *st)
{
struct stat tmp;
uid_t uid = geteuid();
@@ -96,7 +96,7 @@
*p = 0;
else
strcpy(dir, ".");
- if (eaccess(dir, egid, NULL) >= 0) {
+ if (eaccess_write(dir, egid, NULL) >= 0) {
free(dir);
return 0;
}
@@ -111,7 +111,7 @@
return 0;
mailgid = st.st_gid;
}
- ret = eaccess(dir, mailgid, NULL) >= 0;
+ ret = eaccess_write(dir, mailgid, NULL) >= 0;
free (dir);
return ret;
}