From adc6ca1f2c08bb01a29f5247bfa5ee3bd30ee727 Mon Sep 17 00:00:00 2001
From: Allan McRae <allan@archlinux.org>
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 <allan@archlinux.org>
---
 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