]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installmime
Typo. Closes: #653339
[debhelper.git] / dh_installmime
index 59d8c87310174ffff98a37b45b0dd74c5653402d..0ac46c755209368be8a475c6614c191f0e3e42eb 100755 (executable)
@@ -1,9 +1,61 @@
 #!/usr/bin/perl -w
-#
-# Mime support.
+
+=head1 NAME
+
+dh_installmime - install mime files into package build directories
+
+=cut
 
 use strict;
 use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B<dh_installmime> [S<I<debhelper options>>] [B<-n>]
+
+=head1 DESCRIPTION
+
+B<dh_installmime> is a debhelper program that is responsible for installing
+mime files into package build directories.
+
+It also automatically generates the F<postinst> and F<postrm> commands needed to
+interface with the debian B<mime-support> and B<shared-mime-info> packages. These
+commands are inserted into the maintainer scripts by L<dh_installdeb(1)>.
+
+=head1 FILES
+
+=over 4
+
+=item debian/I<package>.mime
+
+Installed into usr/lib/mime/packages/I<package> in the package build
+directory.
+
+=item debian/I<package>.sharedmimeinfo
+
+Installed into /usr/share/mime/packages/I<package>.xml in the package build
+directory.
+
+=back
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-n>, B<--noscripts>
+
+Do not modify F<postinst>/F<postrm> scripts.
+
+=back
+
+=head1 NOTES
+
+Note that this command is not idempotent. L<dh_prep(1)> 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}}) {
@@ -15,10 +67,39 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                        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")
+       }
+       # Check wether 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 wether 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<debhelper(7)>
+
+This program is a part of debhelper.
+
+=head1 AUTHOR
+
+Joey Hess <joeyh@debian.org>
+
+=cut