build: ensure make-prime-list doesn't access out of bounds memory
[platform/upstream/coreutils.git] / README-prereq
index f6ff48e..66688dc 100644 (file)
@@ -1,34 +1,61 @@
-Detailed below are concrete examples for
-getting the prerequisites for particular systems.
-
-- linux - fedora
-
-  This shows the steps for getting the required tools to build coreutils 7.0
-  on a Fedora 8 system. We try to use official packages where possible.
-  The 3 methods described for making these required packages available, should
-  help clarify build requirements on any linux system at least.
-
-  1. Make sure offical distro git package is installed
-    # yum install git
-
-  2. The distro autoconf is too old, but there is a newer one available
-  so we rebuild that and make it available to the full system:
-    # yum install emacs #autoconf build requires emacs (20MB)
-    # rpmbuild --rebuild http://download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/autoconf-2.63-1.fc10.src.rpm
-    # rpm -Uvh /usr/src/redhat/RPMS/noarch/autoconf-2.63-1.fc8.noarch.rpm
-  Note Autoconf 2.61a-341 or newer is needed to build automake-1.10b in step 3.
-  Apply the same method to install the lzma package.
-  [FIXME: mention xz when it's packaged]
-
-  3. The latest stable automake (1.10.1) was not new enough, so we download
-  and build automake-1.10b or newer from its repository and make it available
-  just to coreutils:
-    # yum install help2man #required to build automake fully
-    $ git clone git://git.sv.gnu.org/automake.git
-    $ cd automake
-    $ git checkout --track origin/next -b next
-    $ ./configure --prefix=$HOME/coreutils/deps
-    $ make install
-
-  Now we can build coreutils as described in README-hacking
-  as long as $PATH starts with $HOME/coreutils/deps
+This gives some notes on obtaining the tools required for development.
+I.E. the tools checked for by the bootstrap script and include:
+
+- Autoconf  <http://www.gnu.org/software/autoconf/>
+- Automake  <http://www.gnu.org/software/automake/>
+- Bison     <http://www.gnu.org/software/bison/>
+- Gettext   <http://www.gnu.org/software/gettext/>
+- Git       <http://git.or.cz/>
+- Gperf     <http://www.gnu.org/software/gperf/>
+- Gzip      <http://www.gnu.org/software/gzip/>
+- Perl      <http://www.cpan.org/>
+- Rsync     <http://samba.anu.edu.au/rsync/>
+- Tar       <http://www.gnu.org/software/tar/>
+- Texinfo   <http://www.gnu.org/software/texinfo/>
+
+Note please try to install/build official packages for your system.
+If these programs are not available use the following instructions
+to build them and install the results into a directory that you will
+then use when building this package.
+
+Even if the official version of a package for your system is too old,
+please install it, as it may be required to build the newer versions.
+The examples below install into $HOME/coreutils/deps/, so if you are
+going to follow these instructions, first ensure that your $PATH is
+set correctly by running this command:
+
+  prefix=$HOME/coreutils/deps
+  export PATH=$prefix/bin:$PATH
+
+* autoconf *
+
+  # Note Autoconf 2.62 or newer is needed to build automake-1.11.1
+  git clone --depth=1 git://git.sv.gnu.org/autoconf.git
+  git checkout v2.62
+  autoreconf -vi
+  ./configure --prefix=$prefix
+  make install
+
+* automake *
+
+  # Note help2man is required to build automake fully
+  git clone git://git.sv.gnu.org/automake.git
+  cd automake
+  git checkout v1.11.1
+  ./bootstrap
+  ./configure --prefix=$prefix
+  make install
+
+This package uses XZ utils (successor to LZMA) to create
+a compressed distribution tarball.  Using this feature of Automake
+requires version 1.10a or newer, as well as the xz program itself.
+
+* xz *
+
+  git clone git://ctrl.tukaani.org/xz.git
+  cd xz
+  ./autogen.sh
+  ./configure --prefix=$prefix
+  make install
+
+Now you can build this package as described in README-hacking.