summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Popov <pinkbyte@gentoo.org>2013-01-24 08:54:51 +0000
committerSergey Popov <pinkbyte@gentoo.org>2013-01-24 08:54:51 +0000
commitc24344b41de7e70076829f346b8271c3c0db5c77 (patch)
tree346d87ba84b5f4eb74a59fa6a2db5d7cf1f382b2 /sys-apps/proot
parent4.2.0-r2, correct DEPS, thanks OP of Bug #447716, 4.2.1, rm white space, drop... (diff)
downloadhistorical-c24344b41de7e70076829f346b8271c3c0db5c77.tar.gz
historical-c24344b41de7e70076829f346b8271c3c0db5c77.tar.bz2
historical-c24344b41de7e70076829f346b8271c3c0db5c77.zip
Initial commit, wrt bug #439324, thanks to James Le Cuirot
Package-Manager: portage-2.2.0_alpha159/cvs/Linux x86_64
Diffstat (limited to 'sys-apps/proot')
-rw-r--r--sys-apps/proot/ChangeLog12
-rw-r--r--sys-apps/proot/Manifest7
-rw-r--r--sys-apps/proot/files/proot-2.3.1-gnu-define-fix.patch37
-rw-r--r--sys-apps/proot/files/proot-2.3.1-lib-paths-fix.patch19
-rw-r--r--sys-apps/proot/files/proot-2.3.1-makefile.patch26
-rw-r--r--sys-apps/proot/metadata.xml13
-rw-r--r--sys-apps/proot/proot-2.3.1.ebuild49
7 files changed, 163 insertions, 0 deletions
diff --git a/sys-apps/proot/ChangeLog b/sys-apps/proot/ChangeLog
new file mode 100644
index 000000000000..b033bf32756d
--- /dev/null
+++ b/sys-apps/proot/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for sys-apps/proot
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/proot/ChangeLog,v 1.1 2013/01/24 08:54:46 pinkbyte Exp $
+
+*proot-2.3.1 (24 Jan 2013)
+
+ 24 Jan 2013; Sergey Popov <pinkbyte@gentoo.org> +proot-2.3.1.ebuild,
+ +files/proot-2.3.1-gnu-define-fix.patch,
+ +files/proot-2.3.1-lib-paths-fix.patch, +files/proot-2.3.1-makefile.patch,
+ +metadata.xml:
+ Initial commit, wrt bug #439324, thanks to James Le Cuirot
+
diff --git a/sys-apps/proot/Manifest b/sys-apps/proot/Manifest
new file mode 100644
index 000000000000..4eafe8e0189a
--- /dev/null
+++ b/sys-apps/proot/Manifest
@@ -0,0 +1,7 @@
+AUX proot-2.3.1-gnu-define-fix.patch 927 SHA256 016b3f76351e5a4351008b62a834c78cf062fd29fd243b0db27634430914b7f8 SHA512 d0682c5d38fc8e87cb982ede44c9a3424d4834fafc112dad3a9822544da043cd3d0653166f2a40ec12367bd4e14e3a05308b65db07d4127d64927aece4bcfab9 WHIRLPOOL d25b0c922fe1aeffcef2975476f385ed8c8692b28b2e74a3a91f74d5a508a1436786cc698860ebf4175088081ec40d860a962a00d6b878d1f7bd08ccb841f16a
+AUX proot-2.3.1-lib-paths-fix.patch 700 SHA256 e85bcf46445a09eaa124a8446e41f9ade9367030761dfc0a9028778c36ee3703 SHA512 90c5b6fa8d9e98de79d2c1344508a82be22ccc334cfcf8b6d60a2004a445a1c683fa538dd57958ba6491e26a1997fcfa8daa44f3a8001424470c85ece56c34a9 WHIRLPOOL 2fa6f9017bb7c2972199e84e1abc7c54f7b5bfbe987eac5fb7e38741a89c9f822a83a4da49a54c61c6279407746c120d8aac0b48627d0387cc333347508d6f36
+AUX proot-2.3.1-makefile.patch 656 SHA256 b1063b8e4075215e4b14205f9a51d978f7174ef4d3e8c10d277295726fb76187 SHA512 6aefc7075b1d416fc38400c7d3b85d8b1217ddccfb5739797e947af1a686c7454b4fde69f8f2c95111b5861586e89683fe7c1dc623e1962a31c25d2563e0f75a WHIRLPOOL 7c19bf6e5f7746d2c54cae9dd1317b3a944eb00cf868101c4fa1e6fcbba2fdd85e0b107b3fa52c87814261504b90fbb6e01fb54b1debc73801fb9ec82a30de61
+DIST proot-2.3.1.tar.gz 122358 SHA256 2fde957f5148cf3c88046ac65acea5f4290c91dd6812aa0e10e848f1faaa3479 SHA512 646dc722496d167fa71bfdf5171b3fb37536eca8230294c57dc01b661980912b63f60d6d0503445fb6244326fc81c6988512f7cbf3bc29533c1e8a19695af44b WHIRLPOOL 6fdd76be5ef21c96dad4dc3188efdd44981f2acd639fe8577df2da1257e1c62962defb9bd35250bb94ab30b263240e01048ec007b480c6380860fdf8b93ad174
+EBUILD proot-2.3.1.ebuild 1051 SHA256 eb9a895f9c93037843fe654af3aeab682ce469931bd3740fc667da2b4e890857 SHA512 4b251d8ee8636b3355fb0d43ea9763a3b2ec2971ff54568d0fa95617a6203e2dca78b495802243e2adc770359f2988e14064444e8627207b82d9b9b3fb1372b8 WHIRLPOOL 7184b58c30d130046175f1a11df564d1dece2085c0607bb0d3080bb287a8b61ff430abdf5a37a12b2b1f607cb0987c40a28f794468882464fdc604358928c7f5
+MISC ChangeLog 501 SHA256 7390d7b972767de62546d08af36ea11a583d69b9f3331956c3e3645ba781bdb7 SHA512 10be39b5354b35a56b0ab1bd34015c223dc6e1243ba58766ee153bf7ba5a740a706d01691f26a9a044468e58de99d8a3c881a103250374da398a3f8c742f6465 WHIRLPOOL 6df849c3bb688c63cb94d5b69a822510d317b3970aed363f51fba32c115f4b707c14cbfa28f2c2f32d4b4cdefb8f5604abfb0c3513d8c30cb588803ad552fc16
+MISC metadata.xml 658 SHA256 1e806c467ef36ce12640239fedd87d285fecea76f2daa567bd5f4a72ce6b8f3a SHA512 1d5d3846b5edcd027df90a21b168eebc1f092f95840d5d60146e3ac2d05b70b0b75fd6df8fba1dfed824e307c82139f9c8ea94414071082ad0c93aec00306821 WHIRLPOOL 85ff13b91832d227b51690100696a202580f925f633a7deefed55cff624da0c0881a5b28202ce26b311e2443aee169788c9990366f499e90cc0f3b1e5a6746c5
diff --git a/sys-apps/proot/files/proot-2.3.1-gnu-define-fix.patch b/sys-apps/proot/files/proot-2.3.1-gnu-define-fix.patch
new file mode 100644
index 000000000000..b4f0741c7b22
--- /dev/null
+++ b/sys-apps/proot/files/proot-2.3.1-gnu-define-fix.patch
@@ -0,0 +1,37 @@
+From d44530a0af58ad65cde1d6c1865f416623ed243e Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@aura-online.co.uk>
+Date: Sun, 20 Jan 2013 15:17:20 +0000
+Subject: [PATCH] The process_vm functions are GNU extensions. Fix implicit
+ declarations.
+
+---
+ src/.check_process_vm.c | 2 ++
+ src/tracee/mem.c | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/.check_process_vm.c b/src/.check_process_vm.c
+index e7f6de2..8f65f9c 100644
+--- a/src/.check_process_vm.c
++++ b/src/.check_process_vm.c
+@@ -1,3 +1,5 @@
++#define _GNU_SOURCE
++
+ #include <sys/uio.h>
+ #include <stdlib.h>
+
+diff --git a/src/tracee/mem.c b/src/tracee/mem.c
+index b5b3ce1..d104bb8 100644
+--- a/src/tracee/mem.c
++++ b/src/tracee/mem.c
+@@ -20,6 +20,8 @@
+ * 02110-1301 USA.
+ */
+
++#define _GNU_SOURCE
++
+ #include <sys/ptrace.h> /* ptrace(2), PTRACE_*, */
+ #include <sys/types.h> /* pid_t, size_t, */
+ #include <stdlib.h> /* NULL, */
+--
+1.8.1
+
diff --git a/sys-apps/proot/files/proot-2.3.1-lib-paths-fix.patch b/sys-apps/proot/files/proot-2.3.1-lib-paths-fix.patch
new file mode 100644
index 000000000000..43c0d03d978a
--- /dev/null
+++ b/sys-apps/proot/files/proot-2.3.1-lib-paths-fix.patch
@@ -0,0 +1,19 @@
+--- src/execve/ldso.c 2013-01-23 16:22:37.870287856 +0400
++++ src/execve/ldso.c 2013-01-23 16:31:40.219283675 +0400
+@@ -285,16 +285,10 @@
+ /* 6. /lib, /usr/lib + /usr/local/lib */
+ if (IS_CLASS32(elf_header))
+ status = add_host_ldso_paths(host_ldso_paths,
+-#if defined(ARCH_X86) || defined(ARCH_X86_64)
+- "/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu:"
+-#endif
+ "/lib32:/usr/lib32:/usr/local/lib32"
+ ":/lib:/usr/lib:/usr/local/lib");
+ else
+ status = add_host_ldso_paths(host_ldso_paths,
+-#if defined(ARCH_X86_64)
+- "/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:"
+-#endif
+ "/lib64:/usr/lib64:/usr/local/lib64"
+ ":/lib:/usr/lib:/usr/local/lib");
+ if (status < 0)
diff --git a/sys-apps/proot/files/proot-2.3.1-makefile.patch b/sys-apps/proot/files/proot-2.3.1-makefile.patch
new file mode 100644
index 000000000000..0014264bd44d
--- /dev/null
+++ b/sys-apps/proot/files/proot-2.3.1-makefile.patch
@@ -0,0 +1,26 @@
+--- src/GNUmakefile.orig 2013-01-23 14:18:01.057345491 +0400
++++ src/GNUmakefile 2013-01-23 14:18:39.489345191 +0400
+@@ -6,11 +6,11 @@
+ GIT = git
+ RM = rm
+ INSTALL = install
+-CC = gcc
++CC ?= gcc
+ LD = $(CC)
+ CPPFLAGS = -I. -I$(VPATH)
+-CFLAGS = -Wall -O2
+-LDFLAGS = -ltalloc
++CFLAGS ?= -Wall -O2
++LIBS = -ltalloc
+
+ OBJECTS = cli.o \
+ notice.o \
+@@ -97,7 +97,7 @@
+
+ SRC = $(dir $(firstword $(MAKEFILE_LIST)))
+ COMPILE = $($(quiet)CC) $(CPPFLAGS) $(CFLAGS) -MD -c $(SRC)$*.c -o $@
+-LINK = $($(quiet)LD) -o $@ $^ $(LDFLAGS)
++LINK = $($(quiet)LD) -o $@ $^ $(LDFLAGS) $(LIBS)
+
+ proot: $(OBJECTS)
+ $(LINK)
diff --git a/sys-apps/proot/metadata.xml b/sys-apps/proot/metadata.xml
new file mode 100644
index 000000000000..7c21087ca5ab
--- /dev/null
+++ b/sys-apps/proot/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <longdescription lang="en">
+ PRoot is a user-space implementation of chroot, mount --bind, and binfmt_misc.
+ This means that users don't need any privilege or setup to do things like: using an arbitrary directory as the new root filesystem,
+ making files accessible somewhere else in the filesystem hierarchy, or executing programs built for another CPU architecture
+ transparently through QEMU user-mode.</longdescription>
+</pkgmetadata>
diff --git a/sys-apps/proot/proot-2.3.1.ebuild b/sys-apps/proot/proot-2.3.1.ebuild
new file mode 100644
index 000000000000..4541efc2be42
--- /dev/null
+++ b/sys-apps/proot/proot-2.3.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/proot/proot-2.3.1.ebuild,v 1.1 2013/01/24 08:54:46 pinkbyte Exp $
+
+EAPI=5
+MY_PN="PRoot"
+
+inherit base toolchain-funcs
+
+DESCRIPTION="User-space implementation of chroot, mount --bind, and binfmt_misc"
+HOMEPAGE="http://proot.me"
+SRC_URI="https://github.com/cedric-vincent/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="sys-libs/talloc"
+DEPEND="${RDEPEND}
+ test? ( dev-util/valgrind )"
+
+# Breaks sandbox
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-makefile.patch"
+ "${FILESDIR}/${P}-gnu-define-fix.patch"
+ "${FILESDIR}/${P}-lib-paths-fix.patch"
+)
+
+src_compile() {
+ # FLAGS come from Makefile.
+ emake -C src V=1 \
+ CC="$(tc-getCC)" \
+ CHECK_VERSION="true"
+}
+
+src_install() {
+ dobin src/proot
+ doman doc/proot.1
+ dodoc doc/*.txt doc/articles/*
+}
+
+src_test() {
+ emake -C tests -j1 CC="$(tc-getCC)"
+}