Nemo/Qt5Porting

= Introduction =

Nemo needs to be ready for Qt 5. This page attempts to document some information on how we're approaching that, as well as common hurdles and approaches.

= Approach =

With the advent of webhooks, we are now able to easily build software we maintain on OBS just with git interaction. Luckily, it also gives us the capability to build a single source repository in multiple places, possibly with different spec files. We're taking advantage of this to (where possible) to ports in-place by adding qt5 packaging, and hacking the build system and code to handle that conditionally where possible.

NB: this document does not attempt to handle porting of software we do not maintain. Yet.

= Initial setup =

Make sure the project has been set up for git packaging:


 * Check it has a webhook in https://webhook.merproject.org/webhook/
 * Check it has an rpm/ directory
 * Check the hook in github etc is set up correctly
 * Check it's building correctly from the webhook

If these steps aren't OK, then fix it.

Then:


 * Add a new set of packaging following the name convention as follows: libfoo-qt => libfoo-qt5, libfoo => libfoo5
 * Add dependencies to minimal needed Qt 5 modules (e.g. Qt5Core, Qt5Xml, etc in PkgConfigBR)
 * Add a new webhook for it, building to package name following the above naming convention
 * Start hacking using mb to build the new packaging