Short notes about how to make a release for an ohwr project.
Some items are specific for software projects (especially kernel
but we hope this can be edited to be more generic.
Page initially by Alessandro, May 2013, in the ohwr::fmc-bus wiki area.
Before you start
Ensure to be in the proper package clone
Ensure to be in the proper commit and that master is there.
Check the date in the manual
Ensure both the software and the manual build properly
Think hard and check TODO files about any pending bugs
Build for all supported kernel versions, checking the backport
If all of this is ok, you can release.
How to tag and clean the repository
Consider marking the tag in the manual, so it appears in the cover
Most software projects now include automatically the "git describe"
so this step is not needed. Also, if there is a backport branch (for
this step may require too much effort and can be skipped.
* Check how other tags in the same package are made. Example:
git cat-file tag fmc-bus-v2013-01
* Tag consistently with what you found above, using "-m" for the
git tag -m "Official release as of May 2013" fmc-bus-v2013-05
* Run "git describe master" (or "git describe HEAD") to ensure it's ok.
git push ohwr master
("ohwr" above is the name of the "git remote" place. If you cloned
the read-write address and never played with remotes, it is called
Remove other temporary branches with the same commit, and older
* Push the current backport using a name consistent with previous ones.
The last command above removes the remote branch. It says "push
an empty localname is used to remove the remote name by making it
"nothing", in a way.
Other Housekeeping Tasks
Post the pdf to the files or documents tab of ohwr, consistently
with past releases
of this package.
Remember to check the descriptive string of other files, to make the
file consistent in that item too.
* If customary for this package, make a tarball in this way
# go to /tmp
# clone from the read-only ohwr place
# rename to the name you want it to have when tarred
# build the manual ("make -C doc", most likely)
# maketar.gz, i.e. as follows, or equivalent for another compression:
n=`basename \`/bin/pwd\``; cd ..; tar cvf - $n | gzip > $n.tar.gz
If you marked the release name in the manual, re-commit
the manual so that the next master commits won't make a blessed