- added new section "Building a Bochs release" in development.dbk and removed

original text from misc.txt
- removed obsolete release-prep.txt
This commit is contained in:
Volker Ruppert 2005-03-28 08:56:07 +00:00
parent 22098eefa2
commit f21a0a0c19
3 changed files with 163 additions and 174 deletions

View File

@ -1,7 +1,7 @@
<!--
================================================================
doc/docbook/development/development.dbk
$Id: development.dbk,v 1.14 2004-02-21 11:57:41 cbothamy Exp $
$Id: development.dbk,v 1.15 2005-03-28 08:56:06 vruppert Exp $
This is the top level file for the Bochs Developers Manual.
================================================================
@ -1610,16 +1610,171 @@ Returns the number of bytes written.
how to make, where to submit, what happens then?
</para>
</section>
<section id="cvs-release"><title>Building a Bochs release</title>
<section><title>Preparing source files and CVS</title>
<para>
Update version number and strings in configure.in.
<screen>
VERSION="2.2.pre2"
VER_STRING="2.2.pre2"
REL_STRING="Build from CVS snapshot on March 25, 2005"
</screen>
In the README file you have to update version number and date. Add some
information about new features if necessary.
<screen>
Bochs x86 Pentium+ Emulator
Updated: : Fri Mar 25 10:33:15 CET 2005
Version: 2.2.pre2
</screen>
Check date, update/sumup info in CHANGES. Run autoconf to regenerate configure and check them in.
Create a CVS tag to mark which revision of each file was used in the release.
For prereleases I make a normal CVS tag like this:
<screen>
cvs tag REL_2_2_pre2_FINAL
</screen>
But for a real release, I make a CVS branch tag AND a normal tag.
<screen>
cvs tag REL_2_2_BASE
cvs tag -b REL_2_2
</screen>
The base 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.
<screen>
cvs diff -r REL_2_2_BASE -r HEAD
cvs diff -r REL_2_2_BASE -r REL_2_0
cvs upd -j REL_2_2_BASE -j HEAD file
etc.
</screen>
The release and all bugfix releases after it are on the REL_2_2 branch.
When the release is actually finalized, you can do this:
<screen>
cvs tag REL_2_2_FINAL
</screen>
Now you can start building packages based on the created release tag.
</para>
</section>
<section id="cvs-release"><title>life cycle of a CVS release</title>
<para>
&FIXME;
</para>
</section>
<section><title>Building the release on win32</title>
<para>
These instructions require cygwin and MSVC++.
</para>
<para>
In Cygwin:
<screen>
sh .conf.win32-vcpp # runs configure
make win32_snap # unzip workspace, make a win32 source ZIP
</screen>
Copy the source ZIP to a windows machine, if necessary.
</para>
<para>
Open up Visual C++ and load the workspace file Bochs.dsw. Check
the Build:Set Active Project Configuration is set the way you want it.
For releases I use "Win32 Release".
</para>
<para>
To create "bochsdbg.exe" with Bochs debugger support, manually change two
lines in config.h to turn on the debugger.
<screen>
#define BX_DEBUGGER 1
#define BX_DISASM 1
</screen>
VC++ 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.
<screen>
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
</screen>
</para>
<para>
To get the docbook installed, you need to do something like this:
<itemizedlist>
<listitem> <para> make dl_docbook </para> </listitem>
<listitem> <para> copy up to date doc files </para> </listitem>
</itemizedlist>
Then you can do
<screen>
cd doc/docbook; touch */*.html
</screen>
Do make install_win32 into /tmp or someplace:
<screen>
make install_win32 prefix=/tmp/bochs-2.2.pre2
</screen>
This copies all the files into /tmp/bochs-2.2.pre2 and then creates a
binary ZIP at /tmp/bochs-2.2.pre2.zip. Rename that bochs-2.2.pre2.win32-bin.zip.
</para>
<para>
Now make the NSIS installer package (the current script is known to work with NSIS 2.03)
<screen>
cd build/win32/nsis
</screen>
Unzip the binary ZIP file into bochs-$VERSION (must match Makefile) and
then run make.
<screen>
unzip ~/bochs-2.2.pre2.zip
make
</screen>
That gives an installer called 'Bochs-2.2.pre2.exe'. Test and upload.
</para>
</section>
<section><title>Building the release on Linux</title>
<para>
Do a clean checkout using anonymous cvs, so that the source tarball
will be all set up for anonymous cvs. First I'll create a clean
directory called "clean-anon".
<screen>
cvs -d:pserver:anonymous@cvs.bochs.sourceforge.net:/cvsroot/bochs login
cvs -z3 -d:pserver:anonymous@cvs.bochs.sourceforge.net:/cvsroot/bochs \
checkout -d clean-anon bochs
</screen>
Start with clean-anon which tracks the CVS head. Change its sticky tag
so that it sticks to the release tag.
<screen>
cp -a clean-anon bochs-2.2.pre2
cd bochs-2.2.pre2
cvs upd -P -r REL_2_2_pre2_FINAL
cd ..
tar czvf bochs-2.2.pre2.tar.gz --exclude CVS --exclude .cvsignore bochs-2.2.pre2
</screen>
The source TAR file bochs-2.2.pre2.tar.gz is ready to upload.
</para>
<para>
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.
WARNING : do not build in /tmp/bochs-XXX...
<screen>
./build/redhat/make-rpm | tee ../build.txt
</screen>
This produces two rpm files in the current directory. Test and upload.
</para>
</section>
<section><title>Uploading files and creating a file release on SF</title>
<para>
When you are ready with creating release packages you have to upload them to SF
using anonymous FTP using this location:
<screen>
upload.sourceforge.net/incoming
</screen>
Note that you cannot modify or delete files after uploading them. If you don't do
anything with the uploaded files, they will be deleted by SF after 24 hours.
</para>
<para>
To create or edit a file release you have to log in to the <command>Admin</command>
section on the SF project page of Bochs. Then you have to go to the
<command>File Releases</command> page and follow the instructions there.
</para>
</section>
</section>
</chapter>
<chapter id="webmastering"><title>Coding</title>
<chapter id="webmastering"><title>Webmastering</title>
<section id="websites"><title>websites</title>
<para>

View File

@ -1,4 +1,4 @@
$Id: misc.txt,v 1.31 2004-04-28 20:06:57 cbothamy Exp $
$Id: misc.txt,v 1.32 2005-03-28 08:56:06 vruppert Exp $
This is a temporary place to paste in stuff that should go into the docs one
day. When it is transferred into docbook, let's remove it from misc.txt.
@ -270,127 +270,6 @@ fatal errors! At the end, you should see Bochs.exe in the source directory.
--------------------------------------------------
Steps for building a Bochs release
Thu Dec 5 14:23:20 2002
Bryce Denney
Make sure that README and configure.in have the correct version number.
Check date, update/sumup info in CHANGES
Run autoconf to regenerate configure and check them in. Create a
CVS tag to mark which revision of each file was used in the release.
For prereleases I make a normal CVS tag like this:
cvs tag REL_2_0_pre3_FINAL
But for a real release, I make a CVS branch tag AND a normal tag.
cvs tag REL_2_0_BASE
cvs tag -b REL_2_0
The base 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.
cvs diff -r REL_2_0_BASE -r HEAD
cvs diff -r REL_2_0_BASE -r REL_2_0
cvs upd -j REL_2_0_BASE -j HEAD file
etc.
The release and all bugfix releases after it are on the REL_2_0 branch.
When the release is actually finalized,
cvs tag REL_2_0_FINAL
Building the release on win32.
These instructions require cygwin and MSVC++.
In Cygwin:
sh .conf.win32-vcpp # runs configure
make win32_snap # unzip workspace, make a win32 source ZIP
CB: can this zip file be the win32 src release ?
Copy the source ZIP to a windows machine, if necessary.
Open up Visual C++ and load the workspace file Bochs.dsw. Check
the Build:Set Active Project Configuration is set the way you want it.
For releases I use "Win32 Release".
OPTIONAL: Build bochsdbg.exe.
| 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 1
|
| VC++ 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
+---
NOTE: To get the docbook installed, you need to do something like this
make dl_docbook
or copy up to date doc files
and cd doc/docbook; touch */*.html
Do make install_win32 into /tmp or someplace:
make install_win32 prefix=/tmp/bochs-2.0.pre3
This copies all the files into /tmp/bochs-2.0.pre3 and then creates a
binary ZIP at /tmp/bochs-2.0.pre3.zip. Rename that
bochs-2.0.pre3.win32-bin.zip
Now make the NSIS installer package
(the current script is known to work with nsis 2.0rc1)
cd build/win32/nsis
Unzip the binary ZIP file into bochs-$VERSION (must match Makefile) and
then run make.
unzip ~/bochs-2.0.pre3.zip
make
That gives an installer called 'Bochs-2.0.pre3.exe'.
Test and upload.
--------------
Building the release on Linux
Do a clean checkout using anonymous cvs, so that the source tarball
will be all set up for anonymous cvs. First I'll create a clean
directory called "clean-anon".
cvs -d:pserver:anonymous@cvs.bochs.sourceforge.net:/cvsroot/bochs login
cvs -z3 -d:pserver:anonymous@cvs.bochs.sourceforge.net:/cvsroot/bochs \
checkout -d clean-anon bochs
Start with clean-anon which tracks the CVS head. Change its sticky tag
so that it sticks to the release tag.
cp -a clean-anon bochs-2.0.pre3
cd bochs-2.0.pre3
cvs upd -P -r REL_2_0_pre3_FINAL
cd ..
tar czvf bochs-2.0.pre3.tar.gz --exclude CVS --exclude .cvsignore bochs-2.0.pre3
The source TAR file bochs-2.0.pre3.tar.gz is ready to 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.
WARNING : do not build in /tmp/bochs-XXX...
./build/redhat/make-rpm | tee ../build.txt
This produces two rpm files in the current directory. Test and upload.
<!-- *************************************************************** -->
Command to make a clean source tarball :
tar czvf bochs.tar.gz --exclude "*.sym" --exclude "*/rombios*.txt" --exclude "*.swp" --exclude "*.bak" --exclude "*.o" --exclude "*.a" --exclude "*/bios/_*" --exclude "*/bios/*.s" --exclude ".#*" --exclude "*.rej" --exclude "*.orig" --exclude "*/bochs" --exclude "*autom4te.cache*" --exclude "*.libs*" --exclude "*.opt" --exclude "*.dsp" --exclude "*.dsw" --exclude "*/bxcommit" --exclude "*/bxvhub" --exclude "*/bximage" --exclude CVS --exclude .cvsignore --exclude "*.la" --exclude "*.lo" --exclude "*/docbook/*.html" bochs
<!-- *************************************************************** -->
Wed Dec 11 13:56:20 EST 2002

View File

@ -1,45 +0,0 @@
Notes on preparing a release:
update README (easy)
update Makefile.in
update bxversion.h (configure; make bxversion.h)
write into CHANGES.txt
copy into docs-html/changelog.html
update docs-html/cvs-status.html
building it:
export VERSION=1.2.1
export TAG=REL_1_2_1_FINAL
export DIR=bochs-1.2.1
source:
cvs export -r$TAG -d$DIR bochs
tar czvf bochs-$VERSION.tar.gz --exclude CVS $DIR
win32 makefiles:
rm -rf $DIR
tar xzvf bochs-$VERSION.tar.gz
(cd $DIR && sh .conf.win32-vcpp)
zip bochs-win32makefiles-$VERSION.zip bochs-$VERSION/config.h bochs-$VERSION/Makefile bochs-$VERSION/*/Makefile bochs-$VERSION/*/*/Makefile
rm -rf $DIR
mac makefiles:
rm -rf $DIR
tar xzvf bochs-$VERSION.tar.gz
(cd $DIR && sh .conf.macos)
zip bochs-macmakefiles-$VERSION.zip bochs-$VERSION/config.h bochs-$VERSION/Makefile bochs-$VERSION/*/Makefile bochs-$VERSION/*/*/Makefile
rm -rf $DIR
Linux RPM:
rm -rf $DIR
tar xzvf bochs-$VERSION.tar.gz
su
(cd $DIR && ./configure && make rpm)
mv /usr/src/redhat/SRPMS/bochs-$VERSION-1.src.rpm bochs-$VERSION.src.rpm
mv /usr/src/redhat/RPMS/i386/bochs-$VERSION-1.i386.rpm bochs-$VERSION.i386.rpm
win32 binary:
insert some stuff at top of README.txt
for windows, no automation yet. Look at old package and copy new files in.