source: trunk/for-distributions/creating-a-release.txt@ 9490

Last change on this file since 9490 was 9490, checked in by nzdl, 19 years ago

Help text for creating a release.

  • Property svn:keywords set to Author Date Id Revision
File size: 8.4 KB
Line 
1PREPARATION (DO ONCE) -- LINUX
2
3- cvs checkout -P gsdl (make sure $CVSROOT is set)
4- Run source setup.bash, in gsdl directory
5- Set version number (GSDL_VERSION) in lib/gsdlconf.h
6- Set version number for VERSION file near end of Install.sh, and commit
7- Make "dist" directory as a sibling of gsdl
8
9- cvs checkout -P gli, in gsdl directory
10- Update AboutDialog.Date in classes/dictionary*.properties, and commit
11 - Get month strings from within the file (Dates.*)
12- Set PROGRAM_VERSION in src/org/greenstone/gatherer/util/Utility.java, and commit
13- Set CURRENT_CONFIGURATION_VERSION in src/org/greenstone/gatherer/Configuration.java, and commit
14- Set Configuration version in classes/xml/config.xml and configRemote.xml, and commit
15
16- Change version numbers and dates in /home/nzdl/gsdl-docs/README*.TXT
17 - Get month strings from the macrofiles (_textmonthXX_)
18 - Russian: use /home/nzdl/for-distributions/russian.dm.cp1251 and russian.dm.koi8-r
19- Change version number in /home/nzdl/gsdl-docs/Support.htm
20- Check PDF manuals are in /home/nzdl/gsdl-docs/docs
21
22# - Copy DistDates file from /home/nzdl/for-distributions into $GSDLHOME
23- Copy any files in /home/nzdl/for-distributions/bin/script to $GSDLHOME/bin/script
24- Copy any files in /home/nzdl/for-distributions/bin/linux to $GSDLHOME/bin/linux
25- Copy /home/nzdl/for-distributions/bin/windows to become $GSDLHOME/bin/windows
26
27- Edit $GSDLHOME/collect/demo/etc/collect.cfg and remove non-core language strings
28 - Overwrite /home/nzdl/for-distributions/collect/demo/etc/collect.cfg and commit if different
29- Edit $GSDLHOME/etc/main.cfg and comment out non-core Language lines and macrofiles
30 - Overwrite /home/nzdl/for-distributions/etc/main.cfg and commit if different
31- Edit $GSDLHOME/gli/classes/xml/languages.xml and remove mds="true" from non-core languages
32 - Overwrite /home/nzdl/for-distributions/gli/classes/xml/languages.xml and commit if different
33
34- Add "-static" to LDFLAGS in configure.in
35- Run autoconf configure.in > configure
36- Run ./configure
37- Fix up non-statically linked packages by adding "-static" to LDFLAGS in:
38 - packages/expat/expat-1.95.8/Makefile
39 - packages/isis-gdl/Makefile
40 - packages/pdftohtml/pdftohtml_gs/src/Makefile
41 - packages/wv/wv-gs/Makefile
42 - packages/xlhtml/xlhtml-0.4.9.0/xlhtml/Makefile
43 - packages/xlhtml/xlhtml-0.4.9.0/ppthtml/Makefile
44- Add "-static" to the end of the "rtftohtml" rule in rtftohtml/rtftohtml_src/Makefile
45
46- Copy built demo collection (prepared earlier!) to collect/demo
47
48- Run Installshield X (/home/nzdl/installshieldX/InstallShieldUniversal)
49 - Open /research/mdewsnip/greenstone/installers/gsdl/Greenstone Digital Library Software.uip
50 - If you are not doing this on bedrock, copy the /research/mdewsnip/greenstone/installers/gsdl directory to somewhere on your computer. The parent directory will be the installer directory needed below.
51 - Edit the gsdl/Greenstone Digital Library Software.uip file and change any absolute paths as needed.
52 - Set Installation Information -> General Information: Version property
53 - Set Media -> Path Variables: GSDL_DISTRIBUTION_SOURCE to .../dist/gsdl-x.xx-cdrom
54 - Set Media -> Path Variables: GSDL_WEB_DISTRIBUTION_EXTRAS to .../dist/gsdl-x.xx-unix
55 - Set Media -> Path Variables: GSDL_INSTALLERS_DIR to installer directory specified above (if not on bedrock)
56
57
58PREPARATION (DO ONCE) -- WINDOWS (KOHEKOHE)
59
60- Run CMD.exe
61- Run H:\setupenv.bat, or (equivalently):
62 - Set PATH to include CVS and SSH executables (H:\bin)
63 - Set CVSROOT=:ext:<username>@cvs.scms.waikato.ac.nz:/usr/local/global-cvs/gsdl-src
64 - Set CVS_RSH=ssh
65 - Set EDITOR=edit
66
67- cvs checkout -P gsdl (requires about 120MB once compiled)
68- Set version number (GSDL_VERSION) in gsdl\lib\gsdlconf.h
69- Unzip the Crypt, Expat, GDBM and STLPort packages in gsdl\packages\windows
70
71- cvs checkout -P winbin
72- Copy winbin\bin to gsdl\bin\windows
73- Delete winbin directory
74
75
76BUILDING (REPEAT AS OFTEN AS NECESSARY) -- WINDOWS (KOHEKOHE)
77
78- cvs update -dP, in gsdl directory (retrieve any new changes)
79
80- If Windows 3.1 support is absolutely not needed, Greenstone can be compiled with VC6:
81 - Run C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT
82 - Run nmake /f win32.mak (from the gsdl directory)
83 - Run nmake /f win32.mak LOCAL_LIBRARY=1
84 (Errors compiling httpreq.c are due to VC++ -> use a different version, eg. 12.00.8804)
85
86- Otherwise, compile Greenstone with VC4 (using the STLPort package):
87 - Run C:\MSDEV\bin\VCVARS32.BAT
88 - Run nmake /f win32.mak USE_STLPORT=1 (from the gsdl directory)
89 - Run nmake /f win32.mak USE_STLPORT=1 LOCAL_LIBRARY=1
90
91- Move server.exe, cgi-bin\library.exe and cgi-bin\oaiserver.exe to bin\windows
92- Copy all files in bin\windows to $GSDLHOME/bin/windows (Linux)
93
94
95BUILDING (REPEAT AS OFTEN AS NECESSARY) -- LINUX
96
97- cvs update -dP, in gsdl directory (retrieve any new changes)
98- Run make (from top level gsdl directory)
99- In packages/wget/wget-1.9/src, delete wget, run make, rerun gcc command with -static at end
100- Run make install (from top level gsdl directory)
101- Run cgi-bin/library to check for segfaults, then copy it and cgi-bin/oaiserver into bin/linux
102- Check all executables are statically-linked: ldd bin/linux/*
103- Strip all executables: strip bin/linux/*
104
105- In the dist directory, remove any existing folders
106- Run create_distributions.pl -version_num x.xx -output_dir `pwd` -no_cols
107 - The final time you do this (are you sure??) uncomment the two "cvs tag" lines in the perl script to tag the repositories for the release.
108- Check no distribution contains non-core language interfaces (macrofiles, images)
109
110- For a Web release:
111 - Build Linux web distribution:
112 - Run Installshield X, open Greenstone Digital Library Software.uip
113 - Media -> Releases: select Linux Web Distribution and Build
114 - Close Installshield X
115 - Run finish-unix.sh linux-web
116 - Rename linux-web/disk1 folder to linux-web/gsdl-x.xx-unix
117 - Tar and gzip gsdl-x.xx-unix folder as gsdl-x.xx-unix.tar.gz
118
119 - Build Windows web distribution:
120 - Edit Greenstone Digital Library Software.uip, replace all "storedAs">1< with "storedAs">0<
121 - Run Installshield X, open Greenstone Digital Library Software.uip
122 - Media -> Releases: select Windows Web Distribution and Build
123 - Close Installshield X
124 - Restore old Greenstone Digital Library Software.uip file
125 - Rename the windows-web/disk1/setup.exe file to gsdl-x.xx-win32.exe
126
127 - Build Source distribution:
128 - In the dist directory, tar and gzip the gsdl-x.xx-src directory as gsdl-x.xx-src.tar.gz
129
130- For a CD-ROM release:
131 - Build Linux and Windows CD-ROM distributions:
132 - Run Installshield X, open Greenstone Digital Library Software.uip
133 - Media -> Releases: select Linux CD-ROM Distribution and Build
134 - Media -> Releases: select Windows CD-ROM Distribution and Build
135 - Close Installshield X
136 - Run merge-cds.pl
137 - Run finish-unix.sh linux-cd
138 - Zip up contents of merged-cd/disk1 directory, copy to Windows, then write to CD-ROM
139 - Don't forget any extra files for the CD (cd-files)
140
141- Test ad nauseum!
142
143
144FINALISATION (DO ONCE) -- CD-ROM RELEASE
145
146- !! INCOMPLETE !!
147- Write data to CD
148 - Use Sonic RecordNow DX
149 - Make sure CD-ROMs are created as Joliet CD-ROMs (this should be the default)
150 - Add in any extra stuff required (cd-files folder)
151
152- To make an ISO image: ensure CD is finalized when written. Linux: dd if=/dev/cdrom of=cd.iso
153
154
155FINALISATION (DO ONCE) -- WEB RELEASE
156
157- Upload binaries and ChangeLog to sourceforges ftp site:
158 - ftp upload.sourceforge.net (username is "anonymous", password is your e-mail address)
159 ftp> cd incoming
160 ftp> bin
161 ftp> put gsdl-x.xx-unix.tar.gz
162 ftp> put gsdl-x.xx-win32.exe
163 ftp> put gsdl-x.xx-src.tar.gz
164 ftp> put gsdl-x.xx-ChangeLog.txt (rename the ChangeLog created by create_distributions: in dist/gsdl-x.xx-src/gsdl/ChangeLog)
165- Add releases to sourceforge:
166 - login, file releases, add releases. type in release notes, select files from ones you have uploaded, choose some attributes (check previous release for values), notify all watchers.
167- Add ChangeLog to new Source release
168 - edit the release and add the file
169- Advertise (say GNU/Linux instead of Linux!):
170 - E-mail mailing lists with release notice
171 - Add item to http://www.greenstone.org - new item, and change the download paths in base.dm
172 - Open Source for Libraries: http://www.oss4lib.org - post a message
173 - FreshMeat: http://freshmeat.net - log in and add a release
174- Take the updated DistDates file and commit it back into /home/nzdl/for-distributions
Note: See TracBrowser for help on using the repository browser.