summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Januszewski <spock@gentoo.org>2009-06-22 21:52:35 +0000
committerMichael Januszewski <spock@gentoo.org>2009-06-22 21:52:35 +0000
commit71d6aa65ed4a6152384a80bac4b4750fffbbbc63 (patch)
treea1e0d84f566de269a46fbd4a53ed3b3b10ccad56 /sys-apps
parentAdd missing deps, bug #274581. Move sed from unpack to src_prepare. Make myse... (diff)
downloadhistorical-71d6aa65ed4a6152384a80bac4b4750fffbbbc63.tar.gz
historical-71d6aa65ed4a6152384a80bac4b4750fffbbbc63.tar.bz2
historical-71d6aa65ed4a6152384a80bac4b4750fffbbbc63.zip
Make fakechroot compatible with glibc 2.10 (bug #274077).
Package-Manager: portage-2.1.6.13/cvs/Linux x86_64
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/fakechroot/ChangeLog6
-rw-r--r--sys-apps/fakechroot/Manifest15
-rw-r--r--sys-apps/fakechroot/fakechroot-2.9.ebuild11
-rw-r--r--sys-apps/fakechroot/files/fakechroot-2.9-glibc-2.10-compat.patch161
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);
+