From Fedora Project Wiki

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: 22 September 2009
  • Percentage of completion: 20%

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.

Old name New name
qmf qmf (No change)
qpidc qpid-cpp-client
qpidc-ssl qpid-cpp-client-ssl
qpidc-rdma qpid-cpp-client-rdma
qpidd qpid-cpp-server
qpidd-ssl qpid-cpp-server-ssl
qpidd-rdma qpid-cpp-server-rdma
qpidd-xml qpid-cpp-server-xml
qpidd-acl no longer a separate subpackage, included in qpid-cpp-server
qpidc-perftest no longer a separate subpackage, included in qpid-cpp-client-devel
rhm rhm-cpp-server-store