commit:     2e2ceb709324edec7baf64370ba3d3070e8d43f2
Author:     Maciej S. Szmigiero <mail <AT> maciej <DOT> szmigiero <DOT> name>
AuthorDate: Sun Jan  8 22:47:56 2017 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Feb  3 21:47:32 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e2ceb70

sys-apps/usb_modeswitch: udev scripts need RW temporary directory

/lib/udev/usb_modeswitch script and usb_modeswitch_dispatcher Tcl script
that it calls both need a writable temporary directory which is a
problematic requirement for example if usb_modeswitch is triggered by a
module loaded during system startup.
Fortunately, /run is available RW very early at boot so let's redirect them
there instead.

Fixes a case where system startup with an USB modem plugged in would often
result in this modem not being switched correctly if USB host controller
modules are loaded via the "modules" service.

Gentoo-Bug: https://bugs.gentoo.org/565262
Fixes: https://github.com/gentoo/gentoo/pull/3389
Package-Manager: Portage-2.3.3, Repoman-2.3.1
(cherry picked from commit 1cede4c86a4e691cd51f82aad27c2a4e543cacdd)
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 .../files/usb_modeswitch.sh-tmpdir.patch               | 18 ++++++++++++++++++
 ...tch-2.4.0.ebuild => usb_modeswitch-2.4.0-r1.ebuild} |  3 ++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/sys-apps/usb_modeswitch/files/usb_modeswitch.sh-tmpdir.patch 
b/sys-apps/usb_modeswitch/files/usb_modeswitch.sh-tmpdir.patch
new file mode 100644
index 00000000..5039d44
--- /dev/null
+++ b/sys-apps/usb_modeswitch/files/usb_modeswitch.sh-tmpdir.patch
@@ -0,0 +1,18 @@
+Script that this patch modifies and usb_modeswitch_dispatcher Tcl script
+that is being called by it both need a writable temporary directory which
+is a problematic requirement for example if usb_modeswitch is triggered
+by a module loaded during system startup.
+Fortunately, /run is available very early at boot so let's redirect them
+there instead.
+
+--- a/usb_modeswitch.sh        2016-11-29 17:29:47.000000000 +0100
++++ b/usb_modeswitch.sh        2016-11-30 01:11:51.747993839 +0100
+@@ -17,6 +17,8 @@
+       return 0
+ }
+ 
++export TMPDIR=/run
++
+ if [ $(expr "$1" : "--.*") ]; then
+       p_id=$4
+       if [ -z $p_id ]; then

diff --git a/sys-apps/usb_modeswitch/usb_modeswitch-2.4.0.ebuild 
b/sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild
similarity index 94%
rename from sys-apps/usb_modeswitch/usb_modeswitch-2.4.0.ebuild
rename to sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild
index ceb9bfd..74132f3 100644
--- a/sys-apps/usb_modeswitch/usb_modeswitch-2.4.0.ebuild
+++ b/sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -37,6 +37,7 @@ CONFIG_CHECK="~USB_SERIAL"
 
 src_prepare() {
        sed -i -e '/install.*BIN/s:-s::' Makefile || die
+       epatch "${FILESDIR}/usb_modeswitch.sh-tmpdir.patch"
 }
 
 src_compile() {

Reply via email to