Add first KDE Framework and infrastructure for it
[gpg4win.git] / README
diff --git a/README b/README
index 3de8f48..0ad59f2 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,7 @@
 This is gpg4win - the GUI Installer Builder for W32.
 
+See also the file doc/README.en.txt.
+
 Instructions:
 =============
 
@@ -13,35 +15,90 @@ Instructions:
 
 2. Configure the source tree for cross compilation:
 
-   $ configure --host=i586-mingw32msvc
+   $ ./autogen.sh --build-w32
 
 3. Build the installer:
 
    $ make
 
-The installer will be made available in two files:
+The installer will be made available in three files:
 
 src/gpg4win-X.Y.Z.exe
+src/gpg4win-light-X.Y.Z.exe
 src/gpg4win-src-X.Y.Z.exe
 
 
+Basic requirements
+==================
+
+A decent POSIX system is required for building this software as well
+as GNU make.  We are using Debian GNU/Linux 8 (Jessie), any other
+POSIX system should work as well but you may run into problems due to
+different toolchain versions.
+
+To satisfy all needs of configure at least the following packages need
+to be installed:
+
+ build-essential (libc6-dev, gcc, g++, make)
+ automake, autoconf (if building from GIT)
+ mingw32
+ mingw-w64
+ mingw-w64-i686-dev
+ mingw-w64-x86-64-dev
+ nsis
+ stow
+ unzip
+ texinfo
+ imagemagick
+ gs-common | ghostscript (gs)
+ docbook-utils
+ gettext (msgfmt, dcgettext, gmsgfmt, xgettext for glib)
+ libglib2.0-dev (glib-genmarshal, glib-compile-{resources,schemas})
+ libgdk-pixbuf2.0-dev (gdk-pixbuf-csource)
+ texlive (you need most modules)
+ texlive-latex-extra
+ texlive-lang-german
+ latex-xcolor (for the compendium)
+ libqt4-dev-bin (in case pinentry-qt needs moc)
+ libgettextpo-dev
+
+
+Building the Webpages
+=====================
+
+The website is in the dedicated branch "website" in the git reposity.
+Checkout that branch and read the instructions:
+
+  git checkout website
+
+
+Development Branches
+====================
+
+The old version of gpg4win (version < 1.2) is since 1.1.3 tracked by
+the GIT branch: gpg4win-1-branch.  Only important fixes will go into
+this version.  The current version in the GIT master starts as version
+1.9.
+
+
+
 Adding new packages to the installer:
 =====================================
 
 This requires editing a couple of files; we might eventually automate
-some of tehse tasks.  Here is a short run up:
+some of these tasks.  Here is a short run up:
 
 1. Add constants for the package FOO into include/config.nsi.in .
 
 2. Create 2 new installer scripts, named src/inst-foo.nsi and
-   uninst-foo.nsi .
+   uninst-foo.nsi and add them to EXTRA_DIST in src/Makefile.am.
 
 3. Add foo to one the variables gpg4win_bpgks (if foo should not be
    build be the gpg4win) or gpg4win_spkgs (if foo should be build by
-   gpg4win) in src/Makefile.am
+   gpg4win) in src/Makefile.am .  Also add any required configure
+   flags etc.
 
-4. Add FOO to inst-sections.nsi and installer-finish.nsi.  The latter
-   is required for menu shortcuts.
+4. Add FOO to inst-sections.nsi.
 
 5. Add detection of packages to configure.ac.  Check out the available
    macros in m4/gpg4win.m4.  Depending on the way an upstream package
@@ -49,11 +106,68 @@ some of tehse tasks.  Here is a short run up:
 
 6. Add download information to packages/download.sh.
 
+7. If the package ships pkg-config (*.pc) support files, you need add
+   post install instructions to Makefile.am.  Note that *.pc files may
+   be in the "runtime" directory ${pkgidir} if the package is built
+   within gpg4win (or peculiarly shipped), or in the development
+   package ${pkgidir_dev}.
+
 Then run the usual "./autogen.sh" to create the actual configure file
 and run configure as described above.
 
 
-Copyright 2005 g10 Code GmbH
+Version numbers
+===============
+
+We use a specific order of version numbers.  This is best shown by an
+example:
+
+  1.0.0             - The final 1.0.0 release.
+  1.0.1-svn1234     - A snapshot based on SVN revision 1234
+  1.0.1-svn1235     - A newer snapshot
+  1.0.1rc1-svn1236  - A snapshot while preparing for a release candidate
+  1.0.1rc1          - The first release candidate for 1.0.1
+  1.0.1-svn1240     - yet another snapshot
+  1.0.1             - The final 1.0.1 release
+  2.1.1             - The final 2.1.1 release
+  2.1.1-beta88      - A snapshot before the 2.1.1 release.
+                      (The 88 in this example is the number of
+                       commits since the last release).
+
+The important point is that we bump up the version number before we do
+an release and append a suffix to mark it as a development version.
+This allows other software to use a configure check for the next to be
+released version of gpg4win.
+
+
+
+Copyright
+=========
+
+The entire Gpg4win package is
+
+  Copyright (C) 2005, 2006, 2007, 2008, 2009, 2012, 2013 g10 Code GmbH
+
+  GPG4Win is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  GPG4Win is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+  02110-1301, USA
+
+
+This file
+=========
+
+Copyright 2005, 2006, 2008 g10 Code GmbH
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without