/usr/bin/dh_nativejava is in libgcj-common 1:4.8.2-1ubuntu6.
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 | #!/usr/bin/perl -w
=head1 NAME
dh_nativejava - compile jar files to native code and register them
=cut
use strict;
use Debian::Debhelper::Dh_Lib;
use IO::File;
use POSIX qw(tmpnam);
use Cwd;
=head1 SYNOPSIS
B<dh_nativejava> [S<I<debhelper options>>] [B<-n>] [B<-o>] [B<--sourcedir=>I<dir>]
=head1 DESCRIPTION
dh_nativejava is a debhelper program that is responsible for compiling
jars to native code and to make them known to the system.
It also automatically generates the postinst and postrm commands needed
to updated the global classmap database and adds a dependency on
libgcj-common in the misc:Depends substitution variable.
=head1 OPTIONS
=over 4
=item B<-n>, B<--noscripts>
Do not modify postinst/postrm scripts.
=item B<-o>, B<--onlyscripts>
Only modify postinst/postrm scripts, do not actually compile any files
or register them. May be useful if the files are already built and
registered.
=item B<--destdir=>I<directory>
Use this if you want the compiled files to be put in a directory
other than the default of "/usr/lib/gcj"
=back
=head1 NOTES
Note that this command is not idempotent. "dh_clean -k" should be called
between invocations of this command. Otherwise, it may cause multiple
instances of the same text to be added to maintainer scripts.
=cut
init();
my $destdir = $dh{DESTDIR};
if (! $dh{DESTDIR}) {
$destdir = "/usr/lib/gcj";
}
my $pwd = getcwd;
my $sourcelist;
do {
$sourcelist = tmpnam();
} until my $fh = IO::File->new($sourcelist, O_RDWR|O_CREAT|O_EXCL);
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
# Figure out if this is a GCJ package.
if ($tmp =~ '-gcj$') {
my $jardir =$tmp;
$jardir =~ s/-gcj$//;
if (! $dh{ONLYSCRIPTS}) {
complex_doit("find $pwd -type f ! -type l > $sourcelist");
doit("aot-compile", "-L", $destdir, "-c", "-fsource-filename=$sourcelist", "$jardir", "$tmp/usr/lib/gcj");
doit("mkdir", "-p", "$tmp/usr/share/gcj/classmap.d");
complex_doit("mv $tmp/usr/lib/gcj/*.db $tmp/usr/share/gcj/classmap.d");
}
# Install scripts to rebuild global classmap.db.
if (! $dh{NOSCRIPTS}) {
autoscript($package,"postinst", "postinst-rebuild-gcj-db", "");
autoscript($package,"postrm", "postrm-rebuild-gcj-db", "");
}
addsubstvar($package, "misc:Depends", "libgcj-common (>> 1:4.1.1-13)");
}
}
END { unlink($sourcelist) or die "Couldn't unlink $sourcelist : $!" }
=head1 SEE ALSO
L<debhelper(7)>
=head1 AUTHOR
Michael Koch <mkoch@debian.org>, Matthias Klose <doko@ubuntu.com>
=cut
|