diff --git a/spolszczenie_enhanced.tar.gz b/spolszczenie_enhanced.tar.gz index e855f85..a61823a 100644 Binary files a/spolszczenie_enhanced.tar.gz and b/spolszczenie_enhanced.tar.gz differ diff --git a/tests/quality_checks.sh b/tests/quality_checks.sh index d274964..8306d20 100644 --- a/tests/quality_checks.sh +++ b/tests/quality_checks.sh @@ -27,11 +27,28 @@ assert_bash_syntax() { bash -n "$file" || fail "$file has invalid bash syntax" } +assert_archive_clean_for_linux_tar() { + local archive="$1" + local metadata_entries + local xattr_entries + + metadata_entries="$(tar -tzf "$archive" | grep -E '(^|/)\._|(^|/)\.DS_Store$|(^|/)__MACOSX(/|$)' || true)" + if [[ -n "$metadata_entries" ]]; then + fail "$archive contains macOS metadata files" + fi + + xattr_entries="$(gzip -dc "$archive" | 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" 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$'