Of the three types of RPM packaging done by the C-BUILDS plugins, the rpm packaging is used when you are dealing with a standard GNU/autoconf style tarball source release as defined by the GNU Coding Standards. The separation of source release and binary release is also done by convention in the C-BUILDS system. The automvn lifecycle is used to create the tarball and rpm lifecycle, in a separate maven project, is used to create the binary RPM release. Since source release development is done with the automvn lifecycle, the rpm lifecycle makes heavy use of patching. The rpm-light and jrpm packaging can be used for non-GNU style software.
Document written Nov 2, 2008, updated May 17, 2009.
| Phase | Goals |
| validate | pom validation, Detect OS, Arch, version |
| initialize | resolve dependencies, resolve patches, resolve tarball, unpack tarball |
| generate-sources | |
| process-sources | patch sources |
| process-resources | |
| generate-resources | configure |
| compile | compile |
| process-classes | |
| process-test-resources | |
| test-compile | |
| test | test |
| prepare-package | make install |
| package | cbuild-plugin-parent/rpm-cbuild-maven-plugin/generate-spec-mojo.html}generate spec, build, package patches, make dummy jarfile |
| integration-test | |
| install | install artifacts to repo, install RPM on the system, purge patch |
| deploy | deploy |