4 This documents what is
done to create a pcb release. The releases now
5 are
done by branching the sources
, fixing up the release version number
6 in the branch and
then tagging the release branch sources. The motivation
7 for a branch rather than a tag is to
make it easier to deal with setting
8 the snapshot version number
in the documentation
, distfile
, and the
11 NOTE
: Use the DISTCHECK_CONFIGURE_FLAGS to be able to run the distcheck
12 target with lesstif as the built gui with
13 DISTCHECK_CONFIGURE_FLAGS
="--with-gui=lesstif" if you want to also verify
14 that distcheck works with the lesstif HID.
16 FIXME
-- we need to build where we explicitly add all the
export HID
's
17 and where we explicitly build with each of the gui HID's
(including
18 batch). This is needed to catch the
case of missing src
/hid
/*/hid.conf
21 After following the steps below
,
22 upload the
'pcb-$VERSION.tar.gz' file to the sourceforge
file release system
25 To
make a pcb release
do the following
:
28 =) # make sure it makes distfiles ok: (have to build before doing distcheck so
29 pcb gets built so it can create some of the images
in the doc directory
)
30 gmake distclean
; .
/autogen.sh
&& .
/configure
--enable-maintainer-mode \
31 --disable-update-desktop-database --disable-update-mime-database && \
32 gmake
&& gmake distcheck
33 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"'
35 unsetenv DISTCHECK_CONFIGURE_FLAGS
39 =) update the ChangeLog with
'./utils/cvs2cl.pl'. Check
in changes
41 =) update the NEWS
file with some
sort of release notes
42 summary. Check
in changes
44 =) if this is a major release
, then tag and branch
:
46 1. Tag the base of the release branch
47 cvs tag pcb-20081128-base
49 2. Create the release branch
50 cvs tag
-R -b -r pcb-20081128-base pcb-20081128
52 3. FIX_ME
[fix up this step. what shall we
do with the version
53 on the trunk? We
're about to run out of letters!]
54 On the trunk, update configure.ac to update the version
55 for example 1.99x after releasing 1.99w
60 4. On the release branch, update configure.ac to update the version
61 for example 20081128_ALPHA. Now pre-release snapshots can be made.
62 cvs update -PdA -r pcb-20081128
64 5. If desired tag an alpha release:
65 cvs update -PdA -r pcb-20081128
67 cvs tag -R -r pcb-20081128 pcb-20081128-ALPHA
68 cvs update -PdA -r pcb-20081128-ALPHA
69 ./autogen.sh && ./configure --enable-maintainer-mode \
70 --disable-update-desktop-database \
71 --disable-update-mime-database && \
72 gmake && gmake distcheck
74 6. When the release branch is ready to go, update configure.ac to
75 set the final release version. Then tag the release.
76 cvs update -PdA -r pcb-20081128
81 cvs tag -R -r pcb-20081128 pcb-20081128-RELEASE
82 cvs update -PdA -r pcb-20081128-RELEASE
83 ./autogen.sh && ./configure --enable-maintainer-mode \
84 --disable-update-desktop-database \
85 --disable-update-mime-database && \
86 gmake clean && gmake && gmake distcheck
90 openssl sha1 pcb-20081128.tar.gz > pcb-20081128.cksum
91 openssl md5 pcb-20081128.tar.gz >> pcb-20081128.cksum
92 openssl rmd160 pcb-20081128.tar.gz >> pcb-20081128.cksum
93 echo "File size (bytes):" >> pcb-20081128.cksum
94 wc -c pcb-20081128.tar.gz >> pcb-20081128.cksum
96 8. Create a new file release for pcb with a release name of
97 "pcb-20081128" (for pcb-20081128).
99 9. Upload the .tar.gz, .cksum files via the file release system on sourceforge. There is
100 a web upload page that can be reached from the file release system. After uploading
103 .tar.gz - any / source .gz
104 .cksum - Platform Independent / Other Source File
106 10. Return to your regularly scheduled trunk development
109 =) if this is a patch release, then simply make desired changes to the branch, and
112 cvs tag -R -r pcb-20081128 pcb-20081128-PATCH001
114 =) gmake distclean ; ./autogen.sh &&./configure && gmake distcheck