This file is indexed.

/usr/share/ocaml/pkg-update-uploaders is in dh-ocaml 1.1.0.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 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
#!/usr/bin/perl -w
#
# Description: generating .install files for ocaml binary packages
#
# Copyright © 2009 Stéphane Glondu <steph@glondu.net>
#           © 2009 Mehdi Dogguy <mehdi@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA.
#

# Number of changelog entries to look at
my $limit = $ENV{LAST_ENTRIES} || 10;
my $team = $ENV{OCAML_TEAM} || "/usr/share/ocaml/ocaml-pkg-team";
my $control = $ENV{DEBIAN_CONTROL} || "debian/control";

# Retreive team members
my %members;
open(TEAM, "< $team") || die("cannot find $team\n");
while (<TEAM>) {
    if (/^(.*) <(.*)>$/) {
        $members{$1} = $2;
    }
}
close TEAM;

# Retreive last contributors
my %uploaders;
my $nb_uploads = 0;
open(CHANGELOG, "< debian/changelog") || die("cannot find debian/changelog\n");
while (<CHANGELOG>) {
    last if ($nb_uploads >= $limit);
    if (/\[ (.*) \]/) {
        $uploaders{" $1 <$members{$1}>"} = 0;
    } elsif (/^ -- (.*) </) {
        $uploaders{" $1 <$members{$1}>"} = 0;
        $nb_uploads++;
    }
}
close CHANGELOG;

# Update control
open(CONTROL, "< $control") || die("cannot find $control\n");
open(CONTROLNEW, "> ${control}.new");
while (<CONTROL>) {
    if (/^Uploaders:/) {
        print CONTROLNEW "Uploaders:\n";
        print CONTROLNEW join(",\n", sort(keys(%uploaders))), "\n";
        # Skip remaining Uploaders
        while (<CONTROL>) {
            if (!/^ /) {
                print CONTROLNEW; last;
            }
        }
    } else {
        print CONTROLNEW;
    }
}
close CONTROLNEW;
close CONTROL;
rename("${control}.new", "$control");