source: postlfs/security/gpgme.xml@ f71b76a9

12.1 12.2 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128
Last change on this file since f71b76a9 was 4395529, checked in by Bruce Dubbs <bdubbs@…>, 12 months ago

Adjust and continue using entities fo rpip3 commands

  • Property mode set to 100644
File size: 9.6 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 gpgme-download-http "&gnupg-http;/gpgme/gpgme-&gpgme-version;.tar.bz2">
8 <!ENTITY gpgme-download-ftp "&gnupg-ftp;/gpgme/gpgme-&gpgme-version;.tar.bz2">
9 <!ENTITY gpgme-download-ftp " ">
10 <!ENTITY gpgme-md5sum "828b8a1f9992826d7ad43741b349db01">
11 <!ENTITY gpgme-size "1.6 MB">
12 <!ENTITY gpgme-buildsize "307 MB (with tests)">
13 <!ENTITY gpgme-time "1.6 SBU (with all bindings and tests; with parallelism=4)">
14]>
15
16<sect1 id="gpgme" xreflabel="GPGME-&gpgme-version;">
17 <?dbhtml filename="gpgme.html"?>
18
19
20 <title>GPGME-&gpgme-version;</title>
21
22 <indexterm zone="gpgme">
23 <primary sortas="a-GPGME">GPGME</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to GPGME</title>
28
29 <para>
30 The <application>GPGME</application> package is a C library
31 that allows cryptography support to be added to a
32 program. It is designed to make access to public key crypto
33 engines like <application>GnuPG</application> or GpgSM easier
34 for applications. <application>GPGME</application> provides
35 a high-level crypto API for encryption, decryption, signing,
36 signature verification and key management.
37 </para>
38
39 &lfs120_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&gpgme-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&gpgme-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &gpgme-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &gpgme-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &gpgme-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &gpgme-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74<!--
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Recommended patch (required if SWIG is installed):
80 <ulink url="&patch-root;/gpgme-&gpgme-version;-gpg_error_1_46-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84-->
85 <bridgehead renderas="sect3">GPGME Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Required</bridgehead>
88 <para role="required">
89 <xref linkend="libassuan"/>
90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <xref linkend="doxygen"/> and
95 <xref linkend="graphviz"/> (for API documentation),
96 <xref linkend="gnupg2"/> (required if Qt or SWIG are installed;
97 used during the test suite),
98 <xref linkend="clisp"/>,<!--
99gpgme can still use python 2.7, but can use python3 as well,
100so do not advertise python2
101 <xref linkend="python2"/>,-->
102 &qt5-deps;, and
103 <xref linkend="swig"/> (for language bindings)
104 </para>
105
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of GPGME</title>
110
111 <para>
112 Install <application>GPGME</application> by running the following
113 commands:
114 </para>
115<!--gpgme 1.22 FTBFS when building in tree. Upstream thinks building
116 should be done out of tree, but this is not in the doc yet
117 https://github.com/gpg/gpgme/commit/24a8c279da98fe7e586a9fc3cd91175c9e60ffef
118 -->
119<screen><userinput>mkdir build &amp;&amp;
120cd build &amp;&amp;
121
122../configure --prefix=/usr --disable-gpg-test &amp;&amp;
123make PYTHONS=</userinput></screen>
124
125 <para>
126 If <xref linkend='swig'/> is installed, build the Python 3 binding as
127 a wheel:
128 </para>
129
130<screen><userinput>if swig -version > /dev/null; then
131 srcdir=$PWD/../lang/python \
132 top_builddir=$PWD \
133 &build-wheel-cmd; $PWD/lang/python
134fi</userinput></screen>
135
136 <para>
137 To test the results, you should have <xref linkend="gnupg2"/> installed
138 and remove the <option>--disable-gpg-test</option> above. If
139 <xref linkend='swig'/> is installed, it's necessary to adapt the
140 test suite to use the Python 3 binding just built as a wheel as well.
141 Issue:
142 </para>
143
144<screen remap='test'><userinput>if swig -version > /dev/null; then
145 python3 -m venv testenv &amp;&amp;
146 testenv/bin/pip3 install --no-index --find-links=dist --no-cache-dir \
147 gpg &amp;&amp;
148 sed '/PYTHON/s#run-tests.py#&amp; --python-libdir=/dev/null#' \
149 -i lang/python/tests/Makefile
150fi &amp;&amp;
151
152make -k check PYTHONS= PYTHON=$PWD/testenv/bin/python3</userinput></screen>
153
154 <para>
155 Now, as the <systemitem class="username">root</systemitem> user:
156 </para>
157
158<screen role="root"><userinput>make install PYTHONS=</userinput></screen>
159
160 <para>
161 If <xref linkend='swig'/> is installed, still as the &root; user,
162 install the Python 3 binding:
163 </para>
164
165<screen role="root"><userinput>if swig -version > /dev/null; then
166 &install-wheel; gpg
167fi</userinput></screen>
168
169 </sect2>
170
171 <sect2 role="commands">
172 <title>Command Explanations</title>
173
174 <para>
175 <parameter>--disable-gpg-test</parameter>: if this parameter is not
176 passed to configure, the test programs are built during
177 <command>make</command> stage, which requires <xref linkend="gnupg2"/>.
178 This parameter is not needed if <xref linkend="gnupg2"/> is installed.
179 </para>
180
181 <para>
182 <parameter>PYTHONS=</parameter>: Disable building Python binding
183 using the deprecated <command>python3 setup.py build</command>
184 command. The explicit instruction to build the Python 3 binding with
185 the <command>pip3 wheel</command> command is provided.
186 </para>
187
188 </sect2>
189
190 <sect2 role="content">
191 <title>Contents</title>
192
193 <segmentedlist>
194 <segtitle>Installed Program</segtitle>
195 <segtitle>Installed Libraries</segtitle>
196 <segtitle>Installed Directory</segtitle>
197
198 <seglistitem>
199 <seg>
200 gpgme-json, and gpgme-tool
201 </seg>
202 <seg>
203 libgpgme.so, libgpgmepp.so, and libqgpgme.so
204 </seg>
205 <seg>
206 /usr/include/{gpgme++,qgpgme,QGpgME},
207 /usr/lib/cmake/{Gpgmepp,QGpgme}.
208 /usr/lib/python&python3-majorver;/site-packages/gpg{,-&gpgme-version;.dist-info}, and
209 /usr/share/common-lisp/source/gpgme
210 </seg>
211 </seglistitem>
212 </segmentedlist>
213
214 <variablelist>
215 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
216 <?dbfo list-presentation="list"?>
217 <?dbhtml list-presentation="table"?>
218
219 <varlistentry id="gpgme-json">
220 <term><command>gpgme-json</command></term>
221 <listitem>
222 <para>
223 outputs <application>GPGME</application> commands in JSON format
224 </para>
225 <indexterm zone="gpgme gpgme-json">
226 <primary sortas="b-gpgme-json">gpgme-json</primary>
227 </indexterm>
228 </listitem>
229 </varlistentry>
230
231 <varlistentry id="gpgme-tool">
232 <term><command>gpgme-tool</command></term>
233 <listitem>
234 <para>
235 is an assuan server exposing <application>GPGME</application>
236 operations, such as printing fingerprints and keyids with
237 keyservers
238 </para>
239 <indexterm zone="gpgme gpgme-tool">
240 <primary sortas="b-gpgme-tool">gpgme-tool</primary>
241 </indexterm>
242 </listitem>
243 </varlistentry>
244
245 <!-- As of 1.13.1, this library isn't present anymore.
246 <varlistentry id="libgpgme-pthread">
247 <term><filename class="libraryfile">libgpgme-pthread.so</filename></term>
248 <listitem>
249 <para>
250 contains the <application>GPGME</application> API functions for
251 applications using pthread.
252 </para>
253 <indexterm zone="gpgme libgpgme-pthread">
254 <primary sortas="c-libgpgme-pthread">libgpgme-pthread.so</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258 -->
259
260 <varlistentry id="libgpgme">
261 <term><filename class="libraryfile">libgpgme.so</filename></term>
262 <listitem>
263 <para>
264 contains the <application>GPGME</application> API functions
265 </para>
266 <indexterm zone="gpgme libgpgme">
267 <primary sortas="c-libgpgme">libgpgme.so</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="libgpgmepp">
273 <term><filename class="libraryfile">libgpgmepp.so</filename></term>
274 <listitem>
275 <para>
276 contains the C++ <application>GPGME</application> API functions
277 </para>
278 <indexterm zone="gpgme libgpgmepp">
279 <primary sortas="c-libgpgmepp">libgpgmepp.so</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="libqgpgme">
285 <term><filename class="libraryfile">libqgpgme.so</filename></term>
286 <listitem>
287 <para>
288 contains API functions for handling GPG operations in
289 <application>Qt</application> applications
290 </para>
291 <indexterm zone="gpgme libqgpgme">
292 <primary sortas="c-libqgpgme">libqgpgme.so</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 </variablelist>
298
299 </sect2>
300
301</sect1>
Note: See TracBrowser for help on using the repository browser.