summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoscripts/postinst-desktop3
-rw-r--r--autoscripts/postrm-desktop3
-rw-r--r--debian/changelog6
-rw-r--r--dh_desktop53
4 files changed, 65 insertions, 0 deletions
diff --git a/autoscripts/postinst-desktop b/autoscripts/postinst-desktop
new file mode 100644
index 00000000..ff6e6a12
--- /dev/null
+++ b/autoscripts/postinst-desktop
@@ -0,0 +1,3 @@
+if [ "$1" = "configure" ] && which update-desktop-database >/dev/null 2>&1 ; then
+ update-desktop-database -q
+fi
diff --git a/autoscripts/postrm-desktop b/autoscripts/postrm-desktop
new file mode 100644
index 00000000..38dd191c
--- /dev/null
+++ b/autoscripts/postrm-desktop
@@ -0,0 +1,3 @@
+if [ "$1" = "remove" ] && which update-desktop-database >/dev/null 2>&1 ; then
+ update-desktop-database -q
+fi
diff --git a/debian/changelog b/debian/changelog
index cf3c9489..f9c39f3a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+debhelper (4.2.21) unstable; urgency=low
+
+ * Add dh_desktop, from Ross Burton. Closes: #275454
+
+ -- Joey Hess <joeyh@debian.org> Tue, 12 Oct 2004 14:31:07 -0400
+
debhelper (4.2.20) unstable; urgency=HIGH
* dpkg-cross is fixed in unstable, version the conflict. Closes: #265777
diff --git a/dh_desktop b/dh_desktop
new file mode 100644
index 00000000..8baf6843
--- /dev/null
+++ b/dh_desktop
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_desktop - Register .desktop files
+
+=cut
+
+use strict;
+use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B<dh_desktop> [S<I<debhelper options>>] [B<-p<package>>]
+
+=head1 DESCRIPTION
+
+dh_desktop is a debhelper program that registers .desktop files.
+Currently this program does not handle installation of the files, though it
+may do so at a later date. It takes care of adding maintainer script
+fragements to call F<update-desktop-database>.
+
+=cut
+
+init();
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+ my $tmp=tmpdir($package);
+
+ # Only run if there are .desktop files installed
+ if (-d "$tmp/usr/share/applications") {
+ # Get a list of the desktop files
+ my $desktop_files = `find debian/$package/ -type f -name \*.desktop -printf '%p\n'`;
+ # If there actually were some desktop files...
+ if ($desktop_files && ! $dh{NOSCRIPTS}) {
+ # Don't add a dependency on desktop-file-utils as it may not be needed
+ autoscript($package,"postinst","postinst-desktop");
+ autoscript($package,"postrm","postrm-desktop");
+ }
+ }
+}
+
+=head1 SEE ALSO
+
+L<debhelper>
+
+This program is a part of debhelper.
+
+=head1 AUTHOR
+
+Ross Burton <ross@burtonini.com>
+
+=cut