diff options
author | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2007-02-11 20:36:17 +0000 |
---|---|---|
committer | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2007-02-11 20:36:17 +0000 |
commit | c6df3969c725f6a102a0d4ae9d8a7265eba48c85 (patch) | |
tree | 5ac4fbc299af5415b4e738bbf5d91fe29d74f3d5 /trunk/src | |
parent | f5ddefdbd8118f70eb457566de06c16daf5834fd (diff) | |
download | simplepkg-c6df3969c725f6a102a0d4ae9d8a7265eba48c85.tar.gz simplepkg-c6df3969c725f6a102a0d4ae9d8a7265eba48c85.tar.bz2 |
added jail-update and --sync option for templatepkg
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@185 04377dda-e619-0410-9926-eae83683ac58
Diffstat (limited to 'trunk/src')
-rwxr-xr-x | trunk/src/jail-commit | 6 | ||||
-rwxr-xr-x | trunk/src/jail-update | 63 | ||||
-rwxr-xr-x | trunk/src/mkjail | 38 | ||||
-rwxr-xr-x | trunk/src/templatepkg | 13 |
4 files changed, 79 insertions, 41 deletions
diff --git a/trunk/src/jail-commit b/trunk/src/jail-commit index 8de547c..d6e18f3 100755 --- a/trunk/src/jail-commit +++ b/trunk/src/jail-commit @@ -1,13 +1,13 @@ #!/bin/bash # -# jail-update: update config files from a jail to a template +# jail-commit: update config files from a jail to a template # feedback: rhatto@riseup.net | gpl # -# Jail-update is free software; you can redistribute it and/or modify it under the +# Jail-commit 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. # -# Jail-update is distributed in the hope that it will be useful, but WITHOUT ANY +# Jail-commit 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. # diff --git a/trunk/src/jail-update b/trunk/src/jail-update new file mode 100755 index 0000000..09d1555 --- /dev/null +++ b/trunk/src/jail-update @@ -0,0 +1,63 @@ +#!/bin/bash +# +# jail-update: update config files from a jail to a template +# feedback: rhatto@riseup.net | gpl +# +# Jail-update 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. +# +# Jail-update 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 installation" + exit 1 +fi + +function usage { + + echo $BASENAME: update a jail configuration from a template + echo usage: $BASENAME <jail-path> [template] + +} + +if [ -z "$1" ]; then + usage + exit 1 +fi + +if [ -z "$2" ]; then + template_name="`basename $1`" +else + template_name="$2" +fi + +search_template `basename $1` --update + +if [ "$?" != "0" ]; then + exit 1 +fi + +if [ -d "$TEMPLATE_BASE.d" ]; then + true +fi + +if [ -s "$TEMPLATE_BASE.perms" ]; then + +fi + +copy_template_files $1 +set_jail_perms $1 + diff --git a/trunk/src/mkjail b/trunk/src/mkjail index 14b50c9..37bb4ba 100755 --- a/trunk/src/mkjail +++ b/trunk/src/mkjail @@ -34,44 +34,6 @@ function usage { } -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 diff --git a/trunk/src/templatepkg b/trunk/src/templatepkg index 1382759..0a48406 100755 --- a/trunk/src/templatepkg +++ b/trunk/src/templatepkg @@ -51,6 +51,10 @@ function usage { echo "" echo " $BASENAME -d <template> <file-name>" echo "" + echo " -s | --sync: sync a template working copy; arguments are:" + echo "" + echo " $BASENAME -d <template>" + echo "" echo " in all cases (-c, -u and -a), jail-root defaults to /, if ommited" echo "" exit 1 @@ -214,6 +218,15 @@ elif [ "$1" == "-d" ] || [ "$1" == "--delete" ]; then fi +elif [ "$1" == "-s" ] || [ "$1" == "--sync" ]; then + + if [ "$TEMPLATES_UNDER_SVN" == "1" ]; then + if [ -d "$TEMPLATE_BASE.d/.svn" ]; then + ( cd $TEMPLATE_BASE.d && svn update ) + true + fi + fi + else usage fi |