Re: GPGME 1.23.1

Denis Corbin <[email protected]> Wed, 8 Nov 2023 21:29:36 +0100
Newsgroups gmane.comp.sysutils.backup.dar.support
Message-ID <[email protected]>
On 08/11/2023 10:54, Marcin Wieczorek wrote:
> Thank you for being interested and keen to help.
> 

[...]

>> However the report underlines that the AM_PATH_GPGME relies on gpgme-conf=
> ig
>> utility. Do you have it in your PATH?
> 
> I do not have gpgme-config in path and no package provides it (checked
> using "pkgfile" tool which shows which package would contain that file).

OK it seems we have found the root cause... good!

> Could you please tell me how to replace it with gpgrt-config?

looking at what gpgrt-config is, I discover (maybe as you did) that at 
gnupg, they changed the name of the tool the macro AM_PATH_GPGME relies 
on, in order to detect/validate libgpgme version... (not very nice for 
portability of code that is using the macro they provide...)

https://www.gnupg.org/documentation/manuals/gpgme/Building-the-Source.html

My best guess is to try a symlink to gpgrt-config or make a small script 
that mimics what gpgme-config does (to be adapted to your system):

# gpgme-config --help
Usage: gpgme-config [OPTIONS]
Options:
         --prefix
         --exec-prefix
         --version
         --api-version
         --host
         --libs
         --cflags
         --print-lang           Print available language bindings
         --have-lang=LANG       Return success if LANG is available

# gpgme-config --prefix
/usr
# gpgme-config --exec-prefix
/usr
# gpgme-config --api-version
1
# gpgme-config --host
x86_64-pc-linux-gnu
# gpgme-config --libs
-L/usr/lib/x86_64-linux-gnu -lgpgme -lassuan -lgpg-error
# gpgme-config --cflags

# gpgme-config --print-lang
c python cpp qt
#

> It might
> be a drop in replacement:=20
> https://dev.gnupg.org/T5683 (leads to:)
> https://dev.gnupg.org/T6204
> gpg-error-config and gpgme-config are deprecated to prefer pkg-config (or g=
> pgrt-config).

Yep, the point is that this is not dar code that uses gpgme-config but 
the AM_PATH_GPGME automake macro provided from libgpgme package, that 
depending on the package version relies on gpgme-config or gpgrt-config.

The building of dar source code package takes the code as it is from git 
and applies some process using automake, autoconf an some other GNU 
tools in order to generate what should be a portable configure script 
and portable Makefiles...

for details see 
https://raw.githubusercontent.com/Edrusb/DAR/master/USING_SOURCE_FROM_GIT

What they did at gnupg completely break automake/autoconf process, as 
the resulting configure script, which role is to detect, in particular, 
whether libgpgme is available and if it satisfies a given minimum 
version, works or not depending on the libgpgme version the operating 
system has installed... sight...

The best way in you context (if the symlink hack does not work) is to 
clone the dar git repo (take branch_2.7.x not the master branch, or tag 
v2.7.13 for the exact same code as the latest release) and follow the 
"less easy way" documented here:

http://dar.linux.free.fr/doc/from_sources.html

You will end with a dar source package that should rely on gpgrt-config 
on you system and thus be able to detect libgpgme presence... compile 
and install dar/libdar.

But I guess that if the symlink trick works, things should be simpler 
for you than starting from git...


> 
> I have gpgrt-config in PATH.
> 
> Best regards,
> Marcin Wieczorek
> 
> 

Best Regards,
Denis
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEVeSEpqXFvH9T9/cuqLFBYNNrO6cFAmVL77AFAwAAAAAACgkQqLFBYNNrO6dJ
iw/+OVYzyuNVcvyJDuTbFPMcCHCc1Pa5huh0Vi5hoTR8hvI4HKT628kvIhMD6+6KAt2wLvWjkOtl
HvULoO4wz11FtjxPqV6HOOPq3MfLOWi8gvfnGHXMQw/WceaL8UsSEem1PYX+g9YQ5VA6XHope1v9
+n1cDaNsdEbbhgvVD4/I93PyW/aJHHUELefpweZzPANZnME7g+olurUBivj9U9FW49sY8znjitBm
v37tbJgmtJ7Fr4KfCK+Nj1UYt0TzLOla2atJ5+t0Jw6dspTnEGKHm2a+/BXbHA/UZCnXBybbGBqV
ilG6YxxTij2xXSe3axDo8UyjB9LCxlEZd/Zqfe+YzK4rCty5rSKD9HN4WWU5LZYhSDJvT1fRn3o2
wiGJY25WmJ4Bkioo69lX8OuyznEhhnh0mskcI5c4r9Tl0sonUSck4cG8wIa+3jFgdw6bp+r+00Od
MJ/2xRQmvODJPqwz1q/ciuvs74N/zfjemNskYU1LVBOd1P8RHS8AK7nvzblBaoYMbfSPDasOshr1
dt/l+5o5fV0ivfzq4Vjq9QmskFwd+v+IUz+uko29ZY7aPhyLdXijGdt2alKXcJaWCVu0KT1wKDH4
qn4Gvf6/tsd+QkQYmeFKCKWGcptwtFQ0ZaQGK7yQANuys1pdlro2oiaRsdCpJWfzvwC8LYjV8ksY
Q48=
=QAUI
-----END PGP SIGNATURE-----