summaryrefslogtreecommitdiff
path: root/community/schroot
diff options
context:
space:
mode:
Diffstat (limited to 'community/schroot')
-rw-r--r--community/schroot/PKGBUILD77
-rw-r--r--community/schroot/arch32-config11
-rw-r--r--community/schroot/arch32-copyfiles6
-rw-r--r--community/schroot/arch32-example10
-rw-r--r--community/schroot/arch32-mount12
-rw-r--r--community/schroot/arch32-nssdatabases6
-rw-r--r--community/schroot/colon-completion.patch20
-rw-r--r--community/schroot/fix-bash-completion.patch11
-rw-r--r--community/schroot/pam.d.schroot.patch15
9 files changed, 168 insertions, 0 deletions
diff --git a/community/schroot/PKGBUILD b/community/schroot/PKGBUILD
new file mode 100644
index 000000000..115bfa87d
--- /dev/null
+++ b/community/schroot/PKGBUILD
@@ -0,0 +1,77 @@
+# $Id: PKGBUILD 94048 2013-07-13 12:36:56Z svenstaro $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
+
+pkgname=schroot
+pkgver=1.6.5
+pkgrel=3
+pkgdesc="Allows users to execute shell commands under different root filesystems. (Successor to dchroot)."
+url="http://packages.qa.debian.org/s/schroot.html"
+license=('GPL3')
+depends=('pam' 'lockdev' 'boost' 'e2fsprogs')
+optdepends=('btrfs-progs-unstable' 'lvm2')
+arch=('i686' 'x86_64')
+conflicts=('dchroot')
+replaces=('dchroot')
+provides=('schroot' 'sbuild' 'dchroot')
+backup=('etc/schroot/schroot.conf'
+ 'etc/schroot/arch32/config'
+ 'etc/schroot/arch32/copyfiles'
+ 'etc/schroot/arch32/mount'
+ 'etc/schroot/arch32/nssdatabases')
+options=(!libtool)
+source=("http://ftp.debian.org/debian/pool/main/s/$pkgname/${pkgname}_${pkgver}.orig.tar.xz"
+ 'arch32-example'
+ 'arch32-config'
+ 'arch32-copyfiles'
+ 'arch32-mount'
+ 'arch32-nssdatabases'
+ 'pam.d.schroot.patch'
+ 'colon-completion.patch'
+ 'fix-bash-completion.patch')
+md5sums=('99f679d68f180a56289b3ec40d214ae4'
+ '54239847f89b9a4772910415bde6276a'
+ '5a3f7b839c7e0b8933748da7c5b6385b'
+ 'ddb2f09c02b24dab777110f9808472e1'
+ 'f0d5d5b5e34a860f6f90b5628c680f46'
+ 'af1da6edd8c8c0dafeeb2c2c4e0c840b'
+ 'a8d77cac806a0a9adef3f93cdbeb280a'
+ 'f0d03bf6c60ed119781b27b98234299c'
+ '5ba775d4f401e2c167414caa548b71e5')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i ${srcdir}/fix-bash-completion.patch
+ patch -p1 -i ${srcdir}/colon-completion.patch
+ export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-dchroot \
+ --enable-lvm-snapshot \
+ --enable-btrfs-snapshot \
+ --with-bash-completion-dir=/usr/share/bash-completion/completions/ \
+ BTRFS=/sbin/btrfs \
+ BTRFSCTL=/sbin/btrfsctl \
+ LVCREATE=/sbin/lvcreate \
+ LVREMOVE=/sbin/lvremove
+ # --enable-csbuild
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make -k check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=$pkgdir install
+ install -dm 755 ${pkgdir}/etc/schroot/arch32
+ install -m 644 ${srcdir}/arch32-{config,mount,copyfiles,nssdatabases} ${pkgdir}/etc/schroot/arch32
+ rename 'arch32-' '' ${pkgdir}/etc/schroot/arch32/*
+ install -m 644 ${srcdir}/arch32-example ${pkgdir}/etc/schroot/chroot.d/arch32.conf.example
+ patch -i ${srcdir}/pam.d.schroot.patch ${pkgdir}/etc/pam.d/schroot
+}
diff --git a/community/schroot/arch32-config b/community/schroot/arch32-config
new file mode 100644
index 000000000..0ee72d522
--- /dev/null
+++ b/community/schroot/arch32-config
@@ -0,0 +1,11 @@
+# Default settings for chroot setup and exec scripts.
+# See schroot-script-config(5) for further details.
+
+# Filesystems to mount inside the chroot.
+FSTAB="/etc/schroot/arch32/mount"
+
+# Files to copy from the host system into the chroot.
+COPYFILES="/etc/schroot/arch32/copyfiles"
+
+# System databases to copy into the chroot
+NSSDATABASES="/etc/schroot/arch32/nssdatabases"
diff --git a/community/schroot/arch32-copyfiles b/community/schroot/arch32-copyfiles
new file mode 100644
index 000000000..f39ee48de
--- /dev/null
+++ b/community/schroot/arch32-copyfiles
@@ -0,0 +1,6 @@
+/etc/group
+/etc/hosts
+/etc/passwd
+/etc/resolv.conf
+/etc/localtime
+/etc/locale.gen
diff --git a/community/schroot/arch32-example b/community/schroot/arch32-example
new file mode 100644
index 000000000..4781914b1
--- /dev/null
+++ b/community/schroot/arch32-example
@@ -0,0 +1,10 @@
+[arch32]
+description=Arch32
+type=directory
+directory=/opt/arch32
+#users=username
+groups=users
+root-groups=root
+profile=arch32
+personality=linux32
+#aliases=32,i686
diff --git a/community/schroot/arch32-mount b/community/schroot/arch32-mount
new file mode 100644
index 000000000..075d6e451
--- /dev/null
+++ b/community/schroot/arch32-mount
@@ -0,0 +1,12 @@
+# mount.defaults: static file system information for chroots.
+# Note that the mount point will be prefixed by the chroot path
+# (CHROOT_PATH)
+#
+# <file system> <mount point> <type> <options> <dump> <pass>
+proc /proc proc defaults 0 0
+/dev /dev none rw,bind 0 0
+#/dev/pts /dev/pts none rw,bind 0 0
+tmpfs /dev/shm tmpfs defaults 0 0
+/sys /sys none rw,bind 0 0
+/tmp /tmp none rw,bind 0 0
+/home /home none rw,bind 0 0
diff --git a/community/schroot/arch32-nssdatabases b/community/schroot/arch32-nssdatabases
new file mode 100644
index 000000000..815ddce3f
--- /dev/null
+++ b/community/schroot/arch32-nssdatabases
@@ -0,0 +1,6 @@
+# System databases to copy into the chroot from the host system.
+#
+# <database name>
+passwd
+shadow
+group
diff --git a/community/schroot/colon-completion.patch b/community/schroot/colon-completion.patch
new file mode 100644
index 000000000..2df1bd16e
--- /dev/null
+++ b/community/schroot/colon-completion.patch
@@ -0,0 +1,20 @@
+diff -wbBur schroot-1.6.5.org/etc/bash_completion/schroot schroot-1.6.5/etc/bash_completion/schroot
+--- schroot-1.6.5.org/etc/bash_completion/schroot 2013-01-28 15:28:04.000000000 +0400
++++ schroot-1.6.5/etc/bash_completion/schroot 2013-01-28 15:30:22.297213632 +0400
+@@ -21,14 +21,14 @@
+ local cur prev options
+
+ COMPREPLY=()
+- cur=${COMP_WORDS[COMP_CWORD]}
+- prev=${COMP_WORDS[COMP_CWORD-1]}
++ _get_comp_words_by_ref -n : cur prev
+
+ # Select precisely the tokens from schroot --help that begin with a dash
+ options=$(schroot --help | sed 's/\(^\|[[:space:]]\)[^[:space:]-][^[:space:]]*//g')
+
+ if [ "$prev" = "-c" ] || [ "$prev" = "--chroot" ]; then
+ COMPREPLY=( $(compgen -W "$(schroot -a -l)" -- $cur) )
++ __ltrim_colon_completions "$cur"
+ else
+ COMPREPLY=( $(compgen -W "$options" -- $cur) )
+ fi
diff --git a/community/schroot/fix-bash-completion.patch b/community/schroot/fix-bash-completion.patch
new file mode 100644
index 000000000..fb22fd92d
--- /dev/null
+++ b/community/schroot/fix-bash-completion.patch
@@ -0,0 +1,11 @@
+--- a/etc/bash_completion/schroot
++++ b/etc/bash_completion/schroot
+@@ -15,7 +15,7 @@
+ # along with this program. If not, see
+ # <http://www.gnu.org/licenses/>.
+
+-have schroot &&
++_have schroot &&
+ _schroot()
+ {
+ local cur prev options
diff --git a/community/schroot/pam.d.schroot.patch b/community/schroot/pam.d.schroot.patch
new file mode 100644
index 000000000..528acb5f7
--- /dev/null
+++ b/community/schroot/pam.d.schroot.patch
@@ -0,0 +1,15 @@
+@@ -23,13 +23,6 @@
+ # time restrainst on schroot usage.
+ # account requisite pam_time.so
+
+-# The standard Unix authentication modules, used with
+-# NIS (man nsswitch) as well as normal /etc/passwd and
+-# /etc/shadow entries.
+-@include common-auth
+-@include common-account
+-@include common-session
+-
+ # Sets up user limits, please uncomment and read /etc/security/limits.conf
+ # to enable this functionality.
+ # session required pam_limits.so
+