X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=modulemanager;h=37aebac9bf4a1e65c262712093be93c582e43603;hb=26e8190a3775bea8a3ef1b2c89184043394ea341;hp=80a556a1a02b6a70a492adf74253edb04fd936b8;hpb=690690ecdc8d3e39013787ea527a5770d57ac4a6;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/modulemanager b/modulemanager index 80a556a1a..37aebac9b 100755 --- a/modulemanager +++ b/modulemanager @@ -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+)(?: \S+))?/ 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 @@ -278,11 +278,15 @@ resolve_deps(0); $| = 1; # immediate print of lines without \n +# whether or not to invoke ./configure -modupdate after processing +my $regen_modules_list = 0; + 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"; + $regen_modules_list = 1; } my $count = scalar keys %todo; @@ -308,6 +312,7 @@ for my $mod (sort keys %todo) { } else { print " - HTTP $stat\n"; } + $regen_modules_list = 1; } # write database of installed versions @@ -317,4 +322,11 @@ foreach my $key (keys %mod_versions) print SRC "$key $mod_versions{$key}\n"; } close SRC; -print "Done!\n"; + +# regenerate makefiles if necessary +if ($regen_modules_list) +{ + print "Done... Re-generating makefiles\n"; + system "./configure -modupdate"; +} +print "Finished!\n";