7e64823a31a86c43f35274a95cb42d3457a23d94
[gpg4win.git] / README
1 This is gpg4win - the GUI Installer Builder for W32.
2
3 See also the file doc/README.en.txt.
4
5 Instructions:
6 =============
7
8 1. Download the source and binary packages that are required to build
9    the installer:
10
11    $ cd packages
12    $ sh download.sh
13    [...]
14    $ cd ..
15
16 2. Configure the source tree for cross compilation:
17
18    $ ./autogen.sh --build-w32
19
20 3. Build the installer:
21
22    $ make
23
24 The installer will be made available in three files:
25
26 src/gpg4win-X.Y.Z.exe
27 src/gpg4win-light-X.Y.Z.exe
28 src/gpg4win-src-X.Y.Z.exe
29
30
31 Basic requirements
32 ==================
33
34 A decent POSIX system is required for building this software as well
35 as GNU make.  We are using Debian GNU/Linux (Lenny); due to a little
36 bug in the mingw32 compiler it is highly suggested to put a line
37   deb http://apt.intevation.org lenny/mingw .
38 into /etc/apt/sources and update the mingw packages.  To satisfy all
39 needs of configure at least the following packages need to be
40 installed:
41
42  build-essential (libc6-dev, gcc, g++, make)
43  automake, autoconf (if building from SVN)
44  mingw32
45  nsis
46  stow
47  unzip
48  texinfo
49  imagemagick
50  tetex-bin
51  tetex-extra
52  latex-xcolor (for the compendium)
53  tr
54  gs-common
55  hyperlatex
56  sharutils (uudecode for claws icon patch)
57  gettext (msgfmt, dcgettext, gmsgfmt, xgettext for glib)
58  libglib2.0-dev (glib-genmarshal for glib)
59  docbook-utils, ghostscript (claws-mail manual)
60
61
62 Building the Webpages
63 =====================
64
65 This has not been automated.  See the README file in the doc/website
66 directory.  To build the HTML version of the manuals you need to go to
67 doc/manual-de, run the command "make webversion" and copy the require
68 files to the desired location.  If you are a developer with write
69 access to the Sibversion, you may use the "online" target to actually
70 update the website.
71
72 Development Branches
73 ====================
74
75 The old version of gpg4win (version < 1.2) is since 1.1.3 tracked by
76 the SVN branch: branches/gpg4win-1-branch.  Only important fixes will
77 go into this version.  The current version is in the SVN trunk starts
78 as version 1.9 and will soon lead to version 2.0.
79
80
81
82 Adding new packages to the installer:
83 =====================================
84
85 This requires editing a couple of files; we might eventually automate
86 some of these tasks.  Here is a short run up:
87
88 1. Add constants for the package FOO into include/config.nsi.in .
89
90 2. Create 2 new installer scripts, named src/inst-foo.nsi and
91    uninst-foo.nsi and add them to EXTRA_DIST in src/Makefile.am.
92
93 3. Add foo to one the variables gpg4win_bpgks (if foo should not be
94    build be the gpg4win) or gpg4win_spkgs (if foo should be build by
95    gpg4win) in src/Makefile.am .  Also add any required configure
96    flags etc.
97
98 4. Add FOO to inst-sections.nsi.
99
100 5. Add detection of packages to configure.ac.  Check out the available
101    macros in m4/gpg4win.m4.  Depending on the way an upstream package
102    is packaged, you might need to write a new macro.
103
104 6. Add download information to packages/download.sh.
105
106 7. If the package ships pkg-config (*.pc) support files, you need add
107    post install instructions to Makefile.am.  Note that *.pc files may
108    be in the "runtime" directory ${pkgidir} if the package is built
109    within gpg4win (or peculiarly shipped), or in the development
110    package ${pkgidir_dev}.
111
112 Then run the usual "./autogen.sh" to create the actual configure file
113 and run configure as described above.
114
115
116 Version numbers
117 ===============
118
119 We use a specific order of version numbers.  This is best shown by an
120 example:
121
122   1.0.0             - The final 1.0.0 release. 
123   1.0.1-svn1234     - A snapshot based on SVN revision 1234
124   1.0.1-svn1235     - A newer snapshot
125   1.0.1rc1-svn1236  - A snapshot while preparing for a release candidate
126   1.0.1rc1          - The first release candidate for 1.0.1
127   1.0.1-svn1240     - yet another snapshot
128   1.0.1             - The final 1.0.1 release
129
130 The important point is that we bump up the version number before we do
131 an release and append a suffix to mark it as a development version.
132 This allows other software to use a configure check for the next to be
133 released version of gpg4win.
134
135
136
137 Copyright
138 =========
139
140 The entire Gpg4win package is
141
142   Copyright (C) 2005, 2006, 2007, 2008, 2009 g10 Code GmbH
143   
144   GPG4Win is free software; you can redistribute it and/or modify it
145   under the terms of the GNU General Public License as published by
146   the Free Software Foundation; either version 2 of the License, or
147   (at your option) any later version.
148   
149   GPG4Win is distributed in the hope that it will be useful, but
150   WITHOUT ANY WARRANTY; without even the implied warranty of
151   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
152   General Public License for more details.
153   
154   You should have received a copy of the GNU General Public License
155   along with this program; if not, write to the Free Software
156   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
157   02110-1301, USA
158
159
160 This file
161 =========
162
163 Copyright 2005, 2006, 2008 g10 Code GmbH
164
165 This file is free software; as a special exception the author gives
166 unlimited permission to copy and/or distribute it, with or without
167 modifications, as long as this notice is preserved.
168
169 This file is distributed in the hope that it will be useful, but
170 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
171 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
172 PURPOSE.