[libvirt] [PATCH] doc: clone+build instructions

Jim Meyering jim at meyering.net
Wed Jul 8 20:28:35 UTC 2009


I realized it'd be nice to include instructions
on how to build from a just-cloned repository, so copied
most of this new file, README-hacking, from coreutils:


>From 7ffc5ce3ebb0769c0edc9f6fa9dc25e315ffdcf3 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Wed, 8 Jul 2009 21:37:59 +0200
Subject: [PATCH] doc: clone+build instructions

* README-hacking: New file.
* bootstrap: Remove obsolete comments.
---
 README-hacking |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 bootstrap      |    8 +-----
 2 files changed, 75 insertions(+), 7 deletions(-)
 create mode 100644 README-hacking

diff --git a/README-hacking b/README-hacking
new file mode 100644
index 0000000..3463da2
--- /dev/null
+++ b/README-hacking
@@ -0,0 +1,74 @@
+-*- 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 libvirt 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://libvirt.org/libvirt
+        $ cd libvirt
+
+The next step is to get and check other files needed to build,
+which are extracted from other source packages:
+
+        $ ./bootstrap
+
+Then run this to create e.g., Makefiles and ./configure,
+and to invoke ./configure:
+
+        $ ./autogen.sh
+
+And there you are!  Just
+
+        $ 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!
+
+-----
+
+Copyright (C) 2002-2009 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:
+indent-tabs-mode: nil
+End:
diff --git a/bootstrap b/bootstrap
index 0754d02..8b81e0e 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,11 +1,5 @@
 #!/bin/sh
-# Run this after autogen.sh, to pull in all of the gnulib-related bits.
-# It's important to run *after* autogen.sh, since it updates some of
-# the same files autogen.sh does, yet those from gnulib are newer,
-# and match the tests.  So if a gnulib bug has been fixed since the
-# snapshot taken for whatever gettext release you're using, yet you
-# run "make check" against the wrong version, the corresponding unit
-# test in gl-tests/ may well fail.
+# Run this before autogen.sh, to pull in all of the gnulib-related bits.

 usage() {
   echo >&2 "\
--
1.6.3.3.524.g8586b




More information about the libvir-list mailing list