From d9143654adcdf9d7494baa1243900dcb62765061 Mon Sep 17 00:00:00 2001
From: Tomas Plesnik <plesnik@ics.muni.cz>
Date: Thu, 26 Sep 2013 10:49:40 +0200
Subject: [PATCH] upraveno na automaticke zjistovani pouzitych perlovych modulu
 a jejich lokalnich verzi v danem adresari

---
 packages/chck_modules_version.sh | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/packages/chck_modules_version.sh b/packages/chck_modules_version.sh
index 7ab6e6e..07a4ea2 100755
--- a/packages/chck_modules_version.sh
+++ b/packages/chck_modules_version.sh
@@ -1,11 +1,18 @@
 #!/bin/bash
 #
-# Script obtain Perl package version
+# The script automatically obtain Perl modules and their local version
+# in set directory (recursively)
 #
-#modules=(LWP::Protocol::https)
-modules=(SOAP::Lite SOAP::Transport::HTTP DBI DBD::mysql Format::Human::Bytes Sys::Syslog File::Basename Net::CIDR::Lite DateTime Getopt::Std Switch IO::Socket::SSL MIME::Base64 Crypt::X509 Carp)
 
-for module in ${modules[@]}
+if [[ -z $1 || ! -d $1 ]]; then
+	echo "Usage: ${0##*/} <directory>"
+	exit 1
+fi
+
+modules_file="/tmp/warden-server-modules.txt"
+sed '/^use [A-Z]/!d; /Warden/d' `find $1 -type f` 2>/dev/null | cut -f 2 -d " " | sed 's/;//' | sort -u > $modules_file
+
+for module in $(<$modules_file);
 do
 	perl -e "eval { require $module; }; if (\$@) { print \"$module: version not found\n\"; } else { print \"$module >= \$$module::VERSION\n\"}"
 done
-- 
GitLab