Package: ltspfs
Version: 0.4.3+debian2+0.edu.0.etch.1
Severity: normal
The attached patch creates corresponding icons on the users kde desktop when
they insert a removable device.
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/dash
Kernel: Linux 2.6.18-5-486
Locale: LANG=nb_NO.UTF-8, LC_CTYPE=nb_NO.UTF-8 (charmap=UTF-8)
Versions of packages ltspfs depends on:
ii fuse-utils 2.5.3-4.4 Filesystem in USErspace (utilities
ii libc6 2.3.6.ds1-13etch4 GNU C Library: Shared libraries
ii libfuse2 2.5.3-4.4 Filesystem in USErspace library
ii python 2.4.4-2 An interactive high-level object-o
ltspfs recommends no packages.
-- no debconf information
--- /usr/sbin/ltspfsmounter.orig 2008-01-05 21:21:40.000000000 +0100
+++ /usr/sbin/ltspfsmounter 2008-01-05 21:25:51.000000000 +0100
@@ -7,6 +7,13 @@
def get_var(name):
return os.environ.get(name)
+def get_desktop_file_path(dev):
+ return os.path.expanduser("~/Desktop/ltspfsmounter--%s.desktop" % (dev))
+
+def get_mountpoint(dev):
+ import getpass
+ return '/media/%s/%s' % (getpass.getuser(), dev)
+
def add_ltspfsmount(conn, path, root, dev):
hidden_mount = '%s/%s' % (root, dev)
lbmount_command = ['lbmount', dev]
@@ -29,6 +36,30 @@
except OSError, e:
print >>sys.stderr, "suid mount failed:", e
+ desktop_file_s = get_desktop_file_path(dev)
+ if os.path.exists(desktop_file_s):
+ print >>sys.stderr, ".desktop file already exists, skipping"
+ return
+
+ if dev.startswith('usb'):
+ icon = 'usbpendrive_mount'
+ elif dev.startswith('ata'):
+ icon = 'hdd_mount'
+ elif dev.startswith('floppy'):
+ icon = '3floppy_mount'
+ elif dev.startswith('cdrom'):
+ icon = 'cdrom_mount'
+ else:
+ icon = 'usbpendrive_mount'
+ mountpoint = get_mountpoint(dev)
+
+ try:
+ desktop_file = open(desktop_file_s, 'w')
+ desktop_file.write('[Desktop Entry]\nEncoding=UTF-8\nName=%s\nIcon=%s\nType=Link\nURL=%s\n' % (dev, icon, mountpoint))
+ desktop_file.close()
+ except IOError, e:
+ print >>sys.stderr, 'unable to create desktop file:', e
+
def remove_ltspfsmount(root, dev):
hidden_mount = "%s/%s" % (root, dev)
lbumount_command=['lbmount', '--umount', dev]
@@ -46,6 +77,11 @@
if os.access(hidden_mount, 0):
os.rmdir(hidden_mount)
+ desktop_file_s = get_desktop_file_path(dev)
+ if os.path.exists(desktop_file_s):
+ os.unlink(desktop_file_s)
+
+
def cleanup(user):
known_mounts = open( '/proc/mounts', 'r' ).readlines()
for dir in ['/media', '/tmp']:
@@ -59,6 +95,10 @@
call(['fusermount', '-uzq', mountpoint])
if os.access(mountpoint, 0):
os.rmdir(mountpoint)
+ import glob
+ for file in glob.glob(os.path.expanduser('~/Desktop/') + 'ltspfsmounter--*.desktop'):
+ os.unlink(file)
+
sys.exit(0)
def main():