Update version number and strings in configure.in.
VERSION="2.5" VER_STRING="2.5" REL_STRING="Build from SVN snapshot on November 27, 2011"In the README file you have to update version number and date. Add some information about new features if necessary.
Bochs x86 Pentium+ Emulator Updated: Sun Nov 27 16:55:00 CET 2011 Version: 2.5In the file bochs.manifest you have to update the version number for the Windows build.
version="2.5.0.0"Check date, update/sumup info in CHANGES. Run autoconf to regenerate configure and check them in. Create an SVN tag that contains all files of the revision that was used in the release. For prereleases I create a normal SVN tag like this:
svn mkdir tags/REL_2_5_pre1_FINAL svn copy trunk/bochs tags/REL_2_5_pre1_FINAL/bochs svn commitBut for a real release, I make an SVN branch tag AND a normal tag.
svn mkdir tags/REL_2_5_FINAL svn copy trunk/bochs tags/REL_2_5_FINAL/bochs svn mkdir branches/REL_2_5 svn copy trunk/bochs branches/REL_2_5/bochs svn commitThe tag marks where the branch split off of the main trunk. This is very useful in maintaining the branch since you can do diffs against it.
svn diff tags/REL_2_5_FINAL/bochs trunk/bochs svn diff tags/REL_2_5_FINAL/bochs branches/REL_2_5 etc.All bugfix-only releases after the final release should be created from the REL_2_5 branch. Now you can start building packages with the sources from the created release tag.
These instructions require cygwin and MSVC++.
In Cygwin:
sh .conf.win32-vcpp # runs configure make win32_snap # unzip workspace, make a win32 source ZIPThe source ZIP is now ready for upload. To build the binary package, copy it to a windows machine, if necessary.
Open up Visual C++ and load the workspace file Bochs.sln. Check the Build:Set Active Project Configuration is set the way you want it. For releases I use "Win32 Release".
To create "bochsdbg.exe" with Bochs debugger support, manually change two lines in config.h to turn on the debugger.
#define BX_DEBUGGER 1 #define BX_DISASM 1VC++ will rebuild Bochs with debugger and overwrite bochs.exe. To avoid trashing the non-debug version, move it out of the way while the debugger version is being built. Then rename the debugger version to bochsdbg.exe.
cd obj-release mv bochs.exe bochs-normal.exe (build again with BX_DEBUGGER=1 this time) mv bochs.exe bochsdbg.exe mv bochs-normal.exe bochs.exe
To get the docbook installed, you need to do something like this:
make dl_docbook
copy up to date doc files
cd doc/docbook; touch */*.htmlDo make install_win32 into /tmp or someplace:
make install_win32 prefix=/tmp/bochs-2.5This copies all the files into /tmp/bochs-2.5 and then creates a binary ZIP at /tmp/bochs-2.5.zip. Rename that bochs-2.5.win32-bin.zip.
Now make the NSIS installer package (the current script is known to work with NSIS 2.44)
cd build/win32/nsisUnzip the binary ZIP file into bochs-$VERSION (must match Makefile) and then run make.
unzip ~/bochs-2.5.zip makeThat gives an installer called Bochs-2.5.exe. Test and upload it.
Do a clean SVN checkout from the release tag and specify a not yet existing directory name with the version number as the destination. Then create the source package from this new directory.
svn co http://svn.code.sf.net/p/bochs/code/tags/REL_2_5_FINAL/bochs bochs-2.5 tar czvf bochs-2.5.tar.gz --exclude=.svn bochs-2.5The source TAR file bochs-2.5.tar.gz is ready for upload.
The RPM will be building using the configuration in .conf.linux with a few parameters from build/redhat/make-rpm. Make any last minute changes to .conf.linux. Any changes will go into the source RPM. The DLX Linux demo package will be downloaded to the Bochs root directory if it is not already present there.
./build/redhat/make-rpm | tee ../build.txtThis produces two rpm files in the current directory. Test and upload.
When you are ready with creating release packages you have to upload them using the SF file manager feature. Create a subdirectory with the version number in the bochs directory. Point the download destination to the new directory and start uploading packages. The top of the CHANGES file should be used as the release notes. After setting up the file properties the new release is ready for download.
After having all files set up in the download area, don't forget to post an announcement containing a brief summary of changes to the bochs-announce mailing list and the "Project News" section on SF.