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; }