aboutsummaryrefslogtreecommitdiff
path: root/src/mkjail
diff options
context:
space:
mode:
authorrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>2007-02-11 14:29:54 +0000
committerrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>2007-02-11 14:29:54 +0000
commitf9a8dfcd51e481a49355d94a3e74f2762519378f (patch)
tree948f0382081bd2eb8b1b5458a9661b67a090e795 /src/mkjail
parentfef31cbc9988ead081aaec587222b44ed524b6fd (diff)
downloadsimplepkg-f9a8dfcd51e481a49355d94a3e74f2762519378f.tar.gz
simplepkg-f9a8dfcd51e481a49355d94a3e74f2762519378f.tar.bz2
changed repository layout to trunk/, tags/ and branches/ scheme
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@181 04377dda-e619-0410-9926-eae83683ac58
Diffstat (limited to 'src/mkjail')
-rwxr-xr-xsrc/mkjail150
1 files changed, 0 insertions, 150 deletions
diff --git a/src/mkjail b/src/mkjail
deleted file mode 100755
index 3be3efb..0000000
--- a/src/mkjail
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/bin/bash
-#
-# mkjail v0.4: chroot jail maker
-#
-# feedback: rhatto at riseup.net | GPL
-#
-# Mkjail 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 of the License, or any later version.
-#
-# Mkjail 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
-#
-
-COMMON="/usr/libexec/simplepkg/common.sh"
-BASENAME="`basename $0`"
-
-if [ -f "$COMMON" ]; then
- source $COMMON
-else
- echo "error: file $COMMON found, check your `basename $0` installation"
- exit 1
-fi
-
-function usage {
-
- echo "usage: [ARCH=arch] [VERSION=version] [ROOT=/otherroot] $BASENAME <jail-name> [template]"
- exit 1
-
-}
-
-function copy_template_files {
-
- # copy template files into jail
- # usage: copy_template_files <jail-path>
-
- if [ -d "$1" ]; then
- echo "$BASENAME: copying template files..."
- if [ -d "$TEMPLATE_BASE.d" ]; then
- if [ "$TEMPLATES_UNDER_SVN" == "1" ]; then
- rsync -av --exclude=.svn $TEMPLATE_BASE.d/ $JAIL_ROOT/$server/
- else
- rsync -av $TEMPLATE_BASE.d/ $JAIL_ROOT/$server/
- fi
- fi
- fi
-
-}
-
-function set_jail_perms {
-
- # set template file permissions under a jail
- # usage: set_jail_perms <jail-path>
-
- if [ -s "$TEMPLATE_BASE.perms" ]; then
- cat $TEMPLATE_BASE.perms | while read entry; do
- file="`echo $entry | cut -d ";" -f 1`"
- if [ -a "$TEMPLATE_BASE.d/$file" ] && [ -a "$1/$file" ]; then
- owner="`echo entry | cut -d ";" -f 2`"
- group="`echo entry | cut -d ";" -f 3`"
- perms="`echo entry | cut -d ";" -f 4`"
- chmod $perms $1/$file
- chown $owner:$group $1/$file
- fi
- done
- fi
-
-}
-
-function exec_post_install_scripts {
-
- # exec post installation scripts
- # usage: exec_post_install_script <jail-root> <jail-name>
-
- if [ -z "$2" ]; then
- return 1
- fi
-
- echo "$BASENAME: executing template scripts..."
- if [ -d "$TEMPLATE_BASE.s" ]; then
- for script in `ls $TEMPLATE_BASE.s/`; do
- if [ -x "$TEMPLATE_BASE.s/$script" ]; then
- exec $TEMPLATE_BASE.s/$script $1 $2
- fi
- done
- fi
-
-}
-
-function jailist_update {
-
- # update the jail list file
- # usage: jailist_update <jail-path>
-
- if [ -f "$JAIL_LIST" ]; then
- if ! grep -q "^$1" $JAIL_LIST; then
- echo $1 >> $JAIL_LIST
- fi
- else
- echo $1 > $JAIL_LIST
- fi
-
-}
-
-if [ -z "$1" ]; then
- usage
-else
- server="$1"
- eval_config $BASENAME -u
-fi
-
-if [ ! -z "$2" ]; then
- search_template $2
- result="$?"
-else
- result="$?"
- search_default_template
-fi
-
-if [ "$result" != "0" ]; then
- exit 1
-fi
-
-TEMPLATE="$TEMPLATE_BASE.template"
-
-if [ ! -d "$JAIL_ROOT/$server" ]; then
- mkdir -p $JAIL_ROOT/$server
-else
- if [ ! -z "`ls $JAIL_ROOT/$server | grep -v 'lost+found'`" ]; then
- echo $BASENAME: error: folder $JAIL_ROOT/$server already exists and seens to be not empty
- echo $BASENAME: probably the jail $1 already exists
- exit 1
- fi
-fi
-
-echo "$BASENAME: instaling packages into $JAIL_ROOT/$server using $TEMPLATE..."
-
-install_packages
-copy_template_files $JAIL_ROOT/$server
-set_jail_perms $JAIL_ROOT/$server
-exec_post_install_scripts $JAIL_ROOT $server
-jailist_update $JAIL_ROOT/$server
-
-echo $BASENAME: done creating $server jail
-