Features/ImprovedQpidCppPackaging

= Improved Qpid C++ Packaging =

Summary
The existing Qpid C++ packaging uses names inconsistent with other qpid packages, and it is more difficult than it should be to build the store module against it. This feature seeks to rationalize and improve the Qpid C++ packages for users and developers.

Owner

 * Name: Jross

Current status

 * Targeted release: Fedora 13
 * Last updated: 30 October 2009
 * Percentage of completion: 100%

Detailed Description
Introduce a new source package, qpid-cpp, with the following subpackages:

Core subpackages:


 * qpid-cpp-client, -devel
 * qpid-cpp-server, -devel
 * qmf, -devel

Module subpackages:


 * qpid-cpp-client-ssl
 * qpid-cpp-client-rdma
 * qpid-cpp-server-cluster
 * qpid-cpp-server-ssl
 * qpid-cpp-server-rdma
 * qpid-cpp-server-xml
 * rhm-cpp-server-store

Whereas previously Qpid C++ and the store module were maintained as two distinct source modules, the new qpid-cpp would instead combine them into one. The qpid-cpp source package would contain two source tarballs: the qpid source and the rhmessaging store module source. As a result, this source package would have two licenses, ASL and GPL, for the qpid and rhmessaging sources respectively.

For licensing reasons, the store module package cannot be prefixed with "qpid-cpp", even though we'd like it. In the future, when the licensing situation changes, we intend to make this change as well.

Benefit to Fedora
The new packaging will be easier for users to understand and use, and easier for developers to maintain.

The new names are more convenient for yum commands that use matching. "yum install qpid-cpp\*" will select all Qpid C++ components.

Scope
This feature requires the introduction of a new source package with new binary package names. The old packages and their source module would be removed.

Test Plan

 * 1) Introduce the new source packages in parallel with the existing ones.
 * 2) Test package upgrades to ensure obsoletes and dependencies are correct.

User Experience
Users will note that the new package names are consistent with the qpid packages for other languages, modulo changes to conform with, for instance, the python package naming conventions.

Dependencies
None

Contingency Plan
Revert to using the existing source packages.

Documentation
All documentation for this feature is present on this page.

Release Notes
The names of the Qpid C++ packages have changed. The new packages obsolete the old.