* README-hacking: Update the section on LZMA.
[platform/upstream/coreutils.git] / README-hacking
1 -*- outline -*-
2
3 These notes intend to help people working on the checked-out sources.
4 These requirements do not apply when building from a distribution tarball.
5
6 * Requirements
7
8 We've opted to keep only the highest-level sources in the GIT repository.
9 This eases our maintenance burden, (fewer merges etc.), but imposes more
10 requirements on anyone wishing to build from the just-checked-out sources.
11 For example, you have to use the latest stable versions of the maintainer
12 tools we depend upon, including:
13
14 - Automake <http://www.gnu.org/software/automake/>
15 - Autoconf <http://www.gnu.org/software/autoconf/>
16 - Bison <http://www.gnu.org/software/bison/>
17 - Gettext <http://www.gnu.org/software/gettext/>
18 - Git <http://git.or.cz/>
19 - Gperf <http://www.gnu.org/software/gperf/>
20 - Gzip <http://www.gnu.org/software/gzip/>
21 - Perl <http://www.cpan.org/>
22 - Rsync <http://samba.anu.edu.au/rsync/>
23 - Tar <http://www.gnu.org/software/tar/>
24
25 Valgrind <http://valgrind.org/> is also highly recommended, if
26 Valgrind supports your architecture.
27
28 Only building the initial full source tree will be a bit painful.
29 Later, a plain `git pull && make' should be sufficient.
30
31 * LZMA
32
33 This package's build procedure uses LZMA to create a compressed
34 distribution tarball.  Using this feature of Automake requires
35 version 1.10.1 or newer, as well as the lzma program itself.
36 Make sure you have the latest stable version of the LZMA Utils
37 from <http://tukaani.org/lzma/>.
38
39 * First GIT checkout
40
41 You can get a copy of the source repository like this:
42
43         $ git clone git://git.sv.gnu.org/coreutils
44
45 The next step is to get other files needed to build, which are
46 extracted from other source packages:
47
48         $ ./bootstrap
49
50 And there you are!  Just
51
52         $ ./configure
53         $ make
54         $ make check
55
56 At this point, there should be no difference between your local copy,
57 and the GIT master copy:
58
59         $ git diff
60
61 should output no difference.
62
63 Enjoy!
64
65 -----
66
67 Copyright (C) 2002-2008 Free Software Foundation, Inc.
68
69 This program is free software: you can redistribute it and/or modify
70 it under the terms of the GNU General Public License as published by
71 the Free Software Foundation, either version 3 of the License, or
72 (at your option) any later version.
73
74 This program is distributed in the hope that it will be useful,
75 but WITHOUT ANY WARRANTY; without even the implied warranty of
76 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
77 GNU General Public License for more details.
78
79 You should have received a copy of the GNU General Public License
80 along with this program.  If not, see <http://www.gnu.org/licenses/>.