startup drakx what security level? resize .mdkmove-user loopback if it gets too stuffed put .mdkmove-user loopback file at the place it will be mouted so that user can't see the loop file on the filesystem and so can't shoot herself by removing it kde at startup: Can't get own host name. Your system is serveral misconfigured although "hostname" binary answers localhost.localdomain (set by sethostname from init of stage1) font of konsole still too large and non proportional (same problem as 9.2 it seems) system running Click on the Menu/Doc/Howtos > Fail usb key /etc/X11/X is a link but vfat doesn't handle links :( shutdown cd won't eject when there is an NFS mounted partition x' href='/software/drakx/'>drakx
Mageia Installer and base platform for many utilitiesThierry Vignaud [tv]
summaryrefslogtreecommitdiffstats
path: root/tools/cvslog2changelog.pl
blob: 0da8faa500647356ea49ca964de704bc8237d8e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/perl

my %l;
{
my ($date, $user, $file);
local $_;
while (<>) {
    if (my $e = /^description:/ .. /^={77}/) {
	next if $e == 1 || $e =~ /E0/;
	if (/^-{28}/ .. /^date: /) {
	    if (/^date: (\S+)\s.*author: (\S+);/) {
		($date, $user) = ($1, $2);
	    }
	} elsif (!/^branches: / && !/file .* was initially added on branch/ && !/empty log message/ && !/no_comment/) {
	    $l{$date}{$user}{$file} .= $_;
	}
    } elsif (/Working file: (.*)/) {
	$file = $1;
    }
}
}


my %users;
foreach my $date (reverse sort keys %l) {
    foreach my $user (sort keys %{$l{$date}}) {
	next if $ENV{AUTHOR} && $ENV{AUTHOR} ne $user;

	my $fuser = $users{$user} || $user;
	print "$date  $fuser\n\n";
	my %inv;
	while (my ($file, $log) = each %{$l{$date}{$user}}) {
	    $log =~ s/^\s+( \*)?//ms;
	    $log =~ s/\s+$//ms;
	    $log = "\n$log" if $log =~ /^-/;
	    push @{$inv{$log}}, $file;
	}
	foreach my $log (keys %inv) {
	    my $line = join(', ', @{$inv{$log}}) . ($log !~ /^\(/ && ':') . " $log";
	    print "\t* ", join("\n\t", auto_fill($line, 72)), "\n\n";
	}
    }
}

1;

sub auto_fill {
    my ($line, $col) = @_;
    map {
	my @l;
	my $l = '';
	$_ = "  $_" if /^-/;
	while ($_) {
	    s/^(\s*)(\S*)//;
	    my $m = "$l$1$2";
	    if (length $m > $col) {
		push @l, $l;
		$l = $2;
	    } else {
		$l = $m
	    }
	}
	@l, $l;
    } split("\n", $line);
}

BEGIN {
    %users = (
	      'gc'      => 'Guillaume Cottenceau  <gc at mandrakesoft.com>',
	      'pablo'   => 'Pablo Saratxaga  <pablo at mandrakesoft.com>',
	      'damien'  => 'dam\'s  <dams at idm.fr>',
	      'install' => 'DrakX  <install at mandrakesoft.com>',
	      'prigaux' => 'Pixel  <pixel at mandrakesoft.com>',
	      'flepied' => 'Frederic Lepied  <flepied at mandrakesoft.com>',
	      'tvignaud' => 'Thierry Vignaud  <tvignaud at mandrakesoft.com>',
	      'sbenedict' => 'Stew Benedict  <sbenedict at mandrakesoft.com>',
	      'tkamppeter' => 'Till Kamppeter  <till at mandrakesoft.com>',
	      'daouda'  => 'Daouda Lo  <daouda at mandrakesoft.com>',
	      'dchaumette' => 'Damien Chaumette  <dchaumette at mandrakesoft.com>',
	      'warly'   => 'Warly  <warly at mandrakesoft.com>',
	      'fcrozat' => 'Frederic Crozat  <fcrozat at mandrakesoft.com>',
	      'baudens' => 'David Baudens  <baudens at mandrakesoft.com>',
	      'florin'  => 'Florin Grad  <florin at mandrakesoft.com>',
	      'alafox'  => 'Alice Lafox  <alice at lafox.com.ua>',
	      'alus'    => 'Arkadiusz Lipiec  <alipiec at elka.pw.edu.pl>',
	      'fabman'  => 'Fabian Mandelbaum  <fabman at 2vias.com.ar>',
              'erwan'   => 'Erwan Velu  <erwan at mandrakesoft.com>',
              'nplanel' => 'Nicolas Planel  <nplanel at mandrakesoft.com>',
              'rgarciasuarez' => 'Rafael Garcia-Suarez <rgarciasuarez at mandrakesoft.com>',
              'oblin' => 'Olivier Blin <oblin at mandrakesoft.com>',
	     );
}