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