diff options
-rw-r--r-- | sys-apps/fakechroot/ChangeLog | 6 | ||||
-rw-r--r-- | sys-apps/fakechroot/Manifest | 15 | ||||
-rw-r--r-- | sys-apps/fakechroot/fakechroot-2.9.ebuild | 11 | ||||
-rw-r--r-- | sys-apps/fakechroot/files/fakechroot-2.9-glibc-2.10-compat.patch | 161 |
4 files changed, 178 insertions, 15 deletions
diff --git a/sys-apps/fakechroot/ChangeLog b/sys-apps/fakechroot/ChangeLog index c3e5cfeaac1f..e3b97d75ea72 100644 --- a/sys-apps/fakechroot/ChangeLog +++ b/sys-apps/fakechroot/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-apps/fakechroot # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/fakechroot/ChangeLog,v 1.6 2009/04/09 09:59:51 spock Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/fakechroot/ChangeLog,v 1.7 2009/06/22 21:52:35 spock Exp $ + + 22 Jun 2009; Michał Januszewski <spock@gentoo.org> fakechroot-2.9.ebuild, + +files/fakechroot-2.9-glibc-2.10-compat.patch: + Make fakechroot compatible with glibc 2.10 (bug #274077). *fakechroot-2.9 (09 Apr 2009) diff --git a/sys-apps/fakechroot/Manifest b/sys-apps/fakechroot/Manifest index 027aa708fbe6..00b135cbe8b3 100644 --- a/sys-apps/fakechroot/Manifest +++ b/sys-apps/fakechroot/Manifest @@ -1,19 +1,10 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX fakechroot-2.6.patch 8286 RMD160 d971cab9908bde150226ffca9a1fe1b08cd28799 SHA1 ecc8b65fa1300e672e7b76232da1d2551b57137a SHA256 b1eee3091426e2d06637083f333c21f4fc08e8579771893d3d11e9e7cc651462 +AUX fakechroot-2.9-glibc-2.10-compat.patch 6436 RMD160 1e4c7ce7ee7db24bd22abe647c0c405a0c9d1648 SHA1 ff05265d90abeea5ef0bf683a660b43d5f39c271 SHA256 1535409f5ad0e5049239007615631191399801f021f4365805eee21d8926ad4c DIST fakechroot_2.6.orig.tar.gz 445712 RMD160 7b4d997b02a3ae9ba27a570ca45ab4768c112f12 SHA1 00e0ba26f127d1fb004093361202845cc230e85f SHA256 2bc10cd8ad2bb9da611af93cc21c9295d820880ae49f70b6d96bc3a2555faaaf DIST fakechroot_2.8.orig.tar.gz 482013 RMD160 bdac8e181e7df267354042ce0798798e2f821185 SHA1 f4c60c489e821ee73786eac1cf4e8cca2473fea0 SHA256 474939236ed402aede4338d9b5d4149679b5e0f5b5e70594a29dbcf5f14e8095 DIST fakechroot_2.9.orig.tar.gz 490438 RMD160 b4164860eac38d67061c11b15be45212969e7898 SHA1 07f17f1de89aa3c3d05ca35f71c559e9d5c0ee0d SHA256 bfccb079d2d247b05d5f82473beca0043ddfc51a6ed595541575893fa3ab6c3e EBUILD fakechroot-2.6.ebuild 672 RMD160 0e345804b3a4af35feb3fcd06a209479f0bf9223 SHA1 5d059b235e0759b0957f8cbde136e17a35f9cfc1 SHA256 b38c807cf5587ee29d0ed8cc2896b756da2f7ec26aa7ab68f85c00967be35fce EBUILD fakechroot-2.8.ebuild 613 RMD160 fbfb925ab46c54b77c75f08e8dfe18d3815886b8 SHA1 b74a0176255fd01193e3ab9d33c7729fc7828133 SHA256 f84806b7fe766615a01f63d92694814fc4829ef94b7d6e80bd82967409f4cc97 -EBUILD fakechroot-2.9.ebuild 614 RMD160 b90d003d4b5f0d55e671688f6f610bdf205fd72b SHA1 0930286ca5ec1e2089dfebd050704a777ddd99e6 SHA256 dcba21859901c6263a1a47431e7ff767f1b16a9b6676446ba354b6afad1aabaa -MISC ChangeLog 992 RMD160 d3c18a8a8710162e900db61597e70260ad0ab29a SHA1 7fa67ec02c8af297598e28e55e5bd6b53af1defc SHA256 d39e39d1efefcf3287562b9066e81f9e7cf3bd2f91457f36ee61fec5196952c8 +EBUILD fakechroot-2.9.ebuild 744 RMD160 f46625f759ec756a987daae87c892f7aac8579d2 SHA1 3e3b535ede4c8e67af64a2ed111a16d305fb81f5 SHA256 e14397a4fdc2360798989079cca03d7f2d6190178cfed46694572d3e63fb2f60 +MISC ChangeLog 1179 RMD160 cf07d551628c70ba4392d8b4f36b81057d4f534d SHA1 fbe8866bab5daddb336ebd572ccd73635d39b61d SHA256 51c7c70b67d31b3f02175b9991e9432f85925e62d213cab3369d7b23fb75b520 MISC metadata.xml 260 RMD160 7c8f2391a156380ab813494ac3d3db92386fc03b SHA1 631f6ea758b913f6dabd59b83bc8a5f053274f50 SHA256 4e471cd253b0e2e3c1900f0dd3383623080ca9ad9b6e116dd88bac46224681ac ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.11 (GNU/Linux) - -iEYEARECAAYFAkndxxIACgkQchej4aZK9/chMwCfUdIrWl7eoDG89xWj4oCvLPOz -uswAniQtgbEVSqwkxtpWS9rM63c0kSVn -=gtNM ------END PGP SIGNATURE----- diff --git a/sys-apps/fakechroot/fakechroot-2.9.ebuild b/sys-apps/fakechroot/fakechroot-2.9.ebuild index 4d4b159f89fe..eced437561b2 100644 --- a/sys-apps/fakechroot/fakechroot-2.9.ebuild +++ b/sys-apps/fakechroot/fakechroot-2.9.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/fakechroot/fakechroot-2.9.ebuild,v 1.1 2009/04/09 09:59:51 spock Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/fakechroot/fakechroot-2.9.ebuild,v 1.2 2009/06/22 21:52:35 spock Exp $ -inherit eutils +inherit autotools eutils DESCRIPTION="Provide a faked chroot environment without requiring root privileges" HOMEPAGE="http://fakechroot.alioth.debian.org/" @@ -18,6 +18,13 @@ DEPEND="" RESTRICT="test" +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-glibc-2.10-compat.patch + AT_M4DIR="m4" eautoreconf +} + src_install() { emake DESTDIR="${D}" install || die dodoc README THANKS diff --git a/sys-apps/fakechroot/files/fakechroot-2.9-glibc-2.10-compat.patch b/sys-apps/fakechroot/files/fakechroot-2.9-glibc-2.10-compat.patch new file mode 100644 index 000000000000..36a8ca649286 --- /dev/null +++ b/sys-apps/fakechroot/files/fakechroot-2.9-glibc-2.10-compat.patch @@ -0,0 +1,161 @@ +Index: trunk/test/src/test-scandir.c +=================================================================== +--- trunk/test/src/test-scandir.c (revision 0) ++++ trunk/test/src/test-scandir.c (revision 343) +@@ -0,0 +1,35 @@ ++#define _SVID_SOURCE ++#include <dirent.h> ++#include <stdlib.h> ++#include <stdio.h> ++ ++int main (int argc, char *argv[]) { ++ struct dirent **namelist; ++ int i, n; ++ ++ if (argc != 3) { ++ fprintf(stderr, "Usage: %s chdir scandir\n", argv[0]); ++ exit(2); ++ } ++ ++ if (*argv[1] && chdir(argv[1]) == -1) { ++ perror("chdir"); ++ exit(1); ++ } ++ ++ n = scandir(argv[2], &namelist, 0, alphasort); ++ if (n < 0) { ++ perror("scandir"); ++ exit(1); ++ } ++ else { ++ for (i=0; i<n; i++) { ++ printf("%s\n", namelist[i]->d_name); ++ free(namelist[i]); ++ } ++ free(namelist); ++ } ++ ++ return 0; ++} ++ +Index: trunk/test/src/Makefile.am +=================================================================== +--- trunk/test/src/Makefile.am (revision 341) ++++ trunk/test/src/Makefile.am (revision 343) +@@ -1 +1 @@ +-check_PROGRAMS = test-chroot ++check_PROGRAMS = test-chroot test-scandir +Index: trunk/m4/scandir_argtypes.m4 +=================================================================== +--- trunk/m4/scandir_argtypes.m4 (revision 341) ++++ trunk/m4/scandir_argtypes.m4 (revision 343) +@@ -12,7 +12,7 @@ + for ac_arg1 in 'const char *dir'; do + for ac_arg2 in 'struct dirent ***namelist'; do + for ac_arg3 in 'int(*filter)(const struct dirent *)' 'int(*filter)(struct dirent *)'; do +- for ac_arg4 in 'int(*compar)(const void *,const void *)'; do ++ for ac_arg4 in 'int(*compar)(const void *,const void *)' 'int(*compar)(const struct dirent **, const struct dirent **)'; do + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT +Index: trunk/m4/scandir64_argtypes.m4 +=================================================================== +--- trunk/m4/scandir64_argtypes.m4 (revision 0) ++++ trunk/m4/scandir64_argtypes.m4 (revision 343) +@@ -0,0 +1,48 @@ ++dnl AC_FUNC_SCANDIR64_ARGTYPES ++dnl ------------------------- ++dnl Determine the correct type to be passed to each of the `scandir64' ++dnl function's arguments, and define those types in `SCANDIR64_TYPE_ARG1', ++dnl `SCANDIR64_TYPE_ARG2', `SCANDIR64_TYPE_ARG3' and `SCANDIR64_TYPE_ARG4'. ++AN_FUNCTION([scandir64], [AC_FUNC_SCANDIR64_ARGTYPES]) ++AC_DEFUN([AC_FUNC_SCANDIR64_ARGTYPES], ++[AC_CHECK_HEADERS(dirent.h) ++AC_CACHE_CHECK([types of arguments for scandir64], ++[ac_cv_func_scandir64_args], ++[for ac_return in 'int'; do ++ for ac_arg1 in 'const char *dir'; do ++ for ac_arg2 in 'struct dirent64 ***namelist'; do ++ for ac_arg3 in 'int(*filter)(const struct dirent64 *)' 'int(*filter)(struct dirent64 *)'; do ++ for ac_arg4 in 'int(*compar)(const void *,const void *)' 'int(*compar)(const struct dirent64 **, const struct dirent64 **)'; do ++ AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++[AC_INCLUDES_DEFAULT ++#ifdef HAVE_UNISTD_H ++#include <dirent.h> ++#endif ++], ++ [extern $ac_return scandir64 ($ac_arg1, $ac_arg2, $ac_arg3, $ac_arg4);])], ++ [ac_cv_func_scandir64_args="$ac_return;$ac_arg1;$ac_arg2;$ac_arg3;$ac_arg4"; break 5]) ++ done ++ done ++ done ++ done ++done ++# Provide a safe default value. ++: ${ac_cv_func_scandir64_args='(default) int;const char *dir;struct dirent64 ***namelist;int(*filter)(const struct dirent64 *);int(*compar)(const void *,const void *)'} ++]) ++ac_save_IFS=$IFS; IFS=';' ++set dummy `echo "$ac_cv_func_scandir64_args" | sed 's/^(default) //' | sed 's/\*/\*/g'` ++IFS=$ac_save_IFS ++shift ++AC_DEFINE_UNQUOTED(SCANDIR64_TYPE_RETURN, $[1], ++ [Define to the type of return value for `scandir64'.]) ++AC_DEFINE_UNQUOTED(SCANDIR64_TYPE_ARG1, $[2], ++ [Define to the type of arg 1 for `scandir64'.]) ++AC_DEFINE_UNQUOTED(SCANDIR64_TYPE_ARG2, $[3], ++ [Define to the type of arg 2 for `scandir64'.]) ++AC_DEFINE_UNQUOTED(SCANDIR64_TYPE_ARG3, $[4], ++ [Define to the type of arg 3 for `scandir64'.]) ++AC_DEFINE_UNQUOTED(SCANDIR64_TYPE_ARG4, $[5], ++ [Define to the type of arg 4 for `scandir64'.]) ++rm -f conftest* ++]) +Index: trunk/configure.ac +=================================================================== +--- trunk/configure.ac (revision 341) ++++ trunk/configure.ac (revision 343) +@@ -177,6 +177,7 @@ + + AC_FUNC_READLINK_ARGTYPES + AC_FUNC_SCANDIR_ARGTYPES ++AC_FUNC_SCANDIR64_ARGTYPES + + AC_CONFIG_FILES([ \ + Makefile \ +Index: trunk/src/libfakechroot.c +=================================================================== +--- trunk/src/libfakechroot.c (revision 341) ++++ trunk/src/libfakechroot.c (revision 343) +@@ -512,10 +512,10 @@ + #endif + static int (*next_rmdir) (const char *pathname) = NULL; + #ifdef HAVE_SCANDIR +-static int (*next_scandir) (const char *dir, struct dirent ***namelist, SCANDIR_TYPE_ARG3, int(*compar)(const void *, const void *)) = NULL; ++static int (*next_scandir) (SCANDIR_TYPE_ARG1, SCANDIR_TYPE_ARG2, SCANDIR_TYPE_ARG3, SCANDIR_TYPE_ARG4) = NULL; + #endif + #ifdef HAVE_SCANDIR64 +-static int (*next_scandir64) (const char *dir, struct dirent64 ***namelist, int(*filter)(const struct dirent64 *), int(*compar)(const void *, const void *)) = NULL; ++static int (*next_scandir64) (SCANDIR64_TYPE_ARG1, SCANDIR64_TYPE_ARG2, SCANDIR64_TYPE_ARG3, SCANDIR64_TYPE_ARG4) = NULL; + #endif + #ifdef HAVE_SETXATTR + static int (*next_setxattr) (const char *path, const char *name, const void *value, size_t size, int flags) = NULL; +@@ -2664,7 +2664,7 @@ + + #ifdef HAVE_SCANDIR + /* #include <dirent.h> */ +-int scandir (const char *dir, struct dirent ***namelist, SCANDIR_TYPE_ARG3, int(*compar)(const void *, const void *)) ++int scandir (SCANDIR_TYPE_ARG1, SCANDIR_TYPE_ARG2, SCANDIR_TYPE_ARG3, SCANDIR_TYPE_ARG4) + { + char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; + expand_chroot_path(dir, fakechroot_path, fakechroot_ptr, fakechroot_buf); +@@ -2676,7 +2676,7 @@ + + #ifdef HAVE_SCANDIR64 + /* #include <dirent.h> */ +-int scandir64 (const char *dir, struct dirent64 ***namelist, int(*filter)(const struct dirent64 *), int(*compar)(const void *, const void *)) ++int scandir64 (SCANDIR64_TYPE_ARG1, SCANDIR64_TYPE_ARG2, SCANDIR64_TYPE_ARG3, SCANDIR64_TYPE_ARG4) + { + char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; + expand_chroot_path(dir, fakechroot_path, fakechroot_ptr, fakechroot_buf); + |