diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2013-07-24 13:40:30 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2013-07-24 13:40:30 +0000 |
commit | 4cc6ffe3057edf2ea6ae34064a91ab7575dcb82c (patch) | |
tree | 06ad591a2598126f2add585c244860f836c245cd /net-misc/modemmanager | |
parent | Added keyword ~amd64, cleaned old (diff) | |
download | gentoo-2-4cc6ffe3057edf2ea6ae34064a91ab7575dcb82c.tar.gz gentoo-2-4cc6ffe3057edf2ea6ae34064a91ab7575dcb82c.tar.bz2 gentoo-2-4cc6ffe3057edf2ea6ae34064a91ab7575dcb82c.zip |
Update plugdev polkit rules for modemmanager's dbus interface changes.
(Portage version: 2.2.0_alpha188/cvs/Linux x86_64, signed Manifest commit with key CF0ADD61)
Diffstat (limited to 'net-misc/modemmanager')
-rw-r--r-- | net-misc/modemmanager/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/modemmanager/files/01-org.freedesktop.ModemManager1.rules | 7 | ||||
-rw-r--r-- | net-misc/modemmanager/modemmanager-1.0.0-r2.ebuild | 103 |
3 files changed, 117 insertions, 1 deletions
diff --git a/net-misc/modemmanager/ChangeLog b/net-misc/modemmanager/ChangeLog index 14fad7891e2d..12fd40593f5e 100644 --- a/net-misc/modemmanager/ChangeLog +++ b/net-misc/modemmanager/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-misc/modemmanager # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/modemmanager/ChangeLog,v 1.56 2013/07/24 05:40:11 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/modemmanager/ChangeLog,v 1.57 2013/07/24 13:40:30 tetromino Exp $ + +*modemmanager-1.0.0-r2 (24 Jul 2013) + + 24 Jul 2013; Alexandre Rostovtsev <tetromino@gentoo.org> + +modemmanager-1.0.0-r2.ebuild, +files/01-org.freedesktop.ModemManager1.rules: + Update plugdev polkit rules for modemmanager's dbus interface changes. *modemmanager-1.0.0-r1 (24 Jul 2013) diff --git a/net-misc/modemmanager/files/01-org.freedesktop.ModemManager1.rules b/net-misc/modemmanager/files/01-org.freedesktop.ModemManager1.rules new file mode 100644 index 000000000000..7fca6472611e --- /dev/null +++ b/net-misc/modemmanager/files/01-org.freedesktop.ModemManager1.rules @@ -0,0 +1,7 @@ +// Let users in plugdev group modify ModemManager +polkit.addRule(function(action, subject) { + if (/^org\.freedesktop\.ModemManager1\.(Device\.Control|Contacts|Messaging|Location)$/.test(action.id) && + subject.isInGroup("plugdev") && subject.active) { + return "yes"; + } +}); diff --git a/net-misc/modemmanager/modemmanager-1.0.0-r2.ebuild b/net-misc/modemmanager/modemmanager-1.0.0-r2.ebuild new file mode 100644 index 000000000000..8a699be8ac8c --- /dev/null +++ b/net-misc/modemmanager/modemmanager-1.0.0-r2.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/modemmanager/modemmanager-1.0.0-r2.ebuild,v 1.1 2013/07/24 13:40:30 tetromino Exp $ + +EAPI="5" +inherit autotools eutils user multilib readme.gentoo toolchain-funcs udev virtualx + +DESCRIPTION="Modem and mobile broadband management libraries" +HOMEPAGE="http://cgit.freedesktop.org/ModemManager/ModemManager/" +SRC_URI="http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0/1" # subslot = dbus interface version, i.e. N in org.freedesktop.ModemManager${N} +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="policykit +qmi qmi-newest" +REQUIRED_USE="qmi-newest? ( qmi )" + +RDEPEND=" + >=dev-libs/glib-2.32:2 + >=virtual/udev-147[gudev] + policykit? ( >=sys-auth/polkit-0.106[introspection] ) + qmi? ( >=net-libs/libqmi-1.4.0 ) +" +DEPEND="${RDEPEND} + dev-util/gdbus-codegen + >=dev-util/intltool-0.40 + sys-devel/gettext + virtual/pkgconfig +" + +S="${WORKDIR}/ModemManager-${PV}" + +src_prepare() { + DOC_CONTENTS="If your USB modem shows up as a Flash drive when you plug it in, + You should install sys-apps/usb_modeswitch which will automatically + switch it over to USB modem mode whenever you plug it in.\n" + + if use policykit; then + DOC_CONTENTS+="\nTo control your modem without needing to enter the root password, + add your user account to the 'plugdev' group." + fi + + # Fix dbus activation file generation, bug #477710 + epatch "${FILESDIR}/${P}-dbus-generation.patch" + + # Add logging to serial port open failures (from 1.0 branch) + epatch "${FILESDIR}/${P}-logging-serial.patch" + + epatch_user + eautoreconf +} + +src_configure() { + # We don't have mbim in the tree + econf \ + --disable-more-warnings \ + --with-udev-base-dir="$(udev_get_udevdir)" \ + --disable-static \ + --with-dist-version=${PVR} \ + $(use_with policykit polkit) \ + $(use_with qmi) \ + $(use_with qmi-newest newest-qmi-commands) \ + --without-mbim +} + +src_install() { + default + + # Allow users in plugdev group full control over their modem + if use policykit; then + insinto /usr/share/polkit-1/rules.d/ + doins "${FILESDIR}"/01-org.freedesktop.ModemManager1.rules + fi + + prune_libtool_files --modules + + readme.gentoo_create_doc +} + +pkg_postinst() { + use policykit && enewgroup plugdev + + # The polkit rules file moved to /usr/share + old_rules="${EROOT}etc/polkit-1/rules.d/01-org.freedesktop.ModemManager.rules" + if [[ -f "${old_rules}" ]]; then + case "$(md5sum ${old_rules})" in + c5ff02532cb1da2c7545c3069e5d0992* | 5c50f0dc603c0a56e2851a5ce9389335* ) + # Automatically delete the old rules.d file if the user did not change it + elog + elog "Removing old ${old_rules} ..." + rm -f "${old_rules}" || eerror "Failed, please remove ${old_rules} manually" + ;; + * ) + elog "The ${old_rules}" + elog "file moved to /usr/share/polkit-1/rules.d/ in >=modemmanager-0.5.2.0-r2" + elog "If you edited ${old_rules}" + elog "without changing its behavior, you may want to remove it." + ;; + esac + fi + + readme.gentoo_print_elog +} |