[Fakeroot-commits] fakeroot configure.ac,1.49,1.50 libfakeroot.c,1.20,1.21 wrapfunc.inp,1.5,1.6
schizo@haydn.debian.org
schizo@haydn.debian.org
Update of /cvsroot/fakeroot/fakeroot
In directory haydn:/tmp/cvs-serv5748
Modified Files:
configure.ac libfakeroot.c wrapfunc.inp
Log Message:
* configure.ac, libfakeroot.c: handle platforms without setresuid() or
setresgid().
Index: configure.ac
===================================================================
RCS file: /cvsroot/fakeroot/fakeroot/configure.ac,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -d -r1.49 -r1.50
--- configure.ac 18 Jun 2004 17:20:23 -0000 1.49
+++ configure.ac 18 Jun 2004 17:29:56 -0000 1.50
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([fakeroot],[1.0.0],[schizo@debian.org],[fakeroot])
+AC_INIT([fakeroot],[1.0.1],[schizo@debian.org],[fakeroot])
AC_PREREQ(2.59)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
@@ -329,7 +329,7 @@
AC_DEFINE_UNQUOTED([LIBCPATH], "$libcpath", [path to libc shared object])
dnl Checks for library functions.
-AC_CHECK_FUNCS(strdup strstr)
+AC_CHECK_FUNCS(strdup strstr setresuid setresgid)
dnl kludge
AH_VERBATIM([WRAP_STAT],
Index: libfakeroot.c
===================================================================
RCS file: /cvsroot/fakeroot/fakeroot/libfakeroot.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- libfakeroot.c 10 Jun 2004 16:31:22 -0000 1.20
+++ libfakeroot.c 18 Jun 2004 17:29:56 -0000 1.21
@@ -715,19 +715,23 @@
return 0;
}
+#ifdef HAVE_SETRESUID
int setresuid(uid_t ruid, uid_t euid, uid_t suid){
if (fakeroot_disabled)
return next_setresuid(ruid, euid, suid);
else
return 0;
}
+#endif /* HAVE_SETRESUID */
+#ifdef HAVE_SETRESGID
int setresgid(gid_t rgid, gid_t egid, gid_t sgid){
if (fakeroot_disabled)
return next_setresgid(rgid, egid, sgid);
else
return 0;
}
+#endif /* HAVE_SETRESGID */
int initgroups(const char* user, INITGROUPS_SECOND_ARG group){
if (fakeroot_disabled)
Index: wrapfunc.inp
===================================================================
RCS file: /cvsroot/fakeroot/fakeroot/wrapfunc.inp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- wrapfunc.inp 18 Jun 2004 17:06:57 -0000 1.5
+++ wrapfunc.inp 18 Jun 2004 17:29:56 -0000 1.6
@@ -67,7 +67,11 @@
setegid;int;(gid_t id);(id)
setreuid;int;(SETREUID_ARG ruid, SETREUID_ARG euid);(ruid, euid)
setregid;int;(SETREGID_ARG rgid, SETREGID_ARG egid);(rgid, egid)
+#ifdef HAVE_SETRESUID
setresuid;int;(uid_t ruid, uid_t euid, uid_t suid);(ruid, euid, suid)
+#endif /* HAVE_SETRESUID */
+#ifdef HAVE_SETRESGID
setresgid;int;(gid_t rgid, gid_t egid, gid_t sgid);(rgid, egid, sgid)
+#endif /* HAVE_SETRESGID */
initgroups;int;(const char *user, INITGROUPS_SECOND_ARG group);(user, group)
setgroups;int;(SETGROUPS_SIZE_TYPE size, const gid_t *list);(size, list)