Package: ltsp-server
Version: 0.99debian8
Severity: important

the code in current ltsp for handling local device access (floppy,
cdrom, usb sticks, etc.) is broken, as ltspfs changed since the local
device code in ltsp was tested.

this is a feature people always ask about, and is required for ltsp 5.0
compliance:

http://wiki.ltsp.org/twiki/bin/view/Ltsp/Ltsp5MinimumRequirements

some ltspfs binaries have been relocated, and support for delayed
mounting has been changed.

the attached patches (taken from ubuntu) should fix the problem.

live well,
  vagrant
=== modified file 'client/ldm'
--- client/ldm	2006-12-17 18:13:19 +0000
+++ client/ldm	2006-12-21 20:55:34 +0000
@@ -160,6 +160,14 @@
             # make sure we clean up after logout if localdev is used
             if self.use_localdev:
                 session_manager = session_manager+' && ltspfsmounter all cleanup'
+                print "info: Enabling localdev support."
+                if os.access("/var/run/.static-device", os.F_OK):
+                    print "info: Enabling static localdev support."
+                    static_dev = open("/var/run/.static-device", "r")
+                    delayed_mnt = open("/var/run/.delayed-mount", "a")
+                    delayed_mnt.writelines(static_dev.readlines())
+                    delayed_mnt.close()
+                    static_dev.close()
 
             # set language
             if lang != 'None':

=== modified file 'debian/ltsp-client.ltsp-client-setup.init'
--- debian/ltsp-client.ltsp-client-setup.init	2006-11-14 22:21:04 +0000
+++ debian/ltsp-client.ltsp-client-setup.init	2006-12-21 20:54:57 +0000
@@ -37,21 +37,21 @@
 
 configure_localdev() {
     if [ -n "$LOCALDEV" ]; then
-        if [ ! -d /tmp/drives ];then
-            mkdir /tmp/drives
+        if [ ! -d /var/run/drives ];then
+            mkdir /var/run/drives
         fi
         /usr/bin/ltspfsd -a
         # cdrom devices are handled by the cdpingerponger
-        /usr/bin/cdpinger cdrom # default for usb cdroms
+        /usr/sbin/cdpinger cdrom # default for usb cdroms
 
         # and start one for every additional cdrom device
         if [ -L /dev/cdrom?* ];then
             for CDDEV in $(ls /dev/cdrom?*); do
-                /usr/bin/cdpinger $(basename ${CDDEV})
+                /usr/sbin/cdpinger $(basename ${CDDEV})
             done
         fi
         # handle already plugged devices on login
-        /usr/bin/delayed_mounter
+        /usr/sbin/delayed_mounter
     fi
 }
 

Reply via email to