summaryrefslogtreecommitdiff
path: root/sys-cluster/util-vserver
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-cluster/util-vserver
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-cluster/util-vserver')
-rw-r--r--sys-cluster/util-vserver/Manifest6
-rw-r--r--sys-cluster/util-vserver/files/bash_completion300
-rw-r--r--sys-cluster/util-vserver/metadata.xml25
-rw-r--r--sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild109
4 files changed, 440 insertions, 0 deletions
diff --git a/sys-cluster/util-vserver/Manifest b/sys-cluster/util-vserver/Manifest
new file mode 100644
index 000000000000..c5ddec8f02df
--- /dev/null
+++ b/sys-cluster/util-vserver/Manifest
@@ -0,0 +1,6 @@
+AUX bash_completion 7568 SHA256 2232166a5aed9857a7a5c30adfdd4ea944e0608a29fad05f229b8cef2d61795d SHA512 b9e5745775121107da14540103bbf4943692a514cf3cd69b71c999a5e0eb1c81253b6ac4ca635cdb6e64cd1f1c1204dfecd4a6f83cbe7d5448625c53f80ed3bb WHIRLPOOL a17cc603408cf178c0d8299e6f36133715f6ec6c5a21c7440dca49338dde2280d24bb26852a21326ab2b62ac787ed84d06d0baf3097c0188f2448fbf055e79ab
+DIST util-vserver-0.30.216-pre3120.tar.gz 990833 SHA256 00df201b3f103a9f5663734b5931abe2e575ff1dabeb7c8035c1ba21c7f4b6d2 SHA512 eca7680a8b06fecd678b4dad5824c92b53d872b3e7ec9cc275425437fb7fcfb3991f58770096f20d8274e37927a39b64ed9db082ef806e76d0c603b2cd64ef32 WHIRLPOOL 4f2191a339786d2d911a3bf31051972c993f95621824d7dfc11d30755070bfab3da2eb4d85ac80139e022c44aaf2313fe0042991a91ae828b12217cadfd6a331
+EBUILD util-vserver-0.30.216_pre3120.ebuild 2636 SHA256 c7bc346985fe12ba62c38ce1f943cb8cbacc2f6dcfb1c5d0f5c2d51cc972bfd5 SHA512 7a2be4456a29ee7abb0b0b612624c5e642f50789cf430edea9146e412e6b14324de90c2cc52c44a0313b9365017876910f545e9db8cb87647b3328684d04ff0e WHIRLPOOL 283291d3fba9436f0e295ac4f89b17c48d09187294ac11101baae0261efbc30edfec84d22791553377d17dc1999809338a65ca0f871d05063bcd959b5b265aed
+MISC ChangeLog 4101 SHA256 8dfd2b9b8d315e05fd9fbd212fed5b288d0707a25e89f732f5b196f37e145abe SHA512 74f863d4dde2c5b6bc7b3780a31d968d120b0e0aa9ea40da4cacd6fd6160f0c0ade506738392c3f6d78e47ebb25f27ea2cf4f8073560064454d06903cd5e3d53 WHIRLPOOL 289a430351b6ce292b9a2980cc8e72e8953c21897a44f31c9ed9741305e99d501e2f5aacc161c1cb554043e7805dbb6f9c949348c4b70bf812753f7c29c0a9d8
+MISC ChangeLog-2015 24548 SHA256 93b43b7f26553db1247ac1f183304e27436a238f858bce9e79117f76299c130a SHA512 d238343c79442c0a909e7256af1e19e00bdfae43b85feae3426e5fc2792963604ac3eaed155ccc9ddc22259075cbb7a97157a99370a931467642749d8e1c3d57 WHIRLPOOL 12befea47c8f7ab9478de392728fc57c6720d3eee55a0aad7ff6ba4e45277bf842a7bb48e584bf739d5106ec4533e85ff89149cfca92a939cadf20e1142f61ae
+MISC metadata.xml 873 SHA256 98e77b863f7f07ab9725d931b5028e5948c036fbb350db4ba7850cbfead96535 SHA512 1f1a943e7fd63dc53cde611ec0b359ac89bccc8dbd7538152bea9a88f938ff240faea693f66e40d77348070cd895797dba132e9e91f333a967ee4097f32e17ea WHIRLPOOL ea4e48b9feb89a49819fcecbd6af827dfaa756e95d18e6c51dc8be1fc8d5b876a971a5cff8479038705025dfa063d6d320f8972b592e6e48987f0bd2da6831d0
diff --git a/sys-cluster/util-vserver/files/bash_completion b/sys-cluster/util-vserver/files/bash_completion
new file mode 100644
index 000000000000..73a9fef89f85
--- /dev/null
+++ b/sys-cluster/util-vserver/files/bash_completion
@@ -0,0 +1,300 @@
+# Completion for the vserver command. Source this file (or on some systems
+# add it to ~/.bash_completion and start a new shell) and bash's completion
+# mechanism will know all about vserver's options!
+#
+# Copyright (C) Thomas Champagne <lafeuil@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# The latest version of this software can be obtained here:
+#
+# http://linux-vserver.org/Vserver+Completion
+#
+# version 0.4.0
+
+have vserver-info && {
+: ${UTIL_VSERVER_VARS:=$(vserver-info - SYSINFO |grep prefix: | awk '{ print $2}')/lib/util-vserver/util-vserver-vars}
+
+test -e "$UTIL_VSERVER_VARS" && {
+
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+_vserver() {
+ local cur cmds cmdOpts cmdMethodOpts helpCmds names names_pipe func i j method
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+
+ # find available vServers:
+ # call function getAllVservers in vserver library
+ getAllVservers names
+ names_pipe=`echo ${names[@]} | sed 's/ /|/g'`
+
+ # available commands
+ cmds='start stop restart condrestart suexec exec enter chkconfig \
+ running status unify pkg apt-get apt-config apt-cache \
+ rpm pkgmgmt delete'
+
+ # options (long and short name)
+ cmdOpts='--help --version --debug --defaulttty -s --sync -v \
+ --verbose --silent --'
+
+ cmdMethodOpts='-m -n --context --confdir --lockfile \
+ --hostname --netdev --netbcast --netmask \
+ --netprefix --interface --cpuset \
+ --cpusetcpus --cpusetmems --cpusetvirt \
+ --initstyle --flags --help --'
+
+ # if the previous option is a single option
+ helpCmds='--help|--version'
+ if [[ ${COMP_WORDS[1]} == @($helpCmds) ]] ; then
+ return 0
+ fi
+
+ # lookup the vServer name
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+ if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ #a vserver has been found
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ # Show the vserver command without build
+ case "${COMP_WORDS[i+1]}" in
+ start)
+ COMPREPLY=( $( compgen -W "--rescue --rescue-cmd" -- $cur ) )
+ ;;
+ # No completion for apt-config
+ stop|restart|condrestart|enter|running|status|apt-config|delete)
+ ;;
+ suexec)
+ # I don't know how to do
+ COMPREPLY=( $( compgen -W -- $cur ) )
+ ;;
+ exec)
+ #I don't know how to do
+ COMPREPLY=( $( compgen -W "" -- $cur ) )
+ ;;
+ unify)
+ COMPREPLY=( $( compgen -W "-R" -- $cur ) )
+ ;;
+ apt-get|apt-cache)
+ func=${COMP_WORDS[i+1]}
+ COMP_WORDS=( ${COMP_WORDS[@]:$((i+1))} )
+ COMP_CWORD=$((COMP_CWORD-i-1))
+ declare -f _${func//-/_} > /dev/null && _${func//-/_}
+ ;;
+ *)
+ COMPREPLY=( $( compgen -W "$cmds" -- $cur ) )
+ ;;
+ esac
+ return 0
+ else
+ #no vserver name found
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ #search the new name of vserver
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
+ if [[ ${COMP_WORDS[i]} == !(vserver|-*) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ j=$i
+ i=${#COMP_WORDS[@]}
+ for (( ; j < ${#COMP_WORDS[@]}-1; j++ )) ; do
+ if [[ ${COMP_WORDS[j]} == "--" ]]; then
+ # method's parameter
+ case "$method" in
+ legacy|copy)
+ ;;
+ apt-rpm)
+ COMPREPLY=( $( compgen -W "-d" -- $cur ) )
+ ;;
+ yum)
+ COMPREPLY=( $( compgen -W "-d" -- $cur ) )
+ ;;
+ rpm)
+ COMPREPLY=( $( compgen -W "-d --empty --force --nodeps" -- $cur ) )
+ ;;
+ skeleton)
+ ;;
+ debootstrap)
+ COMPREPLY=( $( compgen -W "-d -m -s --" -- $cur ) )
+ ;;
+ *)
+ ;;
+ esac
+ return 0
+ break
+ fi
+
+ if [[ ${COMP_WORDS[j]} == @(build|-m) ]]; then
+ i=$j
+ if (( $j+1 < ${#COMP_WORDS[@]}-1 )) ; then
+ method=${COMP_WORDS[j+1]}
+ fi
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ case $prev in
+ --help)
+ ;;
+ -n|--context|--confdir|--lockfile|--hostname|--netdev|--netbcast|--netmask|--netprefix|--interface|--cpuset|--cpusetcpus|--cpusetmems|--cpusetvirt|--initstyle|--flags)
+ COMPREPLY=( $( compgen -W "" -- $cur ) )
+ ;;
+ -m)
+ COMPREPLY=( $( compgen -W "legacy copy apt-rpm yum rpm skeleton debootstrap" -- $cur ) )
+ ;;
+ *)
+ COMPREPLY=( $( compgen -W "$cmdMethodOpts" -- $cur ) )
+ ;;
+ esac
+ else
+ COMPREPLY=( $( compgen -W "build" -- $cur ) )
+ fi
+ else
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+
+ return 0
+ fi
+
+ return 0
+}
+
+complete -F _vserver vserver
+
+_vapt_rpm_yum()
+{
+ local cur cmds cmdOpts helpCmds names func i
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+
+ # options (long and short name)
+ cmdOpts='--help --version --quiet -q --all'
+
+ # if the previous option is a single option
+ helpCmds='--help|--version'
+
+ if [[ "${COMP_WORDS[1]}" == "@($helpCmds)" ]] ; then
+ return 0
+ fi
+
+ # search --
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
+ if [[ ${COMP_WORDS[i]} = "--" ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ # find available vServers
+ # call function getAllVservers in vserver library
+ getAllVservers names
+ names_pipe=`echo ${names[@]}" --all" | sed 's/ /|/g'`
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) && (( $i < $COMP_CWORD )) ; then
+ func=${COMP_WORDS[0]:1}
+ COMP_WORDS=( $func ${COMP_WORDS[@]:$((i+1))} )
+ COMP_CWORD=$((COMP_CWORD-i))
+ declare -f _${func//-/_} > /dev/null && _${func//-/_}
+ else
+ # search vServer name
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
+ if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ if [[ "${COMP_WORDS[i]}" = "--all" ]] ; then
+ cmdOpts='--'
+ COMPREPLY=( $( compgen -W "$cmdOpts" -- $cur ) )
+ else
+ cmdOpts='--'
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+ else
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+ fi
+
+ return 0
+}
+
+_vserver_copy()
+{
+ local cur prev cmdOpts helpCmds confCmds names names_pipe i
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+
+ # find available vServers
+ # call function getAllVservers in vserver library
+ getAllVservers names
+ names_pipe=`echo ${names[@]} | sed 's/ /|/g'`
+
+ # options (long and short name)
+ cmdOpts='--help -h --version -V --verbose -v --quiet -q \
+ --vsroot -r --rsh -R --stopstart -s \
+ --domain -d --ip -i'
+
+ # if the previous option is a single option
+ helpCmds='--help|-h|--version|-V'
+
+ if [[ ${COMP_WORDS[1]} == @($helpCmds) ]] ; then
+ return 0
+ fi
+
+ confCmds='--ip|-i|--domain|-d'
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ $prev == @($confCmds) ]] ; then
+ return 0
+ fi
+
+ # search a vServer name
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+ if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ return 0
+ else
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+
+ return 0
+}
+
+complete -F _vapt_rpm_yum vapt-get
+complete -F _vapt_rpm_yum vrpm
+complete -F _vapt_rpm_yum vyum
+complete -F _vserver_copy vserver-copy
+
+}
+}
diff --git a/sys-cluster/util-vserver/metadata.xml b/sys-cluster/util-vserver/metadata.xml
new file mode 100644
index 000000000000..a5775a67d746
--- /dev/null
+++ b/sys-cluster/util-vserver/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>monsieurp@gentoo.org</email>
+ <name>Patrice Clement</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>ccx@volny.cz</email>
+ <name>Jan Pobrislo</name>
+ <description>Proxied Maintainer</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+<longdescription>
+ util-vserver is a Linux virtual server utility framework,
+ allowing an administrator to set up multiple, isolated
+ virtual servers. It can be used to run various services
+ securely separated, without requiring special configuration.
+ Virtual servers are unable to interact with each other, or
+ the main server.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild b/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild
new file mode 100644
index 000000000000..135626f3308f
--- /dev/null
+++ b/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils bash-completion-r1
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Linux-VServer admin utilities"
+HOMEPAGE="http://www.nongnu.org/util-vserver/"
+SRC_URI="http://people.linux-vserver.org/~dhozac/t/uv-testing/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~sparc x86"
+
+CDEPEND="
+ dev-libs/beecrypt
+ net-firewall/iptables
+ net-misc/vconfig
+ sys-apps/iproute2"
+
+DEPEND="
+ ${CDEPEND}
+ >dev-libs/dietlibc-0.33"
+
+RDEPEND="
+ ${CDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if [[ -z "${VDIRBASE}" ]]; then
+ einfo
+ einfo "You can change the default vserver base directory (/vservers)"
+ einfo "by setting the VDIRBASE environment variable."
+ fi
+
+ : ${VDIRBASE:=/vservers}
+
+ einfo
+ einfo "Using \"${VDIRBASE}\" as vserver base directory"
+ einfo
+}
+
+src_test() {
+ # do not use $D from portage by accident (#297982)
+ sed -i -e 's/^\$D //' "${S}"/src/testsuite/vunify-test.sh || die
+
+ default
+}
+
+src_configure() {
+ local myeconf=(
+ --with-vrootdir="${VDIRBASE}"
+ --with-initscripts=gentoo
+ --localstatedir=/var
+ )
+
+ econf "${myeconf[@]}"
+}
+
+src_compile() {
+ emake -j1 || die "emake failed!"
+}
+
+src_install() {
+ make DESTDIR="${D}" install install-distribution \
+ || die "make install failed!"
+
+ # keep dirs
+ keepdir /var/cache/vservers
+ keepdir "${VDIRBASE}"
+ keepdir "${VDIRBASE}"/.pkg
+
+ # bash-completion
+ newbashcomp "${FILESDIR}"/bash_completion ${PN}
+
+ dodoc README ChangeLog NEWS AUTHORS THANKS util-vserver.spec
+}
+
+pkg_postinst() {
+ # Create VDIRBASE in postinst, so it is (a) not unmerged and (b) also
+ # present when merging.
+
+ mkdir -p "${VDIRBASE}" || die
+ if ! setattr --barrier "${VDIRBASE}"; then
+ ewarn "Filesystem on ${VDIRBASE} does not support chroot barriers."
+ ewarn "Chroot barrier is additional security measure that is used"
+ ewarn "when two vservers or the host system share the same filesystem."
+ ewarn "If you intend to use separate filesystem for every vserver"
+ ewarn "you can safely ignore this warning."
+ ewarn "To manually apply a barrier use: setattr --barrier ${VDIRBASE}"
+ ewarn "For details see: http://linux-vserver.org/Secure_chroot_Barrier"
+ fi
+
+ rm /etc/vservers/.defaults/vdirbase || die
+ ln -sf "${VDIRBASE}" /etc/vservers/.defaults/vdirbase || die
+
+ elog
+ elog "You have to run the vprocunhide command after every reboot"
+ elog "in order to setup /proc permissions correctly for vserver"
+ elog "use. An init script has been installed by this package."
+ elog "To use it you should add it to a runlevel:"
+ elog
+ elog " rc-update add vprocunhide default"
+ elog
+}