forked from mirror/prosody
60 lines
1.2 KiB
Bash
Executable file
60 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
set -e
|
|
|
|
source="/usr/src/prosody-modules"
|
|
target="/usr/local/lib/prosody/custom-modules"
|
|
config="/usr/local/etc/prosody/conf.d/01-modules.cfg.lua"
|
|
|
|
srcExists=
|
|
if [ -d ${source} ]; then
|
|
srcExists=1
|
|
fi
|
|
docker-prosody-module-source pullTo ${source}
|
|
|
|
if [ -z "$srcExists" ]; then
|
|
touch ${source}/.docker-delete-me
|
|
fi
|
|
|
|
cd ${source}
|
|
|
|
usage() {
|
|
echo "usage: $0 ext-name [ext-name ...]"
|
|
echo " ie: $0 carbons e2e_policy proxy65"
|
|
echo
|
|
echo 'Possible values for ext-name:'
|
|
find . -mindepth 1 -maxdepth 1 -type d | sort | sed s/\.\\/mod_//g | xargs
|
|
}
|
|
|
|
exts=
|
|
for ext; do
|
|
if [ -z "mod_$ext" ]; then
|
|
continue
|
|
fi
|
|
if [ ! -d "mod_$ext" ]; then
|
|
echo >&2 "error: $PWD/mod_$ext does not exist"
|
|
echo >&2
|
|
usage >&2
|
|
exit 1
|
|
fi
|
|
exts="$exts $ext"
|
|
done
|
|
|
|
if [ -z "$exts" ]; then
|
|
usage >&2
|
|
exit 1
|
|
fi
|
|
|
|
for ext in $exts; do
|
|
echo "Installing mod_${ext}"
|
|
|
|
echo " - copying to ${target}"
|
|
cp -r "${source}/mod_${ext}" "${target}/"
|
|
|
|
echo " - enabling within ${config}"
|
|
new_config=$(cat "${config}" | module="${ext}" perl -0pe 's/(modules_enabled[ ]*=[ ]*{[^}]*)};/$1\n\t"$ENV{module}";\n};/')
|
|
echo "${new_config}" > "${config}"
|
|
done
|
|
|
|
if [ -e ${source}/.docker-delete-me ]; then
|
|
docker-prosody-module-source deleteFrom ${source}
|
|
fi
|