-@node Installation, Configuration, Concept Index, Top
-@appendix Installing PSPP
+@c PSPP - a program for statistical analysis.
+@c Copyright (C) 2017 Free Software Foundation, Inc.
+@c Permission is granted to copy, distribute and/or modify this document
+@c under the terms of the GNU Free Documentation License, Version 1.3
+@c or any later version published by the Free Software Foundation;
+@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+@c A copy of the license is included in the section entitled "GNU
+@c Free Documentation License".
+@c
+@node Installation
+@appendix Installing @pspp{}
+
+The usual way to obtain pspp is described here:
+@uref{https://www.gnu.org/software/pspp/get.html}. This appendix
+describes ways to update to newer released pspp versions. For building
+development versions: @xref{BuildDevel,,Building Development Versions}.
+
+@anchor{InstallUnix}
+@section Installation in Unix Environment from Source
@cindex installation
-@cindex PSPP, installing
+@cindex @pspp{}, installing
@cindex GNU C compiler
@cindex gcc
@cindex compiler, recommended
@cindex compiler, gcc
-PSPP conforms to the GNU Coding Standards. PSPP is written in, and
-requires for proper operation, ANSI/ISO C. You might want to
-additionally note the following points:
-
-@itemize @bullet
-@item
-The compiler and linker must allow for significance of several
-characters in external identifiers. The exact number is unknown but at
-least 31 is recommended.
-
-@item
-The @code{int} type must be 32 bits or wider.
-
-@item
-The recommended compiler is gcc 2.7.2.1 or later, but any ANSI compiler
-will do if it fits the above criteria.
-@end itemize
-
-Many UNIX variants should work out-of-the-box, as PSPP uses GNU
-autoconf to detect differences between environments. Please report any
-problems with compilation of PSPP under UNIX and UNIX-like operating
-systems---portability is a major concern of the author.
-
-The pages below give specific instructions for installing PSPP
-on each type of system mentioned above.
-
-@menu
-* UNIX installation:: Installing on UNIX-like environments.
-@end menu
-
-@node UNIX installation, , Installation, Installation
-@section UNIX installation
-@cindex UNIX, installing PSPP under
-@cindex installation, under UNIX
-@noindent
-To install PSPP under a UNIX-like operating system, follow the steps
-below in order. Some of the text below was taken directly from various
-Free Software Foundation sources.
+@pspp{} is written in ISO C and primarily targeted at UNIX-like
+environments. To install @pspp{} under a UNIX-like operating system,
+follow the steps below.
@enumerate
@item
-@code{cd} to the directory containing the PSPP source.
+@code{cd} to the directory containing the @pspp{} source.
@cindex configure, GNU
@cindex GNU configure
You can optionally supply some options to @code{configure} to
give it hints about how to do its job. Type @code{./configure --help}
-to see a list of options. One of the most useful options is
-@samp{--with-checker}, which enables the use of the Checker memory
-debugger under supported operating systems. Checker must already be
-installed to use this option. Do not use @samp{--with-checker} if you
-are not debugging PSPP itself.
-
-@cindex @file{Makefile}
-@cindex @file{config.h}
-@cindex @file{pref.h}
-@cindex makefile
-@item
-(optional) Edit @file{Makefile}, @file{config.h}, and @file{pref.h}.
-These files are produced by @code{configure}. Note that most PSPP
-settings can be changed at runtime.
-
-@file{pref.h} is only generated by @code{configure} if it does not
-already exist. (It's copied from @file{prefh.orig}.)
+to see a list of options.
@cindex compiling
@item
@cindex self-tests, running
@item
-Type @samp{make check} to run self-tests on the compiled PSPP package.
+Type @samp{make check} to run self-tests on the compiled @pspp{} package.
@cindex installation
-@cindex PSPP, installing
+@cindex @pspp{}, installing
@cindex @file{/usr/local/share/pspp/}
@cindex @file{/usr/local/bin/}
@cindex @file{/usr/local/info/}
@cindex documentation, installing
@item
Become the superuser and type @samp{make install} to install the
-PSPP binaries, by default in @file{/usr/local/bin/}. The
+@pspp{} binaries, by default in @file{/usr/local/bin/}. The
directory @file{/usr/local/share/pspp/} is created and populated with
-files needed by PSPP at runtime. This step will also cause the
-PSPP documentation to be installed in @file{/usr/local/info/},
+files needed by @pspp{} at runtime. This step will also cause the
+@pspp{} documentation to be installed in @file{/usr/local/info/},
but only if that directory already exists.
@item
-(optional) Type @samp{make clean} to delete the PSPP binaries
+(optional) Type @samp{make clean} to delete the @pspp{} binaries
from the source tree.
@end enumerate
-@setfilename ignored
+
+More detailed instructions for building from source including the
+installation of required libraries can be found here:
+@uref{http://git.savannah.gnu.org/cgit/pspp.git/plain/INSTALL}.
+
+@section Updating the pspp package in GNU/Linux distributions
+GNU/Linux distributions like Debian make a release by taking the
+pspp package version which is in the rolling testing (sid) stage at the
+time of freezing the GNU/Linux release. The pspp version which is the default
+version for a specific GNU/Linux distribution release are listed here:
+
+@itemize
+@item Debian: @uref{https://packages.debian.org/pspp}
+@end itemize
+
+Debian stretch for example contains pspp 0.10.2. There are a number of
+possibilities to update the pspp version inside a GNU/Linux distribution.
+
+@subsection Backports
+
+Sometimes a backport of a newer pspp version is available for an older
+distribution. Instructions how to install backports
+can be found here @uref{https://backports.debian.org/Instructions} for
+Debian. This is the easiest way to have an updated version.
+
+@subsection Building an updated pspp package
+
+If you wish to use a newer pspp version than the one provided with
+the GNU/Linux distribution or possibly a backport, then there is a good chance
+that you can generate a new updated pspp package for your GNU/Linux distribution release
+from the package source of a later GNU/Linux distribution release. The latest
+pspp package for Debian is in sid (unstable). It is not advisable to
+take a binary package from a later distribution because the interface to
+the required libraries may have changed. Therefore you take the package
+source instead of the package binary and then compile a new pspp package for your
+GNU/Linux distribution.
+
+Assume you want to create a new pspp package for Debian jessie. Jessie
+has pspp version 0.8.4 as the default version. Assume that Debian unstable
+contains the pspp version 1.0.1. Add the line
+@example
+deb-src http://ftp.debian.org/debian unstable main
+@end example
+to the file @code{/etc/apt/sources.conf}. This will make the package
+sources of the packages in unstable available for apt-get.
+
+Then download the pspp package sources from the unstable distribution.
+
+@example
+mkdir tmp
+cd tmp
+sudo apt-get update
+apt-get source pspp/unstable
+@end example
+
+After this step you will have the files
+
+@example
+pspp_1.0.1-1.dsc
+pspp_1.0.1-1.debian.tar.xz
+pspp_1.0.1.orig.tar.gz
+@end example
+
+and the directory
+
+@example
+pspp-1.0.1
+@end example
+
+in your directory. Now you can install the package
+dependencies with
+
+@example
+sudo apt-get build-dep pspp/unstable
+@end example
+
+And then you can build and test your pspp package with
+
+@example
+cd pspp-1.0.1
+debuild -us -uc
+cd ..
+@end example
+After this step you have the binary pspp package
+@example
+pspp_1.0.1-1_amd64.deb
+@end example
+in your directory and you can install the package with
+@example
+sudo dpkg -i pspp_1.0.1-1_amd64.deb
+@end example
+You can uninstall the package as usual with
+@example
+sudo apt-get remove pspp
+@end example
+This procedure is preferable vs. the @xref{InstallUnix, Plain Source Installation}
+because the package and all data can be uninstalled the usual way and
+the prerequisites can be installed the usual way via apt-get.
+
+@anchor{BuildDevel}
+@section Building a development version
+
+The installation of development versions and building directly from git is
+described here: @uref{https://www.gnu.org/software/pspp/get.html}.