This file is indexed.

/usr/bin/dh_ocamlinit is in dh-ocaml 1.0.8.

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
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
#!/usr/bin/perl -w

# Copyright © 2009 Mehdi Dogguy <mehdi@debian.org>
# Copyright © 2010 Stéphane Glondu <glondu@debian.org>
#
# This is free software, you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 or above
# as published by the Free Software Foundation.
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA

=head1 NAME

dh_ocamlinit - Substitutes ocaml variables in debian/*.in files with
their corresponding value.

=cut

use strict;
use Debian::Debhelper::Dh_Lib;
init();

=head1 SYNOPSIS

B<dh_ocamlinit> [S<I<debhelper options>>]

=head1 DESCRIPTION

dh_ocamlinit looks for debian/*.in files and replaces all present
variables (like @OCAML_ABI@, @OCamlStdlibDir@ and @OCamlDllDir@) with
the corresponding value.

dh_ocamlinit handles additional substitutions by specifying them in the
OCAMLINIT_SED environment variable.

=head1 OPTIONS

=over 4

=item B<-d>

Clean files generated from present debian/*.in ones and exit.
This option is deprecated, use dh_ocamlclean instead.

=back

=cut

my $ocamlc = "/usr/bin/ocamlc";
my $ocamlopt = "/usr/bin/ocamlopt";
my $stdlib_path = `$ocamlc -where`;
chomp($stdlib_path);
my $dynlinkcmxa = "$stdlib_path/dynlink.cmxa";
error "$ocamlc does not exists or is not executable" unless -x $ocamlc;

chomp (my $ocaml_version = `$ocamlc -version`);
chomp (my $ocaml_lib_dir = `$ocamlc -where`);

my @ocaml_in_files = split /\n/,
    `find debian/ -type f -name "*.in" -not \\( -name control\.in \\) | sed 's/.in\$//'`;

if (defined($dh{D_FLAG})) {
    warning("dh_ocamlinit -d is deprecated; use dh_ocamlclean instead");
    inhibit_log();
    complex_doit("rm -f ocamlinit-stamp @ocaml_in_files");
    exit;
}

my $ocamlinit_sed = " -e 's%\@OCamlABI\@%$ocaml_version%g'"
                  . " -e 's%\@OCamlStdlibDir\@%$ocaml_lib_dir%g'"
                  . " -e 's%\@OCamlDllDir\@%$ocaml_lib_dir/stublibs%g'";

if (-x $ocamlopt) {
    $ocamlinit_sed .= " -e 's/^OPT: //' -e '/^BYTE: /d'";
} else {
    $ocamlinit_sed .= " -e '/^OPT: /d' -e 's/^BYTE: //'";
}

if (-f $dynlinkcmxa) {
    $ocamlinit_sed .= " -e 's/^DYN: //'";
} else {
    $ocamlinit_sed .= " -e '/^DYN: /d'";
}

$ocamlinit_sed .= " ".$ENV{"OCAMLINIT_SED"} if $ENV{"OCAMLINIT_SED"};

foreach my $file (@ocaml_in_files) {
    complex_doit("sed $ocamlinit_sed ${file}.in > $file");
}

complex_doit("touch ocamlinit-stamp") unless defined($dh{D_FLAG});

=head1 SEE ALSO

L<debhelper(7)>, L<dh(1)>, L<dh_ocaml(1)>, L<dh_ocamlclean(1)>

This program is meant to be used together with debhelper.

=head1 AUTHOR

Mehdi Dogguy <mehdi@debian.org>

=cut