]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - modulemanager
Sync helpop chmodes s and p with docs
[user/henk/code/inspircd.git] / modulemanager
index e700d6b1764cc3db30f054319bdf77f0450682d4..ffd315da51a7b2ea8d45c400c88979db0f684493 100755 (executable)
@@ -1,11 +1,10 @@
 #!/usr/bin/env perl
-
 #
 # InspIRCd -- Internet Relay Chat Daemon
 #
-#   Copyright (C) 2012-2014, 2017-2019 Sadie Powell <sadie@witchery.services>
+#   Copyright (C) 2012-2014, 2017-2021 Sadie Powell <sadie@witchery.services>
 #   Copyright (C) 2012 Robby <robby@chatbelgie.be>
-#   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
+#   Copyright (C) 2010 Daniel De Graaf <danieldg@inspircd.org>
 #   Copyright (C) 2008-2009 Robin Burchell <robin+git@viroteck.net>
 #
 # This file is part of InspIRCd.  InspIRCd is free software: you can
@@ -23,7 +22,6 @@
 
 
 BEGIN {
-       require 5.10.0;
        unless (eval "use LWP::Simple; 1") {
                die "Your system is missing the LWP::Simple Perl module!";
        }
@@ -32,7 +30,7 @@ BEGIN {
        }
 }
 
-use feature ':5.10';
+use v5.10.0;
 use strict;
 use warnings FATAL => qw(all);
 
@@ -66,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) {
@@ -101,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 {
@@ -117,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 (<SRC>) {
        next if /^\s*#/;
        parse_url($_);
@@ -147,7 +143,7 @@ $modules{core}{$installed{core}} = {
 };
 
 # set up core module list
-for my $modname (<src/modules/m_*.cpp>) {
+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
@@ -311,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;
@@ -331,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";
@@ -345,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";