2014-08-13 12:08:26 +01:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
dh_monoaot - generates AOT images for assemblies
|
|
|
|
|
|
|
|
=cut
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
use File::Find;
|
|
|
|
use Debian::Debhelper::Dh_Lib;
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
B<dh_monoaot> [S<I<debhelper options>>] [B<-n>]
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
dh_monoaot is a debhelper program that is responsible for
|
|
|
|
generating AOT images at package install time.
|
|
|
|
|
|
|
|
It also automatically generates the postinst and prerm commands needed
|
|
|
|
to generate AOT images. See L<dh_installdeb(1)> for an
|
|
|
|
explanation of how this works.
|
|
|
|
|
|
|
|
This is based on L<dh_installcligac(1)> in the cli-common package.
|
|
|
|
|
|
|
|
=head1 OPTIONS
|
|
|
|
|
|
|
|
=over 4
|
|
|
|
|
|
|
|
=item B<-n>, B<--noscripts>
|
|
|
|
|
|
|
|
Do not modify postinst/prerm scripts.
|
|
|
|
|
|
|
|
=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();
|
|
|
|
|
|
|
|
foreach my $package (@{$dh{DOPACKAGES}}) {
|
|
|
|
my $tmp = tmpdir($package);
|
2015-01-13 16:18:26 +00:00
|
|
|
my $monoaot = pkgfile($package, "installmonoaot");
|
|
|
|
|
|
|
|
if ($monoaot ne '') {
|
|
|
|
# sanity check: do all files listed in the installcligac file exist?
|
|
|
|
open MONOAOT, "<$monoaot" or
|
|
|
|
die "E: Can't open $monoaot\n";
|
|
|
|
while (<MONOAOT>)
|
|
|
|
{
|
|
|
|
chomp;
|
|
|
|
if (! -f "$tmp$_") {
|
|
|
|
die "E: Can't find file $tmp$_!\n";
|
|
|
|
}
|
2014-08-13 12:08:26 +01:00
|
|
|
}
|
2015-01-13 16:18:26 +00:00
|
|
|
close MONOAOT;
|
|
|
|
|
|
|
|
if (! $dh{NOSCRIPTS}) {
|
|
|
|
open MONOAOT, "<$monoaot" or
|
|
|
|
die "E: Can't open $monoaot\n";
|
|
|
|
while (<MONOAOT>)
|
|
|
|
{
|
|
|
|
chomp;
|
|
|
|
foreach my $file ($_) {
|
|
|
|
autoscript($package, "postinst", "postinst-monoaot",
|
|
|
|
"s!#FILE#!$file!g");
|
|
|
|
autoscript($package, "prerm", "prerm-monoaot",
|
|
|
|
"s!#FILE#!$file.so!");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
close MONOAOT;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2014-08-13 12:08:26 +01:00
|
|
|
}
|
2015-01-13 16:18:26 +00:00
|
|
|
|
2014-08-13 12:08:26 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
|
|
|
L<debhelper(7)>
|
|
|
|
|
|
|
|
This program is a part of cli-common-dev.
|
|
|
|
|
|
|
|
=head1 AUTHOR
|
|
|
|
|
|
|
|
Mirco 'meebey' Bauer <meebey@meebey.net>
|
2015-01-13 16:18:26 +00:00
|
|
|
Jo Shields <jo.shields@xamarin.com>
|
2014-08-13 12:08:26 +01:00
|
|
|
|
|
|
|
=cut
|