source: general/sysutils/upower.xml@ eb9f0ef

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since eb9f0ef was fe04ab5, checked in by Douglas R. Reno <renodr@…>, 11 months ago

Update to upower-1.90.2. Patch by Rahul Chandra.

This update needs libgudev-238 to go in alongside it as it depends on
the newline stripping fix.

  • Property mode set to 100644
File size: 10.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY upower-download-http "https://gitlab.freedesktop.org/upower/upower/-/archive/v&upower-version;/upower-v&upower-version;.tar.bz2">
8 <!ENTITY upower-download-ftp " ">
9 <!ENTITY upower-md5sum "bfd6e3275e61d7e097b53eb2b216fffa">
10 <!ENTITY upower-size "136 KB">
11 <!ENTITY upower-buildsize "6.5 MB (add 1.1 MB for tests)">
12 <!ENTITY upower-time "less than 0.1 SBU (using parallelism=4, add 0.6 SBU for tests)">
13]>
14
15<sect1 id="upower" xreflabel="UPower-&upower-version;">
16 <?dbhtml filename="upower.html"?>
17
18
19 <title>UPower-&upower-version;</title>
20
21 <indexterm zone="upower">
22 <primary sortas="a-UPower">UPower</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to UPower</title>
27
28 <para>
29 The <application>UPower</application> package provides an interface for
30 enumerating power devices, listening to device events and querying history
31 and statistics. Any application or service on the system can access the
32 org.freedesktop.UPower service via the system message bus.
33 </para>
34
35 &lfs113_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&upower-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&upower-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &upower-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &upower-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &upower-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &upower-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">UPower Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
75 <xref linkend="libgudev"/>,
76 <xref linkend="libusb"/>, and
77 <xref linkend="polkit"/>
78 </para>
79
80 <bridgehead renderas="sect4">Optional (Required if building GNOME)</bridgehead>
81 <para role="optional">
82 <xref linkend="gobject-introspection"/>
83 </para>
84
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="gtk-doc"/>,
88 <xref linkend="libxslt"/>,
89 <xref linkend="docbook-xsl"/>,
90 <xref linkend="pygobject3"/>,
91 <xref linkend="python-dbusmock"/>,
92 <xref linkend="umockdev"/> (for part of the test suite), and
93 <ulink url="https://libimobiledevice.org/">libimobiledevice</ulink>
94 </para>
95
96 </sect2>
97
98 <sect2 role="kernel" id="upower-kernel" revision="systemd">
99 <!-- With UPower-0.9.11's hardening of the systemd unit file,
100 User Namespace Support (CONFIG_USER_NS) is now required. Without this,
101 you will get "ERROR 213/USER" out of a 'systemctl start upower'. -->
102 <title>Kernel Configuration</title>
103
104 <para>
105 Enable the following options in the kernel configuration and recompile the
106 kernel if necessary:
107 </para>
108
109 <screen><literal>General Setup ---&gt;
110 [*] Namespaces support ---&gt; [CONFIG_NAMESPACES]
111 [*] User namespace [CONFIG_USER_NS]</literal></screen>
112
113 <indexterm zone="upower upower-kernel">
114 <primary sortas="d-upower">upower</primary>
115 </indexterm>
116 </sect2>
117
118 <sect2 role="installation">
119 <title>Installation of UPower</title>
120
121 <para>
122 First, remove an unneeded dependency from a test:
123 </para>
124
125<screen><userinput>sed '/parse_version/d' -i src/linux/integration-test.py</userinput></screen>
126
127 <para>
128 Install <application>UPower</application> by running the following
129 commands:
130 </para>
131
132<screen revision="sysv"><userinput>mkdir build &amp;&amp;
133cd build &amp;&amp;
134
135meson setup .. \
136 --prefix=/usr \
137 --buildtype=release \
138 -Dgtk-doc=false \
139 -Dman=false \
140 -Dsystemdsystemunitdir=no \
141 -Dudevrulesdir=/usr/lib/udev/rules.d &amp;&amp;
142ninja</userinput></screen>
143
144<screen revision="systemd"><userinput>mkdir build &amp;&amp;
145cd build &amp;&amp;
146meson setup .. \
147 --prefix=/usr \
148 --buildtype=release \
149 -Dgtk-doc=false \
150 -Dman=false &amp;&amp;
151ninja</userinput></screen>
152
153 <!-- On my system with LANG=zh_CN.UTF-8, one test attempted to compare
154 Chinese error message with English references and failed.
155 LC_ALL=C fixes the problem. -->
156 <!-- Headphone hotplug (bluetooth and AUX) was tested and seems to work
157 okay even with the test faliures. Maybe it's wants headphones plugged
158 in during the test? Regardless, it can be safely ignored. -->
159 <para>
160 To test the results, issue: <command>LC_ALL=C ninja test</command>. Some
161 checks may not pass due to missing files. Test suite should be run from
162 a local GUI session started with dbus-launch. 2 tests relating to the
163 headphone hotplug feature are known to fail, these can be safely ignored
164 as the headphone functionality does still work.
165 </para>
166
167 <para>
168 Now, as the <systemitem class="username">root</systemitem> user:
169 </para>
170
171<screen role="root"><userinput>ninja install</userinput></screen>
172
173 </sect2>
174
175 <sect2 role="commands">
176 <title>Command Explanations</title>
177
178 <para>
179 <parameter>-Dgtk-doc=false</parameter>: Prevents building the
180 documentation. Remove this if you have <application>GTK-Doc</application>
181 installed and wish to build the documentation.
182 </para>
183
184 <para>
185 <parameter>-Dman=false</parameter>: Prevents building the
186 manual pages. Remove this if you have <xref linkend='libxslt'/> and
187 <xref linkend='docbook-xsl'/> installed and wish to build the manual
188 pages.
189 </para>
190
191 <para revision="sysv">
192 <parameter>-Dsystemdsystemunitdir=no</parameter>: Removes
193 the dependency on <application>systemd</application>.
194 </para>
195
196 <para revision="sysv">
197 <parameter>-Dudevrulesdir=/usr/lib/udev/rules.d</parameter>: Tells
198 the build system where to install <application>udev</application>
199 rules because the information is missing in
200 <filename>/usr/lib/pkgconfig/libudev.pc</filename>
201 </para>
202
203 </sect2>
204
205 <sect2 role="configuration" revision="systemd">
206
207 <title>Configuring UPower</title>
208<!-- timer statistics have been removed from kernel (since 4.11)
209 I do not know if there is a replacement. See
210 https://patchwork.kernel.org/patch/9561519
211 and https://bugs.freedesktop.org/show_bug.cgi?id=100626
212
213 <para>
214 To use the command <command>upower -w</command> for information about
215 processor wakeups (this command is used by <phrase revision="sysv">
216 <ulink url="&gnome-download-http;/gnome-power-manager/">gnome-power-manager</ulink></phrase><phrase revision="systemd"><xref linkend="gnome-power-manager"/></phrase>)
217 you need to enable CONFIG_TIMER_STATS. This is achieved in
218 <command>make menuconfig</command> by going to the &apos;kernel-hacking&apos;
219 menu and selecting &apos;Collect kernel timers statistics&apos;.
220 </para>
221-->
222 <sect3 id="upower-init">
223 <title>Systemd Unit</title>
224
225 <para>
226 To start the <command>UPower</command> service at boot,
227 enable the previously installed systemd unit by
228 running the following command as the
229 <systemitem class="username">root</systemitem> user:
230 </para>
231
232 <indexterm zone="upower upower-init">
233 <primary sortas="f-upower">upower</primary>
234 </indexterm>
235
236<screen role="root"><userinput>systemctl enable upower</userinput></screen>
237
238 </sect3>
239
240 </sect2>
241
242 <sect2 role="content">
243 <title>Contents</title>
244
245 <segmentedlist>
246 <segtitle>Installed Program<!--
247See below... <phrase revision="systemd">s</phrase>--></segtitle>
248 <segtitle>Installed Libraries</segtitle>
249 <segtitle>Installed Directories</segtitle>
250
251 <seglistitem>
252 <seg>
253 upower
254<!-- <phrase revision="systemd"> and upowerd</phrase>
255Upowerd should not be listed, as it is in /usr/libexec, and is not supposed
256to be run by a user. Furthermore, upowerd is also in sysv, and there is no
257reason so single out systemd here. -->
258 </seg>
259 <seg>
260 libupower-glib.so
261 </seg>
262 <seg>
263 /etc/UPower,
264 /usr/include/libupower-glib, and
265 /var/lib/upower
266 </seg>
267 </seglistitem>
268 </segmentedlist>
269
270 <variablelist>
271 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
272 <?dbfo list-presentation="list"?>
273 <?dbhtml list-presentation="table"?>
274
275 <varlistentry id="upower-prog">
276 <term><command>upower</command></term>
277 <listitem>
278 <para>
279 is the <application>UPower</application> command line tool
280 </para>
281 <indexterm zone="upower upower-prog">
282 <primary sortas="b-upower">upower</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286<!-- See above
287 <varlistentry id="upowerd" revision="systemd">
288 <term><command>upowerd</command></term>
289 <listitem>
290 <para>
291 is the <application>UPower</application> Daemon. It provides the
292 org.freedesktop.UPower service on the system message bus.
293 </para>
294 <indexterm zone="upower upowerd">
295 <primary sortas="b-upowerd">upowerd</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>-->
299
300 <varlistentry id="libupower-glib">
301 <term><filename class="libraryfile">libupower-glib.so</filename></term>
302 <listitem>
303 <para>
304 contains the <application>UPower</application> API functions
305 </para>
306 <indexterm zone="upower libupower-glib">
307 <primary sortas="c-libupower-glib">libupower-glib.so</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 </variablelist>
313
314 </sect2>
315
316</sect1>
Note: See TracBrowser for help on using the repository browser.