diff options
author | Michael Januszewski <spock@gentoo.org> | 2008-06-10 22:42:10 +0000 |
---|---|---|
committer | Michael Januszewski <spock@gentoo.org> | 2008-06-10 22:42:10 +0000 |
commit | 504f436e3012a5e2b3f2d87538f4ff4ed810bc08 (patch) | |
tree | 47d65e98ef1f98d796769189a9b47498bd8e8c21 /sys-apps/fakechroot | |
parent | Add kdebase-3.5.9-r4.ebuild, fixes glibc-2.8 compatibility bug #225727 and br... (diff) | |
download | historical-504f436e3012a5e2b3f2d87538f4ff4ed810bc08.tar.gz historical-504f436e3012a5e2b3f2d87538f4ff4ed810bc08.tar.bz2 historical-504f436e3012a5e2b3f2d87538f4ff4ed810bc08.zip |
Initial commit.
Package-Manager: portage-2.1.5.4
Diffstat (limited to 'sys-apps/fakechroot')
-rw-r--r-- | sys-apps/fakechroot/ChangeLog | 10 | ||||
-rw-r--r-- | sys-apps/fakechroot/Manifest | 15 | ||||
-rw-r--r-- | sys-apps/fakechroot/fakechroot-2.6.ebuild | 28 | ||||
-rw-r--r-- | sys-apps/fakechroot/files/fakechroot-2.6.patch | 206 | ||||
-rw-r--r-- | sys-apps/fakechroot/metadata.xml | 10 |
5 files changed, 269 insertions, 0 deletions
diff --git a/sys-apps/fakechroot/ChangeLog b/sys-apps/fakechroot/ChangeLog new file mode 100644 index 000000000000..129697339b09 --- /dev/null +++ b/sys-apps/fakechroot/ChangeLog @@ -0,0 +1,10 @@ +# ChangeLog for sys-apps/fakechroot +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/fakechroot/ChangeLog,v 1.1 2008/06/10 22:42:10 spock Exp $ + +*fakechroot-2.6 (10 Jun 2008) + + 10 Jun 2008; Michał Januszewski <spock@gentoo.org> + +files/fakechroot-2.6.patch, +metadata.xml, +fakechroot-2.6.ebuild: + Initial commit. + diff --git a/sys-apps/fakechroot/Manifest b/sys-apps/fakechroot/Manifest new file mode 100644 index 000000000000..ddf67c062d7e --- /dev/null +++ b/sys-apps/fakechroot/Manifest @@ -0,0 +1,15 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +AUX fakechroot-2.6.patch 8286 RMD160 d971cab9908bde150226ffca9a1fe1b08cd28799 SHA1 ecc8b65fa1300e672e7b76232da1d2551b57137a SHA256 b1eee3091426e2d06637083f333c21f4fc08e8579771893d3d11e9e7cc651462 +DIST fakechroot_2.6.orig.tar.gz 445712 RMD160 7b4d997b02a3ae9ba27a570ca45ab4768c112f12 SHA1 00e0ba26f127d1fb004093361202845cc230e85f SHA256 2bc10cd8ad2bb9da611af93cc21c9295d820880ae49f70b6d96bc3a2555faaaf +EBUILD fakechroot-2.6.ebuild 672 RMD160 0e345804b3a4af35feb3fcd06a209479f0bf9223 SHA1 5d059b235e0759b0957f8cbde136e17a35f9cfc1 SHA256 b38c807cf5587ee29d0ed8cc2896b756da2f7ec26aa7ab68f85c00967be35fce +MISC ChangeLog 384 RMD160 6cb3deb828bb10381458b67719249e3f75702947 SHA1 485fc2d3c09e1569df1bb72f7a6c94dcd987ec4f SHA256 3f12ae7ab379e5e06c1c435bc3da167ac446955f4e8a4272faef9494d96227d7 +MISC metadata.xml 260 RMD160 7c8f2391a156380ab813494ac3d3db92386fc03b SHA1 631f6ea758b913f6dabd59b83bc8a5f053274f50 SHA256 4e471cd253b0e2e3c1900f0dd3383623080ca9ad9b6e116dd88bac46224681ac +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.9 (GNU/Linux) + +iEYEARECAAYFAkhPAyUACgkQchej4aZK9/fOIACbBFALUvpCoytnqDqjFQ+YVBLr +ilEAnj+TSGFQZpRRItDshDYpAkAqk74v +=WFnK +-----END PGP SIGNATURE----- diff --git a/sys-apps/fakechroot/fakechroot-2.6.ebuild b/sys-apps/fakechroot/fakechroot-2.6.ebuild new file mode 100644 index 000000000000..81bd1a2cc530 --- /dev/null +++ b/sys-apps/fakechroot/fakechroot-2.6.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/fakechroot/fakechroot-2.6.ebuild,v 1.1 2008/06/10 22:42:10 spock Exp $ + +inherit eutils + +DESCRIPTION="Provide a faked chroot environment without requiring root privileges" +HOMEPAGE="http://fakechroot.alioth.debian.org/" +SRC_URI="mirror://debian/pool/main/f/fakechroot/${PF/-/_}.orig.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="" +DEPEND="" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}.patch +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc README THANKS +} diff --git a/sys-apps/fakechroot/files/fakechroot-2.6.patch b/sys-apps/fakechroot/files/fakechroot-2.6.patch new file mode 100644 index 000000000000..87936921a6a5 --- /dev/null +++ b/sys-apps/fakechroot/files/fakechroot-2.6.patch @@ -0,0 +1,206 @@ +diff -Naurp fakechroot-2.6-orig/src/libfakechroot.c fakechroot-2.6/src/libfakechroot.c +--- fakechroot-2.6-orig/src/libfakechroot.c 2008-06-11 00:19:33.000000000 +0200 ++++ fakechroot-2.6/src/libfakechroot.c 2008-06-11 00:21:08.000000000 +0200 +@@ -321,7 +321,9 @@ static char * (*next_canonicalize_file_ + #endif + static int (*next_chdir) (const char *path) = NULL; + static int (*next_chmod) (const char *path, mode_t mode) = NULL; ++static int (*next_fchmodat) (int dfd, const char *path, mode_t mode, int flag) = NULL; + static int (*next_chown) (const char *path, uid_t owner, gid_t group) = NULL; ++static int (*next_fchownat) (int dfd, const char *path, uid_t owner, gid_t group, int flag) = NULL; + /* static int (*next_chroot) (const char *path) = NULL; */ + static int (*next_creat) (const char *pathname, mode_t mode) = NULL; + static int (*next_creat64) (const char *pathname, mode_t mode) = NULL; +@@ -422,12 +424,14 @@ static int (*next_nftw) (const char + static int (*next_nftw64) (const char *dir, int (*fn)(const char *file, const struct stat64 *sb, int flag, struct FTW *s), int nopenfd, int flags) = NULL; + #endif + static int (*next_open) (const char *pathname, int flags, ...) = NULL; ++static int (*next_openat) (int dfd, const char *pathname, int flags, ...) = NULL; + static int (*next_open64) (const char *pathname, int flags, ...) = NULL; ++static int (*next_openat64) (int dfd, const char *pathname, int flags, ...) = NULL; + #if !defined(HAVE___OPENDIR2) + static DIR * (*next_opendir) (const char *name) = NULL; + #endif + static long (*next_pathconf) (const char *path, int name) = NULL; +-static int (*next_readlink) (const char *path, char *buf, READLINK_TYPE_ARG3) = NULL; ++static ssize_t (*next_readlink) (const char *path, char *buf, READLINK_TYPE_ARG3) = NULL; + static char * (*next_realpath) (const char *name, char *resolved) = NULL; + static int (*next_remove) (const char *pathname) = NULL; + #ifdef HAVE_REMOVEXATTR +@@ -463,6 +467,9 @@ static int (*next_truncate) (const c + static int (*next_truncate64) (const char *path, off64_t length) = NULL; + #endif + static int (*next_unlink) (const char *pathname) = NULL; ++static int (*next_unlinkat) (int dirfd, const char *pathname, int flags) = NULL; ++static int (*next___fxstatat) (int ver, int dirfd, const char *pathname, struct stat *buf, int flags) = NULL; ++static int (*next___fxstatat64) (int ver, int dirfd, const char *pathname, struct stat64 *buf, int flags) = NULL; + #ifdef HAVE_ULCKPWDF + /* static int (*next_ulckpwdf) (void) = NULL; */ + #endif +@@ -536,7 +543,9 @@ void fakechroot_init (void) + #endif + nextsym(chdir, "chdir"); + nextsym(chmod, "chmod"); ++ nextsym(fchmodat, "fchmodat"); + nextsym(chown, "chown"); ++ nextsym(fchownat, "fchownat"); + /* nextsym(chroot, "chroot"); */ + nextsym(creat, "creat"); + nextsym(creat64, "creat64"); +@@ -637,7 +646,9 @@ void fakechroot_init (void) + nextsym(nftw64, "nftw64"); + #endif + nextsym(open, "open"); ++ nextsym(openat, "openat"); + nextsym(open64, "open64"); ++ nextsym(openat64, "openat64"); + #if !defined(HAVE___OPENDIR2) + nextsym(opendir, "opendir"); + #endif +@@ -678,6 +689,9 @@ void fakechroot_init (void) + nextsym(truncate64, "truncate64"); + #endif + nextsym(unlink, "unlink"); ++ nextsym(unlinkat, "unlinkat"); ++ nextsym(__fxstatat, "__fxstatat"); ++ nextsym(__fxstatat64, "__fxstatat64"); + #ifdef HAVE_ULCKPWDF + /* nextsym(ulckpwdf, "ulckpwdf"); */ + #endif +@@ -921,6 +935,13 @@ int chmod (const char *path, mode_t mode + if (next_chmod == NULL) fakechroot_init(); + return next_chmod(path, mode); + } ++int fchmodat (int dfd, const char *path, mode_t mode, int flag) ++{ ++ char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; ++ expand_chroot_path(path, fakechroot_path, fakechroot_ptr, fakechroot_buf); ++ if (next_fchmodat == NULL) fakechroot_init(); ++ return next_fchmodat(dfd, path, mode, flag); ++} + + + /* #include <sys/types.h> */ +@@ -933,6 +954,13 @@ int chown (const char *path, uid_t owner + return next_chown(path, owner, group); + } + ++int fchownat (int dfd, const char *path, uid_t owner, gid_t group, int flag) ++{ ++ char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; ++ expand_chroot_path(path, fakechroot_path, fakechroot_ptr, fakechroot_buf); ++ if (next_fchownat == NULL) fakechroot_init(); ++ return next_fchownat(dfd, path, owner, group, flag); ++} + + /* #include <unistd.h> */ + int chroot (const char *path) +@@ -1921,6 +1949,21 @@ int open (const char *pathname, int flag + return next_open(pathname, flags, mode); + } + ++int openat (int dfd, const char *pathname, int flags, ...) { ++ int mode = 0; ++ char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; ++ expand_chroot_path(pathname, fakechroot_path, fakechroot_ptr, fakechroot_buf); ++ ++ if (flags & O_CREAT) { ++ va_list arg; ++ va_start (arg, flags); ++ mode = va_arg (arg, int); ++ va_end (arg); ++ } ++ ++ if (next_openat == NULL) fakechroot_init(); ++ return next_openat(dfd, pathname, flags, mode); ++} + + /* #include <sys/types.h> */ + /* #include <sys/stat.h> */ +@@ -1942,6 +1985,22 @@ int open64 (const char *pathname, int fl + return next_open64(pathname, flags, mode); + } + ++int openat64 (int dfd, const char *pathname, int flags, ...) ++{ ++ int mode = 0; ++ char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; ++ expand_chroot_path(pathname, fakechroot_path, fakechroot_ptr, fakechroot_buf); ++ ++ if (flags & O_CREAT) { ++ va_list arg; ++ va_start (arg, flags); ++ mode = va_arg (arg, int); ++ va_end (arg); ++ } ++ ++ if (next_openat64 == NULL) fakechroot_init(); ++ return next_openat64(dfd, pathname, flags, mode); ++} + + #if !defined(HAVE___OPENDIR2) + /* #include <sys/types.h> */ +@@ -1967,7 +2026,7 @@ long pathconf (const char *path, int nam + + + /* #include <unistd.h> */ +-int readlink (const char *path, char *buf, READLINK_TYPE_ARG3) ++ssize_t readlink (const char *path, char *buf, READLINK_TYPE_ARG3) + { + int status; + char tmp[FAKECHROOT_MAXPATH], *tmpptr; +@@ -2222,6 +2281,31 @@ int unlink (const char *pathname) + return next_unlink(pathname); + } + ++/* #include <fcntl.h> */ ++int unlinkat (int dirfd, const char *pathname, int flags) ++{ ++ char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; ++ expand_chroot_path(pathname, fakechroot_path, fakechroot_ptr, fakechroot_buf); ++ if (next_unlinkat == NULL) fakechroot_init(); ++ return next_unlinkat(dirfd, pathname, flags); ++} ++ ++/* #include <fcntl.h> */ ++/* #include <sys/stat.h> */ ++int __fxstatat (int ver, int dirfd, const char *pathname, struct stat *buf, int flags) ++{ ++ char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; ++ expand_chroot_path(pathname, fakechroot_path, fakechroot_ptr, fakechroot_buf); ++ if (next___fxstatat == NULL) fakechroot_init(); ++ return next___fxstatat(ver, dirfd, pathname, buf, flags); ++} ++int __fxstatat64 (int ver, int dirfd, const char *pathname, struct stat64 *buf, int flags) ++{ ++ char *fakechroot_path, *fakechroot_ptr, fakechroot_buf[FAKECHROOT_MAXPATH]; ++ expand_chroot_path(pathname, fakechroot_path, fakechroot_ptr, fakechroot_buf); ++ if (next___fxstatat64 == NULL) fakechroot_init(); ++ return next___fxstatat64(ver, dirfd, pathname, buf, flags); ++} + + /* #include <sys/types.h> */ + /* #include <utime.h> */ +diff -Naurp fakechroot-2.6-orig/test/fakechroot.sh fakechroot-2.6/test/fakechroot.sh +--- fakechroot-2.6-orig/test/fakechroot.sh 2008-06-11 00:19:33.000000000 +0200 ++++ fakechroot-2.6/test/fakechroot.sh 2008-06-11 00:21:08.000000000 +0200 +@@ -30,8 +30,12 @@ for f in \ + /bin/bash \ + /bin/grep \ + /bin/ls \ ++ /bin/cp \ ++ /bin/mkdir \ ++ /bin/chmod \ + /bin/pwd \ + /bin/sh \ ++ /bin/rm \ + /usr/bin/id \ + /usr/bin/find \ + /usr/bin/perl \ +@@ -63,5 +67,5 @@ export LD_PRELOAD + if [ -n "$*" ]; then + HOME=/root /usr/sbin/chroot `pwd`/testtree "$@" + else +- HOME=/root /usr/sbin/chroot `pwd`/testtree /bin/sh ++ HOME=/root /usr/sbin/chroot `pwd`/testtree /bin/bash + fi diff --git a/sys-apps/fakechroot/metadata.xml b/sys-apps/fakechroot/metadata.xml new file mode 100644 index 000000000000..2c3ddaaa0f8e --- /dev/null +++ b/sys-apps/fakechroot/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>no-herd</herd> + <maintainer> + <email>spock@gentoo.org</email> + <name>Michał Januszewski</name> + </maintainer> +</pkgmetadata> + |