source: postlfs/security/gpgme.xml@ 7eeacb7

trunk
Last change on this file since 7eeacb7 was 0e16b36, checked in by Bruce Dubbs <bdubbs@…>, 3 weeks ago

Archive qt5.

There are a large number of packages that needed to be changed to
remove qt5, but most are harmless. One package that is affected
is vlc where the gui interface is no longer available. Videos
can still be played from the command line and the kf6 dependency
on vlc is still satisfied.

If necessary qt5 can be restored for vlc.

Also three other files are archived that are no longer needed.

  • Property mode set to 100644
File size: 9.5 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 "01a8c05b409847e87daf0543e91f8c37">
10 <!ENTITY gpgme-size "1.8 MB">
11 <!ENTITY gpgme-buildsize "260 MB (with tests)">
12 <!ENTITY gpgme-time "1.0 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 &lfs122_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"/>, and
98 <xref linkend="swig"/> (for language bindings)
99 </para>
100
101 </sect2>
102
103 <sect2 role="installation">
104 <title>Installation of GPGME</title>
105
106 <para>
107 Install <application>GPGME</application> by running the following
108 commands:
109 </para>
110<!--gpgme 1.22 FTBFS when building in tree. Upstream thinks building
111 should be done out of tree, but this is not in the doc yet
112 https://github.com/gpg/gpgme/commit/24a8c279da98fe7e586a9fc3cd91175c9e60ffef
113 -->
114<screen><userinput>mkdir build &amp;&amp;
115cd build &amp;&amp;
116
117../configure --prefix=/usr --disable-gpg-test &amp;&amp;
118make PYTHONS=</userinput></screen>
119
120 <para>
121 If <xref linkend='swig'/> is installed, build the Python 3 binding as
122 a wheel:
123 </para>
124
125<screen><userinput>if swig -version > /dev/null; then
126 srcdir=$PWD/../lang/python \
127 top_builddir=$PWD \
128 &build-wheel-cmd; $PWD/lang/python
129fi</userinput></screen>
130
131 <para>
132 To test the results, you should have <xref linkend="gnupg2"/> installed
133 and remove the <option>--disable-gpg-test</option> above. If
134 <xref linkend='swig'/> is installed, it's necessary to adapt the
135 test suite to use the Python 3 binding just built as a wheel as well.
136 Issue:
137 </para>
138
139<screen remap='test'><userinput>if swig -version > /dev/null; then
140 python3 -m venv testenv &amp;&amp;
141 testenv/bin/pip3 install --no-index --find-links=dist --no-cache-dir \
142 gpg &amp;&amp;
143 sed '/PYTHON/s#run-tests.py#&amp; --python-libdir=/dev/null#' \
144 -i lang/python/tests/Makefile
145fi &amp;&amp;
146
147make -k check PYTHONS= PYTHON=$PWD/testenv/bin/python3</userinput></screen>
148
149 <!-- https://dev.gnupg.org/T6778 -->
150 <para>
151 One test named <filename>t-quick-key-manipulation.py</filename> is
152 known to fail.
153 </para>
154
155 <para>
156 Now, as the <systemitem class="username">root</systemitem> user:
157 </para>
158
159<screen role="root"><userinput>make install PYTHONS=</userinput></screen>
160
161 <para>
162 If <xref linkend='swig'/> is installed, still as the &root; user,
163 install the Python 3 binding:
164 </para>
165
166<screen role="root"><userinput>if swig -version > /dev/null; then
167 &install-wheel; gpg
168fi</userinput></screen>
169
170 </sect2>
171
172 <sect2 role="commands">
173 <title>Command Explanations</title>
174
175 <para>
176 <parameter>--disable-gpg-test</parameter>: if this parameter is not
177 passed to configure, the test programs are built during
178 <command>make</command> stage, which requires <xref linkend="gnupg2"/>.
179 This parameter is not needed if <xref linkend="gnupg2"/> is installed.
180 </para>
181
182 <para>
183 <parameter>PYTHONS=</parameter>: Disable building Python binding
184 using the deprecated <command>python3 setup.py build</command>
185 command. The explicit instruction to build the Python 3 binding with
186 the <command>pip3 wheel</command> command is provided.
187 </para>
188
189 </sect2>
190
191 <sect2 role="content">
192 <title>Contents</title>
193
194 <segmentedlist>
195 <segtitle>Installed Program</segtitle>
196 <segtitle>Installed Libraries</segtitle>
197 <segtitle>Installed Directory</segtitle>
198
199 <seglistitem>
200 <seg>
201 gpgme-json, and gpgme-tool
202 </seg>
203 <seg>
204 libgpgme.so, libgpgmepp.so, and libqgpgme.so
205 </seg>
206 <seg>
207 /usr/include/{gpgme++,qgpgme,QGpgME},
208 /usr/lib/cmake/{Gpgmepp,QGpgme}.
209 /usr/lib/python&python3-majorver;/site-packages/gpg{,-&gpgme-version;.dist-info}, and
210 /usr/share/common-lisp/source/gpgme
211 </seg>
212 </seglistitem>
213 </segmentedlist>
214
215 <variablelist>
216 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
217 <?dbfo list-presentation="list"?>
218 <?dbhtml list-presentation="table"?>
219
220 <varlistentry id="gpgme-json">
221 <term><command>gpgme-json</command></term>
222 <listitem>
223 <para>
224 outputs <application>GPGME</application> commands in JSON format
225 </para>
226 <indexterm zone="gpgme gpgme-json">
227 <primary sortas="b-gpgme-json">gpgme-json</primary>
228 </indexterm>
229 </listitem>
230 </varlistentry>
231
232 <varlistentry id="gpgme-tool">
233 <term><command>gpgme-tool</command></term>
234 <listitem>
235 <para>
236 is an assuan server exposing <application>GPGME</application>
237 operations, such as printing fingerprints and keyids with
238 keyservers
239 </para>
240 <indexterm zone="gpgme gpgme-tool">
241 <primary sortas="b-gpgme-tool">gpgme-tool</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <!-- As of 1.13.1, this library isn't present anymore.
247 <varlistentry id="libgpgme-pthread">
248 <term><filename class="libraryfile">libgpgme-pthread.so</filename></term>
249 <listitem>
250 <para>
251 contains the <application>GPGME</application> API functions for
252 applications using pthread.
253 </para>
254 <indexterm zone="gpgme libgpgme-pthread">
255 <primary sortas="c-libgpgme-pthread">libgpgme-pthread.so</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259 -->
260
261 <varlistentry id="libgpgme">
262 <term><filename class="libraryfile">libgpgme.so</filename></term>
263 <listitem>
264 <para>
265 contains the <application>GPGME</application> API functions
266 </para>
267 <indexterm zone="gpgme libgpgme">
268 <primary sortas="c-libgpgme">libgpgme.so</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry id="libgpgmepp">
274 <term><filename class="libraryfile">libgpgmepp.so</filename></term>
275 <listitem>
276 <para>
277 contains the C++ <application>GPGME</application> API functions
278 </para>
279 <indexterm zone="gpgme libgpgmepp">
280 <primary sortas="c-libgpgmepp">libgpgmepp.so</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="libqgpgme">
286 <term><filename class="libraryfile">libqgpgme.so</filename></term>
287 <listitem>
288 <para>
289 contains API functions for handling GPG operations in
290 <application>Qt</application> applications
291 </para>
292 <indexterm zone="gpgme libqgpgme">
293 <primary sortas="c-libqgpgme">libqgpgme.so</primary>
294 </indexterm>
295 </listitem>
296 </varlistentry>
297
298 </variablelist>
299
300 </sect2>
301
302</sect1>
Note: See TracBrowser for help on using the repository browser.