]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installmime
Typo. Closes: #653339
[debhelper.git] / dh_installmime
index 8ffd523621e7b756daa69eeff5cfef5649f9dd2f..0ac46c755209368be8a475c6614c191f0e3e42eb 100755 (executable)
@@ -15,15 +15,28 @@ B<dh_installmime> [S<I<debhelper options>>] [B<-n>]
 
 =head1 DESCRIPTION
 
-dh_installmime is a debhelper program that is responsible for installing
+B<dh_installmime> is a debhelper program that is responsible for installing
 mime files into package build directories.
 
-It also automatically generates the postinst and postrm commands needed to
-interface with the debian mime-support package. See L<dh_installdeb(1)> for
-an explanation of how this works.
+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)>.
 
-If a file named debian/package.mime exists, then it is installed into
-usr/lib/mime/packages/package in the package build directory.
+=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
 
@@ -31,13 +44,13 @@ usr/lib/mime/packages/package in the package build directory.
 
 =item B<-n>, B<--noscripts>
 
-Do not modify postinst/postrm scripts.
+Do not modify F<postinst>/F<postrm> scripts.
 
 =back
 
 =head1 NOTES
 
-Note that this command is not idempotent. "dh_clean -k" should be called
+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.
 
@@ -54,11 +67,28 @@ 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")
        }
 }