blob: 323dcc5e410c2c59c34e69370efaf14322c99bfa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/usr/bin/perl
# (c) Mandriva, Pixel <pixel@mandriva.com>
# Copyright under GPL
@dirs = (qw(/etc/skel /root), glob("/home/*"));
@path = split ":", "/sbin:/usr/sbin:/usr/X11R6/bin:/bin:/usr/bin";
foreach $f (map { grep { /\.kdelnk$/ } eval { all("$_/Desktop") } } @dirs) {
open F, $f or next;
L: foreach (<F>) {
if (/^Exec=(?:kdesu\s+-c\s+)?"?(\S+)/) {
-x "$_/$1" and last L foreach '', @path;
} elsif (m|^URL=file:(/.*)|) {
-e $1 and last;
} else { next }
print STDERR "removing $f\n";
unlink $f;
last;
}
}
sub all {
my $d = shift;
local *F;
opendir F, $d or die "all: can't open dir $d: $!\n";
my @l = grep { $_ ne '.' && $_ ne '..' } readdir F;
closedir F;
map { "$d/$_" } @l;
}
|