Update libgcrypt to 1.6.1
[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 7 (Wheezy), any other
36 POSIX system should work as well but you may run into problems due to
37 different toolchain versions.
38
39 If you want trying to build under Debian 6 (Lenny) you need to put a
40 line "deb http://apt.intevation.org lenny/mingw" into /etc/apt/sources
41 and update the mingw packages.  However it building under Lenny is not
42 anymore suggested.
43
44 To satisfy all needs of configure at least the following packages need
45 to be installed:
46
47  build-essential (libc6-dev, gcc, g++, make)
48  automake 1.11, autoconf (if building from GIT)
49  mingw-w64-i686-dev
50  mingw-w64-x86-64-dev
51  nsis
52  stow
53  unzip
54  texinfo
55  imagemagick
56  gs-common (gs)
57  docbook-utils
58  sharutils (uudecode for claws icon patch)
59  gettext (msgfmt, dcgettext, gmsgfmt, xgettext for glib)
60  libglib2.0-dev (glib-genmarshal, glib-compile-{resources,schemas})
61  libgdk-pixbuf2.0-dev (gdk-pixbuf-csource)
62  docbook-utils, ghostscript (claws-mail manual)
63  texlive (you need most modules, e.g. texlive-latex-extra)
64  latex-xcolor (for the compendium)
65
66
67
68 Building the Webpages
69 =====================
70
71 The website is in the dedicated branch "website" in the git reposity.
72 Checkout that branch and read the instructions:
73
74   git checkout website
75
76
77 Development Branches
78 ====================
79
80 The old version of gpg4win (version < 1.2) is since 1.1.3 tracked by
81 the GIT branch: gpg4win-1-branch.  Only important fixes will go into
82 this version.  The current version in the GIT master starts as version
83 1.9.
84
85
86
87 Adding new packages to the installer:
88 =====================================
89
90 This requires editing a couple of files; we might eventually automate
91 some of these tasks.  Here is a short run up:
92
93 1. Add constants for the package FOO into include/config.nsi.in .
94
95 2. Create 2 new installer scripts, named src/inst-foo.nsi and
96    uninst-foo.nsi and add them to EXTRA_DIST in src/Makefile.am.
97
98 3. Add foo to one the variables gpg4win_bpgks (if foo should not be
99    build be the gpg4win) or gpg4win_spkgs (if foo should be build by
100    gpg4win) in src/Makefile.am .  Also add any required configure
101    flags etc.
102
103 4. Add FOO to inst-sections.nsi.
104
105 5. Add detection of packages to configure.ac.  Check out the available
106    macros in m4/gpg4win.m4.  Depending on the way an upstream package
107    is packaged, you might need to write a new macro.
108
109 6. Add download information to packages/download.sh.
110
111 7. If the package ships pkg-config (*.pc) support files, you need add
112    post install instructions to Makefile.am.  Note that *.pc files may
113    be in the "runtime" directory ${pkgidir} if the package is built
114    within gpg4win (or peculiarly shipped), or in the development
115    package ${pkgidir_dev}.
116
117 Then run the usual "./autogen.sh" to create the actual configure file
118 and run configure as described above.
119
120
121 Version numbers
122 ===============
123
124 We use a specific order of version numbers.  This is best shown by an
125 example:
126
127   1.0.0             - The final 1.0.0 release.
128   1.0.1-svn1234     - A snapshot based on SVN revision 1234
129   1.0.1-svn1235     - A newer snapshot
130   1.0.1rc1-svn1236  - A snapshot while preparing for a release candidate
131   1.0.1rc1          - The first release candidate for 1.0.1
132   1.0.1-svn1240     - yet another snapshot
133   1.0.1             - The final 1.0.1 release
134   2.1.1             - The final 2.1.1 release
135   2.1.1-beta88      - A snapshot before the 2.1.1 release.
136                       (The 88 in this example is the number of
137                        commits since the last release).
138
139 The important point is that we bump up the version number before we do
140 an release and append a suffix to mark it as a development version.
141 This allows other software to use a configure check for the next to be
142 released version of gpg4win.
143
144
145
146 Copyright
147 =========
148
149 The entire Gpg4win package is
150
151   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2012, 2013 g10 Code GmbH
152
153   GPG4Win is free software; you can redistribute it and/or modify it
154   under the terms of the GNU General Public License as published by
155   the Free Software Foundation; either version 2 of the License, or
156   (at your option) any later version.
157
158   GPG4Win is distributed in the hope that it will be useful, but
159   WITHOUT ANY WARRANTY; without even the implied warranty of
160   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
161   General Public License for more details.
162
163   You should have received a copy of the GNU General Public License
164   along with this program; if not, write to the Free Software
165   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
166   02110-1301, USA
167
168
169 This file
170 =========
171
172 Copyright 2005, 2006, 2008 g10 Code GmbH
173
174 This file is free software; as a special exception the author gives
175 unlimited permission to copy and/or distribute it, with or without
176 modifications, as long as this notice is preserved.
177
178 This file is distributed in the hope that it will be useful, but
179 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
180 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
181 PURPOSE.