[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-diffutils] [PATCH] maint: update README-hacking

From: Jim Meyering
Subject: [bug-diffutils] [PATCH] maint: update README-hacking
Date: Mon, 23 May 2011 19:33:59 +0200

Karl noticed that diffutils' README-hacking was
so woefully out of date that it still mentioned cvs,
and he even sent this patch to fix everything:

>From 0b7299f98e9ce4e10cc595414e1505f239022e36 Mon Sep 17 00:00:00 2001
From: Karl Berry <address@hidden>
Date: Mon, 23 May 2011 09:41:48 -0700
Subject: [PATCH] maint: update README-hacking

* README-hacking: Update a la coreutils for git, etc.
 README-hacking |   88 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 66 insertions(+), 22 deletions(-)

diff --git a/README-hacking b/README-hacking
index 2e58626..b195764 100644
--- a/README-hacking
+++ b/README-hacking
@@ -2,52 +2,96 @@

 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.
-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/>
+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.

-Only building the initial full source tree will be a bit painful.
-Later, a plain `cvs update -dP && make' should be sufficient.
+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/diffutils
+        $ cd diffutils

-* First checkout
+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:

-Obviously, if you are reading these notes, you did manage to check out
-this package from CVS.  The next step is to get other files needed to
-build, which are extracted from other source packages:
+        $ export GNULIB_SRCDIR=/path/to/gnulib

-       $ ./bootstrap
+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
-       $ make
-       $ make check
+        $ ./configure --quiet #[--enable-gcc-warnings] [*]
+        $ make
+        $ make check

 At this point, there should be no difference between your local copy,
-and the master:
+and the GIT master copy:

-       $ cvs diff -pu
+        $ git diff

 should output no difference.


+[*] 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-2007, 2009-2011 Free Software Foundation, Inc.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]