This is something for after Applications 16.08 are branched off. For 16.08 I plann to keep QGpgME as a backend in Libkleo and GpgMEpp. I've already ported some bugfixes and features from GpgME 1.7.0 back there.
But in the future I don't want to add new features two both of them. E.g. I've added TOFU Support in GpgME 1.7.0 but not in KF5::GpgMEpp
My checklist to make the transition as painless as possible:
- Ensure that GpgME 1.7.0 and GpgMEpp / Libkleo from 16.08 are coinstallable
- There is currently a problem that API breaks in GpgMEpp cause Kleopatra's build to fail as it Picks up the wrong headers (GpgME 1.7.0 installs c++ headers under /usr/include/gpgme++) and so #include <gpgme++/foo.h> picks up the headers from 1.7.0 even if cmake looks for and finds the KF5 version of GpgME++
- Ensure that GpgME 1.7.0 is released.
- Review API if more C++11 API breaks like the auto_ptr change are required.
- Check if Windows builds are OK.
- Install version headers.
- Maybe install CamelCase headers for QGpgME as they were also installed from libkleo.
- Ensure that GpgME 1.7.0 is available on CI.
- Once release is done.
- Notify KDEPIM / Kde-packagers
- Test build / prepare patches for other users of GpgMEpp outside of KDEPIM (KGet, probably Trojitá)
- Switch libkleo to branch gpgme-next and remove the QGpgME backend there.
- Retire GpgMEpp repo.
- Test and fix builds against GpgME 1.7 in KDEPIM repos without KF5::GpgME and new libkleo.
- Switch to builds against GpgME 1.7
- Notify packagers and outline rationale for this.
- Apologize to everyone whose build fails because a very recent version of GpgME will be required :-/