/usr/share/ocaml/pkg-update-uploaders is in dh-ocaml 1.0.10.
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");
|