|
# Release-howto
|
|
# Release-howto
|
|
|
|
|
|
Short notes about how to make a release, for a kernel-related project
|
|
Short notes about how to make a release for an ohwr project.
|
|
that is hosted in ohwr.org.
|
|
Some items are specific for software projects (especially kernel
|
|
|
|
ones),
|
|
|
|
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
|
|
## Before you start
|
|
|
|
|
... | @@ -25,38 +29,50 @@ that is hosted in ohwr.org. |
... | @@ -25,38 +29,50 @@ that is hosted in ohwr.org. |
|
|
|
|
|
<!-- end list -->
|
|
<!-- end list -->
|
|
|
|
|
|
- Build for all versions, checking the backport branch
|
|
- Build for all supported kernel versions, checking the backport
|
|
|
|
branch
|
|
|
|
|
|
If all of this is ok, you can release.
|
|
If all of this is ok, you can release.
|
|
|
|
|
|
## How to tag and clean the repository
|
|
## How to tag and clean the repository
|
|
|
|
|
|
- Consider marking the tag in the manual, but if there is a backport
|
|
- Consider marking the tag in the manual, so it appears in the cover
|
|
evaluate the effort (i.e., I don't do it usually)
|
|
page.
|
|
|
|
Most software projects now include automatically the "git describe"
|
|
|
|
output,
|
|
|
|
so this step is not needed. Also, if there is a backport branch (for
|
|
|
|
older kernels)
|
|
|
|
this step may require too much effort and can be skipped.
|
|
|
|
|
|
\* Check other tags. Example:
|
|
\* Check how other tags in the same package are made. Example:
|
|
|
|
|
|
```
|
|
```
|
|
git cat-file tag fmc-bus-v2013-01
|
|
git cat-file tag fmc-bus-v2013-01
|
|
```
|
|
```
|
|
|
|
|
|
\* Tag consistently with other tags in the same package, with -m.
|
|
\* Tag consistently with what you found above, using "-m" for the
|
|
Example:
|
|
message. Example:
|
|
|
|
|
|
```
|
|
```
|
|
git tag -m "Official release as of May 2013" fmc-bus-v2013-05
|
|
git tag -m "Official release as of May 2013" fmc-bus-v2013-05
|
|
```
|
|
```
|
|
|
|
|
|
\* "git describe master" to ensure it's ok. Then push
|
|
\* Run "git describe master" (or "git describe HEAD") to ensure it's ok.
|
|
|
|
Then push
|
|
|
|
|
|
```
|
|
```
|
|
git push ohwr fmc-bus-v2013-05
|
|
git push ohwr master
|
|
```
|
|
```
|
|
|
|
|
|
|
|
("ohwr" above is the name of the "git remote" place. If you cloned
|
|
|
|
from
|
|
|
|
the read-write address and never played with remotes, it is called
|
|
|
|
"origin").
|
|
|
|
|
|
- Remove other temporary branches with the same commit, and older
|
|
- Remove other temporary branches with the same commit, and older
|
|
temporaries
|
|
temporaries
|
|
|
|
|
|
\* Push the current backport with a name consistent with previous ones.
|
|
\* Push the current backport using a name consistent with previous ones.
|
|
E.g:
|
|
E.g:
|
|
|
|
|
|
```
|
|
```
|
... | @@ -65,26 +81,31 @@ E.g: |
... | @@ -65,26 +81,31 @@ E.g: |
|
git push ohwr :proposed-v2013.05-backport
|
|
git push ohwr :proposed-v2013.05-backport
|
|
```
|
|
```
|
|
|
|
|
|
|
|
The last command above removes the remote branch. It says "push <where>
|
|
|
|
<localname>:<remotename>":
|
|
|
|
an empty localname is used to remove the remote name by making it
|
|
|
|
"nothing", in a way.
|
|
|
|
|
|
## Other Housekeeping Tasks
|
|
## Other Housekeeping Tasks
|
|
|
|
|
|
- Post the pdf to files or documents as it is tradition in this
|
|
- Post the pdf to the files or documents tab of ohwr, consistently
|
|
package
|
|
with past releases
|
|
Remember to check the descriptive string before to be consistent,
|
|
of this package.
|
|
as
|
|
Remember to check the descriptive string of other files, to make the
|
|
when you type it in the "add" windows you can't check the other
|
|
new
|
|
ones.
|
|
file consistent in that item too.
|
|
|
|
|
|
\* If customary for this package, make a tarball
|
|
\* If customary for this package, make a tarball in this way
|
|
|
|
|
|
\* go to /tmp
|
|
\# go to /tmp
|
|
|
|
|
|
\* clone from the read-only ohwr place
|
|
\# clone from the read-only ohwr place
|
|
|
|
|
|
\* rename to the name you want it to have when tarred
|
|
\# rename to the name you want it to have when tarred
|
|
|
|
|
|
\* build the manual ("make -C doc", most likely)
|
|
\# build the manual ("make -C doc", most likely)
|
|
|
|
|
|
\* maketar.gz, i.e. as follows, or equivalent for another compression:
|
|
\# maketar.gz, i.e. as follows, or equivalent for another compression:
|
|
|
|
|
|
```
|
|
```
|
|
n=`basename \`/bin/pwd\``; cd ..; tar cvf - $n | gzip > $n.tar.gz
|
|
n=`basename \`/bin/pwd\``; cd ..; tar cvf - $n | gzip > $n.tar.gz
|
... | @@ -92,7 +113,8 @@ E.g: |
... | @@ -92,7 +113,8 @@ E.g: |
|
|
|
|
|
- If you marked the release name in the manual, re-commit
|
|
- If you marked the release name in the manual, re-commit
|
|
immediately
|
|
immediately
|
|
the manual so that is it not blessed any more.
|
|
the manual so that the next master commits won't make a blessed
|
|
|
|
manual.
|
|
|
|
|
|
<!-- end list -->
|
|
<!-- end list -->
|
|
|
|
|
... | | ... | |