View | Details | Raw Unified | Return to bug 148603
Collapse All | Expand All

(-)xfce4-taskmanager/Makefile (-7 / +12 lines)
Lines 6-29 Link Here
6
#
6
#
7
7
8
PORTNAME=	xfce4-taskmanager
8
PORTNAME=	xfce4-taskmanager
9
PORTVERSION=	0.4.0.r2
9
PORTVERSION=	1.0.0
10
PORTREVISION=	16
11
CATEGORIES=	x11 xfce
10
CATEGORIES=	x11 xfce
12
MASTER_SITES=	http://freebsd.unixfreunde.de/sources/
11
MASTER_SITES=	${MASTER_SITE_XFCE}
13
DISTNAME=	${PORTNAME}-${PORTVERSION:S/.r/-rc/}
12
MASTER_SITE_SUBDIR=	src/apps/${PORTNAME}/${PORTVERSION:R}
14
DIST_SUBDIR=	xfce4
13
DIST_SUBDIR=	xfce4
15
14
16
MAINTAINER=	miwi@FreeBSD.org
15
MAINTAINER=	miwi@FreeBSD.org
17
COMMENT=	A task manager for XFCE
16
COMMENT=	A task manager for XFCE
18
17
18
LIB_DEPENDS=	cairo.2:${PORTSDIR}/graphics/cairo \
19
	wnck-1.22:${PORTSDIR}/x11-toolkits/libwnck
20
19
GNU_CONFIGURE=	yes
21
GNU_CONFIGURE=	yes
20
USE_BZIP2=	yes
22
USE_BZIP2=	yes
21
USE_GETTEXT=	yes
23
USE_GETTEXT=	yes
22
USE_GMAKE=	yes
24
USE_GMAKE=	yes
23
USE_GNOME=	gnometarget gtk20 intltool intlhack pkgconfig
25
USE_GNOME=	gnometarget gtk20 desktopfileutils intltool intlhack pkgconfig
24
USE_XFCE=	configenv libgui
25
26
26
post-patch:
27
post-patch:
27
	@${REINPLACE_CMD} -e 's|linux|freebsd|g; s|^CFLAGS = |&-lkvm -lm |' ${WRKSRC}/src/Makefile.in
28
	@${REINPLACE_CMD} -e 's|prefix)/$$(DATADIRNAME)|datadir)|' \
29
		${WRKSRC}/po/Makefile.in.in
30
31
post-install:
32
	@-update-desktop-database
28
33
29
.include <bsd.port.mk>
34
.include <bsd.port.mk>
(-)xfce4-taskmanager/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
MD5 (xfce4/xfce4-taskmanager-0.4.0-rc2.tar.bz2) = 6111d36a743ecef817b5589f90a3f869
1
MD5 (xfce4/xfce4-taskmanager-1.0.0.tar.bz2) = cd205366ae771d2cbe72b5ca7b1257b0
2
SHA256 (xfce4/xfce4-taskmanager-0.4.0-rc2.tar.bz2) = d481eee66ebbedffcc82b7f83889c12793b868deefcf15c49eaeb3c2a41c6721
2
SHA256 (xfce4/xfce4-taskmanager-1.0.0.tar.bz2) = c0ef9f9c98b045be45af54850082b03977d35d3cae710bdba5f259220f7fa9ee
3
SIZE (xfce4/xfce4-taskmanager-0.4.0-rc2.tar.bz2) = 270453
3
SIZE (xfce4/xfce4-taskmanager-1.0.0.tar.bz2) = 339854
(-)xfce4-taskmanager/files/patch-src-functions.c (-12 lines)
Lines 1-12 Link Here
1
--- src/functions.c.orig	Wed Aug 23 20:55:58 2006
2
+++ src/functions.c	Thu Feb  1 11:04:42 2007
3
@@ -45,7 +45,9 @@
4
 				tmp->time = new_tmp->time;
5
 				
6
 				
7
+#ifndef __FreeBSD__
8
 				tmp->time_percentage = (gdouble)(tmp->time - tmp->old_time) * (gdouble)(1000.0 / REFRESH_INTERVAL);
9
+#endif
10
 				
11
 				if((gint)tmp->ppid != (gint)new_tmp->ppid || strcmp(tmp->state,new_tmp->state) || (unsigned int)tmp->size != (unsigned int)new_tmp->size || (unsigned int)tmp->rss != (unsigned int)new_tmp->rss || (unsigned int)tmp->time != (unsigned int)tmp->old_time)
12
 				{
(-)xfce4-taskmanager/files/patch-src-interface.c (-62 lines)
Lines 1-62 Link Here
1
--- src/interface.c.orig	Wed Aug 23 20:55:38 2006
2
+++ src/interface.c	Thu Mar  1 16:20:58 2007
3
@@ -359,12 +359,9 @@
4
 
5
 gint compare_int_list_item(GtkTreeModel *model, GtkTreeIter *iter1, GtkTreeIter *iter2, gpointer column)
6
 {	
7
-	gchar *s1 = NULL;
8
-	gchar *s2 = NULL;
9
-	
10
-        s1 = (gchar*)malloc(sizeof(char) * 100);
11
-	s2 = (gchar*)malloc(sizeof(char) * 100);
12
-        
13
+ 	gchar s1[256];
14
+	gchar s2[256];      
15
+
16
 	gint ret = 0;
17
 
18
 	gtk_tree_model_get(model, iter1, column, &s1, -1);
19
@@ -380,40 +377,19 @@
20
 		i2 = atoi(s2);
21
 		
22
 	ret = i1 - i2;
23
-	
24
-	if(s1 != NULL)
25
-		g_free(s1);
26
-	if(s2 != NULL)
27
-		g_free(s2);
28
-	
29
 	return ret;
30
 }
31
 
32
 gint compare_string_list_item(GtkTreeModel *model, GtkTreeIter *iter1, GtkTreeIter *iter2, gpointer column)
33
 {	
34
-	gchar *s1 = NULL;
35
-	gchar *s2 = NULL;
36
-	
37
-        s1 = (gchar*)malloc(sizeof(gchar) * 100);
38
-	s2 = (gchar*)malloc(sizeof(gchar) * 100);
39
-        
40
+	gchar s1[256];
41
+	gchar s2[256];
42
+       
43
 	gint ret = 0;
44
 
45
 	gtk_tree_model_get(model, iter1, GPOINTER_TO_INT(column), &s1, -1);
46
 	gtk_tree_model_get(model, iter2, GPOINTER_TO_INT(column), &s2, -1);
47
-
48
-	if(s1 == NULL)
49
-		s1 = "";
50
-	if(s2 == NULL)
51
-		s2 = "";
52
-
53
 	ret = strcmp(s1, s2);
54
-	
55
-	if(s1 != NULL)
56
-		g_free(s1);
57
-	if(s2 != NULL)
58
-		g_free(s2);
59
-	
60
 	return ret;
61
 }
62
 
(-)xfce4-taskmanager/files/patch-src-xfce-taskmanager-freebsd.c (-175 lines)
Lines 1-175 Link Here
1
--- src/xfce-taskmanager-freebsd.c.orig	Thu Mar  1 16:17:09 2007
2
+++ src/xfce-taskmanager-freebsd.c	Thu Mar  1 16:18:01 2007
3
@@ -0,0 +1,172 @@
4
+/*
5
+ Copyright (c) 2006 Oliver Lehmann <oliver@FreeBSD.org>
6
+ All rights reserved.
7
+
8
+ Redistribution and use in source and binary forms, with or without
9
+ modification, are permitted provided that the following conditions
10
+ are met:
11
+ 1. Redistributions of source code must retain the above copyright
12
+       notice, this list of conditions and the following disclaimer
13
+ 2. Redistributions in binary form must reproduce the above copyright
14
+       notice, this list of conditions and the following disclaimer in the
15
+       documentation and/or other materials provided with the distribution.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
+ ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
+ SUCH DAMAGE.
28
+
29
+ $Id: index.php,v 1.24 2006/12/21 23:09:25 olivleh1 Exp $
30
+*/
31
+
32
+
33
+#include "xfce-taskmanager-freebsd.h"
34
+
35
+#define	fxtofl(fixpt)	((double)(fixpt) / fscale)
36
+
37
+struct task get_task_details(struct kinfo_proc *kp)
38
+{
39
+	struct task task;
40
+	size_t	size;
41
+	fixpt_t	ccpu;
42
+	long	fracmem;
43
+	int	pagesize, flag, sflag, tdflags, fscale;
44
+	char	*cp;
45
+	char	buf[16];
46
+
47
+	task.pid = -1;
48
+	task.checked = FALSE;
49
+	
50
+	size = sizeof(ccpu);
51
+	if (sysctlbyname("kern.ccpu", &ccpu, &size, NULL, 0) == -1)
52
+		return (task);
53
+	size = sizeof(fscale);
54
+	if (sysctlbyname("kern.fscale", &fscale, &size, NULL, 0) == -1)
55
+		return (task);
56
+	size = sizeof(pagesize);
57
+	if (sysctlbyname("hw.pagesize",&pagesize,&size,NULL,0) == -1)
58
+		return (task);
59
+
60
+	task.pid = kp->ki_pid;
61
+	task.ppid = kp->ki_ppid;
62
+	task.size = (kp->ki_size/1024);
63
+	task.rss = (kp->ki_rssize*pagesize)/1024;
64
+	task.time_percentage = 100.0 * fxtofl(kp->ki_pctcpu) / (1.0 - exp(kp->ki_swtime * log(fxtofl(ccpu))));
65
+	task.uid = kp->ki_uid;
66
+	g_strlcpy(task.uname, user_from_uid(kp->ki_uid, 0), sizeof task.uname);
67
+		
68
+
69
+	flag = kp->ki_flag;
70
+	sflag = kp->ki_sflag;
71
+	tdflags = kp->ki_tdflags;
72
+	cp = buf;
73
+
74
+	switch (kp->ki_stat) {
75
+
76
+	case SSTOP:
77
+		*cp = 'T';
78
+		break;
79
+
80
+	case SSLEEP:
81
+		if (tdflags & TDF_SINTR)
82
+			*cp = kp->ki_slptime >= MAXSLP ? 'I' : 'S';
83
+		else
84
+			*cp = 'D';
85
+		break;
86
+
87
+	case SRUN:
88
+	case SIDL:
89
+		*cp = 'R';
90
+		break;
91
+
92
+	case SWAIT:
93
+		*cp = 'W';
94
+		break;
95
+
96
+	case SLOCK:
97
+		*cp = 'L';
98
+		break;
99
+
100
+	case SZOMB:
101
+		*cp = 'Z';
102
+		break;
103
+
104
+	default:
105
+		*cp = '?';
106
+	}
107
+	cp++;
108
+	if (!(sflag & PS_INMEM))
109
+		*cp++ = 'W';
110
+	if (kp->ki_nice < NZERO)
111
+		*cp++ = '<';
112
+	else if (kp->ki_nice > NZERO)
113
+		*cp++ = 'N';
114
+	if (flag & P_TRACED)
115
+		*cp++ = 'X';
116
+	if (flag & P_WEXIT && kp->ki_stat != SZOMB)
117
+		*cp++ = 'E';
118
+	if (flag & P_PPWAIT)
119
+		*cp++ = 'V';
120
+	if ((flag & P_SYSTEM) || kp->ki_lock > 0)
121
+		*cp++ = 'L';
122
+	if (kp->ki_kiflag & KI_SLEADER)
123
+		*cp++ = 's';
124
+	if ((flag & P_CONTROLT) && kp->ki_pgid == kp->ki_tpgid)
125
+		*cp++ = '+';
126
+	if (flag & P_JAILED)
127
+		*cp++ = 'J';
128
+	*cp = '\0';
129
+	
130
+	g_strlcpy(task.state, buf, sizeof task.state);
131
+	g_strlcpy(task.name, kp->ki_comm, sizeof task.name);
132
+
133
+	if(g_str_has_suffix(task.name, ")"))
134
+		*g_strrstr(task.name, ")") = '\0';
135
+
136
+	return task;
137
+}
138
+
139
+GArray *get_task_list()
140
+{
141
+	GArray *task_list;
142
+	struct task task;
143
+	int nentries, what, flag, i;
144
+	struct kinfo_proc *kp;
145
+	const char *nlistf, *memf;
146
+	static kvm_t	*kd;
147
+	char *state;
148
+	char errbuf[_POSIX2_LINE_MAX];
149
+
150
+	nentries = -1;
151
+	memf = nlistf = _PATH_DEVNULL;
152
+	kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf);
153
+	if (kd == 0) {
154
+		fprintf(stderr, "Error: %s\n", errbuf);
155
+		return NULL;
156
+	}
157
+	kp = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nentries);
158
+	if ((kp == NULL && nentries > 0) || (kp != NULL && nentries < 0)) {
159
+		fprintf(stderr, "Error: %s\n", kvm_geterr(kd));
160
+		return NULL;
161
+	}
162
+
163
+	task_list = g_array_new (FALSE, FALSE, sizeof (struct task));
164
+	if (nentries > 0) {
165
+	
166
+		for (i = nentries; --i >= 0; ++kp) {
167
+			struct task task = get_task_details(kp);		
168
+			if(task.pid != -1)
169
+				g_array_append_val(task_list, task);
170
+		}
171
+
172
+	}
173
+	kvm_close(kd);
174
+	return task_list;
175
+}
(-)xfce4-taskmanager/files/patch-src-xfce-taskmanager-freebsd.h (-27 lines)
Lines 1-27 Link Here
1
--- src/xfce-taskmanager-freebsd.h.orig     Thu Jan  1 01:00:00 1970
2
+++ src/xfce-taskmanager-freebsd.h  Thu Feb  1 11:54:05 2007
3
@@ -0,0 +1,24 @@
4
+#ifndef FREEBSD_H
5
+#define FREEBSD_H
6
+
7
+#include <glib.h>
8
+#include <pwd.h>
9
+#include <sys/types.h>
10
+#include <sys/stat.h>
11
+#include <stdlib.h>
12
+#include <string.h>
13
+#include <limits.h>
14
+#include <fcntl.h>
15
+#include <paths.h>
16
+#include <nlist.h>
17
+#include <kvm.h>
18
+#include <sys/param.h>
19
+#include <sys/sysctl.h>
20
+#include <sys/user.h>
21
+
22
+#include "types.h"
23
+
24
+struct task get_task_details(struct kinfo_proc *);
25
+GArray *get_task_list();
26
+
27
+#endif
(-)xfce4-taskmanager/pkg-plist (-4 / +114 lines)
Lines 1-14 Link Here
1
bin/xfce4-taskmanager
1
bin/xfce4-taskmanager
2
share/applications/xfce4-taskmanager.desktop
3
share/locale/ar/LC_MESSAGES/xfce4-taskmanager.mo
4
share/locale/ast/LC_MESSAGES/xfce4-taskmanager.mo
5
share/locale/be/LC_MESSAGES/xfce4-taskmanager.mo
6
share/locale/ca/LC_MESSAGES/xfce4-taskmanager.mo
7
share/locale/cs/LC_MESSAGES/xfce4-taskmanager.mo
8
share/locale/da/LC_MESSAGES/xfce4-taskmanager.mo
2
share/locale/de/LC_MESSAGES/xfce4-taskmanager.mo
9
share/locale/de/LC_MESSAGES/xfce4-taskmanager.mo
10
share/locale/el/LC_MESSAGES/xfce4-taskmanager.mo
11
share/locale/en_GB/LC_MESSAGES/xfce4-taskmanager.mo
12
share/locale/es/LC_MESSAGES/xfce4-taskmanager.mo
3
share/locale/eu/LC_MESSAGES/xfce4-taskmanager.mo
13
share/locale/eu/LC_MESSAGES/xfce4-taskmanager.mo
14
share/locale/fi/LC_MESSAGES/xfce4-taskmanager.mo
4
share/locale/fr/LC_MESSAGES/xfce4-taskmanager.mo
15
share/locale/fr/LC_MESSAGES/xfce4-taskmanager.mo
16
share/locale/gl/LC_MESSAGES/xfce4-taskmanager.mo
17
share/locale/hr/LC_MESSAGES/xfce4-taskmanager.mo
5
share/locale/hu/LC_MESSAGES/xfce4-taskmanager.mo
18
share/locale/hu/LC_MESSAGES/xfce4-taskmanager.mo
19
share/locale/id/LC_MESSAGES/xfce4-taskmanager.mo
20
share/locale/it/LC_MESSAGES/xfce4-taskmanager.mo
6
share/locale/ja/LC_MESSAGES/xfce4-taskmanager.mo
21
share/locale/ja/LC_MESSAGES/xfce4-taskmanager.mo
22
share/locale/kk/LC_MESSAGES/xfce4-taskmanager.mo
23
share/locale/lv/LC_MESSAGES/xfce4-taskmanager.mo
24
share/locale/nb/LC_MESSAGES/xfce4-taskmanager.mo
25
share/locale/nl/LC_MESSAGES/xfce4-taskmanager.mo
26
share/locale/pa/LC_MESSAGES/xfce4-taskmanager.mo
27
share/locale/pl/LC_MESSAGES/xfce4-taskmanager.mo
28
share/locale/pt/LC_MESSAGES/xfce4-taskmanager.mo
7
share/locale/pt_BR/LC_MESSAGES/xfce4-taskmanager.mo
29
share/locale/pt_BR/LC_MESSAGES/xfce4-taskmanager.mo
8
share/locale/ru/LC_MESSAGES/xfce4-taskmanager.mo
30
share/locale/ru/LC_MESSAGES/xfce4-taskmanager.mo
31
share/locale/si/LC_MESSAGES/xfce4-taskmanager.mo
32
share/locale/sk/LC_MESSAGES/xfce4-taskmanager.mo
33
share/locale/sq/LC_MESSAGES/xfce4-taskmanager.mo
34
share/locale/sv/LC_MESSAGES/xfce4-taskmanager.mo
35
share/locale/tr/LC_MESSAGES/xfce4-taskmanager.mo
36
share/locale/ug/LC_MESSAGES/xfce4-taskmanager.mo
37
share/locale/uk/LC_MESSAGES/xfce4-taskmanager.mo
38
share/locale/ur/LC_MESSAGES/xfce4-taskmanager.mo
39
share/locale/ur_PK/LC_MESSAGES/xfce4-taskmanager.mo
9
share/locale/vi/LC_MESSAGES/xfce4-taskmanager.mo
40
share/locale/vi/LC_MESSAGES/xfce4-taskmanager.mo
10
share/locale/fi/LC_MESSAGES/xfce4-taskmanager.mo
41
share/locale/zh_CN/LC_MESSAGES/xfce4-taskmanager.mo
11
share/locale/gl/LC_MESSAGES/xfce4-taskmanager.mo
12
share/locale/pl/LC_MESSAGES/xfce4-taskmanager.mo
13
share/locale/zh_TW/LC_MESSAGES/xfce4-taskmanager.mo
42
share/locale/zh_TW/LC_MESSAGES/xfce4-taskmanager.mo
14
43
@dirrmtry share/locale/zh_TW/LC_MESSAGES
44
@dirrmtry share/locale/zh_TW
45
@dirrmtry share/locale/zh_CN/LC_MESSAGES
46
@dirrmtry share/locale/zh_CN
47
@dirrmtry share/locale/vi/LC_MESSAGES
48
@dirrmtry share/locale/vi
49
@dirrmtry share/locale/ur_PK/LC_MESSAGES
50
@dirrmtry share/locale/ur_PK
51
@dirrmtry share/locale/ur/LC_MESSAGES
52
@dirrmtry share/locale/ur
53
@dirrmtry share/locale/uk/LC_MESSAGES
54
@dirrmtry share/locale/uk
55
@dirrmtry share/locale/ug/LC_MESSAGES
56
@dirrmtry share/locale/ug
57
@dirrmtry share/locale/tr/LC_MESSAGES
58
@dirrmtry share/locale/tr
59
@dirrmtry share/locale/sv/LC_MESSAGES
60
@dirrmtry share/locale/sv
61
@dirrmtry share/locale/sq/LC_MESSAGES
62
@dirrmtry share/locale/sq
63
@dirrmtry share/locale/sk/LC_MESSAGES
64
@dirrmtry share/locale/sk
65
@dirrmtry share/locale/si/LC_MESSAGES
66
@dirrmtry share/locale/si
67
@dirrmtry share/locale/ru/LC_MESSAGES
68
@dirrmtry share/locale/ru
69
@dirrmtry share/locale/pt_BR/LC_MESSAGES
70
@dirrmtry share/locale/pt_BR
71
@dirrmtry share/locale/pt/LC_MESSAGES
72
@dirrmtry share/locale/pt
73
@dirrmtry share/locale/pl/LC_MESSAGES
74
@dirrmtry share/locale/pl
75
@dirrmtry share/locale/pa/LC_MESSAGES
76
@dirrmtry share/locale/pa
77
@dirrmtry share/locale/nl/LC_MESSAGES
78
@dirrmtry share/locale/nl
79
@dirrmtry share/locale/nb/LC_MESSAGES
80
@dirrmtry share/locale/nb
81
@dirrmtry share/locale/lv/LC_MESSAGES
82
@dirrmtry share/locale/lv
83
@dirrmtry share/locale/kk/LC_MESSAGES
84
@dirrmtry share/locale/kk
85
@dirrmtry share/locale/ja/LC_MESSAGES
86
@dirrmtry share/locale/ja
87
@dirrmtry share/locale/it/LC_MESSAGES
88
@dirrmtry share/locale/it
89
@dirrmtry share/locale/id/LC_MESSAGES
90
@dirrmtry share/locale/id
91
@dirrmtry share/locale/hu/LC_MESSAGES
92
@dirrmtry share/locale/hu
93
@dirrmtry share/locale/hr/LC_MESSAGES
94
@dirrmtry share/locale/hr
95
@dirrmtry share/locale/gl/LC_MESSAGES
96
@dirrmtry share/locale/gl
97
@dirrmtry share/locale/fr/LC_MESSAGES
98
@dirrmtry share/locale/fr
99
@dirrmtry share/locale/fi/LC_MESSAGES
100
@dirrmtry share/locale/fi
101
@dirrmtry share/locale/eu/LC_MESSAGES
102
@dirrmtry share/locale/eu
103
@dirrmtry share/locale/es/LC_MESSAGES
104
@dirrmtry share/locale/es
105
@dirrmtry share/locale/en_GB/LC_MESSAGES
106
@dirrmtry share/locale/en_GB
107
@dirrmtry share/locale/el/LC_MESSAGES
108
@dirrmtry share/locale/el
109
@dirrmtry share/locale/de/LC_MESSAGES
110
@dirrmtry share/locale/de
111
@dirrmtry share/locale/da/LC_MESSAGES
112
@dirrmtry share/locale/da
113
@dirrmtry share/locale/cs/LC_MESSAGES
114
@dirrmtry share/locale/cs
115
@dirrmtry share/locale/ca/LC_MESSAGES
116
@dirrmtry share/locale/ca
117
@dirrmtry share/locale/be/LC_MESSAGES
118
@dirrmtry share/locale/be
119
@dirrmtry share/locale/ast/LC_MESSAGES
120
@dirrmtry share/locale/ast
121
@dirrmtry share/locale/ar/LC_MESSAGES
122
@dirrmtry share/locale/ar
123
@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
124
@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true

Return to bug 148603