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