mirror of
https://github.com/coreutils/coreutils.git
synced 2024-11-24 18:33:47 +08:00
b16e999f55
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
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
|
|
<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 (empty) 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>.
|
|
|
|
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-2016 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/>.
|