/usr/bin/ocaml-lintian 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 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 112 113 | #!/usr/bin/perl
use Getopt::Long;
use Pod::Usage;
use warnings;
use strict;
# Executable called
my $ocamlobjinfo=$ENV{OCAMLOBJINFO};
$ocamlobjinfo="ocamlobjinfo" unless defined($ocamlobjinfo);
my $man = 0;
my $help = 0;
my @objects;
my $package_dev;
my $package_runtime;
my $package_version;
my $checksum;
my $md5sums_dir;
sub process_not_option
{
push @objects, @_;
}
sub get_objects
{
return <STDIN> unless @objects > 0;
return @objects;
}
GetOptions(
"package=s" => \$package_dev,
"runtime=s" => \$package_runtime,
"version=s" => \$package_version,
"checksum=s" => \$checksum,
"md5sums-dir=s" => \$md5sums_dir,
"<>" => \&process_not_option,
"help|?" => \$help,
"man" => \$man) or pod2usage(2);
pod2usage(1) if $help;
pod2usage(-exitstatus => 0, -verbose => 2) if $man;
@objects = get_objects();
print "Package: $package_dev\n" if $package_dev;
print "Runtime: $package_runtime\n" if $package_runtime;
print "Version: $package_version\n" if $package_version;
print "ForcedChecksum: $checksum\n" if $checksum;
foreach my $obj_file (get_objects())
{
chomp $obj_file;
if ($obj_file =~ /.*\.cma$/)
{
print "\nFile: $obj_file\n";
foreach (`$ocamlobjinfo $obj_file`)
{
chomp $_;
if (/.*(Force custom|Extra C object files|Extra C options):(.*)/)
{
print "$1:$2\n"
};
};
die "E: Error running $ocamlobjinfo" if $?;
}
};
__END__
=head1 NAME
ocaml-lintian - Dump OCaml object information for lintian test
=head1 SYNOPSIS
ocaml-lintian [option ...] file ...
Extract information from various OCaml object and dump them. This information
should be reused by lintian OCaml test, without dependency to ocaml tools to
extract information.
=head1 OPTIONS
=over 8
=item B<--package> pkg
Set package name for development dependency.
=item B<--runtime> pkg
Set package name for runtime dependency.
=item B<--version> ver
Set package version for dependencies.
=item B<--checksum> str
Checksum to use.
=item B<-help>
Print a brief help message and exits.
=item B<-man>
Prints the manual page and exits.
=back
=cut
|