From b25fa64cd6758e6173e3dcfcdcfa2b0a161fcb50 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 25 May 2010 13:44:21 +1200 Subject: [PATCH] Centralize creation of Koha instance dirs. Signed-off-by: Galen Charlton --- debian/scripts/koha-create | 19 +---------- debian/scripts/koha-create-dirs | 56 +++++++++++++++++++++++++++++++++ debian/scripts/koha-dump | 1 + debian/scripts/koha-restore | 5 +++ 4 files changed, 63 insertions(+), 18 deletions(-) create mode 100755 debian/scripts/koha-create-dirs diff --git a/debian/scripts/koha-create b/debian/scripts/koha-create index 7a7fa457f1..45f65e4465 100755 --- a/debian/scripts/koha-create +++ b/debian/scripts/koha-create @@ -84,24 +84,7 @@ adduser --no-create-home --disabled-login --gecos "Koha instance $username" \ # Create the site-specific directories. -mkdir "/etc/koha/sites/$name" - -mkdir "/var/lock/koha/$name" -mkdir "/var/lock/koha/$name/authorities" -mkdir "/var/lock/koha/$name/biblios" -chown -R "root:$username" "/var/lock/koha/$name" -chmod -R g+w "/var/lock/koha/$name" -[ -d "/var/spool/koha/$name" ] || mkdir "/var/spool/koha/$name" - -install -d -o "$username" -g "$username" "/var/lib/koha/$name" -install -d -o "$username" -g "$username" "/var/lib/koha/$name/authorities" -install -d -o "$username" -g "$username" "/var/lib/koha/$name/biblios" -install -d -o "$username" -g "$username" "/var/lib/koha/$name/biblios/key" -install -d -o "$username" -g "$username" "/var/lib/koha/$name/biblios/register" -install -d -o "$username" -g "$username" "/var/lib/koha/$name/biblios/shadow" - -install -d "/var/run/koha/$name/authorities" -install -d "/var/run/koha/$name/biblios" +koha-create-dirs "$name" # Generate Zebra database password. diff --git a/debian/scripts/koha-create-dirs b/debian/scripts/koha-create-dirs new file mode 100755 index 0000000000..7daf57a6c7 --- /dev/null +++ b/debian/scripts/koha-create-dirs @@ -0,0 +1,56 @@ +#!/bin/sh +# +# koha-create-dirs -- Create dirs for a Koha instance. +# Copyright 2010 Catalyst IT, Ltd +# +# 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 3 of the License, 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, see . + + +set -e + +userdir() { + local username="$1-koha" + local directory="$2" + if [ ! -d "$directory" ] + then + install -d -o "$username" -g "$username" "$directory" + fi +} + +rootdir() { + local directory="$1" + if [ ! -d "$directory" ] + then + install -d -o root -g root "$directory" + fi +} + +for name in "$@" +do + rootdir "/var/spool/koha/$name" + userdir "$name" "/etc/koha/sites/$name" + userdir "$name" "/var/lib/koha/$name" + userdir "$name" "/var/lib/koha/$name/authorities" + userdir "$name" "/var/lib/koha/$name/biblios" + userdir "$name" "/var/lib/koha/$name/biblios/key" + userdir "$name" "/var/lib/koha/$name/biblios/register" + userdir "$name" "/var/lib/koha/$name/biblios/shadow" + userdir "$name" "/var/lock/koha/$name" + userdir "$name" "/var/lock/koha/$name/authorities" + userdir "$name" "/var/lock/koha/$name/biblios" + userdir "$name" "/var/run/koha/$name" + userdir "$name" "/var/run/koha/$name/authorities" + userdir "$name" "/var/run/koha/$name/biblios" +done + diff --git a/debian/scripts/koha-dump b/debian/scripts/koha-dump index ef3e4cc0b0..ab2995e2d0 100755 --- a/debian/scripts/koha-dump +++ b/debian/scripts/koha-dump @@ -60,6 +60,7 @@ tar -C / -czf "$metadump" \ "etc/koha/sites/$name" \ "etc/apache2/sites-available/$name" \ "etc/apache2/sites-enabled/$name" \ + "var/lib/koha/$name" \ "var/log/koha/$name" echo "Done." diff --git a/debian/scripts/koha-restore b/debian/scripts/koha-restore index f4750e4087..6e15fd0f15 100755 --- a/debian/scripts/koha-restore +++ b/debian/scripts/koha-restore @@ -57,6 +57,11 @@ adduser --no-create-home --disabled-login --gecos "Koha instance $username" \ --quiet "$username" +# Create dirs. Some of them will be in the tarball, but not all, e.g., +# /var/run and /var/lock. +koha-create-dirs "$name" + + # Unpack tarball. tar -C / -xf "$configdump" -- 2.20.1