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
'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
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