diff options
| author | Natanael Copa <ncopa@alpinelinux.org> | 2010-01-06 08:45:11 +0000 |
|---|---|---|
| committer | Natanael Copa <ncopa@alpinelinux.org> | 2010-01-06 08:45:11 +0000 |
| commit | 73281af4d137533d84ab57a40a548a5f0fb56bb9 (patch) | |
| tree | 55c36b96a393de7070a42aff9956eebe103488f1 /testing/util-vserver | |
| parent | 975f1475c36b7994ec614ab09b083c4f91d2720d (diff) | |
| download | aports-73281af4d137533d84ab57a40a548a5f0fb56bb9.tar.bz2 aports-73281af4d137533d84ab57a40a548a5f0fb56bb9.tar.xz | |
main/*-vserver: move from testing
good enough for main now
Diffstat (limited to 'testing/util-vserver')
| -rw-r--r-- | testing/util-vserver/APKBUILD | 67 | ||||
| -rw-r--r-- | testing/util-vserver/alpine.patch | 26 | ||||
| -rw-r--r-- | testing/util-vserver/busybox.patch | 11 | ||||
| -rw-r--r-- | testing/util-vserver/chmod.patch | 12 | ||||
| -rw-r--r-- | testing/util-vserver/ensc_pathprog.patch | 14 | ||||
| -rw-r--r-- | testing/util-vserver/setup-vs-guest | 306 | ||||
| -rw-r--r-- | testing/util-vserver/setup-vs-template | 44 | ||||
| -rw-r--r-- | testing/util-vserver/util-vserver.post-install | 15 | ||||
| l--------- | testing/util-vserver/util-vserver.post-upgrade | 1 | ||||
| -rw-r--r-- | testing/util-vserver/validate.patch | 10 |
10 files changed, 0 insertions, 506 deletions
diff --git a/testing/util-vserver/APKBUILD b/testing/util-vserver/APKBUILD deleted file mode 100644 index 24d8150ae8..0000000000 --- a/testing/util-vserver/APKBUILD +++ /dev/null @@ -1,67 +0,0 @@ -# Maintainer: Natanael Copa <ncopa@alpinelinux.org> -pkgname=util-vserver -pkgver=0.30.216_pre2864 -_realver=0.30.216-pre2864 -pkgrel=5 -pkgdesc="Linux-VServer admin utilities" -url="http://www.nongnu.org/util-vserver/" -license="GPL" -install="$pkgname.post-install $pkgname.post-upgrade" -makedepends="iptables-dev e2fsprogs-dev beecrypt-dev autoconf automake - pkgconfig libtool" -depends="bash make" - -source="http://people.linux-vserver.org/~dhozac/t/uv-testing/util-vserver-$_realver.tar.bz2 - busybox.patch - chmod.patch - ensc_pathprog.patch - validate.patch - alpine.patch - setup-vs-template - setup-vs-guest - " -subpackages="$pkgname-doc $pkgname-dev" - -_builddir="$srcdir"/$pkgname-$_realver - -build() { - local i - cd "$_builddir" - for i in ../*.patch; do - [ -r "$i" ] || continue - msg "Applying $i" - patch -p1 -i $i || return 1 - done - msg "Running autotools..." - aclocal -I m4 && autoconf && automake && libtoolize || return 1 - - # this is an ugly workaround - sed -i -e "s:as_echo=.*:as_echo=echo:g" configure - - ./configure --prefix=/usr \ - --mandir=/usr/share/man \ - --sysconfdir=/etc \ - --with-initscripts=gentoo \ - --localstatedir=/var \ - || return 1 - - # use busybox ionice rather than util-linux-ng - sed -i -e 's:/usr/bin/ionice:/bin/ionice:' Makefile - make || return 1 -} - -package() { - cd "$_builddir" - make DESTDIR="$pkgdir/" install install-distribution - install -Dm755 ../setup-vs-template "$pkgdir"/usr/sbin/setup-vs-template - install -Dm755 ../setup-vs-guest "$pkgdir"/usr/sbin/setup-vs-guest -} - -md5sums="f686d72b39399fba96bbabd7debab549 util-vserver-0.30.216-pre2864.tar.bz2 -62b7b9bbe5902b95f4614272af003dfd busybox.patch -73c7437dea6937a57cf38d166ef83c09 chmod.patch -ff8f561f672524eb46fe633f584ef60e ensc_pathprog.patch -da8b70c4fd40e68894b3903ffd121397 validate.patch -04000261fd990a3963b0e98260b481bd alpine.patch -49bca7969cc284adf68e0ef284c0660e setup-vs-template -838511f74983453ef9827ed875b70d59 setup-vs-guest" diff --git a/testing/util-vserver/alpine.patch b/testing/util-vserver/alpine.patch deleted file mode 100644 index eacc2cb624..0000000000 --- a/testing/util-vserver/alpine.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: distrib/alpine/initpost -=================================================================== ---- a/distrib/alpine/initpost (revision 2855) -+++ b/distrib/alpine/initpost (working copy) -@@ -1,6 +1,6 @@ - #!/bin/bash - --# Copyright (C) 2007 Natanael Copa <ncopa@alpinelinux.org> -+# Copyright (C) 2007, 2009 Natanael Copa <ncopa@alpinelinux.org> - # - # 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 -@@ -37,7 +37,12 @@ - $_VSERVER "$vserver" stop &>/dev/null || true - $_VSERVER "$vserver" start --rescue --rescue-init /bin/busybox sh -c ' - /bin/busybox --install -s -- /sbin/rc_add -s 20 -k syslog -+ if [ -x /sbin/rc-update ]; then -+ /sbin/rc-update add syslog boot -+ /bin/rmdir /etc/rcL.d /etc/rcK.d -+ else -+ /sbin/rc_add -s 20 -k syslog -+ fi - ' - - # set up hostname diff --git a/testing/util-vserver/busybox.patch b/testing/util-vserver/busybox.patch deleted file mode 100644 index cc471cc4eb..0000000000 --- a/testing/util-vserver/busybox.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/scripts/start-vservers Mon Oct 26 13:58:40 2009 -+++ b/scripts/start-vservers Mon Oct 26 13:59:31 2009 -@@ -131,7 +131,7 @@ - d=$__CONFDIR/${vservers[$i]}/apps/init - f=$d/mark - { test -n "$OPTION_MARK_ANY"; } || \ -- { test -n "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \ -+ { test -n "$OPTION_MARK" -a -r "$f" && grep -q "^${OPTION_MARK}$" "$f"; } || \ - { test -z "$OPTION_MARK" && test ! -e "$f"; } || \ - unset vservers[$i] - done diff --git a/testing/util-vserver/chmod.patch b/testing/util-vserver/chmod.patch deleted file mode 100644 index 53861e8932..0000000000 --- a/testing/util-vserver/chmod.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru a/Makefile.am b/Makefile.am ---- a/Makefile.am 2009-09-29 13:48:10.000000000 +0000 -+++ b/Makefile.am 2009-09-29 13:50:00.000000000 +0000 -@@ -149,7 +149,7 @@ - @mkdir -p $$(dirname '$@') - @echo "$(SED) -e '...' $*.pathsubst >$*" - @$(SED) -e '$(pathsubst_RULES)' '$<' >'$@.tmp' -- @-chmod --reference='$<' '$@.tmp' -+ @-chmod $$(stat -c %a '$<') '$@.tmp' - @if cmp -s '$@.tmp' '$*'; then \ - echo "... no changes, reusing old version"; \ - rm -f '$@.tmp'; \ diff --git a/testing/util-vserver/ensc_pathprog.patch b/testing/util-vserver/ensc_pathprog.patch deleted file mode 100644 index e14c1f6dab..0000000000 --- a/testing/util-vserver/ensc_pathprog.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ru a/m4/ensc_pathprog.m4 b/m4/ensc_pathprog.m4 ---- a/m4/ensc_pathprog.m4 2009-10-02 17:25:49.000000000 +0000 -+++ b/m4/ensc_pathprog.m4 2009-10-02 17:31:28.000000000 +0000 -@@ -61,7 +61,9 @@ - - if test "x$5" = x; then - if test -h "${$1}"; then -- $1=`readlink -f "${$1}"` -+ case `readlink "{$1}"` in -+ ../*) $1=`readlink -f "${$1}"`;; -+ esac - fi - fi - diff --git a/testing/util-vserver/setup-vs-guest b/testing/util-vserver/setup-vs-guest deleted file mode 100644 index dffd3c8804..0000000000 --- a/testing/util-vserver/setup-vs-guest +++ /dev/null @@ -1,306 +0,0 @@ -#!/bin/sh - -# simple script to set up a new vserver guest - -# test the first argument against the remaining ones, return success on a match -isin() { - local _a=$1 _b - - shift - for _b; do - [ "$_a" = "$_b" ] && return 0 - done - return 1 -} - -# remove all occurrences of first argument from list formed by -# the remaining arguments -rmel() { - local _a=$1 _b - - shift - for _b; do - [ "$_a" != "$_b" ] && echo -n "$_b " - done -} - -# Issue a read into the global variable $resp. -_ask() { - local _redo=0 - - read resp - case "$resp" in - !) echo "Type 'exit' to return to setup." - sh - _redo=1 - ;; - !*) eval "${resp#?}" - _redo=1 - ;; - esac - return $_redo -} - -# Ask for user input. -# -# $1 = the question to ask the user -# $2 = the default answer -# -# Save the user input (or the default) in $resp. -# -# Allow the user to escape to shells ('!') or execute commands -# ('!foo') before entering the input. -ask() { - local _question=$1 _default=$2 - - while :; do - echo -n "$_question " - [ -z "$_default" ] || echo -n "[$_default] " - _ask && : ${resp:=$_default} && break - done -} - -# Ask for user input until a non-empty reply is entered. -# -# $1 = the question to ask the user -# $2 = the default answer -# -# Save the user input (or the default) in $resp. -ask_until() { - resp= - while [ -z "$resp" ] ; do - ask "$1" "$2" - done -} - -# Ask for the user to select one value from a list, or 'done'. -# -# $1 = name of the list items (disk, cd, etc.) -# $2 = question to ask -# $3 = list of valid choices -# $4 = default choice, if it is not specified use the first item in $3 -# -# N.B.! $3 and $4 will be "expanded" using eval, so be sure to escape them -# if they contain spooky stuff -# -# At exit $resp holds selected item, or 'done' -ask_which() { - local _name=$1 _query=$2 _list=$3 _def=$4 _dynlist _dyndef - - while :; do - # Put both lines in ask prompt, rather than use a - # separate 'echo' to ensure the entire question is - # re-ask'ed after a '!' or '!foo' shell escape. - eval "_dynlist=\"$_list\"" - eval "_dyndef=\"$_def\"" - - # Clean away whitespace and determine the default - set -o noglob - set -- $_dyndef; _dyndef="$1" - set -- $_dynlist; _dynlist="$*" - set +o noglob - [ $# -lt 1 ] && resp=done && return - - : ${_dyndef:=$1} - echo "Available ${_name}s are: $_dynlist." - echo -n "Which one $_query? (or 'done') " - [ -n "$_dyndef" ] && echo -n "[$_dyndef] " - _ask || continue - [ -z "$resp" ] && resp="$_dyndef" - - # Quote $resp to prevent user from confusing isin() by - # entering something like 'a a'. - isin "$resp" $_dynlist done && break - echo "'$resp' is not a valid choice." - done -} - -# Ask for user input until a non-empty reply is entered. -# -# $1 = the question to ask the user -# $2 = the default answer -# -# Save the user input (or the default) in $resp. -ask_until() { - resp= - while [ -z "$resp" ] ; do - ask "$1" "$2" - done -} - -# http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names -valid_hostname() { - # check length - if [ $(echo "$1" | wc -c) -gt 63 ]; then - echo "Hostname '$1' is too long." - return 1 - fi - # check that it only contains valid chars - if ! [ -z "$(echo $1 | sed 's/[0-9a-z-]//g')" ]; then - echo "Hostname must only contain letters (a-z), digits (0-9) or -" - return 1 - fi - # must not start with - - case "$1" in - -*) echo "Hostname must not start with a '-'"; return 1;; - esac - return 0 -} - -# return last ipv4 address and mask -# -# $1 = interface -# -last_ipv4_addr_mask() { - local _iface=$1 - ip addr show dev $_iface | awk '$1 == "inet" {print $2}' | tail -n1 -} - -valid_ip() { - [ "$1" ] || return 0 - ipcalc -s $1 -} - -# ask for hostname -# -# $1 = default -# -# retrusn hostname in global var $resp -# -ask_hostname() { - while true; do - ask "Hostname for new vserver:" $1 - if [ -d /etc/vservers/$resp ]; then - echo "/etc/vservers/$resp already exist" - continue - fi - if [ -d /vservers/$resp ]; then - echo "/vservers/$resp already exist" - continue - fi - valid_hostname $resp && break - done -} - -ask_ifaceopts() { - # get ip address(es) - resp= - local ifaceopts= _def= _iface= - local ifaces=$(ip addr | awk -F: '$1 ~ /^[0-9]/ {printf "%s" $2} END {printf "\n"}') - local last_iface=$(echo $ifaces | sed 's/.* //') - while [ "$resp" != "done" ]; do - if [ -z "$ifaces" ] || [ "$ifaces" = "lo " ] || [ -n "$ifaceopts" ]; then - _def="done" - else - _def=$(echo $ifaces | sed 's/.* //') - fi - ask_which "network interface" "to use for $_hostname" \ - "$ifaces" $_def - [ "$resp" = "done" ] && break - - _iface=$resp - ifaces=$(rmel $_iface $ifaces) - # suggested ip by last digit + 1 - _last_ip_mask=$(last_ipv4_addr_mask $_iface) - _last_ip=${_last_ip_mask%/*} - _last_ip_digit=${_last_ip##*.} - _ip=${_last_ip%.*}.$((($_last_ip_digit + 1) % 256)) - _mask=${_last_ip_mask#*/} - while true; do - ask "Enter IP address/mask for $_iface:" $_ip/$_mask - valid_ip $resp && break - echo "$resp is not a valid IPv4 address/mask" - done - _ip_mask=$resp - ifaceopts="$ifaceopts --interface $_iface:$_ip_mask" - - # suggest context from last digit in first ip address - if [ -z "$_context" ]; then - _ip=${_ip_mask%/*} - _last_digit=${_ip##*.} - _context=$((10000 + $_last_digit)) - fi - done - resp="$ifacesopts" -} - -ask_context() { - # get context id - while true; do - ask "Enter context id for $_hostname:" $_context - if echo "$resp" | egrep -q "[0-9]+"; then - [ $resp -ge 0 ] && [ $resp -lt 65535 ] && break - fi - echo "Context id must be a 0-65534 number" - done -} - -ask_template() { - local temp - # get template - while true; do - ask "Enter template file (or empty for generate a new):" \ - $_template - if [ -z "$resp" ] || [ -r "$resp" ]; then - break - fi - echo "Can not read $resp" - done - temp=$resp - if [ -z "$temp" ]; then - temp=/vservers/template.tar.gz - echo -n "Generating template..." - if setup-vs-template -q -o $temp; then - echo "ok" - else - echo "Failed to create template" - exit 1 - fi - fi - resp=$temp -} - -usage() { - echo "Usage: ${0##*/} [-h] [HOSTNAME...]" - exit 1 -} - -while getopts "h" opt; do - case "$opt" in - h) usage;; - ?) usage;; - esac -done - -shift $(($OPTIND - 1)) - -if [ "$(whoami)" != "root" ]; then - echo "Need to be root. Sorry." - exit 1 -fi - -while true; do - ask_hostname $1 - _hostname=$resp - - ask_ifaceopts - _ifaceopts=$resp - - ask_context - _context=$resp - - ask_template - _template=$resp - - vserver $_hostname build \ - --hostname $_hostname \ - $_ifaceopts \ - --context $_context \ - -m template -- -t "$_template" -d alpine \ - && cp /etc/resolv.conf /vservers/$_hostname/etc/ \ - && cp /etc/apk/repositories /vservers/$_hostname/etc/apk/ \ - || exit 1 - - shift - [ $# -le 0 ] && exit 0 -done diff --git a/testing/util-vserver/setup-vs-template b/testing/util-vserver/setup-vs-template deleted file mode 100644 index 8ad7f3fae8..0000000000 --- a/testing/util-vserver/setup-vs-template +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -# create a vserver template -PROG=$0 - -usage() { - echo "usage: $PROG [-fhq] [-o OUTFILE] [-X repository] [packages...]" - exit $1 -} - -clean_exit() { - rm -rf "$tmpdir" - exit $1 -} - -outfile=template.tar.gz -fakeroot= -repos= -while getopts "ho:qX:" opt; do - case "$opt" in - h) usage 0;; - o) outfile="$OPTARG";; - q) quiet=-q;; - X) repos="$repos --repository $OPTARG";; - esac -done -shift $(( $OPTIND - 1 )) - -if [ "$(whoami)" != "root" ]; then - echo "Warning: you need root permissions" >&2 -fi - -tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/setup-vs-template-XXXXXX) - -apk add --root "$tmpdir" --initdb --keys-dir /etc/apk/keys -U \ - $quiet ${repos:---repositories-file /etc/apk/repositories} \ - alpine-base $@ \ - || clean_exit 1 - -tar -czf "$outfile" -C "$tmpdir" $(ls "$tmpdir") || clean_exit 1 - -[ -z "$quiet" ] && echo "Created $outfile" -clean_exit 0 - diff --git a/testing/util-vserver/util-vserver.post-install b/testing/util-vserver/util-vserver.post-install deleted file mode 100644 index 9c8aad1e4c..0000000000 --- a/testing/util-vserver/util-vserver.post-install +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -if [ -f /etc/vservers/.defaults/rlimits/nproc ]; then - exit 0 -fi - -# calculate the nproc limit from amount of ram -memtotal=$(awk '$1 == "MemTotal:" {print $2}' /proc/meminfo 2>/dev/null) -nproc=$(( ${memtotal:-524288} / 256 )) - -# set a "sane" default nproc limit -echo "Setting default nproc limit to $nproc" -mkdir -p /etc/vservers/.defaults/rlimits -echo $nproc > /etc/vservers/.defaults/rlimits/nproc - diff --git a/testing/util-vserver/util-vserver.post-upgrade b/testing/util-vserver/util-vserver.post-upgrade deleted file mode 120000 index c5db4163fd..0000000000 --- a/testing/util-vserver/util-vserver.post-upgrade +++ /dev/null @@ -1 +0,0 @@ -util-vserver.post-install
\ No newline at end of file diff --git a/testing/util-vserver/validate.patch b/testing/util-vserver/validate.patch deleted file mode 100644 index 081dce5a31..0000000000 --- a/testing/util-vserver/validate.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -ru a/m4/validate.am b/m4/validate.am ---- a/m4/validate.am 2009-10-02 17:57:03.000000000 +0000 -+++ b/m4/validate.am 2009-10-02 17:58:15.000000000 +0000 -@@ -26,5 +26,5 @@ - .%-up-to-date: - @rm -f .*-up-to-date - @$(MAKE) -s clean -- @touch -t 197001020000 '$@' -+ @cp -a Makefile.am '$@' - @$(MAKE) -s $(BUILT_SOURCES) |
