123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- 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.
- 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.
- 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/jwhois
- $ cd jwhois
- 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
- 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/>.
- Local Variables:
- mode: outline
- fill-column: 78
- End:
|