X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=modulemanager;h=8b71081236407e5f8e3e734de5ff3caadce51df4;hb=d3ca6510fa23308481d10da0bb7770d251fb659b;hp=68d32324d91c75a2bed3e6cfdc73b02fd900ce08;hpb=818a53e13ab7d86f84231aa30bac2956a93ea292;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/modulemanager b/modulemanager index 68d32324d..8b7108123 100755 --- a/modulemanager +++ b/modulemanager @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use warnings FATAL => qw(all); use LWP::Simple; @@ -185,7 +185,7 @@ sub resolve_deps { my $ver = $todo{$mod}; my $info = $modules{$mod}{$ver} or die "no dependency information on $mod $ver"; for my $dep (@{$info->{depends}}) { - $dep =~ /^(\S+)(?: ([-0-9.]+))?/ or die "Bad dependency $dep from $info->{from}"; + $dep =~ /^(\S+)(?: (\S+))?/ or die "Bad dependency $dep from $info->{from}"; my($depmod, $depvers) = ($1,$2); next if $todo{$depmod} && ver_in_range($todo{$depmod}, $depvers); # need to install a dependency @@ -198,7 +198,7 @@ sub resolve_deps { } } for my $dep (@{$info->{conflicts}}) { - $dep =~ /^(\S+)(?: ([-0-9.]+))?/ or die "Bad dependency $dep from $info->{from}"; + $dep =~ /^(\S+)(?: (\S+))?/ or die "Bad dependency $dep from $info->{from}"; my($depmod, $depvers) = ($1,$2); next unless $todo{$depmod} && ver_in_range($todo{$depmod}, $depvers); # if there are changes this round, maybe the conflict won't come up after they are resolved. @@ -278,11 +278,15 @@ resolve_deps(0); $| = 1; # immediate print of lines without \n +print "Processing changes for $action...\n"; for my $mod (keys %installed) { next if $todo{$mod}; print "Uninstalling $mod $installed{$mod}\n"; unlink "src/modules/$mod.cpp"; } + +my $count = scalar keys %todo; +print "Checking $count items...\n"; for my $mod (sort keys %todo) { my $ver = $todo{$mod}; my $oldver = $installed{$mod}; @@ -304,12 +308,14 @@ for my $mod (sort keys %todo) { } else { print " - HTTP $stat\n"; } +} - # write database of installed versions - open SRC, '>.modulemanager' or die "can't write installed versions to .modulemanager, won't be able to track upgrades properly: $!"; - foreach my $key (keys %mod_versions) - { - print SRC "$key $mod_versions{$key}\n"; - } - close SRC; +# write database of installed versions +open SRC, '>.modulemanager' or die "can't write installed versions to .modulemanager, won't be able to track upgrades properly: $!"; +foreach my $key (keys %mod_versions) +{ + print SRC "$key $mod_versions{$key}\n"; } +close SRC; + +print "Finished!\n";