]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - modulemanager
Merge branch 'master+websocket'
[user/henk/code/inspircd.git] / modulemanager
index 24f4467a44b053727a381f147b4624a531d9281d..e859f683be0e043f195937122e991fb54a69a897 100755 (executable)
@@ -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 (<SRC>) {
 }
 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 (<src/modules/m_*.cpp>) {
+       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;
        }
 }