summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>2017-01-08 23:47:56 +0100
committerRobin H. Johnson <robbat2@gentoo.org>2017-02-03 13:47:32 -0800
commit2e2ceb709324edec7baf64370ba3d3070e8d43f2 (patch)
tree277ce2efb53968b86cc181efc478e1f2a34925a8 /sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild
parentsys-fs/squashfs-tools: fix build with musl (diff)
downloadgentoo-2e2ceb709324edec7baf64370ba3d3070e8d43f2.tar.gz
gentoo-2e2ceb709324edec7baf64370ba3d3070e8d43f2.tar.bz2
gentoo-2e2ceb709324edec7baf64370ba3d3070e8d43f2.zip
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@gentoo.org>
Diffstat (limited to 'sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild')
-rw-r--r--sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild68
1 files changed, 68 insertions, 0 deletions
diff --git a/sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild b/sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild
new file mode 100644
index 000000000000..74132f36d153
--- /dev/null
+++ b/sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils linux-info toolchain-funcs udev systemd
+
+MY_PN=${PN/_/-}
+MY_P=${MY_PN}-${PV/_p*}
+#DATA_VER=${PV/*_p}
+DATA_VER="20160803"
+
+DESCRIPTION="A tool for controlling 'flip flop' (multiple devices) USB gear like UMTS sticks"
+HOMEPAGE="http://www.draisberghof.de/usb_modeswitch/ http://www.draisberghof.de/usb_modeswitch/device_reference.txt"
+SRC_URI="http://www.draisberghof.de/${PN}/${MY_P}.tar.bz2
+ http://www.draisberghof.de/${PN}/${MY_PN}-data-${DATA_VER}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="jimtcl"
+
+COMMON_DEPEND="
+ virtual/udev
+ virtual/libusb:1
+"
+RDEPEND="${COMMON_DEPEND}
+ jimtcl? ( dev-lang/jimtcl )
+ !jimtcl? ( dev-lang/tcl:0 )" # usb_modeswitch script is tcl
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+CONFIG_CHECK="~USB_SERIAL"
+
+src_prepare() {
+ sed -i -e '/install.*BIN/s:-s::' Makefile || die
+ epatch "${FILESDIR}/usb_modeswitch.sh-tmpdir.patch"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ SYSDIR="${D}/$(systemd_get_unitdir)" \
+ UDEVDIR="${D}/$(get_udevdir)" \
+ $(usex jimtcl install-shared install)
+
+ # Even if we set SYSDIR above, the Makefile is causing automagic detection of `systemctl` binary,
+ # which is why we need to force the .service file to be installed:
+ systemd_dounit ${PN}@.service
+
+ dodoc ChangeLog README
+
+ pushd ../${MY_PN}-data-${DATA_VER} >/dev/null
+ emake \
+ DESTDIR="${D}" \
+ RULESDIR="${D}/$(get_udevdir)/rules.d" \
+ files-install db-install
+ docinto data
+ dodoc ChangeLog README
+ popd >/dev/null
+}