Browse Source

Modify the main script to use the lockfile program utilities. Mounting and un-mounting do not work reliably without them.

"Steven J. Hill" 18 years ago
parent
commit
dbf0e5eef6
2 changed files with 23 additions and 28 deletions
  1. 2 0
      package/usbmount/Config.in
  2. 21 28
      package/usbmount/usbmount-0.0.14.1.patch

+ 2 - 0
package/usbmount/Config.in

@@ -2,6 +2,8 @@ config BR2_PACKAGE_USBMOUNT
 	bool "usbmount"
 	bool "usbmount"
 	default n
 	default n
 	select BR2_PACKAGE_UDEV_VOLUME_ID
 	select BR2_PACKAGE_UDEV_VOLUME_ID
+	select BR2_PACKAGE_UDEV_SCSI_ID
+	select BR2_PACKAGE_LOCKFILE_PROGS
 	help
 	help
 	  The usbmount package automatically mounts USB mass storage devices
 	  The usbmount package automatically mounts USB mass storage devices
 	  when they are plugged in, and unmounts them when they are removed.
 	  when they are plugged in, and unmounts them when they are removed.

+ 21 - 28
package/usbmount/usbmount-0.0.14.1.patch

@@ -1,22 +1,7 @@
-diff -ru usbmount-0.0.14.1/usbmount usbmount-patched/usbmount
---- usbmount-0.0.14.1/usbmount	2007-01-27 12:22:14.000000000 +0100
-+++ usbmount-patched/usbmount	2007-02-07 12:47:16.000000000 +0100
-@@ -11,7 +11,14 @@
- # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
- # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- # PARTICULAR PURPOSE.
-+
-+#
-+# Changed to support config of logfile and vol_id and creating locks
-+# without the use of lockfile-create all for embedded use.
-+# Joshua D Henderson <jdhende1@rockwellcollins.com>
-+# Patch touched by Alexander Rigbo <alexander.rigbo@acgnystrom.se>
- #
-+
- set -e
- exec > /dev/null 2>&1
- 
-@@ -20,7 +27,7 @@
+diff -ur usbmount-0.0.14.1/usbmount usbmount-0.0.14.1-patched/usbmount
+--- usbmount-0.0.14.1/usbmount	2007-01-27 05:22:14.000000000 -0600
++++ usbmount-0.0.14.1-patched/usbmount	2007-03-15 07:25:18.000000000 -0500
+@@ -20,7 +20,7 @@
  log()
  log()
  {
  {
      if test $1 != debug || expr "$VERBOSE" : "[yY]" > /dev/null; then
      if test $1 != debug || expr "$VERBOSE" : "[yY]" > /dev/null; then
@@ -25,7 +10,7 @@ diff -ru usbmount-0.0.14.1/usbmount usbmount-patched/usbmount
      fi
      fi
  }
  }
  
  
-@@ -57,11 +64,11 @@
+@@ -57,11 +57,11 @@
  if test "$1" = add; then
  if test "$1" = add; then
  
  
      # Acquire lock.
      # Acquire lock.
@@ -34,17 +19,25 @@ diff -ru usbmount-0.0.14.1/usbmount usbmount-patched/usbmount
 -	{ log err "cannot acquire lock /var/run/usbmount/.mount.lock"; exit 1; }
 -	{ log err "cannot acquire lock /var/run/usbmount/.mount.lock"; exit 1; }
 -    trap '( lockfile-remove /var/run/usbmount/.mount )' 0
 -    trap '( lockfile-remove /var/run/usbmount/.mount )' 0
 -    log debug "acquired lock /var/run/usbmount/.mount.lock"
 -    log debug "acquired lock /var/run/usbmount/.mount.lock"
-+#    log debug "trying to acquire lock /var/run/usbmount/.mount.lock"
-+#    lockfile-create --retry 3 /var/run/usbmount/.mount || \
-+#	{ log err "cannot acquire lock /var/run/usbmount/.mount.lock"; exit 1; }
-+#    trap '( lockfile-remove /var/run/usbmount/.mount )' 0
-+#    log debug "acquired lock /var/run/usbmount/.mount.lock"
++    log debug "trying to acquire lock /var/run/.usbmount.lock"
++    lockfile-create --retry 5 /var/run/.usbmount || \
++	{ log err "cannot acquire lock /var/run/.usbmount.lock"; exit 1; }
++    trap '( lockfile-remove /var/run/.usbmount )' 0
++    log debug "acquired lock /var/run/.usbmount.lock"
  
  
      # Try to read from the device.  Some devices need a few seconds
      # Try to read from the device.  Some devices need a few seconds
      # initialization time before they can be accessed.  Give up after
      # initialization time before they can be accessed.  Give up after
-diff -ru usbmount-0.0.14.1/usbmount.conf usbmount-patched/usbmount.conf
---- usbmount-0.0.14.1/usbmount.conf	2005-04-08 16:05:10.000000000 +0200
-+++ usbmount-patched/usbmount.conf	2007-02-07 12:44:39.000000000 +0100
+@@ -184,6 +184,7 @@
+ 		log info "executing command: run-parts /etc/usbmount/umount.d"
+ 		run-parts /etc/usbmount/umount.d || :
+ 	    fi
++	    lockfile-remove /var/run/.usbmount
+ 	    break
+ 	fi
+     done < /proc/mounts
+diff -ur usbmount-0.0.14.1/usbmount.conf usbmount-0.0.14.1-patched/usbmount.conf
+--- usbmount-0.0.14.1/usbmount.conf	2005-04-08 09:05:10.000000000 -0500
++++ usbmount-0.0.14.1-patched/usbmount.conf	2007-03-15 07:21:33.000000000 -0500
 @@ -17,7 +17,7 @@
 @@ -17,7 +17,7 @@
  # sure all data is written to the medium before you remove it (e.g. run the #
  # sure all data is written to the medium before you remove it (e.g. run the #
  # "sync" command in a terminal window).  Otherwise, you *WILL* lose data!   #
  # "sync" command in a terminal window).  Otherwise, you *WILL* lose data!   #