Commit Graph
22 Commits
Author SHA1 Message Date
Dylan Van Assche ba96ccc615 build: make tests optional
Add a meson option -Dtests and --without-tests automake option
to disable the compilation of all available testcases.
This is useful for compiling projects with Flatpak such as
GNOME Control Center which disables all possible integrations since they
only need the DBus part of ModemManager.

Contributes to https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1392
2022-07-25 11:01:51 +02:00
Aleksander Morgado 7960b365d5 data: add example connection dispatcher
Just a minimal example that prints the events in syslog
2022-04-05 08:14:53 +00:00
Aleksander Morgado 99232154b3 build: rename directory where fcc unlocks are kept 2022-04-05 08:14:53 +00:00
Aleksander Morgado e7a6bb7504 data,fcc-unlock: add example unlock scripts
Added scripts for Foxconn SDX55, Quectel EM120, and several old Sierra
Wireless manufactured devices:
 * Installed but not used by default, the user needs to setup manual
   links from ${pkgdatadir}/fcc-unlock.available.d, to
   ${pkgsysconfdir}/fcc-unlock.d in order to enable them.
 * Installed with rights only for the owner, so that the dispatcher in
   ModemManager can validate them.
 * They rely on $PATH to find the qmicli/mbimcli tools.

In addition to these scripts, per-vid:pid links are created in the
same ${pkgdatadir}/fcc-unlock.available.d directory, specifying which
are the specific devices that require the FCC unlock operation.

This patch also creates the ${pkgsysconfdir}/fcc-unlock.d and
${pkglibdir}/fcc-unlock.d directories where ModemManager looks for the
enabled tools.

Note that the meson setup doesn't support creating/deleting links
officially yet, so we use a workaround using meson.add_install_script
that is not perfect (i.e. doesn't handle the symlink removal during
uninstall). See https://github.com/mesonbuild/meson/issues/1602
2021-11-18 11:20:41 +01:00
Aleksander Morgado 55c3f7d3f6 systemd: always start MM after polkit service if enabling policy
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/113
2019-10-11 08:40:37 +00:00
Aleksander Morgado 984625165e i18n: deprecate intltool and use only gettext 0.19.8
Instead of mixing both intltool and gettext, which not always work
correctly together, this patch obsoletes intltool and uses only
gettext, which includes support for translating XML files with ITS
rules.

See migration steps for GNOME projects here:
  https://wiki.gnome.org/MigratingFromIntltoolToGettext

The gettext ITS rules for polkit policy files are imported from the
upstream polkit repository. We don't use the polkit-installed rule
files yet because there is no tagged release that contains those files
yet, so we cannot build-depend on any specific polkit version.
  https://bugs.freedesktop.org/show_bug.cgi?id=96940
2017-09-07 13:04:34 +02:00
Aleksander Morgado 46ff06ff80 service,tests: new DBus service file for tests 2014-02-13 13:41:17 +01:00
Aleksander Morgado 74056e02ce build: fix dbus activation file generation
https://bugzilla.gnome.org/show_bug.cgi?id=704711
2013-07-23 11:04:29 +02:00
Aleksander Morgado 223db868a8 dbus: no need for systemd and nosystemd setups of the service file
We can just merge them.
2013-06-23 12:08:03 +02:00
Aleksander Morgado ce6777c53b Revert "systemd: simplify unit file"
This reverts commit 91898aa8b0.

See additional comments in the following bug:

  https://bugzilla.gnome.org/show_bug.cgi?id=701229

Basically, 'mask' and 'unmask' operations are not the ones we should be using
or suggesting; and the Alias= for the DBus file is the correct way to go.
2013-06-23 11:47:41 +02:00
Aleksander Morgado 0c7265de29 build: new strict & permissive polkit policies in '--with-polkit'
The '--with-polkit' configure switch now supports more options than just yes
or no:

 * strict: Active user needs to explicitly authenticate when peforming an
   operation defined in the Device.Control, Messaging, Location or Contacts
   interfaces. Polkit policy is set to 'auth_self_keep'.

 * permissive: Active user doesn't need to explicitly authenticate when
   peforming an operation defined in the Device.Control, Messaging, Location or
   Contacts interfaces. Polkit policy is set to 'yes'.

 * none: don't use polkit.

If '--with-polkit' is not given, usage will be automatically decided based on
the presence of the Polkit headers in the system (if headers found, strict
policy will be applied, otherwise none).

Also:
 * '--with-polkit' is equivalent to '--with-polkit=strict'
 * '--with-polkit=yes' is equivalent to '--with-polkit=strict'
 * '--with-polkit=no' is equivalent to '--with-polkit=none'
 * '--without-polkit' is equivalent to '--with-polkit=none'

By default, ModemManager will always apply the strict policy, in order to
protect the user from unwanted operations in the modem (e.g. getting the PIN
locked forever after wrong PIN/PUK unlock attempts).

https://bugzilla.gnome.org/show_bug.cgi?id=701740
2013-06-13 09:21:52 +02:00
Aleksander Morgado a00f1d7428 build: fix distcheck 2013-06-06 10:16:22 +02:00
Aleksander Morgado 91898aa8b0 systemd: simplify unit file
Avoid setting up the Alias rule, which was a helper to let us 'disable' the
systemd service including dbus-activations. Without the Alias, 'disable' will
still let starting ModemManager through dbus-activation. If you really want to
fully disallow starting MM also through dbus-activation, you should 'mask' and
'unmask' the service.

E.g.:
 $ sudo systemctl mask ModemManager
ln -s '/dev/null' '/etc/systemd/system/ModemManager.service'

 $ sudo mmcli -L
error: couldn't find the ModemManager process in the bus

 $ sudo systemctl unmask ModemManager
rm '/etc/systemd/system/ModemManager.service'

 $ sudo mmcli -L
No modems were found

https://bugzilla.gnome.org/show_bug.cgi?id=701229
2013-06-06 10:07:17 +02:00
Aleksander Morgado 3ed1cb2e1d docs: don't require 'dia' to build the docs
These diagrams are not expected to change much, so just include the generated
PNGs in the repository, and remove 'dia' from the prerequisites to build the
documentation.
2013-05-26 19:16:39 +02:00
Aleksander Morgado 222825d642 systemd: include systemd unit file support
Allow having systemd handling the life cycle of the ModemManager process.
2013-02-06 17:32:59 +01:00
Aleksander Morgado 86ff6b35c3 data: include ModemManager logo images 2012-10-04 11:13:49 +02:00
Aleksander Morgado b6d628b3a1 build: merge libmm-common into libmm-glib
It's pointless to have libmm-common around, just merge it into libmm-glib and
make ModemManager depend on libmm-glib directly. At the end, the non-common
stuff in libmm-glib is really minimal.
2012-10-04 10:17:05 +02:00
Aleksander Morgado 6fa3f0b0d7 build: provide pkg-config files for ModemManager, libmm-common and libmm-glib 2012-05-24 09:59:53 +02:00
Aleksander Morgado 7d9d003324 build: rename the binary from modem-manager' to ModemManager' 2012-03-16 14:53:17 +01:00
Aleksander Morgado e68db23a97 introspection: setup all new files and remove old ones 2012-03-16 14:53:17 +01:00
Aleksander Morgado 1e79a2d292 build: install DBus service and data files for the new API 2012-03-15 14:14:19 +01:00
Aleksander Morgado 8d97538c72 build: setup all data (polkit, icon, dbus...) in the same `data' directory
Also fixed dist when not using polkit, the icon was no longer included in the
tarball.
2012-03-15 14:14:19 +01:00