UPower-1.90.0

Introduction to UPower

The UPower package provides an interface for enumerating power devices, listening to device events and querying history and statistics. Any application or service on the system can access the org.freedesktop.UPower service via the system message bus.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

UPower Dependencies

Required

libgudev-237, libusb-1.0.26, and Polkit-121

Optional (Required if building GNOME)

gobject-introspection-1.74.0

Optional

GTK-Doc-1.33.2, PyGObject-3.42.2, dbusmock-0.28.4, umockdev-0.17.13 (for part of the test suite), and libimobiledevice

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/upower

Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

General Setup --->
    [*] Namespaces support --->     [CONFIG_NAMESPACES]
       [*] User namespace           [CONFIG_USER_NS]

Installation of UPower

First, remove an unneeded dependency from a test:

sed '/parse_version/d' -i src/linux/integration-test.py

Install UPower by running the following commands:

mkdir build                         &&
cd    build                         &&
meson --prefix=/usr       \
      --buildtype=release \
      -Dgtk-doc=false     \
      -Dman=false         \
      ..                            &&
ninja

To test the results, issue: LC_ALL=C ninja test. Some checks may not pass due to missing files. Test suite should be run from a local GUI session started with dbus-launch.

Now, as the root user:

ninja install

Command Explanations

-Dgtk-doc=false: Prevents building the documentation. Remove this if you have GTK-Doc installed and wish to build the documentation.

-Dman=false: Prevents building the manual pages. Remove this if you have GTK-Doc installed and wish to build the manual pages.

Configuring UPower

Systemd Unit

To start the UPower service at boot, enable the previously installed systemd unit by running the following command as the root user:

systemctl enable upower

Contents

Installed Program: upower
Installed Libraries: libupower-glib.so
Installed Directories: /etc/UPower, /usr/include/libupower-glib, and /var/lib/upower

Short Descriptions

upower

is the UPower command line tool

libupower-glib.so

contains the UPower API functions