From adc6ca1f2c08bb01a29f5247bfa5ee3bd30ee727 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sun, 1 Feb 2015 22:32:51 +1000 Subject: libmakepkg: make package checking functions extendable To add a new package check, drop a file in libmakepkg/lint and add the function to the "lint_functions" array. Signed-off-by: Allan McRae --- scripts/libmakepkg/lint_package.sh.in | 11 +++++++++-- scripts/libmakepkg/lint_package/build_references.sh.in | 2 ++ scripts/libmakepkg/lint_package/missing_backup.sh.in | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'scripts') diff --git a/scripts/libmakepkg/lint_package.sh.in b/scripts/libmakepkg/lint_package.sh.in index c2d3e322..e5e23bbd 100644 --- a/scripts/libmakepkg/lint_package.sh.in +++ b/scripts/libmakepkg/lint_package.sh.in @@ -25,14 +25,21 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'} source "$LIBRARY/util/message.sh" + +declare -a lint_package_functions + for lib in "$LIBRARY/lint_package/"*.sh; do source "$lib" done +readonly -a lint_package_functions + + lint_package() { cd_safe "$pkgdir" msg "$(gettext "Checking for packaging issue...")" - warn_missing_backup - warn_build_references + for func in ${lint_package_functions[@]}; do + $func + done } diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in b/scripts/libmakepkg/lint_package/build_references.sh.in index f6de2900..6b03e484 100644 --- a/scripts/libmakepkg/lint_package/build_references.sh.in +++ b/scripts/libmakepkg/lint_package/build_references.sh.in @@ -26,6 +26,8 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'} source "$LIBRARY/util/message.sh" +lint_package_functions+=('warn_build_references') + warn_build_references() { if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I "${srcdir}" ; then warning "$(gettext "Package contains reference to %s")" "\$srcdir" diff --git a/scripts/libmakepkg/lint_package/missing_backup.sh.in b/scripts/libmakepkg/lint_package/missing_backup.sh.in index d1008749..64d5a64a 100644 --- a/scripts/libmakepkg/lint_package/missing_backup.sh.in +++ b/scripts/libmakepkg/lint_package/missing_backup.sh.in @@ -26,6 +26,8 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'} source "$LIBRARY/util/message.sh" +lint_package_functions+=('warn_missing_backup') + warn_missing_backup() { local file for file in "${backup[@]}"; do -- cgit v1.2.3-70-g09d2