OProfile release checklist

The OProfile maintainer must give you admin privileges to put out a release.

  1. Run Coverity against oprofile source before putting out a new release. Note: Details about running Coverity can be found at the Coverity web site (The OProfile project has been registered, and the maintainer (Maynard Johnson) has a Coverity account.) All issues identified by Coverity should be addressed before putting out a new release.
  2. Create/update Release Notes for new release
  3. Check if sample data file format has changed (libop/op_sample_file.h) the since previous release. If so, bump OPD_VERSION (in libop/op_config.h) if it hasn't already been done.
  4. Change version to non-git and commit
  5. Run
    make dist
  6. Make a release (candidate) publicly available.
    1. With a browser, go to the OProfile website and click on the "SOURCEFORGE.NET" at the bottom left of the screen.  Sign in with your admin user ID.  Click on "Files" tab, navigate into the "oprofile" folder, and then click the "Add Folder" button. Name the folder "oprofile-<release>" (without the -rc<n>. ). Start with uploading the Release Notes file you created in step 1, but first, make a copy of it and rename it to oprofile-<release>_readme. Now go into the folder you just created, click the "Add File" button to upload the release notes "readme" file. Now click "Add File" and upload the new oprofile-<release>.tar.gz file.
    2. For each successive release candidate (and, eventually, for the GA), upload your release tar ball the into the "oprofile-<release>" folder you created above. Put a copy of the tar ball from the previous release candidate into the "oldfiles" folder; then delete it from the folder it was in. If the Release Notes file has changed, delete the old one and upload the new one.
    3. Go to project download page on SourceForge and verify that the new release tar ball is listed there. It will take some time for the new release to be mirrored to all of the mirror sites. Once you can successfully download the tar ball from a SourceForge mirror, got to the next step.
    4. For release candidates, post a message to the oprofile-list with a URL to the download page for the release you just created and paste the Release Notes into the message. For GA release, continue to the "Close fixed bugs" step.
    5. Get testing feedback from the community.  Return to step 1 for each new release candidate (and, eventually, for the GA).

    The following steps are to be done once the decision is made to GA and you've iterated over the previous steps again for the GA release.

  7. Close fixed bugs
  8. Update freshmeat
  9. CD into the checked-out oprofile directory and open the configure.ac file. Specify the GA release in the AM_INIT_AUTOMAKE (i.e., <v.r.m>). Now commit and push this change.
  10. Tag the release by running the following commands:
    'git tag RELEASE_<v_r_m>';  e.g, 'git tag RELEASE_0_9_4'
    'git push --tags'
  11. Update web page release-notes/, news, download, srcdoc/, doc/
  12. Sync website to oprofile-www git
  13. Send release email.
  14. Change AM_INIT_AUTOMAKE in configure.ac to '<v.r.m>git'; commit and push this change.