[libvirt] [PATCH] Add documentation for C# "binding" and fix Windows documentation

Richard W.M. Jones rjones at redhat.com
Wed Sep 17 15:23:22 UTC 2008


This patch changes the bindings page so that the language names are
emboldened and so that Java and C# are listed too.  I've also listed
Windows on that page, not strictly because it is a language, but
because it's a platform.

The existing documentation on building libvirt on Windows is bogus and
possibly wrong.  This patch also replaces that with a more accurate
placeholder.

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
Read my OCaml programming blog: http://camltastic.blogspot.com/
Fedora now supports 68 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora
-------------- next part --------------
Index: docs/bindings.html.in
===================================================================
RCS file: /data/cvs/libvirt/docs/bindings.html.in,v
retrieving revision 1.1
diff -u -r1.1 bindings.html.in
--- docs/bindings.html.in	23 Apr 2008 17:08:31 -0000	1.1
+++ docs/bindings.html.in	17 Sep 2008 15:24:47 -0000
@@ -2,19 +2,25 @@
   <body>
     <h1 >Bindings for other languages</h1>
     <p>Libvirt comes with bindings to support other languages than
-pure C. First the headers embeds the necessary declarations to
-allow direct acces from C++ code, but also we have bindings for
+pure <strong>C</strong>. First the headers embeds the necessary declarations to
+allow direct access from <strong>C++</strong> code, but also we have bindings for
 higher level kind of languages:</p>
     <ul>
-      <li>Python: Libvirt comes with direct support for the Python language
+      <li><strong>Python</strong>: Libvirt comes with direct support for the Python language
      (just make sure you installed the libvirt-python package if not
      compiling from sources). See below for more information about
      using libvirt with python</li>
-      <li>Perl: Daniel Berrange provides <a href="http://search.cpan.org/dist/Sys-Virt/">bindings for
+      <li><strong>Perl</strong>: Daniel Berrange provides <a href="http://search.cpan.org/dist/Sys-Virt/">bindings for
      Perl</a>.</li>
-      <li>OCaml: Richard Jones supplies <a href="http://libvirt.org/ocaml/">bindings for OCaml</a>.</li>
-      <li>Ruby: David Lutterkort provides <a href="http://libvirt.org/ruby/">bindings for Ruby</a>.</li>
+      <li><strong>OCaml</strong>: Richard Jones supplies <a href="http://libvirt.org/ocaml/">bindings for OCaml</a>.</li>
+      <li><strong>Ruby</strong>: David Lutterkort provides <a href="http://libvirt.org/ruby/">bindings for Ruby</a>.</li>
+      <li><strong>Java</strong>: Daniel Veillard maintains <a href="java.html">Java bindings</a>.</li>
+      <li><strong>C#</strong>: Richard Jones wrote about <a href="https://www.redhat.com/archives/libvir-list/2008-September/msg00283.html">calling libvirt from C# on the mailing list</a>.</li>
     </ul>
+    <p>For information on using libvirt on <strong>Windows</strong>
+      <a href="windows.html">please see the Windows
+        support page</a>.
+    </p>
     <p>Support, requests or help for libvirt bindings are welcome on
 the <a href="https://www.redhat.com/mailman/listinfo/libvir-list/">mailing
 list</a>, as usual try to provide enough background information
Index: docs/windows.html.in
===================================================================
RCS file: /data/cvs/libvirt/docs/windows.html.in,v
retrieving revision 1.1
diff -u -r1.1 windows.html.in
--- docs/windows.html.in	23 Apr 2008 17:08:31 -0000	1.1
+++ docs/windows.html.in	17 Sep 2008 15:24:47 -0000
@@ -2,238 +2,39 @@
 <html>
   <body>
     <h1 >Windows support</h1>
+
     <p>
-Instructions for compiling and installing libvirt on Windows.
-</p>
-    <ul>
-      <li>
-        <a href="#Windows_binaries">Binaries</a>
-      </li>
-      <li>
-        <a href="#Windows_compiling">Compiling from source</a>
-      </li>
-    </ul>
-    <h3>
-      <a name="Windows_binaries" id="Windows_binaries">Binaries</a>
-    </h3>
+      Libvirt can be compiled on Windows
+      using the free <a href="http://www.mingw.org/">MinGW compiler</a>.
+      You can also cross-compile to a Windows target
+      from a Fedora machine using the packages available
+      <a href="http://hg.et.redhat.com/misc/fedora-mingw--devel/">from
+      the Fedora MinGW project</a>
+      (which includes a working libvirt specfile).
+    </p>
+
     <p>
-Binaries will be available from
-<a href="ftp://libvirt.org/libvirt/win32">the download area</a>
-(but we don't have binaries at the moment).
-</p>
-    <h3>
-      <a name="Windows_compiling" id="Windows_compiling">Compiling from source</a>
-    </h3>
-    <p>
-These are the steps to compile libvirt and the other
-tools from source on Windows.
-</p>
-    <p>
-You will need:
-</p>
-    <ol>
-      <li> MS Windows.  Microsoft makes free (as beer) versions
-of some of its operating systems available to
-<a href="http://msdn.microsoft.com/">MSDN subscribers</a>.
-We used Windows 2008 Server for testing, virtualized under
-Linux using KVM-53 (earlier versions of KVM and QEMU won't
-run recent versions of Windows because of lack of full ACPI
-support, so make sure you have the latest KVM).
-</li>
-      <li><a href="http://www.cygwin.com/">Cygwin</a>'s
-<a href="http://www.cygwin.com/setup.exe">setup.exe</a>.
-</li>
-      <li> A large amount of free disk space to install Cygwin.
-Make sure you have 10 GB free to install most Cygwin packages,
-although if you pare down the list of dependencies you may
-get away with much less. </li>
-      <li> A network connection for Windows, since Cygwin downloads packages
-from the net as it installs. </li>
-      <li>
-        <a href="http://www.libvirt.org/downloads.html">Libvirt
-latest version from CVS</a>
-      </li>
-      <li> The latest source patch from
-<a href="ftp://libvirt.org/libvirt/win32">the download area</a>. </li>
-      <li> A version of Cygwin sunrpc, patched to support building
-  <code>librpc.dll</code>.
-  A patch and a binary package are available from
-  <a href="ftp://libvirt.org/libvirt/win32">the download area</a>. </li>
-    </ol>
-    <p>
-These are the steps to take to compile libvirt from
-source on Windows:
-</p>
-    <ol>
-      <li>
-        <p>Run Cygwin
-    <a href="http://www.cygwin.com/setup.exe">setup.exe</a>.
-    When it starts up it will show a dialog like this:
-  </p>
-        <img src="windows-cygwin-1.png" width="504" height="388" alt="Cygwin Net Release Setup Program"/>
-      </li>
-      <li>
-        <p>Step through the setup program accepting defaults
-    or making choices as appropriate, until you get to the
-    screen for selecting packages:</p>
-        <img src="windows-cygwin-2.png" width="505" height="388" alt="Cygwin Select Packages screen"/>
-        <p>
-    The user interface here is very confusing.  You have to
-    click the "recycling icon" as shown by the arrow:
-  </p>
-        <img src="windows-cygwin-3.png" width="298" height="200" alt="Cygwin Recycling Icon"/>
-        <p>
-    which takes the package (and all packages in the subtree)
-    through several states such as "Install", "Reinstall", "Keep",
-    "Skip", "Uninstall", etc.
-  </p>
-      </li>
-      <li>
-        <p>You can install "All" (everything) or better select
-    just the groups and packages needed.  Select the following
-    groups and packages for installation:
-  </p>
-        <table>
-          <tr>
-            <th valign="top" align="right"> Groups </th>
-            <td>
-	Archive <br/>
-	Base <br/>
-	Devel <br/>
-	Editors <br/>
-	Mingw <br/>
-	Perl <br/>
-	Python <br/>
-	Shells <br/></td>
-          </tr>
-          <tr>
-            <th valign="top" align="right"> Packages </th>
-            <td>
-	openssh <br/>
-	sunrpc &#x2265; 4.0-4 (see below) <br/></td>
-          </tr>
-        </table>
-      </li>
-      <li>
-        <p> Once Cygwin has finished installing, start a Cygwin bash shell
-    (either click on the desktop icon or look for Cygwin bash shell
-    in the Start menu). </p>
-        <p> The very first time you start the Cygwin bash shell, you may
-    find you need to run the <code>mkpasswd</code> and <code>mkgroup</code>
-    commands in order to create <code>/etc/passwd</code> and
-    <code>/etc/group</code> files from Windows users.  If this
-    is needed then a message is printed in the shell.
-    Note that you need to do this as Windows Administrator. </p>
-      </li>
-      <li>
-        <p> Install Cygwin sunrpc &#x2265; 4.0-4 package, patched to include
-    <code>librpc.dll</code>.
-    To do this, first check to see whether <code>/usr/lib/librpc.dll</code>
-    exists.  If it does, you're good to go and can skip to the next
-    step. </p>
-        <p>
-    If you don't have this file, either install the binary package
-    <a href="ftp://libvirt.org/libvirt/win32/sunrpc-4.0-4.tar.bz2">sunrpc-4.0-4.tar.bz2</a> (just unpack it, as Administrator, in the Cygwin root directory).
-    Or you can download the
-    <a href="ftp://libvirt.org/libvirt/win32/sunrpc-4.0-dll.patch">source patch</a>
-    and apply it by hand to the Cygwin sunrpc package (eg. using
-    cygport).
-  </p>
-      </li>
-      <li>
-        <p>
-    Check out
-    <a href="http://www.libvirt.org/downloads.html">Libvirt from CVS</a> and
-    <a href="ftp://libvirt.org/libvirt/win32">apply the latest Windows patch</a>
-    to the source.
-  </p>
-      </li>
-      <li>
-        <p> Configure libvirt by doing: </p>
-        <pre>
-autoreconf
-./configure --without-xen --without-qemu
-</pre>
-        <p> (The autoreconf step is probably optional). </p>
-        <p> The configure step will tell you if you have all the
-    required parts installed.  If something is missing you
-    will need to go back through Cygwin setup and install it.
-  </p>
-      </li>
-      <li>
-        <p> Rebuild the XDR structures: </p>
-        <pre>
-rm qemud/remote_protocol.[ch] qemud/remote_dispatch_*.h
-make -C qemud remote_protocol.c
-</pre>
-      </li>
-      <li>
-        <p> Build: </p>
-        <pre>
-make
+      Libvirt can only be built as a client on Windows
+      allowing remote access to systems libvirt servers.
+      Configure libvirt like this:
+    </p>
+
+<pre>
+./configure \
+  --without-sasl \
+  --without-avahi \
+  --without-polkit \
+  --without-python \
+  --without-xen \
+  --without-qemu \
+  --without-lxc \
+  --without-openvz \
+  --without-libvirtd
 </pre>
-        <p> If this step is not successful, you should post a full
-    report <i>including complete messages</i> to
-    <a href="http://www.redhat.com/mailman/listinfo/libvir-list">the
-      libvirt mailing list</a>.
-  </p>
-      </li>
-      <li>
-        <p> Test it.  If you have access to a remote machine
-    running Xen or QEMU/KVM, and the libvirt daemon (<code>libvirtd</code>)
-    then you should be able to connect to it and display
-    domains using, eg:
-  </p>
-        <pre>
-src/virsh.exe <a href="http://libvirt.org/uri.html">-c qemu://remote/system</a> list --all
-</pre>
-        <p>
-    Please read more about <a href="http://libvirt.org/remote.html">remote
-      support</a> before sending bug reports, to make sure that
-    any problems are really Windows and not just with remote
-    configuration / security.
-  </p>
-      </li>
-      <li>
-        <p>
-    You may want to install the library and programs by doing:
-  </p>
-        <pre>
-make install
-</pre>
-      </li>
-      <li>
-        <p>
-    The above steps should also build and install Python modules.
-    However for reasons which I don't fully understand, Python won't
-    look in the
-    non-standard <code>/usr/local/lib/python*/site-packages/</code>
-    directory by default so you may need to set the environment
-    variable PYTHONPATH:
-  </p>
-        <pre>
-export PYTHONPATH=/usr/local/lib/python2.5/site-packages
-</pre>
-        <p>
-    (Change the version number to your version of Python).  You
-    can test Python support from the command line:
-  </p>
-        <pre>
-python
->>> import libvirt
->>> conn = libvirt.open ("test:///default")
->>> conn.listDomainsID ()
-[1]
->>> dom = conn.lookupByID (1)
->>> dom.XMLDesc (0)
-"<domain type='test' id='1'> ..."
-</pre>
-        <p>
-    The most common failure will be with <code>import libvirt</code>
-    which usually indicates that either <code>PYTHONPATH</code> is
-    wrong or a DLL cannot be loaded.
-  </p>
-      </li>
-    </ol>
+
+    <p>
+      We intend to supply Windows binaries on this page
+      later, but at the moment you have to compile from source.
+    </p>
   </body>
 </html>


More information about the libvir-list mailing list