source: postlfs/security/gpgme.xml@ f4734425

12.2 lazarus trunk
Last change on this file since f4734425 was fa7203b, checked in by Xi Ruoyao <xry111@…>, 2 months ago

gpgme: Document a known failure

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