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