diff options
| author | 2010-03-12 00:11:26 +0000 | |
|---|---|---|
| committer | 2010-03-12 00:11:26 +0000 | |
| commit | 7fff0910f33b0f284515490a19e7f41f4e7c9bf9 (patch) | |
| tree | ab4cd821ca5f435400e7d99e2b4a61a82faa4841 /modulemanager | |
| parent | Don't implement --atleast-version ourselves, incorrectly (diff) | |
Filter out modules not applicable to the installed inspircd version
git-svn-id: http://svn.inspircd.org/repository/branches/1_2_stable@12624 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'modulemanager')
| -rwxr-xr-x | modulemanager | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/modulemanager b/modulemanager index 37aebac9b..d261048d8 100755 --- a/modulemanager +++ b/modulemanager @@ -101,6 +101,18 @@ getmodules(1); # determine core version `./src/version.sh` =~ /InspIRCd-([0-9.]+)/ or die "Cannot determine inspircd version"; $installed{core} = $1; +for my $mod (keys %modules) { + MODVER: for my $mver (keys %{$modules{$mod}}) { + for my $dep (@{$modules{$mod}{$mver}{depends}}) { + next unless $dep =~ /^core (.*)/; + if (!ver_in_range($installed{core}, $1)) { + delete $modules{$mod}{$mver}; + next MODVER; + } + } + } + delete $modules{$mod} unless %{$modules{$mod}}; +} $modules{core}{$1} = { url => 'NONE', depends => [], |
