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 \
29 --disable-update-desktop-database --disable-update-mime-database && \
30 gmake
&& gmake distcheck
31 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"'
33 unsetenv DISTCHECK_CONFIGURE_FLAGS
37 =) update the ChangeLog with
'./utils/cvs2cl.pl'. Check
in changes
39 =) update the NEWS
file with some
sort of release notes
40 summary. Check
in changes
42 =) if this is a major release
, then tag and branch
:
44 1. Tag the base of the release branch
45 cvs tag pcb-20081128-base
47 2. Create the release branch
48 cvs tag
-R -b -r pcb-20081128-base pcb-20081128
50 3. FIX_ME
[fix up this step. what shall we
do with the version
51 on the trunk? We
're about to run out of letters!]
52 On the trunk, update configure.ac to update the version
53 for example 1.99x after releasing 1.99w
58 4. On the release branch, update configure.ac to update the version
59 for example 20081128_ALPHA. Now pre-release snapshots can be made.
60 cvs update -PdA -r pcb-20081128
62 5. If desired tag an alpha release:
63 cvs update -PdA -r pcb-20081128
65 cvs tag -R -r pcb-20081128 pcb-20081128-ALPHA
66 cvs update -PdA -r pcb-20081128-ALPHA
67 ./autogen.sh && ./configure --enable-maintainer-mode \
68 --disable-update-desktop-database \
69 --disable-update-mime-database && \
70 gmake && gmake distcheck
72 6. When the release branch is ready to go, update configure.ac to
73 set the final release version. Then tag the release.
74 cvs update -PdA -r pcb-20081128
79 cvs tag -R -r pcb-20081128 pcb-20081128-RELEASE
80 cvs update -PdA -r pcb-20081128-RELEASE
81 ./autogen.sh && ./configure --enable-maintainer-mode \
82 --disable-update-desktop-database \
83 --disable-update-mime-database && \
84 gmake clean && gmake && gmake distcheck
88 openssl sha1 pcb-20081128.tar.gz > pcb-20081128.cksum
89 openssl md5 pcb-20081128.tar.gz >> pcb-20081128.cksum
90 openssl rmd160 pcb-20081128.tar.gz >> pcb-20081128.cksum
91 echo "File size (bytes):" >> pcb-20081128.cksum
92 wc -c pcb-20081128.tar.gz >> pcb-20081128.cksum
94 8. Create a new file release for pcb with a release name of
95 "pcb-20081128" (for pcb-20081128).
97 9. Upload the .tar.gz, .cksum files via the file release system on sourceforge. There is
98 a web upload page that can be reached from the file release system. After uploading
101 .tar.gz - any / source .gz
102 .cksum - Platform Independent / Other Source File
104 10. Return to your regularly scheduled trunk development
107 =) if this is a patch release, then simply make desired changes to the branch, and
110 cvs tag -R -r pcb-20081128 pcb-20081128-PATCH001
112 =) gmake distclean ; ./autogen.sh &&./configure && gmake distcheck