]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installmime
Ensure make doesn't print directories when checking for target existance.
[debhelper.git] / dh_installmime
index c8a7e8043ed271b2befddaa155d9c3e9ebdb2b98..18abe162ac3556198e5a20cf04ee6ca158b237cd 100755 (executable)
@@ -19,11 +19,14 @@ 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
 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.
+interface with the debian mime-support and shared-mime-info packages. These
+commands are inserted into the maintainer scripts by dh_installdeb. See
+L<dh_installdeb(1)> for an explanation of how this works.
 
 
-If a file named debian/package.mime exists, then it is installed into
-usr/lib/mime/packages/package in the package build directory.
+If files named debian/package.mime or debian/package.sharedmimeinfo exist, then
+they are installed into usr/lib/mime/packages/package and
+/usr/share/mime/packages/package.xml (respectively) in the package build
+directory.
 
 =head1 OPTIONS
 
 
 =head1 OPTIONS
 
@@ -37,7 +40,7 @@ Do not modify postinst/postrm scripts.
 
 =head1 NOTES
 
 
 =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.
 
 between invocations of this command. Otherwise, it may cause multiple
 instances of the same text to be added to maintainer scripts.
 
@@ -54,17 +57,34 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                        doit("install","-d","$tmp/usr/lib/mime/packages");
                }
                doit("install","-p","-m644",$mime,"$tmp/usr/lib/mime/packages/$package");
                        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
 
        }
 }
 
 =head1 SEE ALSO
 
-L<debhelper(1)>
+L<debhelper(7)>
 
 This program is a part of debhelper.
 
 
 This program is a part of debhelper.