From fcfc2248b2cf6a611836d0635a875fb10f93d74a Mon Sep 17 00:00:00 2001 From: rhatto Date: Thu, 4 Dec 2008 00:50:47 +0000 Subject: [PATCH] new 'compact' template format git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@634 04377dda-e619-0410-9926-eae83683ac58 --- trunk/conf/simplepkg.conf | 6 +- trunk/doc/CHANGELOG | 3 +- trunk/lib/common.sh | 95 ++++++-- trunk/src/createpkg | 4 +- trunk/src/jail-commit | 22 +- trunk/src/mkjail | 11 +- trunk/src/templatepkg | 210 ++++++++++-------- .../etc/profile.d/lang.csh | 0 .../etc/profile.d/lang.sh | 0 .../opt/OpenOffice.org | 0 .../{openoffice.template => packages} | 0 .../openoffice/{openoffice.perms => perms} | 0 .../{openoffice.s => scripts}/post-install.sh | 0 .../{slackware-12.1.template => packages} | 0 .../{slamd64-11.0.template => packages} | 0 .../post-install.sh | 0 .../{slamd64-12.0.template => packages} | 0 .../post-install.sh | 0 .../{slamd64-12.1.template => packages} | 0 .../{slamd64-12.1.perms => perms} | 0 .../post-install.sh | 0 .../etc/apache/httpd.conf | 0 .../etc/apache/php.ini | 0 .../etc/apache/vhosts | 0 .../{vserver-legacy.d => files}/etc/hosts | 0 .../etc/logrotate.d/apache | 0 .../{vserver-legacy.d => files}/etc/profile | 0 .../{vserver-legacy.d => files}/etc/rc.d/rc.0 | 0 .../{vserver-legacy.d => files}/etc/rc.d/rc.4 | 0 .../{vserver-legacy.d => files}/etc/rc.d/rc.6 | 0 .../{vserver-legacy.d => files}/etc/rc.d/rc.K | 0 .../{vserver-legacy.d => files}/etc/rc.d/rc.M | 0 .../{vserver-legacy.d => files}/etc/rc.d/rc.S | 0 .../etc/rc.d/rc.httpd | 0 .../etc/rc.d/rc.inet2 | 0 .../etc/rc.d/rc.inetd | 0 .../etc/rc.d/rc.ip_forward | 0 .../etc/rc.d/rc.local | 0 .../etc/rc.d/rc.mysqld | 0 .../etc/rc.d/rc.postfix | 0 .../etc/rc.d/rc.sendmail | 0 .../etc/rc.d/rc.serial | 0 .../etc/rc.d/rc.sshd | 0 .../etc/rc.d/rc.syslog | 0 .../etc/rc.d/rc.sysvinit | 0 .../{vserver-legacy.d => files}/etc/rssh.conf | 0 .../etc/ssh/sshd_config | 0 .../var/www/htdocs/missing.html | 0 .../var/www/missing.html | 0 .../{vserver-legacy.template => packages} | 0 .../{vserver-legacy.perms => perms} | 0 .../{vserver-legacy.s => scripts}/GPG-KEY | 0 .../devices.tar.gz | Bin .../{vserver-legacy.s => scripts}/skel.conf | 0 .../vserver-legacy.sh | 0 .../etc/apache/httpd.conf | 0 .../{vserver.d => files}/etc/apache/php.ini | 0 .../{vserver.d => files}/etc/apache/vhosts | 0 .../vserver/{vserver.d => files}/etc/hosts | 0 .../etc/logrotate.d/apache | 0 .../vserver/{vserver.d => files}/etc/profile | 0 .../vserver/{vserver.d => files}/etc/rc.d/rc | 0 .../{vserver.d => files}/etc/rc.d/rc.0 | 0 .../{vserver.d => files}/etc/rc.d/rc.4 | 0 .../{vserver.d => files}/etc/rc.d/rc.6 | 0 .../{vserver.d => files}/etc/rc.d/rc.K | 0 .../{vserver.d => files}/etc/rc.d/rc.M | 0 .../{vserver.d => files}/etc/rc.d/rc.S | 0 .../{vserver.d => files}/etc/rc.d/rc.httpd | 0 .../{vserver.d => files}/etc/rc.d/rc.inet2 | 0 .../{vserver.d => files}/etc/rc.d/rc.inetd | 0 .../etc/rc.d/rc.ip_forward | 0 .../{vserver.d => files}/etc/rc.d/rc.local | 0 .../{vserver.d => files}/etc/rc.d/rc.mysqld | 0 .../{vserver.d => files}/etc/rc.d/rc.postfix | 0 .../{vserver.d => files}/etc/rc.d/rc.sendmail | 0 .../{vserver.d => files}/etc/rc.d/rc.serial | 0 .../{vserver.d => files}/etc/rc.d/rc.sshd | 0 .../{vserver.d => files}/etc/rc.d/rc.syslog | 0 .../{vserver.d => files}/etc/rc.d/rc.sysvinit | 0 .../{vserver.d => files}/etc/rssh.conf | 0 .../{vserver.d => files}/etc/ssh/sshd_config | 0 .../var/www/htdocs/missing.html | 0 .../{vserver.d => files}/var/www/missing.html | 0 .../vserver/{vserver.template => packages} | 0 .../vserver/{vserver.perms => perms} | 0 .../vserver/{vserver.s => scripts}/GPG-KEY | 0 .../{vserver.s => scripts}/devices.tar.gz | Bin .../vserver/{vserver.s => scripts}/vserver.sh | 0 89 files changed, 211 insertions(+), 140 deletions(-) rename trunk/templates/openoffice/{openoffice.d => files}/etc/profile.d/lang.csh (100%) rename trunk/templates/openoffice/{openoffice.d => files}/etc/profile.d/lang.sh (100%) rename trunk/templates/openoffice/{openoffice.d => files}/opt/OpenOffice.org (100%) rename trunk/templates/openoffice/{openoffice.template => packages} (100%) rename trunk/templates/openoffice/{openoffice.perms => perms} (100%) rename trunk/templates/openoffice/{openoffice.s => scripts}/post-install.sh (100%) rename trunk/templates/slackware-12.1/{slackware-12.1.template => packages} (100%) rename trunk/templates/slamd64-11.0/{slamd64-11.0.template => packages} (100%) rename trunk/templates/slamd64-11.0/{slamd64-11.0.s => scripts}/post-install.sh (100%) rename trunk/templates/slamd64-12.0/{slamd64-12.0.template => packages} (100%) rename trunk/templates/slamd64-12.0/{slamd64-12.0.s => scripts}/post-install.sh (100%) rename trunk/templates/slamd64-12.1/{slamd64-12.1.template => packages} (100%) rename trunk/templates/slamd64-12.1/{slamd64-12.1.perms => perms} (100%) rename trunk/templates/slamd64-12.1/{slamd64-12.1.s => scripts}/post-install.sh (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/apache/httpd.conf (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/apache/php.ini (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/apache/vhosts (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/hosts (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/logrotate.d/apache (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/profile (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.0 (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.4 (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.6 (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.K (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.M (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.S (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.httpd (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.inet2 (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.inetd (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.ip_forward (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.local (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.mysqld (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.postfix (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.sendmail (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.serial (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.sshd (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.syslog (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rc.d/rc.sysvinit (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/rssh.conf (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/etc/ssh/sshd_config (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/var/www/htdocs/missing.html (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.d => files}/var/www/missing.html (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.template => packages} (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.perms => perms} (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.s => scripts}/GPG-KEY (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.s => scripts}/devices.tar.gz (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.s => scripts}/skel.conf (100%) rename trunk/templates/vserver-legacy/{vserver-legacy.s => scripts}/vserver-legacy.sh (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/apache/httpd.conf (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/apache/php.ini (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/apache/vhosts (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/hosts (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/logrotate.d/apache (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/profile (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.0 (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.4 (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.6 (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.K (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.M (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.S (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.httpd (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.inet2 (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.inetd (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.ip_forward (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.local (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.mysqld (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.postfix (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.sendmail (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.serial (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.sshd (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.syslog (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rc.d/rc.sysvinit (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/rssh.conf (100%) rename trunk/templates/vserver/{vserver.d => files}/etc/ssh/sshd_config (100%) rename trunk/templates/vserver/{vserver.d => files}/var/www/htdocs/missing.html (100%) rename trunk/templates/vserver/{vserver.d => files}/var/www/missing.html (100%) rename trunk/templates/vserver/{vserver.template => packages} (100%) rename trunk/templates/vserver/{vserver.perms => perms} (100%) rename trunk/templates/vserver/{vserver.s => scripts}/GPG-KEY (100%) rename trunk/templates/vserver/{vserver.s => scripts}/devices.tar.gz (100%) rename trunk/templates/vserver/{vserver.s => scripts}/vserver.sh (100%) diff --git a/trunk/conf/simplepkg.conf b/trunk/conf/simplepkg.conf index b50372c..60c9ac7 100644 --- a/trunk/conf/simplepkg.conf +++ b/trunk/conf/simplepkg.conf @@ -202,11 +202,11 @@ TEMPLATE_FOLDER="/etc/simplepkg/templates" # # - simplepkg-folder: templates are stored at /etc/simplepkg # - templates-folder: templates are stored at /etc/simplepkg/templates -# - own-folder: each template stored at its own folder -# at /etc/simplepkg/templates/template-name +# - own-folder or compact: each template stored at its own folder +# at /etc/simplepkg/templates/template-name # # This variable has backwards purposes only, so dont change it. -TEMPLATE_STORAGE_STYLE="own-folder" +TEMPLATE_STORAGE_STYLE="compact" #--------------------------------------------------------------------- # MKJAIL SECTION diff --git a/trunk/doc/CHANGELOG b/trunk/doc/CHANGELOG index c1e396f..ae694b7 100644 --- a/trunk/doc/CHANGELOG +++ b/trunk/doc/CHANGELOG @@ -4,6 +4,7 @@ simplepkg changelog 0.6pre31 ======== + - new "compact" template storage format - common.sh: - other minor changes - repository metainformationg is now added at svn control if applicable @@ -12,7 +13,7 @@ simplepkg changelog - new config parameter "TMP" - renamed function use_svn to templates_under_svn - simplaret: simplaret_search_and_process_patch do not donwload a package with the same - package name twicce in any case + package name twice in any case - default simplepkg.conf and repos.conf moved to default/ folder - templatepkg and mkjail: minor changes - templates: diff --git a/trunk/lib/common.sh b/trunk/lib/common.sh index 4e73ea5..f9c115f 100644 --- a/trunk/lib/common.sh +++ b/trunk/lib/common.sh @@ -15,6 +15,8 @@ # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # +# $Rev$ - $Author$ +# BASE_CONF="/etc/simplepkg" CONF="$BASE_CONF/simplepkg.conf" @@ -150,13 +152,13 @@ function eval_parameter { function set_constants { - # Set common constants - # on/off - on=1 - off=0 - # yes/no - yes=1 - no=0 + # Set common constants + # on/off + on=1 + off=0 + # yes/no + yes=1 + no=0 } @@ -294,8 +296,9 @@ function eval_config { if [ "$TEMPLATE_STORAGE_STYLE" != "simplepkg-folder" ] && \ [ "$TEMPLATE_STORAGE_STYLE" != "templates-folder" ] && \ - [ "$TEMPLATE_STORAGE_STYLE" != "own-folder" ]; then - TEMPLATE_STORAGE_STYLE="own-folder" + [ "$TEMPLATE_STORAGE_STYLE" != "own-folder" ] && \ + [ "$TEMPLATE_STORAGE_STYLE" != "compact" ]; then + TEMPLATE_STORAGE_STYLE="compact" fi if [ ! -z "$ROOT" ]; then @@ -390,7 +393,13 @@ function search_default_template { elif [ -e "$TEMPLATE_FOLDER/default/default.template" ]; then TEMPLATE_BASE="$TEMPLATE_FOLDER/default/default" echo $BASENAME: using default template + elif [ -e "$TEMPLATE_FOLDER/default/packages" ]; then + TEMPLATE_BASE="$TEMPLATE_FOLDER/default" + echo $BASENAME: using default template elif [ -e "$BASE_CONF/defaults/templates/default/default.template" ]; then + TEMPLATE_BASE="$BASE_CONF/defaults/templates/default/default" + echo $BASENAME using default template + elif [ -e "$BASE_CONF/defaults/templates/default/packages" ]; then TEMPLATE_BASE="$BASE_CONF/defaults/templates/default" echo $BASENAME using default template else @@ -425,6 +434,8 @@ function search_template { TEMPLATE_BASE="$TEMPLATE_FOLDER/$1" elif [ -f "$TEMPLATE_FOLDER/$1/$1.template" ]; then TEMPLATE_BASE="$TEMPLATE_FOLDER/$1/$1" + elif [ -f "$TEMPLATE_FOLDER/$1/packages" ]; then + TEMPLATE_BASE="$TEMPLATE_FOLDER/$1" elif [ -f "$BASE_CONF/defaults/templates/$1/$1.template" ] && \ [ "$2" != "--update" ]; then TEMPLATE_BASE="$BASE_CONF/defaults/templates/$1/$1" @@ -435,8 +446,12 @@ function search_template { TEMPLATE_BASE="$BASE_CONF/$1" elif [ "$TEMPLATE_STORAGE_STYLE" == "templates-folder" ]; then TEMPLATE_BASE="$TEMPLATE_FOLDER/$1" - else + elif [ "$TEMPLATE_STORAGE_STYLE" == "own-folder" ]; then TEMPLATE_BASE="$TEMPLATE_FOLDER/$1/$1" + elif [ "$TEMPLATE_STORAGE_STYLE" == "compact" ]; then + TEMPLATE_BASE="$TEMPLATE_FOLDER/$1" + else + TEMPLATE_BASE="$TEMPLATE_FOLDER/$1" fi elif [ "$2" == "--update" ]; then return 1 @@ -448,6 +463,46 @@ function search_template { } +function template_packages { + + if [ "$TEMPLATE_STORAGE_STYLE" == "compact" ]; then + echo $TEMPLATE_BASE/packages + else + echo $TEMPLATE_BASE.template + fi + +} + +function template_perms { + + if [ "$TEMPLATE_STORAGE_STYLE" == "compact" ]; then + echo $TEMPLATE_BASE/perms + else + echo $TEMPLATE_BASE.perms + fi + +} + +function template_files { + + if [ "$TEMPLATE_STORAGE_STYLE" == "compact" ]; then + echo $TEMPLATE_BASE/files + else + echo $TEMPLATE_BASE.d + fi + +} + +function template_scripts { + + if [ "$TEMPLATE_STORAGE_STYLE" == "compact" ]; then + echo $TEMPLATE_BASE/scripts + else + echo $TEMPLATE_BASE.s + fi + +} + # ----------------------------------------------- # unix permission functions # ----------------------------------------------- @@ -745,7 +800,7 @@ function update_template_files { # update template files from svn # usage: update_template_files - if templates_under_svn && [ -d "$TEMPLATE_BASE.d/.svn" ]; then + if templates_under_svn && [ -d "`template_files`/.svn" ]; then echo Checking out last template revision from svn... cd `dirname $TEMPLATE_BASE` svn update @@ -761,13 +816,13 @@ function update_jail_packages { # check if installed packages are listed in the template for pack in `ls -1 $1/var/log/packages/`; do pack=`package_name $pack` - if ! `grep -v -e "^#" $TEMPLATE_BASE.template | cut -d : -f 1 | awk '{ print $1 }' | grep -q -e "^$pack\$"`; then + if ! `grep -v -e "^#" $(template_packages) | cut -d : -f 1 | awk '{ print $1 }' | grep -q -e "^$pack\$"`; then ROOT=$1 removepkg $pack fi done # check if each package from the template is installed - grep -v -e "^#" $TEMPLATE_BASE.template | cut -d : -f 1 | awk '{ print $1 }' | while read pack; do + grep -v -e "^#" `template_packages` | cut -d : -f 1 | awk '{ print $1 }' | while read pack; do # check if the package is installed pack="`echo $pack | sed -e 's/\+/\\\+/'`" @@ -788,12 +843,12 @@ function copy_template_files { # usage: copy_template_files if [ -d "$1" ]; then - if [ -d "$TEMPLATE_BASE.d" ]; then + if [ -d "`template_files`" ]; then echo "Copying template files to $1..." - if templates_under_svn && [ -d "$TEMPLATE_BASE.d/.svn" ]; then - rsync -av --exclude=.svn $TEMPLATE_BASE.d/ $1/ + if templates_under_svn && [ -d "`template_files`/.svn" ]; then + rsync -av --exclude=.svn `template_files`/ $1/ else - rsync -av $TEMPLATE_BASE.d/ $1/ + rsync -av `template_files`/ $1/ fi fi fi @@ -805,11 +860,11 @@ function set_jail_perms { # set template file permissions under a jail # usage: set_jail_perms - if [ -s "$TEMPLATE_BASE.perms" ]; then + if [ -s "`template_perms`" ]; then echo Setting jail $1 permissions... - cat $TEMPLATE_BASE.perms | while read entry; do + cat `template_perms` | while read entry; do file="`echo $entry | cut -d ";" -f 1`" - if [ -e "$TEMPLATE_BASE.d/$file" ] && [ -a "$1/$file" ]; then + if [ -e "`template_files`/$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`" diff --git a/trunk/src/createpkg b/trunk/src/createpkg index 80f37fc..98dde1f 100644 --- a/trunk/src/createpkg +++ b/trunk/src/createpkg @@ -16,9 +16,9 @@ # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # -# /etc/simplepkg/slackbuildrc parameters: +# /etc/slackbuildrc parameters: # -# SLACKBUILDS_DIR="/folder/to/place/slackbuilds", defaults to /var/slackbuilds +# SLACKBUILDS_DIR="/path/to/slackbuilds", defaults to /var/simplepkg/slackbuilds # SVN="svn://repository", defaults do http://slack.sarava.org/slackbuilds # SYNC="yes|no", whether to always update the repository # diff --git a/trunk/src/jail-commit b/trunk/src/jail-commit index 278d766..d91a767 100755 --- a/trunk/src/jail-commit +++ b/trunk/src/jail-commit @@ -43,12 +43,12 @@ function template_merge { # usage: template_merge - if [ -z "$1" ] || [ ! -d "$TEMPLATE_BASE.d" ]; then + if [ -z "$1" ] || [ ! -d "`template_files`" ]; then return 1 fi - echo "" > $TEMPLATE_BASE.perms.tmp - cd $TEMPLATE_BASE.d + echo "" > `template_perms`.tmp + cd `template_files` for file in `find | grep -v -e "/.svn$" | grep -v -e "/.svn/" | grep -v -e "^\.$"`; do @@ -71,10 +71,10 @@ function template_merge { group="`get_group $1/$file`" # secure the file - chown root.root $TEMPLATE_BASE.d/$file - chmod $perms $TEMPLATE_BASE.d/$file + chown root.root `template_files`/$file + chmod $perms `template_files`/$file - echo "$file;$owner;$group;$perms" >> $TEMPLATE_BASE.perms.tmp + echo "$file;$owner;$group;$perms" >> `template_perms`.tmp else if [ ! -e "$1/$file" ]; then @@ -84,11 +84,11 @@ function template_merge { done - cat $TEMPLATE_BASE.perms.tmp | sed '/^$/d' > $TEMPLATE_BASE.perms - rm -f $TEMPLATE_BASE.perms.tmp + cat `template_perms`.tmp | sed '/^$/d' > `template_perms` + rm -f `template_perms`.tmp - if templates_under_svn && ! svn_check $TEMPLATE_BASE.perms; then - svn add $TEMPLATE_BASE.perms + if templates_under_svn && ! svn_check `template_perms`; then + svn add `template_perms` fi } @@ -135,7 +135,7 @@ function do_commit { else echo Updating $jailpath... fi - if [ -d "$TEMPLATE_BASE.d" ] || [ -a "$TEMPLATE_BASE.template" ]; then + if [ -d "`template_files`" ] || [ -a "`template_packages`" ]; then SILENT=yes templatepkg -u $template $jailpath template_merge $jailpath fi diff --git a/trunk/src/mkjail b/trunk/src/mkjail index 47930b2..4b00c38 100755 --- a/trunk/src/mkjail +++ b/trunk/src/mkjail @@ -1,7 +1,6 @@ #!/bin/bash # -# mkjail v0.4: chroot jail maker -# +# mkjail: chroot jail maker # feedback: rhatto at riseup.net | GPL # # Mkjail is free software; you can redistribute it and/or modify it under the @@ -16,6 +15,8 @@ # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # +# $Rev$ - $Author$ +# COMMON="/usr/libexec/simplepkg/common.sh" BASENAME="`basename $0`" @@ -46,8 +47,8 @@ function exec_post_install_scripts { fi echo "$BASENAME: executing template scripts..." - if [ -d "$TEMPLATE_BASE.s" ]; then - for file in $TEMPLATE_BASE.s/*; do + if [ -d "`template_scripts`" ]; then + for file in `template_scripts`/*; do if [ -x "$file" ]; then $file $1 $2 fi @@ -89,7 +90,7 @@ if [ "$result" != "0" ]; then exit 1 fi -TEMPLATE="$TEMPLATE_BASE.template" +TEMPLATE="`template_packages`" if [ ! -d "$JAIL_ROOT/$server" ]; then mkdir -p $JAIL_ROOT/$server diff --git a/trunk/src/templatepkg b/trunk/src/templatepkg index e1533c7..2c8e367 100755 --- a/trunk/src/templatepkg +++ b/trunk/src/templatepkg @@ -1,7 +1,6 @@ #!/bin/bash # -# templatepkg v0.3: template maintenance script from simplepkg suite -# +# templatepkg: template maintenance script from simplepkg suite # feedback: rhatto at riseup.net | gpl # # Templatepkg is free software; you can redistribute it and/or modify it under the @@ -16,6 +15,8 @@ # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # +# $Rev$ - $Author$ +# COMMON="/usr/libexec/simplepkg/common.sh" BASENAME="`basename $0`" @@ -237,6 +238,7 @@ function template_create { # create a new template local template_base info_commit orig_template list + local orig_packages orig_perms orig_scripts orig_files if [ ! -d "`dirname $TEMPLATE_BASE`" ]; then @@ -254,46 +256,46 @@ function template_create { exit 1 fi - touch $TEMPLATE_BASE.perms - touch $TEMPLATE_BASE.template + touch `template_perms` + touch `template_packages` if templates_under_svn && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then cd `dirname $TEMPLATE_BASE` - if ! svn_check $TEMPLATE_BASE.d; then - svn mkdir $TEMPLATE_BASE.d + if ! svn_check `template_files`; then + svn mkdir `template_files` info_commit="yes" else - mkdir -p $TEMPLATE_BASE.d + mkdir -p `template_files` fi - if ! svn_check $TEMPLATE_BASE.s; then - svn mkdir $TEMPLATE_BASE.s + if ! svn_check `template_scripts`; then + svn mkdir `template_scripts` info_commit="yes" else - mkdir -p $TEMPLATE_BASE.s + mkdir -p `template_scripts` fi - if ! svn_check $TEMPLATE_BASE.template; then - svn add $TEMPLATE_BASE.template + if ! svn_check `template_packages`; then + svn add `template_packages` info_commit="yes" fi - if ! svn_check $TEMPLATE_BASE.perms; then - svn add $TEMPLATE_BASE.perms + if ! svn_check `template_perms`; then + svn add `template_perms` info_commit="yes" fi elif templates_under_svn && [ -d "$TEMPLATE_FOLDER/.svn" ]; then - mkdir $TEMPLATE_BASE.{d,s} + mkdir `template_files` `template_scripts` cd $TEMPLATE_FOLDER svn add `basename $TEMPLATE_BASE` info_commit="yes" else - mkdir $TEMPLATE_BASE.{d,s} + mkdir `template_files` `template_scripts` fi if [ -d "/$ROOT" ]; then @@ -312,46 +314,58 @@ function template_create { return 1 fi - if [ -f "$orig_template/$ROOT.perms" ]; then - cat $orig_template/$ROOT.perms > $TEMPLATE_BASE.perms + if [ -e "$orig_template/$ROOT/packages" ]; then + orig_packages="$orig_template/$ROOT/packages" + orig_perms="$orig_template/$ROOT/perms" + orig_scripts="$orig_template/$ROOT/scripts" + orig_files="$orig_template/$ROOT/files" + else + orig_packages="$orig_template/$ROOT.template" + orig_perms="$orig_template/$ROOT.perms" + orig_scripts="$orig_template/$ROOT.s" + orig_files="$orig_template/$ROOT.d" + fi + + if [ -f "$orig_perms" ]; then + cat $orig_perms > `template_perms` fi - if [ -f "$orig_template/$ROOT.template" ]; then - cat $orig_template/$ROOT.template > $TEMPLATE_BASE.template + if [ -f "$orig_packages" ]; then + cat $orig_packages > `template_packages` fi if templates_under_svn && [ -d "$orig_template/.svn" ]; then cd `dirname $TEMPLATE_BASE` - list="`ls $orig_template/$ROOT.d/ 2> /dev/null`" + list="`ls $orig_files/ 2> /dev/null`" if [ ! -z "$list" ]; then echo Copying files to the new template... - rsync -av --exclude=.svn $orig_template/$ROOT.d/ $TEMPLATE_BASE.d/ - svn add `basename $TEMPLATE_BASE`.d/* + rsync -av --exclude=.svn $orig_files/ `template_files`/ + svn add `basename $(template_files)`/* info_commit="yes" fi - list="`ls $orig_template/$ROOT.s/ 2> /dev/null`" + list="`ls $orig_scripts/ 2> /dev/null`" if [ ! -z "$list" ]; then echo Copying scripts to the new template... - rsync -av --exclude=.svn $orig_template/$ROOT.s/ $TEMPLATE_BASE.s/ - svn add `basename $TEMPLATE_BASE`.s/* + rsync -av --exclude=.svn $orig_scripts/ `template_scripts`/ + svn add `basename $(template_scripts)`/* info_commit="yes" fi else - list="`ls $orig_template/$ROOT.d/ 2> /dev/null`" + list="`ls $orig_files/ 2> /dev/null`" if [ ! -z "$list" ]; then echo Copying files to the new template... - rsync -av $orig_template/$ROOT.d/ $TEMPLATE_BASE.d/ + rsync -av $orig_files/ `template_files`/ fi - list="`ls $orig_template/$ROOT.s/ 2> /dev/null`" + list="`ls $orig_scripts/ 2> /dev/null`" if [ ! -z "$list" ]; then echo Copying scripts to the new template... - rsync -av $orig_template/$ROOT.s/ $TEMPLATE_BASE.s/ + rsync -av $orig_scripts/ `template_scripts`/ fi fi @@ -415,9 +429,9 @@ function template_update { done - if ! svn_check $TEMPLATE_BASE.template && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then + if ! svn_check `template_packages` && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then cd `dirname $TEMPLATE_BASE` - svn add `basedir $TEMPLATE_BASE`.template + svn add `basedir $(template_packages)` fi } @@ -438,19 +452,19 @@ function template_add { jail="/$1" file="$2" - if [ -a "$TEMPLATE_BASE.d/$file" ]; then - if [ -d "$TEMPLATE_BASE.d/$file" ]; then + if [ -a "`template_files`/$file" ]; then + if [ -d "`template_files`/$file" ]; then - echo $BASENAME: folder `slash $file` already on $TEMPLATE_BASE.d, checking for contents + echo $BASENAME: folder `slash $file` already on `template_files`, checking for contents cd $jail for candidate in `find $file`; do - if [ ! -a "$TEMPLATE_BASE.d/$candidate" ]; then - mkdir -p $TEMPLATE_BASE.d/`dirname $candidate` - cp -a $jail/$candidate $TEMPLATE_BASE.d/$candidate - if templates_under_svn && [ -d "$TEMPLATE_BASE.d/.svn" ]; then + if [ ! -a "`template_files`/$candidate" ]; then + mkdir -p `template_files`/`dirname $candidate` + cp -a $jail/$candidate `template_files`/$candidate + if templates_under_svn && [ -d "`template_files`/.svn" ]; then cwd="`pwd`" - cd $TEMPLATE_BASE.d + cd `template_files` svn add ./$candidate if [ "$?" != "0" ]; then echo $BASENAME: error adding `slash $candidate` into the revision system @@ -458,7 +472,7 @@ function template_add { cd $cwd info_commit="yes" else - echo Added `slash $jail/$candidate` on `slash $TEMPLATE_BASE.d/$candidate` + echo Added `slash $jail/$candidate` on `slash $(template_files)/$candidate` fi fi done @@ -468,20 +482,20 @@ function template_add { fi else - echo $BASENAME: file `slash $file` already on $TEMPLATE_BASE.d + echo $BASENAME: file `slash $file` already on `template_files` exit 1 fi else if [ -a "$jail/$file" ]; then - destination="`echo $TEMPLATE_BASE.d/$file | sed -e 's/\/$//'`" + destination="`echo `template_files`/$file | sed -e 's/\/$//'`" - if templates_under_svn && [ -d "$TEMPLATE_BASE.d/.svn" ]; then + if templates_under_svn && [ -d "`template_files`/.svn" ]; then candidate="./`dirname $file`" - mkdir -p $TEMPLATE_BASE.d/$candidate - cd $TEMPLATE_BASE.d/$candidate + mkdir -p `template_files`/$candidate + cd `template_files`/$candidate while true; do if [ -d ".svn" ]; then svn add `basename $candidate` @@ -495,7 +509,7 @@ function template_add { cp -a $jail/$file $destination cwd="`pwd`" - cd $TEMPLATE_BASE.d + cd `template_files` svn add ./$file if [ "$?" != "0" ]; then @@ -510,7 +524,7 @@ function template_add { else - mkdir -p $TEMPLATE_BASE.d/`dirname $file`/ + mkdir -p `template_files`/`dirname $file`/ cp -a $jail/$file $destination echo Added `slash $jail/$file` on `slash $destination` @@ -531,7 +545,7 @@ function check_template_exist { local components - components="template perms d s" + components="`template_packages` `template_perms` `template_files` `template_scripts`" if [ ! -d "`dirname $TEMPLATE_BASE`" ]; then echo $BASENAME: template not found @@ -540,28 +554,28 @@ function check_template_exist { for component in $components; do - if [ ! -e "$TEMPLATE_BASE.$component" ]; then + if [ ! -e "$component" ]; then - echo "$BASENAME: template component not found: $TEMPLATE_BASE.$component; creating..." + echo "$BASENAME: template component not found: $component; creating..." cd `dirname $TEMPLATE_BASE` if [ "$component" == "perms" ] || [ "$component" == "template" ]; then - touch $TEMPLATE_BASE.$component + touch $component else - mkdir $TEMPLATE_BASE.$component + mkdir $component fi if templates_under_svn && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then - svn add $TEMPLATE_BASE.$component + svn add $component info_commit="yes" fi elif templates_under_svn && [ -d "`dirname $TEMPLATE_BASE`/.svn" ] && \ - ! svn_check $TEMPLATE_BASE.$component; then + ! svn_check $component; then cd `dirname $TEMPLATE_BASE` - svn add $TEMPLATE_BASE.$component + svn add $component info_commit="yes" fi @@ -579,18 +593,18 @@ function template_delete { # delete a file from a template # usage: template_delete [jail-root] - if [ -e "$TEMPLATE_BASE.d/$1" ]; then + if [ -e "`template_files`/$1" ]; then # first try to remove the file from the template - if templates_under_svn && [ -d "$TEMPLATE_BASE.d/.svn" ]; then - cd $TEMPLATE_BASE.d + if templates_under_svn && [ -d "`template_files`/.svn" ]; then + cd `template_files` svn del --force ./$1 || rm -rf ./$1 if [ -z "$SILENT" ]; then echo "Please run 'jail-commit --all' to del $1 in the svn repository" fi else - rm -rf $TEMPLATE_BASE.d/$1 - echo Removed $1 from $TEMPLATE_BASE.d + rm -rf `template_files`/$1 + echo Removed $1 from `template_files` fi # then, if requested, remove the file from the jail @@ -605,22 +619,22 @@ function template_delete { fi fi - elif [ -e "$TEMPLATE_BASE.s/$1" ]; then - if templates_under_svn && [ -d "$TEMPLATE_BASE.s/.svn" ]; then - cd $TEMPLATE_BASE.s + elif [ -e "`template_scripts`/$1" ]; then + if templates_under_svn && [ -d "`template_scripts`/.svn" ]; then + cd `template_scripts` svn del --force ./$1 || rm -rf ./$1 if [ -z "$SILENT" ]; then echo "Please run 'jail-commit --all' to del $1 in the svn repository" fi else - rm -rf $TEMPLATE_BASE.s/$1 - echo Removed $1 from $TEMPLATE_BASE.s + rm -rf `template_scripts`/$1 + echo Removed $1 from `template_scripts` fi else - if [ ! -d "$TEMPLATE_BASE.d" ]; then - echo $BASENAME: template folder $TEMPLATE_BASE.d not found + if [ ! -d "`template_files`" ]; then + echo $BASENAME: template folder `template_files` not found else - echo $BASENAME: file $1 not found at $TEMPLATE_BASE.d + echo $BASENAME: file $1 not found at `template_files` fi exit 1 fi @@ -722,30 +736,30 @@ function template_post_install_edit { echo $BASENAME: error: invalid script name $1 fi - if [ -f "$TEMPLATE_BASE.s/$1" ]; then - sha1sum="`sha1sum $TEMPLATE_BASE.s/$1`" + if [ -f "`template_scripts`/$1" ]; then + sha1sum="`sha1sum $(template_scripts)/$1`" if [ ! -z "$EDITOR" ]; then - $EDITOR $TEMPLATE_BASE.s/$1 + $EDITOR `template_scripts`/$1 else - vi $TEMPLATE_BASE.s/$1 + vi `template_scripts`/$1 fi - if [ "$sha1sum" != "`sha1sum $TEMPLATE_BASE.s/$1`" ] && \ + if [ "$sha1sum" != "`sha1sum $(template_scripts)/$1`" ] && \ [ -d "`dirname $TEMPLATE_BASE`/.svn" ] && [ -z "$SILENT" ]; then echo "Please run 'jail-commit --all' to send changes to the repository" fi else - if [ -e "$TEMPLATE_BASE.s/$1" ]; then + if [ -e "`template_scripts`/$1" ]; then - echo $BASENAME: file $TEMPLATE_BASE.s/$1 not a regular file + echo $BASENAME: file `template_scripts`/$1 not a regular file - elif [ -d "$TEMPLATE_BASE.s" ]; then + elif [ -d "`template_scripts`" ]; then - touch $TEMPLATE_BASE.s/$1 - chmod +x $TEMPLATE_BASE.s/$1 + touch `template_scripts`/$1 + chmod +x `template_scripts`/$1 - if [ -d "$TEMPLATE_BASE.s/.svn" ]; then - cd $TEMPLATE_BASE.s + if [ -d "`template_scripts`/.svn" ]; then + cd `template_scripts` svn add $1 if [ -z "$SILENT" ]; then echo "Please run 'jail-commit --all' to send the script to the repository" @@ -755,7 +769,7 @@ function template_post_install_edit { echo "$BASENAME: script created; run templatepkg -p `basename $TEMPLATE_BASE` $1 again to edit it" else - echo $BASENAME: folder not found: $TEMPLATE_BASE.s + echo $BASENAME: folder not found: `template_scripts` fi fi @@ -767,21 +781,21 @@ function template_edit { # edit a template package list # usage: template_edit - if [ -f "$TEMPLATE_BASE.template" ]; then - sha1sum="`sha1sum $TEMPLATE_BASE.template`" + if [ -f "`template_packages`" ]; then + sha1sum="`sha1sum $(template_packages)`" if [ ! -z "$EDITOR" ]; then - $EDITOR $TEMPLATE_BASE.template + $EDITOR `template_packages` else - vi $TEMPLATE_BASE.template + vi `template_packages` fi - if [ "$sha1sum" != "`sha1sum $TEMPLATE_BASE.template`" ] && \ + if [ "$sha1sum" != "`sha1sum $(template_packages)`" ] && \ [ -d "`dirname $TEMPLATE_BASE`/.svn" ] && [ -z "$SILENT" ]; then echo "Please run 'jail-commit --all' to send changes to the repository" fi - elif [ -e "$TEMPLATE_BASE.template" ]; then - echo $BASENAME: file $TEMPLATE_BASE.template not a regular file + elif [ -e "`template_packages`" ]; then + echo $BASENAME: file `template_packages` not a regular file else - echo $BASENAME: file not found: $TEMPLATE_BASE.template + echo $BASENAME: file not found: `template_packages` fi } @@ -812,16 +826,16 @@ function setroot { function create_doinst { - # create a doinst.sh from a template.perms file + # create a doinst.sh from a template perms file # usage: create_doinst rm -f $1/doinst.sh - if [ -s "$TEMPLATE_BASE.perms" ]; then + if [ -s "`template_perms`" ]; then echo Creating doinst.sh... - cat $TEMPLATE_BASE.perms | while read entry; do + cat `template_perms` | while read entry; do file="`echo $entry | cut -d ";" -f 1`" - if [ -e "$TEMPLATE_BASE.d/$file" ]; then + if [ -e "`template_files`/$file" ]; then owner="`echo $entry | cut -d ";" -f 2`" group="`echo $entry | cut -d ";" -f 3`" perms="`echo $entry | cut -d ";" -f 4`" @@ -842,8 +856,8 @@ function package_template { template="`basename $TEMPLATE_BASE`" - if [ ! -d "$TEMPLATE_BASE.d" ]; then - $BASENAME: folder not found: $TEMPLATE.base.d + if [ ! -d "`template_files`" ]; then + $BASENAME: folder not found: `template_files` return 1 fi @@ -871,7 +885,7 @@ function package_template { rm -rf $TMP/templatepkg mkdir -p $TMP/templatepkg - rsync -av --exclude=.svn $TEMPLATE_BASE.d/ $TMP/templatepkg/ + rsync -av --exclude=.svn `template_files`/ $TMP/templatepkg/ mkdir $TMP/templatepkg/install create_doinst $TMP/templatepkg/install @@ -900,7 +914,7 @@ if [ ! -z "$2" ]; then search_template $2 --new fi -TEMPLATE="$TEMPLATE_BASE.template" +TEMPLATE="`template_packages`" if [ "$1" == "-u" ] || [ "$1" == "--update" ]; then diff --git a/trunk/templates/openoffice/openoffice.d/etc/profile.d/lang.csh b/trunk/templates/openoffice/files/etc/profile.d/lang.csh similarity index 100% rename from trunk/templates/openoffice/openoffice.d/etc/profile.d/lang.csh rename to trunk/templates/openoffice/files/etc/profile.d/lang.csh diff --git a/trunk/templates/openoffice/openoffice.d/etc/profile.d/lang.sh b/trunk/templates/openoffice/files/etc/profile.d/lang.sh similarity index 100% rename from trunk/templates/openoffice/openoffice.d/etc/profile.d/lang.sh rename to trunk/templates/openoffice/files/etc/profile.d/lang.sh diff --git a/trunk/templates/openoffice/openoffice.d/opt/OpenOffice.org b/trunk/templates/openoffice/files/opt/OpenOffice.org similarity index 100% rename from trunk/templates/openoffice/openoffice.d/opt/OpenOffice.org rename to trunk/templates/openoffice/files/opt/OpenOffice.org diff --git a/trunk/templates/openoffice/openoffice.template b/trunk/templates/openoffice/packages similarity index 100% rename from trunk/templates/openoffice/openoffice.template rename to trunk/templates/openoffice/packages diff --git a/trunk/templates/openoffice/openoffice.perms b/trunk/templates/openoffice/perms similarity index 100% rename from trunk/templates/openoffice/openoffice.perms rename to trunk/templates/openoffice/perms diff --git a/trunk/templates/openoffice/openoffice.s/post-install.sh b/trunk/templates/openoffice/scripts/post-install.sh similarity index 100% rename from trunk/templates/openoffice/openoffice.s/post-install.sh rename to trunk/templates/openoffice/scripts/post-install.sh diff --git a/trunk/templates/slackware-12.1/slackware-12.1.template b/trunk/templates/slackware-12.1/packages similarity index 100% rename from trunk/templates/slackware-12.1/slackware-12.1.template rename to trunk/templates/slackware-12.1/packages diff --git a/trunk/templates/slamd64-11.0/slamd64-11.0.template b/trunk/templates/slamd64-11.0/packages similarity index 100% rename from trunk/templates/slamd64-11.0/slamd64-11.0.template rename to trunk/templates/slamd64-11.0/packages diff --git a/trunk/templates/slamd64-11.0/slamd64-11.0.s/post-install.sh b/trunk/templates/slamd64-11.0/scripts/post-install.sh similarity index 100% rename from trunk/templates/slamd64-11.0/slamd64-11.0.s/post-install.sh rename to trunk/templates/slamd64-11.0/scripts/post-install.sh diff --git a/trunk/templates/slamd64-12.0/slamd64-12.0.template b/trunk/templates/slamd64-12.0/packages similarity index 100% rename from trunk/templates/slamd64-12.0/slamd64-12.0.template rename to trunk/templates/slamd64-12.0/packages diff --git a/trunk/templates/slamd64-12.0/slamd64-12.0.s/post-install.sh b/trunk/templates/slamd64-12.0/scripts/post-install.sh similarity index 100% rename from trunk/templates/slamd64-12.0/slamd64-12.0.s/post-install.sh rename to trunk/templates/slamd64-12.0/scripts/post-install.sh diff --git a/trunk/templates/slamd64-12.1/slamd64-12.1.template b/trunk/templates/slamd64-12.1/packages similarity index 100% rename from trunk/templates/slamd64-12.1/slamd64-12.1.template rename to trunk/templates/slamd64-12.1/packages diff --git a/trunk/templates/slamd64-12.1/slamd64-12.1.perms b/trunk/templates/slamd64-12.1/perms similarity index 100% rename from trunk/templates/slamd64-12.1/slamd64-12.1.perms rename to trunk/templates/slamd64-12.1/perms diff --git a/trunk/templates/slamd64-12.1/slamd64-12.1.s/post-install.sh b/trunk/templates/slamd64-12.1/scripts/post-install.sh similarity index 100% rename from trunk/templates/slamd64-12.1/slamd64-12.1.s/post-install.sh rename to trunk/templates/slamd64-12.1/scripts/post-install.sh diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/apache/httpd.conf b/trunk/templates/vserver-legacy/files/etc/apache/httpd.conf similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/apache/httpd.conf rename to trunk/templates/vserver-legacy/files/etc/apache/httpd.conf diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/apache/php.ini b/trunk/templates/vserver-legacy/files/etc/apache/php.ini similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/apache/php.ini rename to trunk/templates/vserver-legacy/files/etc/apache/php.ini diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/apache/vhosts b/trunk/templates/vserver-legacy/files/etc/apache/vhosts similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/apache/vhosts rename to trunk/templates/vserver-legacy/files/etc/apache/vhosts diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/hosts b/trunk/templates/vserver-legacy/files/etc/hosts similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/hosts rename to trunk/templates/vserver-legacy/files/etc/hosts diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/logrotate.d/apache b/trunk/templates/vserver-legacy/files/etc/logrotate.d/apache similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/logrotate.d/apache rename to trunk/templates/vserver-legacy/files/etc/logrotate.d/apache diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/profile b/trunk/templates/vserver-legacy/files/etc/profile similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/profile rename to trunk/templates/vserver-legacy/files/etc/profile diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.0 b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.0 similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.0 rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.0 diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.4 b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.4 similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.4 rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.4 diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.6 b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.6 similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.6 rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.6 diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.K b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.K similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.K rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.K diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.M b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.M similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.M rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.M diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.S b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.S similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.S rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.S diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.httpd b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.httpd similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.httpd rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.httpd diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.inet2 b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.inet2 similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.inet2 rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.inet2 diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.inetd b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.inetd similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.inetd rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.inetd diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.ip_forward b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.ip_forward similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.ip_forward rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.ip_forward diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.local b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.local similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.local rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.local diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.mysqld b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.mysqld similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.mysqld rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.mysqld diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.postfix b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.postfix similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.postfix rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.postfix diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.sendmail b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.sendmail similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.sendmail rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.sendmail diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.serial b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.serial similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.serial rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.serial diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.sshd b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.sshd similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.sshd rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.sshd diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.syslog b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.syslog similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.syslog rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.syslog diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.sysvinit b/trunk/templates/vserver-legacy/files/etc/rc.d/rc.sysvinit similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rc.d/rc.sysvinit rename to trunk/templates/vserver-legacy/files/etc/rc.d/rc.sysvinit diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/rssh.conf b/trunk/templates/vserver-legacy/files/etc/rssh.conf similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/rssh.conf rename to trunk/templates/vserver-legacy/files/etc/rssh.conf diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/etc/ssh/sshd_config b/trunk/templates/vserver-legacy/files/etc/ssh/sshd_config similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/etc/ssh/sshd_config rename to trunk/templates/vserver-legacy/files/etc/ssh/sshd_config diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/var/www/htdocs/missing.html b/trunk/templates/vserver-legacy/files/var/www/htdocs/missing.html similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/var/www/htdocs/missing.html rename to trunk/templates/vserver-legacy/files/var/www/htdocs/missing.html diff --git a/trunk/templates/vserver-legacy/vserver-legacy.d/var/www/missing.html b/trunk/templates/vserver-legacy/files/var/www/missing.html similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.d/var/www/missing.html rename to trunk/templates/vserver-legacy/files/var/www/missing.html diff --git a/trunk/templates/vserver-legacy/vserver-legacy.template b/trunk/templates/vserver-legacy/packages similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.template rename to trunk/templates/vserver-legacy/packages diff --git a/trunk/templates/vserver-legacy/vserver-legacy.perms b/trunk/templates/vserver-legacy/perms similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.perms rename to trunk/templates/vserver-legacy/perms diff --git a/trunk/templates/vserver-legacy/vserver-legacy.s/GPG-KEY b/trunk/templates/vserver-legacy/scripts/GPG-KEY similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.s/GPG-KEY rename to trunk/templates/vserver-legacy/scripts/GPG-KEY diff --git a/trunk/templates/vserver-legacy/vserver-legacy.s/devices.tar.gz b/trunk/templates/vserver-legacy/scripts/devices.tar.gz similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.s/devices.tar.gz rename to trunk/templates/vserver-legacy/scripts/devices.tar.gz diff --git a/trunk/templates/vserver-legacy/vserver-legacy.s/skel.conf b/trunk/templates/vserver-legacy/scripts/skel.conf similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.s/skel.conf rename to trunk/templates/vserver-legacy/scripts/skel.conf diff --git a/trunk/templates/vserver-legacy/vserver-legacy.s/vserver-legacy.sh b/trunk/templates/vserver-legacy/scripts/vserver-legacy.sh similarity index 100% rename from trunk/templates/vserver-legacy/vserver-legacy.s/vserver-legacy.sh rename to trunk/templates/vserver-legacy/scripts/vserver-legacy.sh diff --git a/trunk/templates/vserver/vserver.d/etc/apache/httpd.conf b/trunk/templates/vserver/files/etc/apache/httpd.conf similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/apache/httpd.conf rename to trunk/templates/vserver/files/etc/apache/httpd.conf diff --git a/trunk/templates/vserver/vserver.d/etc/apache/php.ini b/trunk/templates/vserver/files/etc/apache/php.ini similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/apache/php.ini rename to trunk/templates/vserver/files/etc/apache/php.ini diff --git a/trunk/templates/vserver/vserver.d/etc/apache/vhosts b/trunk/templates/vserver/files/etc/apache/vhosts similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/apache/vhosts rename to trunk/templates/vserver/files/etc/apache/vhosts diff --git a/trunk/templates/vserver/vserver.d/etc/hosts b/trunk/templates/vserver/files/etc/hosts similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/hosts rename to trunk/templates/vserver/files/etc/hosts diff --git a/trunk/templates/vserver/vserver.d/etc/logrotate.d/apache b/trunk/templates/vserver/files/etc/logrotate.d/apache similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/logrotate.d/apache rename to trunk/templates/vserver/files/etc/logrotate.d/apache diff --git a/trunk/templates/vserver/vserver.d/etc/profile b/trunk/templates/vserver/files/etc/profile similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/profile rename to trunk/templates/vserver/files/etc/profile diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc b/trunk/templates/vserver/files/etc/rc.d/rc similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc rename to trunk/templates/vserver/files/etc/rc.d/rc diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.0 b/trunk/templates/vserver/files/etc/rc.d/rc.0 similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.0 rename to trunk/templates/vserver/files/etc/rc.d/rc.0 diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.4 b/trunk/templates/vserver/files/etc/rc.d/rc.4 similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.4 rename to trunk/templates/vserver/files/etc/rc.d/rc.4 diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.6 b/trunk/templates/vserver/files/etc/rc.d/rc.6 similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.6 rename to trunk/templates/vserver/files/etc/rc.d/rc.6 diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.K b/trunk/templates/vserver/files/etc/rc.d/rc.K similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.K rename to trunk/templates/vserver/files/etc/rc.d/rc.K diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.M b/trunk/templates/vserver/files/etc/rc.d/rc.M similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.M rename to trunk/templates/vserver/files/etc/rc.d/rc.M diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.S b/trunk/templates/vserver/files/etc/rc.d/rc.S similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.S rename to trunk/templates/vserver/files/etc/rc.d/rc.S diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.httpd b/trunk/templates/vserver/files/etc/rc.d/rc.httpd similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.httpd rename to trunk/templates/vserver/files/etc/rc.d/rc.httpd diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.inet2 b/trunk/templates/vserver/files/etc/rc.d/rc.inet2 similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.inet2 rename to trunk/templates/vserver/files/etc/rc.d/rc.inet2 diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.inetd b/trunk/templates/vserver/files/etc/rc.d/rc.inetd similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.inetd rename to trunk/templates/vserver/files/etc/rc.d/rc.inetd diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.ip_forward b/trunk/templates/vserver/files/etc/rc.d/rc.ip_forward similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.ip_forward rename to trunk/templates/vserver/files/etc/rc.d/rc.ip_forward diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.local b/trunk/templates/vserver/files/etc/rc.d/rc.local similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.local rename to trunk/templates/vserver/files/etc/rc.d/rc.local diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.mysqld b/trunk/templates/vserver/files/etc/rc.d/rc.mysqld similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.mysqld rename to trunk/templates/vserver/files/etc/rc.d/rc.mysqld diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.postfix b/trunk/templates/vserver/files/etc/rc.d/rc.postfix similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.postfix rename to trunk/templates/vserver/files/etc/rc.d/rc.postfix diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.sendmail b/trunk/templates/vserver/files/etc/rc.d/rc.sendmail similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.sendmail rename to trunk/templates/vserver/files/etc/rc.d/rc.sendmail diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.serial b/trunk/templates/vserver/files/etc/rc.d/rc.serial similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.serial rename to trunk/templates/vserver/files/etc/rc.d/rc.serial diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.sshd b/trunk/templates/vserver/files/etc/rc.d/rc.sshd similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.sshd rename to trunk/templates/vserver/files/etc/rc.d/rc.sshd diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.syslog b/trunk/templates/vserver/files/etc/rc.d/rc.syslog similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.syslog rename to trunk/templates/vserver/files/etc/rc.d/rc.syslog diff --git a/trunk/templates/vserver/vserver.d/etc/rc.d/rc.sysvinit b/trunk/templates/vserver/files/etc/rc.d/rc.sysvinit similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rc.d/rc.sysvinit rename to trunk/templates/vserver/files/etc/rc.d/rc.sysvinit diff --git a/trunk/templates/vserver/vserver.d/etc/rssh.conf b/trunk/templates/vserver/files/etc/rssh.conf similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/rssh.conf rename to trunk/templates/vserver/files/etc/rssh.conf diff --git a/trunk/templates/vserver/vserver.d/etc/ssh/sshd_config b/trunk/templates/vserver/files/etc/ssh/sshd_config similarity index 100% rename from trunk/templates/vserver/vserver.d/etc/ssh/sshd_config rename to trunk/templates/vserver/files/etc/ssh/sshd_config diff --git a/trunk/templates/vserver/vserver.d/var/www/htdocs/missing.html b/trunk/templates/vserver/files/var/www/htdocs/missing.html similarity index 100% rename from trunk/templates/vserver/vserver.d/var/www/htdocs/missing.html rename to trunk/templates/vserver/files/var/www/htdocs/missing.html diff --git a/trunk/templates/vserver/vserver.d/var/www/missing.html b/trunk/templates/vserver/files/var/www/missing.html similarity index 100% rename from trunk/templates/vserver/vserver.d/var/www/missing.html rename to trunk/templates/vserver/files/var/www/missing.html diff --git a/trunk/templates/vserver/vserver.template b/trunk/templates/vserver/packages similarity index 100% rename from trunk/templates/vserver/vserver.template rename to trunk/templates/vserver/packages diff --git a/trunk/templates/vserver/vserver.perms b/trunk/templates/vserver/perms similarity index 100% rename from trunk/templates/vserver/vserver.perms rename to trunk/templates/vserver/perms diff --git a/trunk/templates/vserver/vserver.s/GPG-KEY b/trunk/templates/vserver/scripts/GPG-KEY similarity index 100% rename from trunk/templates/vserver/vserver.s/GPG-KEY rename to trunk/templates/vserver/scripts/GPG-KEY diff --git a/trunk/templates/vserver/vserver.s/devices.tar.gz b/trunk/templates/vserver/scripts/devices.tar.gz similarity index 100% rename from trunk/templates/vserver/vserver.s/devices.tar.gz rename to trunk/templates/vserver/scripts/devices.tar.gz diff --git a/trunk/templates/vserver/vserver.s/vserver.sh b/trunk/templates/vserver/scripts/vserver.sh similarity index 100% rename from trunk/templates/vserver/vserver.s/vserver.sh rename to trunk/templates/vserver/scripts/vserver.sh -- 2.39.5