Applied patch from Tomaz Solc fixing bug #1882970.
[geda-pcb/gde.git] / README.snapshots
blob41c21f8978361d39cc4a3ed9ce54bab56f0c43e1
1 #!/bin/sh
3 # $Id$
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
11 about dialog box.
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"'
30 gmake distcheck
31 unsetenv DISTCHECK_CONFIGURE_FLAGS
33 =) cvs ci
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
49 on the trunk?]
50 On the trunk, update configure.ac to update the version
51 for example 1.99x after releasing 1.99w
52 cvs update -PdA
53 vi configure.ac
54 cvs ci configure.ac
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
62 ./autogen.sh
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
70 vi configure.ac
71 cvs ci configure.ac
72 ./autogen.sh
73 cvs ci
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
78 7. Create checksums
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).
92 For file types:
93 .tar.gz - any / source .gz
94 .cksum - Platform Independent / Other Source File
96 10. Return to your regularly scheduled trunk development
97 cvs update -PdA
99 =) if this is a patch release, then simply make desired changes to the branch, and
100 ./autogen.sh
101 cvs ci
102 cvs tag -R -r pcb-20080202 pcb-20080202-PATCH001
104 =) gmake distclean ; ./autogen.sh &&./configure && gmake distcheck