diff options
author | Jaco Kroon <jaco@uls.co.za> | 2021-02-26 01:20:54 +0200 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2021-03-15 22:19:37 +0100 |
commit | 48e417c84ea25f8d94fafb248954308d0ec4282e (patch) | |
tree | 711414970e88577d4a6399f2851957b40f945ee0 /net-misc | |
parent | net-analyzer/amap: Stabilize 5.4-r1 x86, #776505 (diff) | |
download | gentoo-48e417c84ea25f8d94fafb248954308d0ec4282e.tar.gz gentoo-48e417c84ea25f8d94fafb248954308d0ec4282e.tar.bz2 gentoo-48e417c84ea25f8d94fafb248954308d0ec4282e.zip |
net-misc/modemmanager: add init script
Closes: https://github.com/gentoo/gentoo/pull/19660
Closes: https://bugs.gentoo.org/604664
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/modemmanager/files/modemmanager.initd | 11 | ||||
-rw-r--r-- | net-misc/modemmanager/modemmanager-1.14.8-r1.ebuild | 132 |
2 files changed, 143 insertions, 0 deletions
diff --git a/net-misc/modemmanager/files/modemmanager.initd b/net-misc/modemmanager/files/modemmanager.initd new file mode 100644 index 000000000000..39c94591e5c1 --- /dev/null +++ b/net-misc/modemmanager/files/modemmanager.initd @@ -0,0 +1,11 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command=/usr/sbin/ModemManager +command_background=true +pidfile=/run/modemmanager.pid + +depend() { + need dbus +} diff --git a/net-misc/modemmanager/modemmanager-1.14.8-r1.ebuild b/net-misc/modemmanager/modemmanager-1.14.8-r1.ebuild new file mode 100644 index 000000000000..98c1d10adb11 --- /dev/null +++ b/net-misc/modemmanager/modemmanager-1.14.8-r1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +VALA_USE_DEPEND="vapigen" + +inherit gnome2 readme.gentoo-r1 systemd toolchain-funcs udev vala + +DESCRIPTION="Modem and mobile broadband management libraries" +HOMEPAGE="https://www.freedesktop.org/wiki/Software/ModemManager/" +SRC_URI="https://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 ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" + +IUSE="elogind +introspection mbim policykit +qmi systemd +udev vala" +REQUIRED_USE=" + ?? ( elogind systemd ) + vala? ( introspection ) +" + +DEPEND=" + >=dev-libs/glib-2.48.0:2 + udev? ( >=dev-libs/libgudev-230:= ) + introspection? ( >=dev-libs/gobject-introspection-0.9.6:= ) + mbim? ( >=net-libs/libmbim-1.24.0 ) + policykit? ( >=sys-auth/polkit-0.106[introspection] ) + qmi? ( >=net-libs/libqmi-1.26.0:= ) + elogind? ( sys-auth/elogind ) + systemd? ( >=sys-apps/systemd-209 ) +" +RDEPEND="${DEPEND} + policykit? ( acct-group/plugdev ) +" +BDEPEND=" + dev-util/gdbus-codegen + dev-util/glib-utils + >=dev-util/gtk-doc-am-1 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + vala? ( $(vala_depend) ) +" + +S="${WORKDIR}/ModemManager-${PV}" + +src_prepare() { + DOC_CONTENTS=" + If your USB modem shows up only as a storage device when you plug it in, + then 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 + + use vala && vala_src_prepare + gnome2_src_prepare +} + +src_configure() { + local myconf=( + --disable-Werror + --disable-static + --with-dist-version=${PVR} + --with-udev-base-dir="$(get_udevdir)" + $(use_with udev) + $(use_enable introspection) + $(use_with mbim) + $(use_with policykit polkit) + $(use_with systemd systemd-suspend-resume) + $(use_with systemd systemd-journal) + $(use_with qmi) + $(use_enable vala) + ) + if use elogind; then + local pkgconfig="$(tc-getPKG_CONFIG)" + myconf+=( + --with-systemd-suspend-resume + LIBSYSTEMD_LOGIN_CFLAGS="$(${pkgconfig} --cflags "libelogind")" + LIBSYSTEMD_LOGIN_LIBS="$(${pkgconfig} --libs "libelogind")" + ) + fi + gnome2_src_configure "${myconf[@]}" +} + +src_install() { + gnome2_src_install + + # 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 + + readme.gentoo_create_doc + + newinitd "${FILESDIR}/modemmanager.initd" modemmanager +} + +pkg_postinst() { + gnome2_pkg_postinst + + # 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 + + if ! use udev; then + ewarn "You have built ModemManager without udev support. You may have to teach it" + ewarn "about your modem port manually." + fi + + systemd_reenable ModemManager.service + + readme.gentoo_print_elog +} |