mirror of
https://github.com/coreutils/coreutils.git
synced 2026-10-28 09:44:34 +08:00
A lot of this is converting http: to https:. Also, gmane went away, so remove URLs that no longer work and are not easy to figure out what they were. Some of this stuff is so old that it no longer matters anyway.
111 lines
4.0 KiB
Plaintext
111 lines
4.0 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.
|
|
See also HACKING for more detailed contribution guidelines.
|
|
|
|
* 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.
|
|
Note the requirements to build the released archive are much less and
|
|
are just the requirements of the standard ./configure && make procedure.
|
|
Specific development tools and versions will be checked for and listed by
|
|
the bootstrap script. See README-prereq for specific notes on obtaining
|
|
these prerequisite tools.
|
|
|
|
Valgrind <http://valgrind.org/> is also highly recommended, if
|
|
Valgrind supports your architecture. See also README-valgrind.
|
|
|
|
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/coreutils
|
|
$ cd coreutils
|
|
|
|
As an optional step, if you already have a copy of the gnulib git
|
|
repository, 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 #[--enable-gcc-warnings] [*]
|
|
$ 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!
|
|
|
|
[*] The --enable-gcc-warnings option is useful only with glibc
|
|
and with a very recent version of gcc. You'll probably also have
|
|
to use recent system headers. If you configure with this option,
|
|
and spot a problem, please be sure to send the report to the bug
|
|
reporting address of this package, and not to that of gnulib, even
|
|
if the problem seems to originate in a gnulib-provided file.
|
|
|
|
* 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
|
|
<https://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 (empty) ChangeLog file that this command creates, creating a
|
|
properly-formatted entry according to the GNU coding standards
|
|
<https://www.gnu.org/prep/standards/html_node/Change-Logs.html>.
|
|
|
|
Make your changes.
|
|
|
|
Run the command "vc-dwim" and make sure its output (the diff of all
|
|
your changes) 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-2017 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/>.
|