6 This documents what is
done to create a pcb release. The releases now
7 are
done by branching the sources
, fixing up the release version number
8 in the branch and
then tagging the release branch sources. The motivation
9 for a branch rather than a tag is to
make it easier to deal with setting
10 the snapshot version number
in the documentation
, distfile
, and the
13 NOTE
: Use the DISTCHECK_CONFIGURE_FLAGS to be able to run the distcheck
14 target with lesstif as the built gui with
15 DISTCHECK_CONFIGURE_FLAGS
="--with-gui=lesstif" if you want to also verify
16 that distcheck works with the lesstif HID.
19 After following the steps below
,
20 upload the
'pcb-$VERSION.tar.gz' file to the sourceforge
file release system
23 To
make a pcb release
do the following
:
26 =) # make sure it makes distfiles ok: (have to build before doing distcheck so
27 pcb gets built so it can create some of the images
in the doc directory
)
28 gmake distclean
; .
/autogen.sh
&& .
/configure
--enable-maintainer-mode --disable-update-desktop-database --disable-update-mime-database && gmake
&& gmake distcheck
29 setenv DISTCHECK_CONFIGURE_FLAGS
'--with-gui=lesstif CPPFLAGS=-I/usr/pkg/include CFLAGS=-I/usr/pkg/include LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib"'
31 unsetenv DISTCHECK_CONFIGURE_FLAGS
35 =) update the ChangeLog with
'./utils/cvs2cl.pl'. Check
in changes
37 =) update the NEWS
file with some
sort of release notes
38 summary. Check
in changes
40 =) if this is a major release
, then tag and branch
:
42 1. Tag the base of the release branch
43 cvs tag pcb-20080202-base
45 2. Create the release branch
46 cvs tag
-R -b -r pcb-20080202-base pcb-20080202
48 3. FIX_ME
[fix up this step. what shall we
do with the version
49 on the trunk? We
're about to run out of letters!]
50 On the trunk, update configure.ac to update the version
51 for example 1.99x after releasing 1.99w
56 4. On the release branch, update configure.ac to update the version
57 for example 20080202_ALPHA. Now pre-release snapshots can be made.
58 cvs update -PdA -r pcb-20080202
60 5. If desired tag an alpha release:
61 cvs update -PdA -r pcb-20080202
63 cvs tag -R -r pcb-20080202 pcb-20080202-ALPHA
64 cvs update -PdA -r pcb-20080202-ALPHA
65 ./autogen.sh && ./configure --enable-maintainer-mode --disable-update-desktop-database --disable-update-mime-database && gmake && gmake distcheck
67 6. When the release branch is ready to go, update configure.ac to
68 set the final release version. Then tag the release.
69 cvs update -PdA -r pcb-20080202
74 cvs tag -R -r pcb-20080202 pcb-20080202-RELEASE
75 cvs update -PdA -r pcb-20080202-RELEASE
76 ./autogen.sh && ./configure --enable-maintainer-mode --disable-update-desktop-database --disable-update-mime-database && gmake clean && gmake && gmake distcheck
80 openssl sha1 pcb-20080202.tar.gz > pcb-20080202.cksum
81 openssl md5 pcb-20080202.tar.gz >> pcb-20080202.cksum
82 openssl rmd160 pcb-20080202.tar.gz >> pcb-20080202.cksum
83 echo "File size (bytes):" >> pcb-20080202.cksum
84 wc -c pcb-20080202.tar.gz >> pcb-20080202.cksum
86 8. Upload the .tar.gz, .cksum files to
87 ftp://upload.sourceforge.net/incoming/
89 9. Create a new file release for pcb with a release name of
90 "pcb-20080202" (for pcb-20080202).
93 .tar.gz - any / source .gz
94 .cksum - Platform Independent / Other Source File
96 10. Return to your regularly scheduled trunk development
99 =) if this is a patch release, then simply make desired changes to the branch, and
102 cvs tag -R -r pcb-20080202 pcb-20080202-PATCH001
104 =) gmake distclean ; ./autogen.sh &&./configure && gmake distcheck