Updated Kleopatra
[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
60
61 Building the Webpages
62 =====================
63
64 This has not been automated.  See the README file in the doc/website
65 directory.  To build the HTML version of the manuals you need to go to
66 doc/manual-de, run the command "make webversion" and copy the require
67 files to the desired location.  If you are a developer with write
68 access to the Sibversion, you may use the "online" target to actually
69 update the website.
70
71 Development Branches
72 ====================
73
74 The old version of gpg4win (version < 1.2) is since 1.1.3 tracked by
75 the SVN branch: branches/gpg4win-1-branch.  Only important fixes will
76 go into this version.  The current version is in the SVN trunk starts
77 as version 1.9 and will soon lead to version 2.0.
78
79
80
81 Adding new packages to the installer:
82 =====================================
83
84 This requires editing a couple of files; we might eventually automate
85 some of these tasks.  Here is a short run up:
86
87 1. Add constants for the package FOO into include/config.nsi.in .
88
89 2. Create 2 new installer scripts, named src/inst-foo.nsi and
90    uninst-foo.nsi and add them to EXTRA_DIST in src/Makefile.am.
91
92 3. Add foo to one the variables gpg4win_bpgks (if foo should not be
93    build be the gpg4win) or gpg4win_spkgs (if foo should be build by
94    gpg4win) in src/Makefile.am .  Also add any required configure
95    flags etc.
96
97 4. Add FOO to inst-sections.nsi.
98
99 5. Add detection of packages to configure.ac.  Check out the available
100    macros in m4/gpg4win.m4.  Depending on the way an upstream package
101    is packaged, you might need to write a new macro.
102
103 6. Add download information to packages/download.sh.
104
105 7. If the package ships pkg-config (*.pc) support files, you need add
106    post install instructions to Makefile.am.  Note that *.pc files may
107    be in the "runtime" directory ${pkgidir} if the package is built
108    within gpg4win (or peculiarly shipped), or in the development
109    package ${pkgidir_dev}.
110
111 Then run the usual "./autogen.sh" to create the actual configure file
112 and run configure as described above.
113
114
115 Version numbers
116 ===============
117
118 We use a specific order of version numbers.  This is best shown by an
119 example:
120
121   1.0.0             - The final 1.0.0 release. 
122   1.0.1-svn1234     - A snapshot based on SVN revision 1234
123   1.0.1-svn1235     - A newer snapshot
124   1.0.1rc1-svn1236  - A snapshot while preparing for a release candidate
125   1.0.1rc1          - The first release candidate for 1.0.1
126   1.0.1-svn1240     - yet another snapshot
127   1.0.1             - The final 1.0.1 release
128
129 The important point is that we bump up the version number before we do
130 an release and append a suffix to mark it as a development version.
131 This allows other software to use a configure check for the next to be
132 released version of gpg4win.
133
134
135
136 Copyright
137 =========
138
139 The entire Gpg4win package is
140
141   Copyright (C) 2005, 2006, 2007, 2008, 2009 g10 Code GmbH
142   
143   GPG4Win is free software; you can redistribute it and/or modify it
144   under the terms of the GNU General Public License as published by
145   the Free Software Foundation; either version 2 of the License, or
146   (at your option) any later version.
147   
148   GPG4Win is distributed in the hope that it will be useful, but
149   WITHOUT ANY WARRANTY; without even the implied warranty of
150   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
151   General Public License for more details.
152   
153   You should have received a copy of the GNU General Public License
154   along with this program; if not, write to the Free Software
155   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
156   02110-1301, USA
157
158
159 This file
160 =========
161
162 Copyright 2005, 2006, 2008 g10 Code GmbH
163
164 This file is free software; as a special exception the author gives
165 unlimited permission to copy and/or distribute it, with or without
166 modifications, as long as this notice is preserved.
167
168 This file is distributed in the hope that it will be useful, but
169 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
170 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
171 PURPOSE.