Move imapsync into local plugin archives

This commit is contained in:
Marek Miklewicz
2026-06-13 20:29:07 +02:00
parent 9be960ab9d
commit 79f7952aac
4 changed files with 32 additions and 15 deletions
+22 -12
View File
@@ -73,6 +73,7 @@ install_local_plugin_archive() {
local archive="$1"
local plugin_name
local plugin_dir
local install_script
plugin_name="$(basename "$archive" .tar.gz)"
plugin_dir="$DADIR/plugins/$plugin_name"
@@ -81,21 +82,36 @@ install_local_plugin_archive() {
rm -rf "$plugin_dir"
mkdir -p "$plugin_dir"
tar -zxf "$archive" -C "$plugin_dir"
chown -R diradmin:diradmin "$plugin_dir"
if [[ -f "$plugin_dir/install.sh" ]]; then
install_script="./install.sh"
chmod 755 "$plugin_dir/install.sh"
elif [[ -f "$plugin_dir/scripts/install.sh" ]]; then
install_script="./scripts/install.sh"
chmod 755 "$plugin_dir/scripts/install.sh"
else
fail "Brak install.sh w $plugin_dir"
fi
(
cd "$plugin_dir"
./install.sh
"$install_script"
)
else
fail "Brak wykonywalnego install.sh w $plugin_dir"
if [[ "$plugin_name" == "imapsync" ]]; then
echo 'imapsync=ON' >> /usr/local/directadmin/data/users/admin/user.conf
cp "$DAPOSTINSTALL_DIR/lang_pl.php" "$plugin_dir/lang"
chown -R diradmin:diradmin "$plugin_dir"
fi
if [[ "$plugin_name" == "redis-manager" ]]; then
require_file "$DADIR/plugins/redis-manager/scripts/redis_install.sh"
chmod 755 "$DADIR/plugins/redis-manager/scripts/redis_install.sh"
"$DADIR/plugins/redis-manager/scripts/redis_install.sh" "$REDIS_VERSION"
(
cd "$plugin_dir"
./scripts/redis_install.sh "$REDIS_VERSION"
)
fi
}
@@ -483,18 +499,12 @@ sed -i 's^/etc/ssh/sshd_config^/etc/ssh/sshd_config_placebo^g' $DADIR/conf/direc
systemctl restart directadmin
echo "Instalacja pluginów DirectAdmin"
echo "Instalacja pakietu IMAPsync"
dnf -y install imapsync
cd $DAPOSTINSTALL_DIR
install_local_plugins
cd $DAPOSTINSTALL_DIR
echo "Instalacja IMAPsync"
dnf -y install imapsync
mkdir $DADIR/plugins/imapsync
tar -zxf imapsync.tar.gz -C $DADIR/plugins/imapsync
$DADIR/plugins/imapsync/scripts/install.sh
echo 'imapsync=ON' >> /usr/local/directadmin/data/users/admin/user.conf
cp lang_pl.php $DADIR/plugins/imapsync/lang
echo "instalacja promptów"
sh prompt.sh
echo "Blokada dostępu do pluginu CustomBuild i informacjach o licencji"
BIN
View File
Binary file not shown.
Binary file not shown.
+8 -1
View File
@@ -79,14 +79,17 @@ assert_archive_clean_for_linux_tar "$ROOT_DIR/branding/da-branding-hitme.tar.gz"
[[ -f "$ROOT_DIR/plugins/borg-restore.tar.gz" ]] || fail "missing borg-restore plugin archive"
[[ -f "$ROOT_DIR/plugins/db-manager.tar.gz" ]] || fail "missing db-manager plugin archive"
[[ -f "$ROOT_DIR/plugins/redis-manager.tar.gz" ]] || fail "missing redis-manager plugin archive"
[[ -f "$ROOT_DIR/plugins/imapsync.tar.gz" ]] || fail "missing imapsync plugin archive"
assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/borg-restore.tar.gz"
assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/db-manager.tar.gz"
assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/redis-manager.tar.gz"
assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/imapsync.tar.gz"
assert_gzip_tar_contains "$ROOT_DIR/plugins/borg-restore.tar.gz" './install.sh'
assert_gzip_tar_contains "$ROOT_DIR/plugins/db-manager.tar.gz" './install.sh'
assert_gzip_tar_contains "$ROOT_DIR/plugins/redis-manager.tar.gz" './install.sh'
assert_gzip_tar_contains "$ROOT_DIR/plugins/redis-manager.tar.gz" './scripts/redis_install.sh'
assert_gzip_tar_contains "$ROOT_DIR/plugins/redis-manager.tar.gz" './scripts/redis_migrate.sh'
assert_gzip_tar_contains "$ROOT_DIR/plugins/imapsync.tar.gz" './scripts/install.sh'
assert_file_contains "$ROOT_DIR/da_cli.sh" '^DEFAULTPACKAGE=NO-LIMIT$'
assert_file_not_contains "$ROOT_DIR/da_cli.sh" '^eparated list of IP addresses$'
@@ -174,14 +177,18 @@ assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'Brak paczek pluginów w \$PLU
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'plugin_name="\$\(basename "\$archive" \.tar\.gz\)"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'mkdir -p "\$plugin_dir"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'tar -zxf "\$archive" -C "\$plugin_dir"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chown -R diradmin:diradmin "\$plugin_dir"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chmod 755 "\$plugin_dir/install\.sh"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chmod 755 "\$plugin_dir/scripts/install\.sh"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'cd "\$plugin_dir"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" '\./install\.sh'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" '\./scripts/install\.sh'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chmod 755 "\$DADIR/plugins/redis-manager/scripts/redis_install\.sh"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" '"\$DADIR/plugins/redis-manager/scripts/redis_install\.sh" "\$REDIS_VERSION"'
assert_file_contains "$ROOT_DIR/dapostinstall.sh" '\./scripts/redis_install\.sh "\$REDIS_VERSION"'
assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'redis_migrate\.sh'
assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'redis_management\.tar\.gz'
assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'plugins/redis_management'
assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'tar -zxf imapsync\.tar\.gz'
assert_file_contains "$ROOT_DIR/mail_powitalny.txt" '\{\{DA_HOSTNAME\}\}'
assert_file_contains "$ROOT_DIR/mail_powitalny.txt" '\{\{DA_HASLO\}\}'
assert_file_contains "$ROOT_DIR/mail_powitalny.txt" '\{\{DA_PHP_LIST\}\}'