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.
This package is known to build and work properly using an LFS 12.1 platform.
Download (HTTP): https://gitlab.freedesktop.org/upower/upower/-/archive/v1.90.2/upower-v1.90.2.tar.bz2
Download MD5 sum: bfd6e3275e61d7e097b53eb2b216fffa
Download size: 136 KB
Estimated disk space required: 6.5 MB (add 1.1 MB for tests)
Estimated build time: less than 0.1 SBU (using parallelism=4, add 0.6 SBU for tests)
libgudev-238 and libusb-1.0.27
GTK-Doc-1.33.2, libxslt-1.1.39, docbook-xsl-nons-1.79.2, PyGObject-3.46.0, dbusmock-0.30.2, umockdev-0.17.18 (for part of the test suite), and libimobiledevice
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 setup .. \ --prefix=/usr \ --buildtype=release \ -Dgtk-doc=false \ -Dman=false \ -Dsystemdsystemunitdir=no \ -Dudevrulesdir=/usr/lib/udev/rules.d && ninja
To test the results, issue: LC_ALL=C
ninja test. Some checks may not pass due to missing
files. The test suite should be run from a local GUI session
started with dbus-launch. On 32-bit machines, one test will fail
due to rounding errors: Tests.test_battery_energy_charge_mixed
. On some
systems, two tests relating to the headphone hotplug feature are
known to fail. Those can be safely ignored since the functionality
still works. The test named Tests.test_bluetooth_le_device
is known to fail
with dbusmock-0.30.1 or later.
Now, as the root
user:
ninja install
-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 libxslt-1.1.39 and
docbook-xsl-nons-1.79.2 installed and
wish to build the manual pages.
-Dsystemdsystemunitdir=no
:
Removes the dependency on systemd.
-Dudevrulesdir=/usr/lib/udev/rules.d
:
Tells the build system where to install udev rules because the information is missing
in /usr/lib/pkgconfig/libudev.pc