From f880333fe51f11bafd6eb98d8122bf119a723971 Mon Sep 17 00:00:00 2001 From: Marek Miklewicz Date: Sat, 13 Jun 2026 19:07:09 +0200 Subject: [PATCH] Use local branding archives --- branding/da-branding-hitme.tar.gz | Bin 0 -> 14580 bytes branding/da_templates.tar | Bin 0 -> 27648 bytes dapostinstall.sh | 28 +++++++++++++++++----------- tests/quality_checks.sh | 30 ++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 branding/da-branding-hitme.tar.gz create mode 100644 branding/da_templates.tar diff --git a/branding/da-branding-hitme.tar.gz b/branding/da-branding-hitme.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9b266fb53ceb4b0afe9012e8983fe31c4c24a60e GIT binary patch literal 14580 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/dev/null | strings | grep -E 'LIBARCHIVE\.xattr|SCHILY\.xattr|com\.apple' || true)" + if [[ -n "$xattr_entries" ]]; then + fail "$archive contains macOS extended attributes" + fi +} + assert_bash_syntax "$ROOT_DIR/dapostinstall.sh" assert_bash_syntax "$ROOT_DIR/da_cli.sh" assert_bash_syntax "$ROOT_DIR/daupdate.sh" php -l "$ROOT_DIR/lang_pl.php" >/dev/null || fail "lang_pl.php has invalid PHP syntax" assert_archive_clean_for_linux_tar "$ROOT_DIR/spolszczenie_enhanced.tar.gz" +[[ -f "$ROOT_DIR/branding/da_templates.tar" ]] || fail "missing local da_templates archive" +[[ -f "$ROOT_DIR/branding/da-branding-hitme.tar.gz" ]] || fail "missing local DA branding archive" +assert_plain_tar_archive_clean_for_linux_tar "$ROOT_DIR/branding/da_templates.tar" +assert_archive_clean_for_linux_tar "$ROOT_DIR/branding/da-branding-hitme.tar.gz" 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$' @@ -59,6 +79,9 @@ assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'set_key_value "\$DADIR/conf/d assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'set_key_value "\$DADIR/conf/directadmin\.conf" "ns2"' assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^DEFAULT_NS1=dns3\.hitme\.net\.pl$' assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^DEFAULT_NS2=dns4\.hitme\.net\.pl$' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^BRANDING_DIR="\$DAPOSTINSTALL_DIR/branding"$' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^DA_TEMPLATES_ARCHIVE="\$BRANDING_DIR/da_templates\.tar"$' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^DA_BRANDING_ARCHIVE="\$BRANDING_DIR/da-branding-hitme\.tar\.gz"$' assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^php1_release=' assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^php2_release=' assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^php9_release=' @@ -71,6 +94,13 @@ assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^SETUP_TXT="\$DADIR/conf/setu assert_file_contains "$ROOT_DIR/dapostinstall.sh" '^update_daupdate_tools\(\) \{$' assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" '/opt/daupdate\.sh update' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'require_file "\$SETUP_TXT"' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'require_file "\$DA_TEMPLATES_ARCHIVE"' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'require_file "\$DA_BRANDING_ARCHIVE"' +assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'https://cdn\.hitme\.pl/da_templates\.tar' +assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'https://cdn\.hitme\.pl/da_files/da-branding-hitme\.tar\.gz' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'tar -xf "\$DA_TEMPLATES_ARCHIVE" -C "\$templates_tmp"' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'tar -xzf "\$DA_BRANDING_ARCHIVE" -C /' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'index-hitme\.html' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'DA_ADMINPASS=\$\(get_key_value "\$SETUP_TXT" "adminpass"\)' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'set_key_value "\$DADIR/conf/directadmin\.conf" "ns1" "\$DEFAULT_NS1"' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'set_key_value "\$DADIR/conf/directadmin\.conf" "ns2" "\$DEFAULT_NS2"'