source: postlfs/security/gpgme.xml@ a16884c0

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since a16884c0 was e1e58be, checked in by Pierre Labastie <pierre.labastie@…>, 9 months ago

Remove all ftp urls

neither firefox nor epiphany can download them, and they are not
well maintained, because rarely tested.
This is WIP because the "(HTTP)" part of "Download (HTTP)" will
need to be removed too.
But let's see what users think first...

  • Property mode set to 100644
File size: 9.4 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 " ">
9 <!ENTITY gpgme-md5sum "828b8a1f9992826d7ad43741b349db01">
10 <!ENTITY gpgme-size "1.6 MB">
11 <!ENTITY gpgme-buildsize "307 MB (with tests)">
12 <!ENTITY gpgme-time "1.6 SBU (with all bindings and tests; with parallelism=4)">
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
28 <para>
29 The <application>GPGME</application> package is a C library
30 that allows cryptography support to be added to a
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>
37
38 &lfs120_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&gpgme-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&gpgme-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &gpgme-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &gpgme-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &gpgme-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &gpgme-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73<!--
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>
83-->
84 <bridgehead renderas="sect3">GPGME Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Required</bridgehead>
87 <para role="required">
88 <xref linkend="libassuan"/>
89 </para>
90
91 <bridgehead renderas="sect4">Optional</bridgehead>
92 <para role="optional">
93 <xref linkend="doxygen"/> and
94 <xref linkend="graphviz"/> (for API documentation),
95 <xref linkend="gnupg2"/> (required if Qt or SWIG are installed;
96 used during the test suite),
97 <xref linkend="clisp"/>,
98 &qt5-deps;, and
99 <xref linkend="swig"/> (for language bindings)
100 </para>
101
102 </sect2>
103
104 <sect2 role="installation">
105 <title>Installation of GPGME</title>
106
107 <para>
108 Install <application>GPGME</application> by running the following
109 commands:
110 </para>
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;
116cd build &amp;&amp;
117
118../configure --prefix=/usr --disable-gpg-test &amp;&amp;
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 \
129 &build-wheel-cmd; $PWD/lang/python
130fi</userinput></screen>
131
132 <para>
133 To test the results, you should have <xref linkend="gnupg2"/> installed
134 and remove the <option>--disable-gpg-test</option> above. If
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:
138 </para>
139
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
150 <para>
151 Now, as the <systemitem class="username">root</systemitem> user:
152 </para>
153
154<screen role="root"><userinput>make install PYTHONS=</userinput></screen>
155
156 <para>
157 If <xref linkend='swig'/> is installed, still as the &root; user,
158 install the Python 3 binding:
159 </para>
160
161<screen role="root"><userinput>if swig -version > /dev/null; then
162 &install-wheel; gpg
163fi</userinput></screen>
164
165 </sect2>
166
167 <sect2 role="commands">
168 <title>Command Explanations</title>
169
170 <para>
171 <parameter>--disable-gpg-test</parameter>: if this parameter is not
172 passed to configure, the test programs are built during
173 <command>make</command> stage, which requires <xref linkend="gnupg2"/>.
174 This parameter is not needed if <xref linkend="gnupg2"/> is installed.
175 </para>
176
177 <para>
178 <parameter>PYTHONS=</parameter>: Disable building Python binding
179 using the deprecated <command>python3 setup.py build</command>
180 command. The explicit instruction to build the Python 3 binding with
181 the <command>pip3 wheel</command> command is provided.
182 </para>
183
184 </sect2>
185
186 <sect2 role="content">
187 <title>Contents</title>
188
189 <segmentedlist>
190 <segtitle>Installed Program</segtitle>
191 <segtitle>Installed Libraries</segtitle>
192 <segtitle>Installed Directory</segtitle>
193
194 <seglistitem>
195 <seg>
196 gpgme-json, and gpgme-tool
197 </seg>
198 <seg>
199 libgpgme.so, libgpgmepp.so, and libqgpgme.so
200 </seg>
201 <seg>
202 /usr/include/{gpgme++,qgpgme,QGpgME},
203 /usr/lib/cmake/{Gpgmepp,QGpgme}.
204 /usr/lib/python&python3-majorver;/site-packages/gpg{,-&gpgme-version;.dist-info}, and
205 /usr/share/common-lisp/source/gpgme
206 </seg>
207 </seglistitem>
208 </segmentedlist>
209
210 <variablelist>
211 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
212 <?dbfo list-presentation="list"?>
213 <?dbhtml list-presentation="table"?>
214
215 <varlistentry id="gpgme-json">
216 <term><command>gpgme-json</command></term>
217 <listitem>
218 <para>
219 outputs <application>GPGME</application> commands in JSON format
220 </para>
221 <indexterm zone="gpgme gpgme-json">
222 <primary sortas="b-gpgme-json">gpgme-json</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226
227 <varlistentry id="gpgme-tool">
228 <term><command>gpgme-tool</command></term>
229 <listitem>
230 <para>
231 is an assuan server exposing <application>GPGME</application>
232 operations, such as printing fingerprints and keyids with
233 keyservers
234 </para>
235 <indexterm zone="gpgme gpgme-tool">
236 <primary sortas="b-gpgme-tool">gpgme-tool</primary>
237 </indexterm>
238 </listitem>
239 </varlistentry>
240
241 <!-- As of 1.13.1, this library isn't present anymore.
242 <varlistentry id="libgpgme-pthread">
243 <term><filename class="libraryfile">libgpgme-pthread.so</filename></term>
244 <listitem>
245 <para>
246 contains the <application>GPGME</application> API functions for
247 applications using pthread.
248 </para>
249 <indexterm zone="gpgme libgpgme-pthread">
250 <primary sortas="c-libgpgme-pthread">libgpgme-pthread.so</primary>
251 </indexterm>
252 </listitem>
253 </varlistentry>
254 -->
255
256 <varlistentry id="libgpgme">
257 <term><filename class="libraryfile">libgpgme.so</filename></term>
258 <listitem>
259 <para>
260 contains the <application>GPGME</application> API functions
261 </para>
262 <indexterm zone="gpgme libgpgme">
263 <primary sortas="c-libgpgme">libgpgme.so</primary>
264 </indexterm>
265 </listitem>
266 </varlistentry>
267
268 <varlistentry id="libgpgmepp">
269 <term><filename class="libraryfile">libgpgmepp.so</filename></term>
270 <listitem>
271 <para>
272 contains the C++ <application>GPGME</application> API functions
273 </para>
274 <indexterm zone="gpgme libgpgmepp">
275 <primary sortas="c-libgpgmepp">libgpgmepp.so</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="libqgpgme">
281 <term><filename class="libraryfile">libqgpgme.so</filename></term>
282 <listitem>
283 <para>
284 contains API functions for handling GPG operations in
285 <application>Qt</application> applications
286 </para>
287 <indexterm zone="gpgme libqgpgme">
288 <primary sortas="c-libqgpgme">libqgpgme.so</primary>
289 </indexterm>
290 </listitem>
291 </varlistentry>
292
293 </variablelist>
294
295 </sect2>
296
297</sect1>
Note: See TracBrowser for help on using the repository browser.