summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2013-07-24 13:40:30 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2013-07-24 13:40:30 +0000
commit4cc6ffe3057edf2ea6ae34064a91ab7575dcb82c (patch)
tree06ad591a2598126f2add585c244860f836c245cd /net-misc/modemmanager
parentAdded keyword ~amd64, cleaned old (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--net-misc/modemmanager/files/01-org.freedesktop.ModemManager1.rules7
-rw-r--r--net-misc/modemmanager/modemmanager-1.0.0-r2.ebuild103
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
+}