diff options
author | Maciej S. Szmigiero <mail@maciej.szmigiero.name> | 2017-01-08 23:47:56 +0100 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2017-02-03 13:47:32 -0800 |
commit | 2e2ceb709324edec7baf64370ba3d3070e8d43f2 (patch) | |
tree | 277ce2efb53968b86cc181efc478e1f2a34925a8 /sys-apps/usb_modeswitch/usb_modeswitch-2.4.0-r1.ebuild | |
parent | sys-fs/squashfs-tools: fix build with musl (diff) | |
download | gentoo-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.ebuild | 68 |
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 +} |