summaryrefslogtreecommitdiff
path: root/app-misc/jail
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-misc/jail
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-misc/jail')
-rw-r--r--app-misc/jail/Manifest10
-rw-r--r--app-misc/jail/files/jail-1.9-gentoo.patch130
-rw-r--r--app-misc/jail/files/jail-1.9-ldflags.patch11
-rw-r--r--app-misc/jail/files/jail-1.9-multiuser-rsa.patch44
-rw-r--r--app-misc/jail/files/jail-1.9-wrongshell.patch11
-rw-r--r--app-misc/jail/files/jail-2.0-symlinks.patch11
-rw-r--r--app-misc/jail/files/jail-2.0-sysmacros.patch20
-rw-r--r--app-misc/jail/jail-2.0-r1.ebuild70
-rw-r--r--app-misc/jail/jail-2.0-r2.ebuild69
-rw-r--r--app-misc/jail/metadata.xml15
10 files changed, 391 insertions, 0 deletions
diff --git a/app-misc/jail/Manifest b/app-misc/jail/Manifest
new file mode 100644
index 000000000000..abc0746bf2b3
--- /dev/null
+++ b/app-misc/jail/Manifest
@@ -0,0 +1,10 @@
+AUX jail-1.9-gentoo.patch 3186 BLAKE2B 289f102f6041e4352b0ae1bb1548ae2c4b6c2a2d8c61f0edc98138f2493fe726f0705a107a5b99f249ab7222aad7b02f87b237466ed3b4b0e6bfce9d1e22ef23 SHA512 70293d18269850c8f0971bb62d20849a903de31982fbe91bfb8dd1adb34a4baf1a10c42ffd73804b214586022cf666b199f091a6cc0f83a08f6e049cc74abf22
+AUX jail-1.9-ldflags.patch 328 BLAKE2B f6965d1b43af4b16ec8db30add8b1c448557ad00d6ba0c0793b3b00898fa0decbe42c77822c6361183314c5cd2197e52366e6cb3d5e2197448b7d21a853a380b SHA512 8b92e834a447f5fb916ff4cfb3fa1ca89d048e954ffc2a8cd8889e21a8037b54ee14d241f1a988d2c686d3ce844205354a5763f0f44cef8b2413e1ba05ff405b
+AUX jail-1.9-multiuser-rsa.patch 856 BLAKE2B 4974cf19df37b5a9f5c75fdb31c65e3556a22ec7bfe9b7a1d385d3286615f95571d95887826f72bc09202c77fef03f0158f385db15bc60a67cd29c635637d37a SHA512 b6cc3018faf06346c747242b8b721554438dd4db11621411142a50e7ed41ee009af8387fb2742a44c8fe243f5201f58da77d48a54a83d709ed5e8e8172f50541
+AUX jail-1.9-wrongshell.patch 330 BLAKE2B 5d707238febc3fa77daabdd39f74644873fbd7971d8e609b2112fe5b319dbd133bd6f75e291c92cb683f6552b06605249232f675f2217b5d42564d13b78e8a8d SHA512 ee92dbfb9e147d94d2ebfaaf597ad381d93bd1e5fc65e85a20ee37c9066dbe7560a3385977cd3d30b87f5cdb2d90c19827a7adac69f667ea61a4920ec0b02cbd
+AUX jail-2.0-symlinks.patch 308 BLAKE2B ebe34547c79b036a4303afc48f8d3581b7963982d7c435418a2895a19f9663c8f015ee5992a2484f4dcfa1f7be5a5ac953cc6e76c2b035c63a4410e2a22824f4 SHA512 64e72367dee1f1639a4206280a28228d01702ddb1eefa75c7faabe32cbec699f3083d11b67dccdd56b8953f34646ab4eceb70ac898f1b2a60d142ce564a92b4f
+AUX jail-2.0-sysmacros.patch 426 BLAKE2B b4cccd5258f9e164f5432083ffb9aaa418c475b90a3a5b6210eb38a62440acc0b47ef6df07ff7241de6f3d9b284cebb151ca10b40b64b1591722097028dfbc1b SHA512 b8baa43c1ca0ddd1b08171489e2a3bf08bdd1911cb7d3bb06b8a20178b64716742faf505aec4156c012b3643298c5f4b79f03787f914717caa4c92e752852e4b
+DIST jail-2.0.tar.gz 31095 BLAKE2B c86d0c677eab38c7d90317c3a19dfdadd17ea74903a886015fc1c3926fe09855be4ed9f72b18e6f144de4a7c93fb6c5be3ca77f4ccf501ebedd09533337ce578 SHA512 dfca62091b34f9adbe4e94de1dbf0ccd31bd3f8e492ea9788f712e97271b389475bc19e0390c12445353c4f73e5ba2458360bf55f5f64491705e82192db985ae
+EBUILD jail-2.0-r1.ebuild 1991 BLAKE2B a0e0ba8b3d16324cf15199cb27f87e39a7df73f5d7d67a19b0806d7fc32c7b032a88b93876c2669d9a02702ecb5263f759b706763cf6ff41c5c5a4787a0cf388 SHA512 fe7787da5600a14444902560c8de142c237585b9ac006d96081ab0736ae9a09816d2e59158a76cb80efac867404c3aa09aee4e9ad899eb4b90de77982dd1a56f
+EBUILD jail-2.0-r2.ebuild 1932 BLAKE2B 67e57ab57efe111166d9b01f7029e26f4ca6d5961c2e120721da18731c0235131c268210e9e397a750bd2a9c05853699a7722ac7b68f9a7a062b27c6947bb114 SHA512 6efe7c5ce0f9ef53fdc86dbd2fe81758cf28015c1d69c9a1c3bddb139f975de17f8392c9873ca01a67959f1598d70c3588287f43ad7b6fa959b356d8ad7b4692
+MISC metadata.xml 749 BLAKE2B 6280537aad78398b6a8eb29ca55982ca838f91ad547a71a78dbedb5e63e9e028740ef230d3fd8668079c3d2983daf55187a04fdf662cceaff1f39e468d6f6143 SHA512 a9cee89d1b10080ba67cbbce957b8118484c0224368728ba1dbb553c0c6189c73c2f9c7b257a5e4fcde39270bd4d83f8e43f25948b28c151f0d9170af121b7d9
diff --git a/app-misc/jail/files/jail-1.9-gentoo.patch b/app-misc/jail/files/jail-1.9-gentoo.patch
new file mode 100644
index 000000000000..74d48561004c
--- /dev/null
+++ b/app-misc/jail/files/jail-1.9-gentoo.patch
@@ -0,0 +1,130 @@
+--- a/install.sh Fri Oct 26 11:37:07 2001
++++ b/install.sh Sat Jul 20 04:43:09 2002
+@@ -23,7 +23,7 @@
+ #
+ ##############################################################################
+
+-TMPFILE=/tmp/jail.tmp
++TMPFILE=jail.tmp
+
+ # ----------------------------------------------------------------------------
+
+@@ -63,16 +63,16 @@
+
+ gen_jail_conf() {
+
+-cp etc/jail.conf /tmp/jail.conf.tmp
++cp etc/jail.conf jail.conf.tmp
+
+-parse_tag /tmp/jail.conf.tmp __VERSION__ $1
+-parse_tag /tmp/jail.conf.tmp __ARCH__ $2
+-parse_tag /tmp/jail.conf.tmp __DEBUG__ $3
+-parse_tag /tmp/jail.conf.tmp __INSTALLDIR__ $4
+-
+-mv /tmp/jail.conf.tmp /tmp/jail.conf
+-install_file /tmp/jail.conf $4/etc $5 $6 $7
+-rm /tmp/jail.conf
++parse_tag jail.conf.tmp __VERSION__ $1
++parse_tag jail.conf.tmp __ARCH__ $2
++parse_tag jail.conf.tmp __DEBUG__ $3
++parse_tag jail.conf.tmp __INSTALLDIR__ $4
++
++mv jail.conf.tmp jail.conf
++install_file jail.conf $4/etc $5 $6 $7
++rm jail.conf
+
+ }
+
+@@ -80,13 +80,13 @@
+
+ gen_libjail() {
+
+-cp lib/libjail.pm /tmp/libjail.pm.tmp
++cp lib/libjail.pm libjail.pm.tmp
+
+-parse_tag /tmp/libjail.pm.tmp __INSTALLDIR__ $1
++parse_tag libjail.pm.tmp __INSTALLDIR__ $1
+
+-mv /tmp/libjail.pm.tmp /tmp/libjail.pm
+-install_file /tmp/libjail.pm $1/lib $2 $3 $4
+-rm /tmp/libjail.pm
++mv libjail.pm.tmp libjail.pm
++install_file libjail.pm $1/lib $2 $3 $4
++rm libjail.pm
+
+ }
+
+@@ -94,14 +94,14 @@
+
+ gen_mkenv() {
+
+-cp bin/mkjailenv /tmp/mkjailenv.tmp
++cp bin/mkjailenv mkjailenv.tmp
+
+-parse_tag /tmp/mkjailenv.tmp __INSTALLDIR__ $1
+-parse_tag /tmp/mkjailenv.tmp __PERL__ $2
++parse_tag mkjailenv.tmp __INSTALLDIR__ $1
++parse_tag mkjailenv.tmp __PERL__ $2
+
+-mv /tmp/mkjailenv.tmp /tmp/mkjailenv
+-install_file /tmp/mkjailenv $1/bin $3 $4 $5
+-rm /tmp/mkjailenv
++mv mkjailenv.tmp mkjailenv
++install_file mkjailenv $1/bin $3 $4 $5
++rm mkjailenv
+
+ }
+
+@@ -109,14 +109,14 @@
+
+ gen_addjailsw() {
+
+-cp bin/addjailsw /tmp/addjailsw.tmp
++cp bin/addjailsw addjailsw.tmp
+
+-parse_tag /tmp/addjailsw.tmp __INSTALLDIR__ $1
+-parse_tag /tmp/addjailsw.tmp __PERL__ $2
++parse_tag addjailsw.tmp __INSTALLDIR__ $1
++parse_tag addjailsw.tmp __PERL__ $2
+
+-mv /tmp/addjailsw.tmp /tmp/addjailsw
+-install_file /tmp/addjailsw $1/bin $3 $4 $5
+-rm /tmp/addjailsw
++mv addjailsw.tmp addjailsw
++install_file addjailsw $1/bin $3 $4 $5
++rm addjailsw
+
+ }
+
+@@ -125,14 +125,14 @@
+
+ gen_addjailuser() {
+
+-cp bin/addjailuser /tmp/addjailuser.tmp
++cp bin/addjailuser addjailuser.tmp
+
+-parse_tag /tmp/addjailuser.tmp __INSTALLDIR__ $1
+-parse_tag /tmp/addjailuser.tmp __PERL__ $2
++parse_tag addjailuser.tmp __INSTALLDIR__ $1
++parse_tag addjailuser.tmp __PERL__ $2
+
+-mv /tmp/addjailuser.tmp /tmp/addjailuser
+-install_file /tmp/addjailuser $1/bin $3 $4 $5
+-rm /tmp/addjailuser
++mv addjailuser.tmp addjailuser
++install_file addjailuser $1/bin $3 $4 $5
++rm addjailuser
+
+ }
+
+--- a/src/preinstall.sh Fri Oct 26 11:36:09 2001
++++ b/src/preinstall.sh Sat Jul 20 04:44:11 2002
+@@ -23,7 +23,7 @@
+ #
+ ##############################################################################
+
+-TMPFILE=/tmp/jail.tmp
++TMPFILE=jail.tmp
+
+
+ # ----------------------------------------------------------------------------
diff --git a/app-misc/jail/files/jail-1.9-ldflags.patch b/app-misc/jail/files/jail-1.9-ldflags.patch
new file mode 100644
index 000000000000..6b9e5731bb27
--- /dev/null
+++ b/app-misc/jail/files/jail-1.9-ldflags.patch
@@ -0,0 +1,11 @@
+--- a/src/Makefile 2001-10-29 18:40:48.000000000 +0100
++++ b/src/Makefile 2010-09-17 07:28:09.000000000 +0200
+@@ -60,7 +60,7 @@
+ all: jail
+
+ jail: jail.c $(OBJ)
+- $(CC) $(CFLAGS) $(INCLUDE) jail.c -o jail $(OBJ) $(LIBS) && \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDE) jail.c -o jail $(OBJ) $(LIBS) && \
+ cp jail ../bin
+
+ clean:
diff --git a/app-misc/jail/files/jail-1.9-multiuser-rsa.patch b/app-misc/jail/files/jail-1.9-multiuser-rsa.patch
new file mode 100644
index 000000000000..e0aad4f65c72
--- /dev/null
+++ b/app-misc/jail/files/jail-1.9-multiuser-rsa.patch
@@ -0,0 +1,44 @@
+--- a/src/jail.c 2004-09-19 23:48:14.000000000 -0500
++++ b/src/jail.c 2004-09-20 00:07:48.000000000 -0500
+@@ -115,6 +115,20 @@
+ #include "helpers.h"
+ #include "types.h"
+
++
++
++void make_jail_dir( char* dir )
++{
++ for( ; *dir != '\0'; ++dir )
++ {
++ if( *dir == '.' )
++ {
++ *dir = '\0';
++ break;
++ }
++ }
++}
++
+ //////////////////////////////////////////////////////////////////////////////
+ //
+ // main()
+@@ -211,6 +225,7 @@
+ fprintf(stderr,"jail: can't get passwd info for uid %d\n",uid);
+ exit(-1);
+ }
++ make_jail_dir(pwdent->dir);
+
+ //
+ // create the terminal devices here
+@@ -289,7 +304,6 @@
+ free(pwdent->dir);
+ pwdent->dir = tmp_str;
+
+-
+ #if DEBUG != 0
+ fprintf(stderr,"jail: doing chdir(%s)\n",pwdent->dir);
+ #endif
+@@ -494,4 +508,3 @@
+ return(-4);
+ }
+
+-
diff --git a/app-misc/jail/files/jail-1.9-wrongshell.patch b/app-misc/jail/files/jail-1.9-wrongshell.patch
new file mode 100644
index 000000000000..1924337d06e4
--- /dev/null
+++ b/app-misc/jail/files/jail-1.9-wrongshell.patch
@@ -0,0 +1,11 @@
+--- a/lib/arch/generic/functions 2001-10-26 04:36:09.000000000 -0500
++++ b/lib/arch/generic/functions 2003-07-30 18:23:57.000000000 -0500
+@@ -831,7 +831,7 @@
+
+ if (!$found || !-e $SHELLS_FILE) {
+ open(F,">>".$SHELLS_FILE);
+- print F "$INSTALL_DIR/jail\n";
++ print F "$INSTALL_DIR/bin/jail\n";
+ close(F);
+ }
+ }
diff --git a/app-misc/jail/files/jail-2.0-symlinks.patch b/app-misc/jail/files/jail-2.0-symlinks.patch
new file mode 100644
index 000000000000..04b405efe300
--- /dev/null
+++ b/app-misc/jail/files/jail-2.0-symlinks.patch
@@ -0,0 +1,11 @@
+--- a/lib/arch/generic/functions~ 2014-07-03 11:37:33.000000000 +0200
++++ b/lib/arch/generic/functions 2018-07-01 10:02:57.101547309 +0200
+@@ -687,7 +687,7 @@
+ return();
+ }
+
+- local $query = "$file_cmd $p_name";
++ local $query = "$file_cmd -L $p_name";
+ local $res = `$query`;
+ local $line;
+
diff --git a/app-misc/jail/files/jail-2.0-sysmacros.patch b/app-misc/jail/files/jail-2.0-sysmacros.patch
new file mode 100644
index 000000000000..ffe6a965934b
--- /dev/null
+++ b/app-misc/jail/files/jail-2.0-sysmacros.patch
@@ -0,0 +1,20 @@
+--- a/src/generic_helpers.c
++++ b/src/generic_helpers.c
+@@ -27,6 +27,7 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+--- a/src/terminal_helpers.c
++++ b/src/terminal_helpers.c
+@@ -25,6 +25,7 @@
+
+ #include <stdlib.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <string.h>
diff --git a/app-misc/jail/jail-2.0-r1.ebuild b/app-misc/jail/jail-2.0-r1.ebuild
new file mode 100644
index 000000000000..60664a83e8e8
--- /dev/null
+++ b/app-misc/jail/jail-2.0-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Builds a chroot and configures all the required files, directories and libraries"
+HOMEPAGE="https://github.com/spiculator/jail"
+SRC_URI="https://github.com/spiculator/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 x86"
+IUSE=""
+
+DEPEND=">=sys-apps/sed-4"
+RDEPEND="dev-lang/perl
+ dev-util/strace"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.9-gentoo.patch \
+ "${FILESDIR}"/${PN}-1.9-wrongshell.patch \
+ "${FILESDIR}"/${PN}-1.9-multiuser-rsa.patch \
+ "${FILESDIR}"/${PN}-1.9-ldflags.patch \
+ "${FILESDIR}"/${PN}-2.0-sysmacros.patch
+}
+
+src_compile() {
+ # configuration files should be installed in /etc not /usr/etc
+ sed -i "s:\$4/etc:\${D}/etc:g" install.sh || die
+
+ # the destination directory should be /usr not /usr/local
+ sed -i -e "s:usr/local:${D}/usr:g" \
+ -e "s:^COPT =.*:COPT = -Wl,-z,no:g" src/Makefile || die
+
+ # Below didn't work. Don't know why
+ #append-ldflags -Wl,-z,now
+ emake -C src CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ emake -C src install
+
+ # remove //var/tmp/portage/${P}/image//usr from files
+ FILES=( "${D}/usr/bin/mkjailenv"
+ "${D}/usr/bin/addjailsw"
+ "${D}/usr/bin/addjailuser"
+ "${D}/etc/jail.conf"
+ "${D}/usr/lib/libjail.pm"
+ "${D}/usr/lib/arch/generic/definitions"
+ "${D}/usr/lib/arch/generic/functions"
+ "${D}/usr/lib/arch/linux/definitions"
+ "${D}/usr/lib/arch/linux/functions"
+ "${D}/usr/lib/arch/freebsd/definitions"
+ "${D}/usr/lib/arch/freebsd/functions"
+ "${D}/usr/lib/arch/irix/definitions"
+ "${D}/usr/lib/arch/irix/functions"
+ "${D}/usr/lib/arch/solaris/definitions"
+ "${D}/usr/lib/arch/solaris/functions" )
+
+ for f in "${FILES[@]}"; do
+ sed -i "s:/${D}/usr:/usr:g" ${f} || die
+ done
+
+ sed -i "s:/usr/etc:/etc:" "${D}"/usr/lib/libjail.pm || die
+
+ dodoc doc/{CHANGELOG,INSTALL,README,SECURITY,VERSION}
+}
diff --git a/app-misc/jail/jail-2.0-r2.ebuild b/app-misc/jail/jail-2.0-r2.ebuild
new file mode 100644
index 000000000000..8243ee0dfd3c
--- /dev/null
+++ b/app-misc/jail/jail-2.0-r2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit eutils flag-o-matic
+
+DESCRIPTION="Builds a chroot and configures all the required files, directories and libraries"
+HOMEPAGE="https://github.com/spiculator/jail"
+SRC_URI="https://github.com/spiculator/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-lang/perl
+ dev-util/strace
+"
+DEPEND=""
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9-gentoo.patch
+ "${FILESDIR}"/${PN}-1.9-wrongshell.patch
+ "${FILESDIR}"/${PN}-1.9-multiuser-rsa.patch
+ "${FILESDIR}"/${PN}-1.9-ldflags.patch
+ "${FILESDIR}"/${PN}-2.0-sysmacros.patch
+ "${FILESDIR}"/${PN}-2.0-symlinks.patch #659094
+)
+
+src_compile() {
+ # configuration files should be installed in /etc not /usr/etc
+ sed -i "s:\$4/etc:\${D}/etc:g" install.sh || die
+
+ # the destination directory should be /usr not /usr/local
+ sed -i -e "s:usr/local:${D}/usr:g" \
+ -e "s:^COPT =.*:COPT = -Wl,-z,no:g" src/Makefile || die
+
+ emake -C src CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ emake -C src install
+
+ # remove //var/tmp/portage/${P}/image//usr from files
+ FILES=( "${D}/usr/bin/mkjailenv"
+ "${D}/usr/bin/addjailsw"
+ "${D}/usr/bin/addjailuser"
+ "${D}/etc/jail.conf"
+ "${D}/usr/lib/libjail.pm"
+ "${D}/usr/lib/arch/generic/definitions"
+ "${D}/usr/lib/arch/generic/functions"
+ "${D}/usr/lib/arch/linux/definitions"
+ "${D}/usr/lib/arch/linux/functions"
+ "${D}/usr/lib/arch/freebsd/definitions"
+ "${D}/usr/lib/arch/freebsd/functions"
+ "${D}/usr/lib/arch/irix/definitions"
+ "${D}/usr/lib/arch/irix/functions"
+ "${D}/usr/lib/arch/solaris/definitions"
+ "${D}/usr/lib/arch/solaris/functions" )
+
+ for f in "${FILES[@]}"; do
+ sed -i "s:/${D}/usr:/usr:g" ${f} || die
+ done
+
+ sed -i "s:/usr/etc:/etc:" "${D}"/usr/lib/libjail.pm || die
+
+ dodoc doc/{CHANGELOG,INSTALL,README,SECURITY,VERSION}
+}
diff --git a/app-misc/jail/metadata.xml b/app-misc/jail/metadata.xml
new file mode 100644
index 000000000000..425dd3d2d460
--- /dev/null
+++ b/app-misc/jail/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">spiculator/jail</remote-id>
+ <bugs-to>https://github.com/spiculator/jail/issues</bugs-to>
+ </upstream>
+ <longdescription>
+Jail Chroot Project is an attempt of write a tool that builds a chrooted environment.
+The main goal of Jail is to be as simple as possible, and highly portable. The most
+difficult step when building a chrooted environment is to set up the right libraries and
+files. Here, Jail comes to the rescue with a tool to automagically configures and builds
+all the required files, directories and libraries.</longdescription>
+</pkgmetadata>