SeaMonkey:Release Process: Difference between revisions

Jump to navigation Jump to search
m
Line 39: Line 39:
  echo "cvs $CVS_REPOS tag $RELEASETAG"
  echo "cvs $CVS_REPOS tag $RELEASETAG"


This outputs a list of commands to run for the tagging process, which I execute step by step, checking that the right thing is actually done. SeaMonkey usually pulls from a not-much-changing Gecko release branch near to a Firefox release tag (the CLIENTTAG which is set for pulling in that branch's client.mk), so we usually have a well-defined state to pull, but to make sure when pulling from that branch, I also set the CO_OPTS variable to use an exact date (automatically to the time of pulling in that script) so that the tree is 100% well-defined.
This outputs a list of commands to run for the tagging process, which I execute step by step, checking that the right thing is actually done. SeaMonkey usually pulls from a not-much-changing Gecko release branch near to a Firefox release tag (the <code>CLIENTTAG</code> which is set for pulling in that branch's <code>client.mk</code>), so we usually have a well-defined state to pull, but to make sure when pulling from that branch, I also set the <code>CO_OPTS</code> variable to use an exact date (automatically to the time of pulling in that script) so that the tree is 100% well-defined.


The commands pull a client.mk and use it to pull a complete suite (SeaMonkey) source checkout. We're only tagging files that are part of this checkout. For versions where building own builds with the old calendar extension was still supported, we also included calendar in that pull and in our tag as well as our source tarballs (see later), but nowadays the suite pull is enough.
The commands pull a <code>client.mk</code> and use it to pull a complete suite (SeaMonkey) source checkout. We're only tagging files that are part of this checkout. For versions where building own builds with the old calendar extension was still supported, we also included calendar in that pull and in our tag as well as our source tarballs (see later), but nowadays the <code>suite</code> pull is enough.


The first commit to client.mk does not show up anywhere actually, so the message is useless, but I remember that CVS didn't correctly realize that it had the state of that minibranch and might choke afterwards. The mv/sed/rm stuff is to make the client.mk pull our new SeaMonkey release tag, the second commit to client.mk will actually be recorded in the file's cvs history and should tell what that tag change actually was.
The first commit to <code>client.mk</code> does not show up anywhere actually, so the message is useless, but I remember that CVS didn't correctly realize that it had the state of that minibranch and might choke afterwards. The mv/sed/rm stuff is to make the <code>client.mk</code> pull our new SeaMonkey release tag, the second commit to <code>client.mk</code> will actually be recorded in the file's CVS history and should tell what that tag change actually was.


We do similar things to module.ver and version.txt in the next steps to remove the "pre" postfix on the SeaMonkey version number, just that we can commit them directly to the Gecko release branch, as those are SeaMonkey-specific files anyways. ''Note: Ask for appoval on that checkin to the release branch BEFORE committing! (build folks may else get nervous, dveditz can approve)''
We do similar things to <code>module.ver</code> and <code>version.txt</code> in the next steps to remove the "<code>pre</code>" postfix on the SeaMonkey version number, just that we can commit them directly to the Gecko release branch, as those are SeaMonkey-specific files anyways. ''Note: Ask for appoval on that checkin to the release branch BEFORE committing! (build folks may else get nervous, dveditz can approve)''


The actual tagging is done with the last two commands, first the new tag is forced on the client.mk file, then the rest of the tree is tagged.
The actual tagging is done with the last two commands, first the new tag is forced on the <code>client.mk</code> file, then the rest of the tree is tagged.


Usually, the next step from here is to [[#Creating_Builds|create a first set of candidate builds]].
Usually, the next step from here is to [[#Creating_Builds|create a first set of candidate builds]].
Account confirmers, Anti-spam team, canmove, Confirmed users, Bureaucrats and Sysops emeriti
4,083

edits

Navigation menu