view tools/roundup.public.pgp.key @ 6433:c1d3fbcdbfbd

issue2551142 - Import of retired node ... unique constraint failure. Title: Import of retired node with username after active node fails with unique constraint failure. More fixes needed for mysql and postgresql. mysql: add unique constraint for (keyvalue, __retired__) when creating class in the database. On schema change if class is changed, remove the unique constraint too. upgrade version of rdbms database from 5 to 6 to add constraint to all version 5 databases that were created as version 5 and didn't get the unique constraint. Make no changes on version 5 databases upgraded from version 4, the upgrade process to 5 added the constraint. Make no changes to other databases (sqlite, postgres) during upgrade from version 5 to 6. postgres: Handle the exception raised on unique constraint violation. The exception invalidates the database connection so it can't be used to recover from the exception. Added two new database methods: checkpoint_data - performs a db.commit under postgres does nothing on other backends restore_connection_on_error - does a db.rollback on postgres, does nothing on other backends with the rollback() done on the connection I can use the database connection to fixup the import that failed on the unique constraint. This makes postgres slower but without the commit after every imported object, the rollback will delete all the entries done up to this point. Trying to figure out how to make the caller do_import batch and recover from this failure is beyond me. Also dismissed having to process the export csv file before importing. Pushing that onto a user just seems wrong. Also since import/export isn't frequently done the lack of surprise on having a failing import and reduced load/frustration for the user seems worth it. Also the import can be run in verbose mode where it prints out a row as it is processed, so it may take a while, ut the user can get feedback. db_test-base.py: add test for upgrade from 5 to 6.
author John Rouillard <rouilj@ieee.org>
date Thu, 10 Jun 2021 12:52:05 -0400
parents 9deed9569617
children 1e004afe87bb
line wrap: on
line source

This is the public PGP/GPG key used to sign roundup distributions.  It
is used for at least the 1.6.0 release. (Note in this file the @ sign
in emails have been replaced with the word "at".)

Key info: Roundup Team (signing key for roundup releases)
    <roundup-devel at lists.sourceforge.net>
RSA key ID: 756A76D8
Expires: 2023-07-10
Key fingerprint = 411E 354B 5D1A F261 25D6  2122 1F2D D0CB 756A 76D8

Import the key in this file using:

   gpg --import roundup.public.pgp.key

Then you can use it to verify a downloaded roundup release from pypi.
Get the url of the release from:

  https://pypi.org/project/roundup

Example (note there is no 1.5.7 release):

  https://files.pythonhosted.org/packages/bf/14/d61fac5ed2aaca8c720ac4d4077428b8fdafa356089516ba9ee630975d2a/roundup-1.5.7.tar.gz

download the file then download:

  https://files.pythonhosted.org/packages/bf/14/d61fac5ed2aaca8c720ac4d4077428b8fdafa356089516ba9ee630975d2a/roundup-1.5.7.tar.gz.asc

(same url as the file with .asc added at the end).

To verify the tar file run:

  gpg --verify roundup-1.5.7.tar.gz.asc roundup-1.5.7.tar.gz

and you should see:

  gpg: Signature made Wed 11 Jul 2018 08:40:06 PM EDT using RSA key ID 756A76D8
  gpg: checking the trustdb
  [...]
  gpg: Good signature from "Roundup Team (signing key for roundup releases) <roundup-devel at lists.sourceforge.net>"
  [...]

which verifies the tarball integrity. If something is wrong you will see:

  gpg: Signature made Wed 11 Jul 2018 08:40:06 PM EDT using RSA key ID 756A76D8
  gpg: BAD signature from "Roundup Team (signing key for roundup releases) <roundup-devel at lists.sourceforge.net>"

*do not use* the tarball if the signature is BAD. Email the
roundup-devel mailing list if there is a problem.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

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
CPmI3olFQ8jLtLShWbAOCA==
=rt/1
-----END PGP PUBLIC KEY BLOCK-----

Roundup Issue Tracker: http://roundup-tracker.org/