mirror of
https://github.com/nmap/nmap.git
synced 2026-08-04 06:40:48 +00:00
Added a script to check for newer versions of included libs
Just run "sh checklibs.sh". Currently checks liblua, libpcre, libpcap, and prints the latest version of liblinear (no version info is in the copy we have). Requires perl, curl, and a C compiler (cc).
This commit is contained in:
parent
ee701dc116
commit
08a12f3921
1 changed files with 74 additions and 0 deletions
74
checklibs.sh
Normal file
74
checklibs.sh
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
#!/bin/sh
|
||||
|
||||
NDIR=${NDIR:-$PWD}
|
||||
|
||||
newest() {
|
||||
perl -ne'$n=pack"C*",split/\./;$m=($m,$n)[$n gt$m];END{print join".",unpack("C*",$m)}'
|
||||
}
|
||||
|
||||
trim_version() {
|
||||
echo $1 | sed 's/\(^\|\.\)0*/\1/g'
|
||||
}
|
||||
|
||||
check_libpcre() {
|
||||
PCRE_SOURCE="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/"
|
||||
PCRE_MAJOR=""
|
||||
PCRE_MINOR=""
|
||||
eval $(grep '^PCRE_MAJOR=' $NDIR/libpcre/configure)
|
||||
eval $(grep '^PCRE_MINOR=' $NDIR/libpcre/configure)
|
||||
PCRE_VERSION="$PCRE_MAJOR.$PCRE_MINOR"
|
||||
PCRE_LATEST=$(curl -ls $PCRE_SOURCE | perl -lne 'if(/pcre-(\d+.\d+).tar.gz$/){print $1}' | newest)
|
||||
if [ "$PCRE_VERSION" != "$PCRE_LATEST" ]; then
|
||||
echo "Newer version of libpcre available"
|
||||
echo " Current:" $PCRE_VERSION
|
||||
echo " Latest: " $PCRE_LATEST
|
||||
echo " Source: $PCRE_SOURCE"
|
||||
fi
|
||||
}
|
||||
|
||||
check_libpcap() {
|
||||
PCAP_SOURCE="http://www.tcpdump.org/release/"
|
||||
PCAP_VERSION=$(cat $NDIR/libpcap/VERSION)
|
||||
PCAP_LATEST=$(curl -s $PCAP_SOURCE | perl -lne 'if(/libpcap-([\d.]+).tar.gz/){print $1}' | newest)
|
||||
if [ "$PCAP_VERSION" != "$PCAP_LATEST" ]; then
|
||||
echo "Newer version of libpcap available"
|
||||
echo " Current:" $PCAP_VERSION
|
||||
echo " Latest: " $PCAP_LATEST
|
||||
echo " Source: $PCAP_SOURCE"
|
||||
fi
|
||||
}
|
||||
|
||||
check_liblua() {
|
||||
LUA_SOURCE="http://www.lua.org/ftp/"
|
||||
cat >check_liblua.c <<EOC
|
||||
#include "lua.h"
|
||||
#include<stdio.h>
|
||||
int main(int argc,char *argv[]){
|
||||
printf("%s\\n", LUA_RELEASE);
|
||||
return 0;
|
||||
}
|
||||
EOC
|
||||
cc -I"$NDIR/liblua" -o check_liblua check_liblua.c
|
||||
LUA_VERSION=$(./check_liblua)
|
||||
LUA_VERSION=${LUA_VERSION#Lua }
|
||||
rm check_liblua check_liblua.c
|
||||
LUA_LATEST=$(curl -s $LUA_SOURCE | perl -lne 'if(/lua-([\d.]+).tar.gz/){print $1}' | newest)
|
||||
if [ "$LUA_VERSION" != "$LUA_LATEST" ]; then
|
||||
echo "Newer version of liblua available"
|
||||
echo " Current:" $LUA_VERSION
|
||||
echo " Latest: " $LUA_LATEST
|
||||
echo " Source: $LUA_SOURCE"
|
||||
fi
|
||||
}
|
||||
|
||||
check_liblinear() {
|
||||
LINEAR_SOURCE="http://www.csie.ntu.edu.tw/~cjlin/liblinear/"
|
||||
echo "Can't check liblinear, no version information is available"
|
||||
LINEAR_LATEST=$(curl -s $LINEAR_SOURCE | perl -lne 'if(/The current release \(([^)]+)\) of <b>LIBLINEAR/){print $1;exit 0}')
|
||||
echo " Latest:" $LINEAR_LATEST
|
||||
}
|
||||
|
||||
check_libpcre
|
||||
check_libpcap
|
||||
check_liblua
|
||||
check_liblinear
|
||||
Loading…
Add table
Add a link
Reference in a new issue