X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installmime;h=0ac46c755209368be8a475c6614c191f0e3e42eb;hb=e2a6d4cec4a7ee952cf6a7f250d80f1d75a38f95;hp=9eeab7ba4e5caf18a4671e7f7cc08a9acabee3b4;hpb=7f94f1760a87781615730ae5daf9b6b58a7feaf9;p=debhelper.git diff --git a/dh_installmime b/dh_installmime index 9eeab7b..0ac46c7 100755 --- a/dh_installmime +++ b/dh_installmime @@ -11,19 +11,32 @@ use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS - dh_installmime [debhelper options] [-n] +B [S>] [B<-n>] =head1 DESCRIPTION -dh_installmime is a debhelper program that is responsible for installing +B 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 for -an explanation of how this works. +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. -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.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 @@ -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/F 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 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,17 +67,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"); - - 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 +L This program is a part of debhelper.