#!/usr/bin/perl

use MDK::Common;

my $prefix = "dkms-modules";

my %fields;
my %filters = (
    alias => sub {
        my ($module, $values) = @_;
        map { "alias $_ $module\n" } sort(uniq(@$values));
    },
    description => sub {
        my ($module, $values) = @_;
        my $desc = find { $_} @$values;
        if_($desc, "$module\t$desc\n");
    },
);

foreach my $kver (grep { $_ ne ".git" && -d $_ } all(".")) {
    foreach my $file (all($kver)) {
        my ($module, $type) = $file =~ /^(.+)\.(.+?)$/ or next;
        push @{$fields{$type}{$module}}, chomp_(cat_($kver . '/' . $file));
    }
}

foreach my $type (keys %filters) {
    output("$prefix.$type", map { $filters{$type}->($_, $fields{$type}{$_}) } sort(keys(%{$fields{$type}})));
}
