mirror of
https://https.git.savannah.gnu.org/git/patch.git
synced 2026-01-26 16:09:26 +00:00
105 lines
3.5 KiB
Plaintext
105 lines
3.5 KiB
Plaintext
-*- outline -*-
|
|
|
|
These notes intend to help people working on the checked-out sources.
|
|
These requirements do not apply when building from a distribution tarball.
|
|
|
|
* Requirements
|
|
|
|
We've opted to keep only the highest-level sources in the GIT repository.
|
|
This eases our maintenance burden, (fewer merges etc.), but imposes more
|
|
requirements on anyone wishing to build from the just-checked-out sources.
|
|
For example, you have to use the latest stable versions of the maintainer
|
|
tools we depend upon, including:
|
|
|
|
- Automake <http://www.gnu.org/software/automake/>
|
|
- Autoconf <http://www.gnu.org/software/autoconf/>
|
|
- Gettext <http://www.gnu.org/software/gettext/>
|
|
- Gzip <http://www.gnu.org/software/gzip/>
|
|
- M4 <http://www.gnu.org/software/m4/>
|
|
- Tar <http://www.gnu.org/software/tar/>
|
|
- Wget <http://www.gnu.org/software/wget/>
|
|
|
|
Valgrind <http://valgrind.org/> is also highly recommended, if
|
|
Valgrind supports your architecture.
|
|
|
|
While building from a just-cloned source tree may require installing a
|
|
few prerequisites, later, a plain `git pull && make' should be sufficient.
|
|
|
|
* First GIT checkout
|
|
|
|
You can get a copy of the source repository like this:
|
|
|
|
$ git clone git://git.sv.gnu.org/patch
|
|
$ cd patch
|
|
|
|
As an optional step, if you already have a copy of the gnulib git
|
|
repository on your hard drive, then you can use it as a reference to
|
|
reduce download time and disk space requirements:
|
|
|
|
$ export GNULIB_SRCDIR=/path/to/gnulib
|
|
|
|
The next step is to get and check other files needed to build,
|
|
which are extracted from other source packages:
|
|
|
|
$ ./bootstrap
|
|
|
|
To use the most-recent gnulib (as opposed to the gnulib version that
|
|
the package last synchronized to), do this next:
|
|
|
|
$ git submodule foreach git pull origin master
|
|
$ git commit -m 'build: update gnulib submodule to latest' gnulib
|
|
|
|
And there you are! Just
|
|
|
|
$ ./configure --quiet
|
|
$ make
|
|
$ make check
|
|
|
|
At this point, there should be no difference between your local copy,
|
|
and the GIT master copy:
|
|
|
|
$ git diff
|
|
|
|
should output no difference.
|
|
|
|
Enjoy!
|
|
|
|
* Submitting patches
|
|
|
|
If you develop a fix or a new feature, please send it to the
|
|
appropriate bug-reporting address as reported by the --help option of
|
|
each program. One way to do this is to use vc-dwim
|
|
<http://www.gnu.org/software/vc-dwim/>), as follows.
|
|
|
|
Run the command "vc-dwim --help", copy its definition of the
|
|
"git-changelog-symlink-init" function into your shell, and then run
|
|
this function at the top-level directory of the package.
|
|
|
|
Edit the ChangeLog file that this command creates, creating a
|
|
properly-formatted entry according to the GNU coding standards
|
|
<http://www.gnu.org/prep/standards/html_node/Change-Logs.html>.
|
|
|
|
Run the command "vc-dwim" and make sure its output looks good.
|
|
|
|
Run "vc-dwim --commit".
|
|
|
|
Run the command "git format-patch --stdout -1", and email its output
|
|
in, using the output's subject line.
|
|
|
|
-----
|
|
|
|
Copyright (C) 2002-2007, 2009-2012 Free Software Foundation, Inc.
|
|
|
|
This program 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 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program 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, see <http://www.gnu.org/licenses/>.
|