Adding a new package to Ceph
Follow these directions if you have a new package to introduce for Ceph.
1. Determine Ceph release
Determine which distribution of Ceph will contain your package. For example: "nautilus". Generally you want the latest version of Ceph here.
2. Make a SRPM for your package
This requires writing a spec file and documenting how to build the SRPM. Ideally the spec file lives in your upstream project, or if the package is a rebuild from Fedora, you can use the .src.rpm file from Fedora.
3. Test building the SRPM in mock
mock -r storage7-ceph-nautilus-el7-x86_64 yourpackage-1.0-1.el7.src.rpm
See the full Using Mock documentation for details.
4. Scratch-build the package in CBS
Please install the CBS client (CLI) on your workstation. You will need it to build new RPMs and manage builds.
Once your CBS account is authorized, you can scratch build your SRPM like so:
cbs build storage7-ceph-nautilus-el7 --scratch yourpackage-1.0-1.el7.src.rpm
5. Update Ansible with your package
We manage CBS tags with koji-ansible. Update the cbs-nautilus.yml playbook with your new package.
6. Build the package in CBS
cbs build storage7-ceph-nautilus-el7 yourpackage-1.0-1.el7.src.rpm
7. Promote package in CBS
See the "promote-build" script in https://github.com/ktdreyer/storage-sig-utils/
The first time will tag the build into -testing:
./bin/promote-build yourpackage-1.0-1.el7
The second time will tag it into -release:
./bin/promote-build yourpackage-1.0-1.el7