| 1 |
Midgard Release HOWTO |
|---|
| 2 |
==================== |
|---|
| 3 |
2004-03-26 Henri Bergius (henri.bergius@iki.fi) |
|---|
| 4 |
and Piotr Pokora (pp@infoglob.pl) |
|---|
| 5 |
|
|---|
| 6 |
2007-06-09 Alexander Bokovoy <ab@samba.org> |
|---|
| 7 |
|
|---|
| 8 |
This document explains the steps needed for making a Midgard CMS |
|---|
| 9 |
release. |
|---|
| 10 |
|
|---|
| 11 |
Subversion branch management |
|---|
| 12 |
---------------------------- |
|---|
| 13 |
If you want to checkout only specific parts of Midgard subversion |
|---|
| 14 |
repository then use following instruction: |
|---|
| 15 |
|
|---|
| 16 |
svn co --username=USERNAME -N https://svn.midgard-project.org/midgard |
|---|
| 17 |
cd midgard |
|---|
| 18 |
svn -N up trunk |
|---|
| 19 |
svn -N up branches |
|---|
| 20 |
svn up trunk/midgard |
|---|
| 21 |
svn up branches/branch-1-8 |
|---|
| 22 |
|
|---|
| 23 |
Version Numbers |
|---|
| 24 |
--------------- |
|---|
| 25 |
|
|---|
| 26 |
Midgard's version numbers are formatted with three-level pattern. |
|---|
| 27 |
First number is the Midgard generation, second number is major |
|---|
| 28 |
release and third number is the minor release. |
|---|
| 29 |
|
|---|
| 30 |
Generation is either 1 or 2, depending on releasing Midgard 1.x |
|---|
| 31 |
or Midgard2. Major release number is changed when important new |
|---|
| 32 |
features or API changes are introduced to the system. Minor |
|---|
| 33 |
release numbers are used for smaller incremental upgrades. |
|---|
| 34 |
|
|---|
| 35 |
For marketing purposes major Midgard releases can also be referred |
|---|
| 36 |
to using only two levels of the version string. For example, |
|---|
| 37 |
Midgard 1.7 instead of Midgard 1.7.1. |
|---|
| 38 |
|
|---|
| 39 |
In addition to version number, the version string can also include |
|---|
| 40 |
release status information like "alpha", "beta" or "rc". The |
|---|
| 41 |
formatting of the version string should be PHP version_compare() |
|---|
| 42 |
compatible and follow the PEAR recommendations: |
|---|
| 43 |
http://pear.php.net/group/docs/20040226-vn.php |
|---|
| 44 |
|
|---|
| 45 |
Package Creation |
|---|
| 46 |
---------------- |
|---|
| 47 |
|
|---|
| 48 |
* Make sure all sources are up to date and all optional patches |
|---|
| 49 |
are ported to particular branch. |
|---|
| 50 |
|
|---|
| 51 |
* Create new tag for release. |
|---|
| 52 |
|
|---|
| 53 |
* Run makedist with the version number |
|---|
| 54 |
$ ./makedist 2.0.0 |
|---|
| 55 |
makedist will also change the version string in midgard-core and |
|---|
| 56 |
copy needed data packages from Midgard website to midgard-data |
|---|
| 57 |
|
|---|
| 58 |
* Upload packages to http://www.midgard-project.org/download/ |
|---|
| 59 |
The article should use the major version (for example 2.0) |
|---|
| 60 |
as the URL name |
|---|
| 61 |
|
|---|
| 62 |
* Ensure that binary packages get generated and uploaded by their |
|---|
| 63 |
maintainers: |
|---|
| 64 |
Piotr Pokora generates Debian packages |
|---|
| 65 |
Jyrki Wahlstedt generates DarwinPorts (OSX) packages |
|---|
| 66 |
Binary packages files may be also generated by opensuse build system. |
|---|
| 67 |
|
|---|
| 68 |
* Add the new version number to Midgard bug tracker configuration |
|---|
| 69 |
* Change status of resolved bugs. |
|---|
| 70 |
|
|---|
| 71 |
* Do version bump at least in core's configure.in file. |
|---|
| 72 |
|
|---|
| 73 |
Announcements |
|---|
| 74 |
------------- |
|---|
| 75 |
|
|---|
| 76 |
The release announcement should be made available both as HTML and |
|---|
| 77 |
plain text. It should contain the following information: |
|---|
| 78 |
|
|---|
| 79 |
* Release name and number (Midgard 1.7.1 "Plug and Pray" released) |
|---|
| 80 |
|
|---|
| 81 |
* Release location and date (Lodz, September 7th 2005) |
|---|
| 82 |
|
|---|
| 83 |
* Explanation (The Midgard Project has released ...) |
|---|
| 84 |
|
|---|
| 85 |
* Bullet list of major new features from both Midgard Framework |
|---|
| 86 |
and Midgard CMS (MidCOM, Aegir, etc.) |
|---|
| 87 |
|
|---|
| 88 |
* Descriptions of the biggest improvements in few paragraphs |
|---|
| 89 |
|
|---|
| 90 |
* What is Midgard: basic description or marketing text and URL |
|---|
| 91 |
to www.midgard-project.org |
|---|
| 92 |
|
|---|
| 93 |
* Planned for next release: features, release date estimate |
|---|
| 94 |
|
|---|
| 95 |
* Download URLs for source and binaries |
|---|
| 96 |
|
|---|
| 97 |
* URLs for "Getting Started" guide and bug reporting |
|---|
| 98 |
|
|---|
| 99 |
* Contact information for release manager, spokesman and mailing lists |
|---|
| 100 |
|
|---|
| 101 |
Email release announcement to following addresses: |
|---|
| 102 |
dev@midgard-project.org |
|---|
| 103 |
user@midgard-project.org |
|---|
| 104 |
lwn@lwn.net |
|---|
| 105 |
general@oscom.org |
|---|
| 106 |
|
|---|
| 107 |
Submit release announcement by web to following locations: |
|---|
| 108 |
http://www.midgard-project.org/updates/ |
|---|
| 109 |
http://freshmeat.net/projects/midgard |
|---|
| 110 |
http://freshmeat.net/projects/midcom |
|---|
| 111 |
http://www.cmsinfo.org/submission.php3 |
|---|
| 112 |
http://www.newsforge.com/submit.pl |
|---|
| 113 |
http://www.content-wire.com/contact |
|---|
| 114 |
http://linuxtoday.com/contribute.php3 |
|---|
| 115 |
http://apache.slashdot.org/submit.pl |
|---|
| 116 |
https://www.entwickler.com/ssl/php_forms/pme_general.php?check=1 |
|---|
| 117 |
http://cmsmatrix.org/matrix/news?func=add&class=WebGUI::Asset::Post::Thread |
|---|
| 118 |
http://jaiku.com/channel/midgard |
|---|
| 119 |
http://www.new.facebook.com/group.php?gid=27554626815 |
|---|
| 120 |
|
|---|
| 121 |
Also update the entry on Midgard in: |
|---|
| 122 |
http://www.macupdate.com/info.php/id/19132 |
|---|
| 123 |
|
|---|
| 124 |
Add the release name together with linked explanation to: |
|---|
| 125 |
http://www.midgard-project.org/midcom-permalink-d528f84c55ef2299a96c8e9e3ccb5252 |
|---|
| 126 |
|
|---|
| 127 |
Major releases |
|---|
| 128 |
-------------- |
|---|
| 129 |
|
|---|
| 130 |
When making a major Midgard release (i.e. 2.0 or 1.7.0), the following |
|---|
| 131 |
additional actions must be done: |
|---|
| 132 |
|
|---|
| 133 |
* Create a release information sub-site to http://www.m-p.org/midgard/<version> |
|---|
| 134 |
- It should contain at least screenshots, feature list, architecture |
|---|
| 135 |
diagram, and a more verbose and nicely formatted version of the |
|---|
| 136 |
announcement |
|---|
| 137 |
- This sub-site can be created already early on in the release cycle |
|---|
| 138 |
and kept up-to-date, as the final feature set of the release is clarified |
|---|
| 139 |
- It is important to note both developer-oriented and end-user features |
|---|
| 140 |
|
|---|
| 141 |
* When the major release has been done, the midcom-template configuration |
|---|
| 142 |
snippet on the Midgard site must be altered to affect redirects: |
|---|
| 143 |
- /sitegroup-config/midcom-template/config: |
|---|
| 144 |
$GLOBALS['midcom_site']['midgard_version']='1.7'; |
|---|