blob: 6196ebb23b1d57ce710b0504676b780ecc3a1aae (
plain) (
tree)
|
|
#
# This BUILD is also used for Horde applications like IMP and Turba
#
# We don't need to use INSTALL_ROOT as install_www_files does this for us
#
HORDE_PREFIX= &&
if [ "$SPELL" != 'horde' ]; then
HORDE_PREFIX="/$SPELL"
fi &&
HORDE_CONFIG_DIR="$INSTALL_ROOT/etc/horde$HORDE_PREFIX" &&
HORDE_WWW_DIR="/usr/share/www/horde$HORDE_PREFIX" &&
#
# if `php' returned error, simply check if the output is present.
# `php -m' appears to always return a bad status code.
#
if ! PHP_MODULES=$(php -m 2>/dev/null); then
[[ -n "$PHP_MODULES" ]]
fi &&
message "${MESSAGE_COLOR}Checking for gettext in ${SPELL_COLOR}php" \
"${DEFAULT_COLOR}" &&
echo "$PHP_MODULES" | grep -q gettext &&
message "${MESSAGE_COLOR}Checking for imap in ${SPELL_COLOR}php" \
"${DEFAULT_COLOR}" &&
echo "$PHP_MODULES" | grep -q imap &&
message "${MESSAGE_COLOR}Checking for xml in ${SPELL_COLOR}php" \
"${DEFAULT_COLOR}" &&
echo "$PHP_MODULES" | grep -q xml &&
message "${MESSAGE_COLOR}Checking for dom in ${SPELL_COLOR}php" \
"${DEFAULT_COLOR}" &&
echo "$PHP_MODULES" | grep -q dom &&
#
# kill remnants of CVS, if any
#
find ./ -type d -and -name CVS -exec rm -frv {} ';' &&
find ./ -type f -and -name .cvsignore -exec rm -fv {} ';' &&
#
# deal with configuration files and directory
#
if [[ -d config ]] && pushd config; then
#
# replace all occurrences of
# dirname(__FILE__) . '/..
# to references to HORDE_BASE
#
message "${MESSAGE_COLOR}Applying changes necessary to relocate" \
"\`$HORDE_WWW_DIR/config' directory to \`$HORDE_CONFIG_DIR'${DEFAULT_COLOR}" &&
for _PHP in *.php*; do
sedit "s|dirname(__FILE__) \. '\/\.\.|HORDE_BASE . '$HORDE_PREFIX|" "$_PHP"
done &&
#
# Configuration scripts include definition of multiple `fileroot' fields,
# and we need to make sure that these definitions are not based on __FILE__
# variable value because in such a case the placement of scripts in
# /etc/... won't work
#
message "${MESSAGE_COLOR}Checking that configuration modules do not" \
"reference \`__FILE__'...${DEFAULT_COLOR}" &&
! grep 'fileroot' * | grep -q '__FILE__' &&
message "${MESSAGE_COLOR}Moving configuration to \`$HORDE_CONFIG_DIR'..." \
"${DEFAULT_COLOR}" &&
mkdir -p "$HORDE_CONFIG_DIR" &&
chmod 0755 "$HORDE_CONFIG_DIR" &&
chown www-data:www-data "$HORDE_CONFIG_DIR" &&
# no configuration files are overwritten, all Horde packages come with
# *.conf.dist, *.xml, and maybe other files, which have to be updated
for _CFG in *; do
# standard files are simply updated
cp -fv "$_CFG" "$HORDE_CONFIG_DIR/$_CFG" &&
# these are configuration files
if [[ "$_CFG" =~ '\.dist$' ]]; then
install_config_file "$_CFG" "$HORDE_CONFIG_DIR/${_CFG%.dist}"
fi
done &&
popd &&
rm -rf config
fi &&
if [[ -d scripts/ldap ]] && pushd scripts/ldap; then
SLAPD_SCHEMA="$INSTALL_ROOT/etc/openldap/schema" &&
for _SCHEMA in *.schema; do
# create directory only if any schema files are present
mkdir -p "$SLAPD_SCHEMA" &&
# no need for install_config_file, schema is not supposed to be edited
cp -fv "$_SCHEMA" "$SLAPD_SCHEMA/$(basename $_SCHEMA)"
done &&
popd &&
rm -fr scripts/ldap
fi &&
message "${MESSAGE_COLOR}Copying files to '$HORDE_WWW_DIR'...${DEFAULT_COLOR}" &&
install_www_files ./ "$HORDE_WWW_DIR" &&
#
# we create a link to a full-path target, so no relative path dangers here
#
ln -fnsv "$HORDE_CONFIG_DIR" "$HORDE_WWW_DIR/config"
# this code works but is not used so it's commented; if SUFFIX is necessary, uncomment
#SLAPD_CONF="$INSTALL_ROOT/etc/openldap/slapd.conf" &&
#if spell_ok openldap && [ -r "$SLAPD_CONF" ]; then
# SUFFIX=$(gawk '/^suffix\W+/ { match($0, /^suffix\W+"?([^"]+)"?\W*$/, a); print a[1]; nextfile; }' "$SLAPD_CONF") &&
# message "${MESSAGE_COLOR}Found LDAP database suffix:${DEFAULT_COLOR} '$SUFFIX'..."
#fi
|