X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installmime;h=998d6bad33d6c7f99a713b1cb003fa42143f923d;hb=18a0da8092ea9f3dc48bca92b36f592af25a608d;hp=232ddc19e1fe99de96223b35f247bd9e24e06f35;hpb=430dd853a0827cf0419d2531cf163d4c1e19c4f9;p=debhelper.git diff --git a/dh_installmime b/dh_installmime index 232ddc1..998d6ba 100755 --- a/dh_installmime +++ b/dh_installmime @@ -1,22 +1,105 @@ #!/usr/bin/perl -w -BEGIN { push @INC, "debian", "/usr/lib/debhelper" } -use Dh_Lib; +=head1 NAME + +dh_installmime - install mime files into package build directories + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B [S>] [B<-n>] + +=head1 DESCRIPTION + +B is a debhelper program that is responsible for installing +mime files into package build directories. + +It also automatically generates the F and F commands needed to +interface with the debian B and B packages. These +commands are inserted into the maintainer scripts by L. + +=head1 FILES + +=over 4 + +=item debian/I.mime + +Installed into usr/lib/mime/packages/I in the package build +directory. + +=item debian/I.sharedmimeinfo + +Installed into /usr/share/mime/packages/I.xml in the package build +directory. + +=back + +=head1 OPTIONS + +=over 4 + +=item B<-n>, B<--noscripts> + +Do not modify F/F scripts. + +=back + +=head1 NOTES + +Note that this command is not idempotent. L 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 $PACKAGE (@{$dh{DOPACKAGES}}) { - $TMP=tmpdir($PACKAGE); - $mime=pkgfile($PACKAGE,"mime"); +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + my $mime=pkgfile($package,"mime"); if ($mime ne '') { - if (! -d "$TMP/usr/lib/mime/packages") { - doit("install","-d","$TMP/usr/lib/mime/packages"); + if (! -d "$tmp/usr/lib/mime/packages") { + doit("install","-d","$tmp/usr/lib/mime/packages"); } - doit("install","-p","-m644",$mime,"$TMP/usr/lib/mime/packages/$PACKAGE"); - - if (! $dh{NOSCRIPTS}) { - autoscript($PACKAGE,"postinst","postinst-mime"); - autoscript($PACKAGE,"postrm","postrm-mime") + doit("install","-p","-m644",$mime,"$tmp/usr/lib/mime/packages/$package"); + } + # Check whether we have to call update-mime (either upstream already + # installs a MIME information file or Debian provides one) + if ((! $dh{NOSCRIPTS}) && (-d "$tmp/usr/lib/mime/packages")) { + autoscript($package,"postinst","postinst-mime"); + autoscript($package,"postrm","postrm-mime") + } + + my $sharedmimeinfo=pkgfile($package,"sharedmimeinfo"); + + if ($sharedmimeinfo ne '') { + if (! -d "$tmp/usr/share/mime/packages") { + doit("install", "-d", "$tmp/usr/share/mime/packages"); } + doit("install", "-p", "-m644", $sharedmimeinfo, "$tmp/usr/share/mime/packages/$package.xml"); + } + # check whether we have to call update-mime-database (either upstream + # already installs a shared MIME information file or Debian provides + # one) + if ((! $dh{NOSCRIPTS}) && (-d "$tmp/usr/share/mime/packages")) { + autoscript($package, "postinst", "postinst-sharedmimeinfo"); + autoscript($package, "postrm", "postrm-sharedmimeinfo") } } + +=head1 SEE ALSO + +L + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess + +=cut