GNU/Linux installation/update - Use GNU/Linux wording - Remove Ubuntu
[pspp] / doc / installing.texi
index 97f82ec515c9cdb9e3f02e629e3b937c4becab1a..0acc32f55989975964fc4e4934793c590f745dac 100644 (file)
@@ -1,54 +1,36 @@
-@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
@@ -60,23 +42,7 @@ for.
 
 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
@@ -87,24 +53,127 @@ correctly under your configuration, contact the author.
 
 @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}.