X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=modulemanager;h=ffd315da51a7b2ea8d45c400c88979db0f684493;hb=150570563935237c4b7632fd677507ac7bcd7a38;hp=b02d873a83d33822331431e1888a4ddc6111436a;hpb=a0176191c9e2a32d898857f2a7e6a4016f894f2f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/modulemanager b/modulemanager index b02d873a8..ffd315da5 100755 --- a/modulemanager +++ b/modulemanager @@ -2,9 +2,9 @@ # # InspIRCd -- Internet Relay Chat Daemon # -# Copyright (C) 2012-2014, 2017-2019 Sadie Powell +# Copyright (C) 2012-2014, 2017-2021 Sadie Powell # Copyright (C) 2012 Robby -# Copyright (C) 2009-2010 Daniel De Graaf +# Copyright (C) 2010 Daniel De Graaf # Copyright (C) 2008-2009 Robin Burchell # # This file is part of InspIRCd. InspIRCd is free software: you can @@ -22,7 +22,6 @@ BEGIN { - require 5.10.0; unless (eval "use LWP::Simple; 1") { die "Your system is missing the LWP::Simple Perl module!"; } @@ -31,7 +30,7 @@ BEGIN { } } -use feature ':5.10'; +use v5.10.0; use strict; use warnings FATAL => qw(all); @@ -65,7 +64,7 @@ sub parse_url { return if $url_seen{$src}; $url_seen{$src}++; - my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 }); + my $ua = LWP::UserAgent->new; my $response = $ua->get($src); unless ($response->is_success) { @@ -100,14 +99,12 @@ sub parse_url { $mod->{mask} = $1; } elsif (/^source (\S+)/) { parse_url $1; - } else { - print "Unknown line in $src: $_\n"; } } } # hash of installed module versions from our mini-database, key (m_foobar) to version (00abacca..). -my %mod_versions = read_config_file '.modulemanager'; +my %mod_versions = read_config_file "$RealDir/.modulemanager"; # useless helper stub sub getmodversion { @@ -116,7 +113,7 @@ sub getmodversion { } # read in external URL sources -open SRC, 'sources.list' or die "Could not open sources.list: $!"; +open SRC, "$RealDir/sources.list" or die "Could not open sources.list: $!"; while () { next if /^\s*#/; parse_url($_); @@ -146,7 +143,7 @@ $modules{core}{$installed{core}} = { }; # set up core module list -for my $modname () { +for my $modname (<$RealDir/src/modules/m_*.cpp>) { my $mod = basename($modname, '.cpp'); my $ver = getmodversion($mod) || '0.0'; $ver =~ s/\$Rev: (.*) \$/$1/; # for storing revision in SVN @@ -310,7 +307,7 @@ print "Processing changes...\n"; for my $mod (keys %installed) { next if $todo{$mod}; print "Uninstalling $mod $installed{$mod}\n"; - unlink "src/modules/$mod.cpp"; + unlink "$RealDir/src/modules/$mod.cpp"; } my $count = scalar keys %todo; @@ -330,11 +327,11 @@ for my $mod (sort keys %todo) { } $mod_versions{$mod} = $ver; - my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 }); + my $ua = LWP::UserAgent->new; my $response = $ua->get($url); if ($response->is_success) { - open(MF, ">src/modules/$mod.cpp") or die "\nFilesystem not writable: $!"; + open(MF, '>', "$RealDir/src/modules/$mod.cpp") or die "\nFilesystem not writable: $!"; print MF $response->content; close(MF); print " - done\n"; @@ -344,6 +341,6 @@ for my $mod (sort keys %todo) { } # write database of installed versions -write_config_file '.modulemanager', %mod_versions; +write_config_file "$RealDir/.modulemanager", %mod_versions; print "Finished!\n";