X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=modulemanager;h=e859f683be0e043f195937122e991fb54a69a897;hb=c090e54be9c01f862a734ad31a3e6c01ff259d3a;hp=24f4467a44b053727a381f147b4624a531d9281d;hpb=52b71902ee74a23e17bf77baced9a25c6479ece7;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/modulemanager b/modulemanager index 24f4467a4..e859f683b 100755 --- a/modulemanager +++ b/modulemanager @@ -22,7 +22,7 @@ use strict; use warnings FATAL => qw(all); -use make::configure; +use make::common; BEGIN { unless (module_installed("LWP::Simple")) { @@ -31,12 +31,12 @@ BEGIN { unless (module_installed("Crypt::SSLeay") || module_installed("IO::Socket::SSL")) { die "Your system is missing the Crypt::SSLeay or IO::Socket::SSL Perl modules!"; } + } +use File::Basename; use LWP::Simple; -our @modlist; - my %installed; # $installed{name} = $version @@ -131,8 +131,6 @@ while () { } close SRC; -getmodules(1); - # determine core version `./src/version.sh` =~ /InspIRCd-([0-9.]+)/ or die "Cannot determine inspircd version"; $installed{core} = $1; @@ -156,9 +154,8 @@ $modules{core}{$1} = { }; # set up core module list -for my $modname (@modlist) { - my $mod = "m_$modname"; - my $modfile = "src/modules/$mod.cpp"; +for my $modname () { + my $mod = basename($modname, '.cpp'); my $ver = getmodversion($mod) || '0.0'; $ver =~ s/\$Rev: (.*) \$/$1/; # for storing revision in SVN $installed{$mod} = $ver; @@ -348,11 +345,16 @@ for my $mod (sort keys %todo) { } $mod_versions{$mod} = $ver; - my $stat = getstore($url, "src/modules/$mod.cpp"); - if ($stat == 200) { + my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 }); + my $response = $ua->get($url); + + if ($response->is_success) { + open(MF, ">src/modules/$mod.cpp") or die "\nFilesystem not writable: $!"; + print MF $response->decoded_content; + close(MF); print " - done\n"; } else { - print " - HTTP $stat\n"; + printf "\nHTTP %s: %s\n", $response->code, $response->message; } }