<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/lang/python/setup.py.in, branch gpgme-1.11.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.11.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.11.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2018-04-17T08:20:12Z</updated>
<entry>
<title>python: Fix crash by leaving struct members intact</title>
<updated>2018-04-17T08:20:12Z</updated>
<author>
<name>Tobias Mueller</name>
<email>muelli@cryptobitch.de</email>
</author>
<published>2018-02-20T16:34:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=bbfa7c42337bb619e6af20bf051fe0755ed5a9fd'/>
<id>urn:sha1:bbfa7c42337bb619e6af20bf051fe0755ed5a9fd</id>
<content type='text'>
* lang/python/setup.py.in: Copy gpgme.h instead of parsing it.
--
The python bindings tried to parse deprecated functions
out of gpgme.h. This fails for the current gpgme.h in
that it removes an entire field in the key sig struct (_obsolete_class).
Hence, the fields were off by an int and the bindings accessed struct
members via the wrong offset. That caused python program to crash.
At least on 32bit platforms, the crash can be easily triggered by
accessing key.uids[0].signatures. On 64bit platforms the compiler
probably aligns the struct so that the missing 4 bytes are not noticed.

With this change, the python bindings will expose all functions
that gpgme exposes, including the deprecated ones.

Credits go to Justus Winter for debugging and identying the issue.

Signed-off-by: Tobias Mueller &lt;muelli@cryptobitch.de&gt;
GnuPG-bug-id: 3892
</content>
</entry>
<entry>
<title>python: Fix build in certain cases.</title>
<updated>2017-05-18T10:22:29Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@g10code.com</email>
</author>
<published>2017-05-18T09:42:13Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=84a203e60b9935bd8536cd2832fbc55d7f011341'/>
<id>urn:sha1:84a203e60b9935bd8536cd2832fbc55d7f011341</id>
<content type='text'>
* lang/python/setup.py.in: Prepend the Python build dir to the list of
include directories so that it takes precedence over any other include
directory.
--
Fixes the build in case an older 'gpgme.h' is installed and is picked
up by the compiler when compiling the Python module.

Signed-off-by: Justus Winter &lt;justus@g10code.com&gt;
</content>
</entry>
<entry>
<title>python: Read gpg-error.h using the pre-processor</title>
<updated>2017-04-10T12:47:44Z</updated>
<author>
<name>Alon Bar-Lev</name>
<email>alon.barlev@gmail.com</email>
</author>
<published>2017-04-08T13:34:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7309ce6f5f7c86570953a141965d4f54cd9ad9a0'/>
<id>urn:sha1:7309ce6f5f7c86570953a141965d4f54cd9ad9a0</id>
<content type='text'>
* lang/python/setup.py.in: Read gpg-error.h using the pre-processor.

--

The libgpg-error may be installed in multilib configuration in which
there is a wrapper header at /usr/include that includes the actual
header at /usr/include/*. This causes invalid errors.i generation.

Let the pre-processor extract the header content instead reading it
explicitly.

Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
</content>
</entry>
<entry>
<title>python: Remove unneeded stats copy</title>
<updated>2017-04-10T12:44:33Z</updated>
<author>
<name>Alon Bar-Lev</name>
<email>alon.barlev@gmail.com</email>
</author>
<published>2017-04-08T13:34:31Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=df8433bffa9e669897243f08edf7845762250e4a'/>
<id>urn:sha1:df8433bffa9e669897243f08edf7845762250e4a</id>
<content type='text'>
* lang/python/setup.py.in: errors.i, gpgme.h are generated and always
newer than the original.

Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
</content>
</entry>
<entry>
<title>python: support .pydistutils.cfg mode</title>
<updated>2017-04-10T12:35:35Z</updated>
<author>
<name>Alon Bar-Lev</name>
<email>alon.barlev@gmail.com</email>
</author>
<published>2017-04-07T14:31:47Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=365c649ad073f2697438dc014160943ae31a1447'/>
<id>urn:sha1:365c649ad073f2697438dc014160943ae31a1447</id>
<content type='text'>
* lang/python/setup.py.in: Do not parse arguments.

--

The distutils settings can come from either command-line or
configuration file. Parsing parameters is not working in all cases.

Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
</content>
</entry>
<entry>
<title>python: simplify build, some fixups</title>
<updated>2017-04-07T10:12:20Z</updated>
<author>
<name>Alon Bar-Lev</name>
<email>alon.barlev@gmail.com</email>
</author>
<published>2017-04-05T16:47:08Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=49195c487e6c923f7137f092b982e7d833d98de6'/>
<id>urn:sha1:49195c487e6c923f7137f092b982e7d833d98de6</id>
<content type='text'>
* lang/python/gpg/version.py.in: Rename to lang/python/version.py.in.
configure.ac: Generate version.py.in in lang/python.
* lang/python/MANIFEST.in: Include version.py explicitly.
* lang/python/gpg: Rename to 'src'.
* lang/python/Makefile.am: Do not copy source files, do not use absolute
directories, support lib64 in uninstall, clean also dist directory, use
symlink for gpg src.
* lang/python/setup.py.in: Use builddir, copy sources into builddir,
copy version.py into module.
--

Simplify build to symlink the gpg sources into builddir instead of
copying. This requires handling of version.py as generated file.

In addition apply some cleanups: Drop the absolution pathes, clean the
dist directory as well, support lib64 for sitelib at uninstall.

Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
</content>
</entry>
<entry>
<title>python: Fix vpath builds, fix distcheck.</title>
<updated>2017-04-05T14:41:56Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@g10code.com</email>
</author>
<published>2017-04-03T13:44:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=e7d9c0c3d773f826dbd2ed417d04e25c410f3374'/>
<id>urn:sha1:e7d9c0c3d773f826dbd2ed417d04e25c410f3374</id>
<content type='text'>
* lang/python/gpgme-h-clean.py: Delete file.
* lang/python/MANIFEST.in: Adapt accordingly.
* lang/python/Makefile.am (EXTRA_DIST): Likewise.
(COPY_FILES_GPG): Bring variable back.
(copystamp): Copy files.
(clean-local): Delete copied files.
(install-exec-local): Do not create and install list of installed
files.
(uninstall-local): Instead, create some explicit rules to uninstall
the extension.
* lang/python/setup.py.in: Parse arguments.  Locate files either in
the source directory, or in the build base directory.  Inline the code
from 'gpgme-h-clean.py'.  Copy 'helpers.c', add source directory as
include directory.

Fixes-commit: 801d7d8c5dd530d26ad6c4bcc94d986e6e022da4
Signed-off-by: Justus Winter &lt;justus@g10code.com&gt;
</content>
</entry>
<entry>
<title>python: Generate files into build directory</title>
<updated>2017-04-05T12:48:47Z</updated>
<author>
<name>Alon Bar-Lev</name>
<email>alon.barlev@gmail.com</email>
</author>
<published>2017-04-01T23:29:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=801d7d8c5dd530d26ad6c4bcc94d986e6e022da4'/>
<id>urn:sha1:801d7d8c5dd530d26ad6c4bcc94d986e6e022da4</id>
<content type='text'>
* lang/python/setup.py.in: Generate files within BuildExtFirstHack
adjust build flags at this point instead of global.
* lang/python/Makefile.am: Remove logic of separate source directory per
python version in favor of build directory.
* lang/python/tests/run-tests.py: Adjust build directory location.
--

Generate files into build directory, leaving the source directory clean.
Use the same source directory for multiple python version build. Result
of 'prepare' target is a standard distutil layout that can be used
easily by downstream to build all python targets in-place.

Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
</content>
</entry>
<entry>
<title>python,build: Reinstate prepare target.</title>
<updated>2017-03-29T09:28:18Z</updated>
<author>
<name>Alon Bar-Lev</name>
<email>alon.barlev@gmail.com</email>
</author>
<published>2017-03-28T18:55:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=9786e3a96e6772166f3523e74a748b9db20fae7c'/>
<id>urn:sha1:9786e3a96e6772166f3523e74a748b9db20fae7c</id>
<content type='text'>
* lang/python/Makefile.am: Fix 'prepare' target.
* lang/python/setup.py.in: Use 'abs_top_builddir' instead of guessing
the path.
--

'prepare' will prepare target at PREPAREDIR.  The automake integration
will also make use of prepare target.  Downstream distributors may
also make use of prepare target.

Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
</content>
</entry>
<entry>
<title>python: Support manipulating the TOFU policy.</title>
<updated>2017-02-17T16:08:03Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@g10code.com</email>
</author>
<published>2017-02-17T16:07:05Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=15fbac9e72a4d1bff9a3b9e9822f9175b09fbcd5'/>
<id>urn:sha1:15fbac9e72a4d1bff9a3b9e9822f9175b09fbcd5</id>
<content type='text'>
* NEWS: Update.
* doc/gpgme.texi: Fix typos.
* lang/python/gpg/constants/__init__.py: Import new files.
* lang/python/gpg/constants/tofu/__init__.py: New file.
* lang/python/gpg/constants/tofu/policy.py: New file.
* lang/python/gpg/core.py (Context.key_tofu_policy): New function.
* lang/python/gpgme.i: Nice reprs for gpgme_tofu_info_t.
* lang/python/setup.py.in: Install new package.
* lang/python/tests/t-quick-key-manipulation.py: Extend test.

Signed-off-by: Justus Winter &lt;justus@g10code.com&gt;
</content>
</entry>
</feed>
