1. 22 1月, 2013 2 次提交
  2. 19 1月, 2013 1 次提交
  3. 14 1月, 2013 1 次提交
    • D
      Introduce an LXC specific public API & library · 3d1596b0
      Daniel P. Berrange 提交于
      This patch introduces support for LXC specific public APIs. In
      common with what was done for QEMU, this creates a libvirt_lxc.so
      library and libvirt/libvirt-lxc.h header file.
      
      The actual APIs are
      
        int virDomainLxcOpenNamespace(virDomainPtr domain,
                                      int **fdlist,
                                      unsigned int flags);
      
        int virDomainLxcEnterNamespace(virDomainPtr domain,
                                       unsigned int nfdlist,
                                       int *fdlist,
                                       unsigned int *noldfdlist,
                                       int **oldfdlist,
                                       unsigned int flags);
      
      which provide a way to use the setns() system call to move the
      calling process into the container's namespace. It is not
      practical to write in a generically applicable manner. The
      nearest that we could get to such an API would be an API which
      allows to pass a command + argv to be executed inside a
      container. Even if we had such a generic API, this LXC specific
      API is still useful, because it allows the caller to maintain
      the current process context, in particular any I/O streams they
      have open.
      
      NB the virDomainLxcEnterNamespace() API is special in that it
      runs client side, so does not involve the internal driver API.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      3d1596b0
  4. 21 12月, 2012 1 次提交
  5. 23 10月, 2012 1 次提交
  6. 06 9月, 2012 1 次提交
    • E
      build: don't fail when xsltproc is missing · d51024ae
      Eric Blake 提交于
      On a machine without xsltproc, the build failed with:
      
      Scripting search.php
      /usr/local/bin/bash: line 1: search.php.tmp: No such file or directory
      rm: ./search.php: No such file or directory
      
      Regression introduced in commit 28183590.
      
      * docs/Makefile.am (%.php): Skip in the same conditions when the
      .tmp file is skipped.
      d51024ae
  7. 10 8月, 2012 1 次提交
    • M
      docs: autogenerate search.php · 28183590
      Martin Kletzander 提交于
      This patch makes search.php autogenerated from search.php.in, thus
      removing hardcoded menus, footer etc. and the search.php is added to
      .gitignore.
      
      There is new rule added for *.php files (to make it bit less
      hardcoded) that takes *.php.code.in and injects it inside the
      generated *.php (xslt was not happy about php code in the source xml).
      28183590
  8. 05 6月, 2012 1 次提交
    • E
      build: fix 'make distcheck' issues · 7bff56a0
      Eric Blake 提交于
      We had a distributed file (remote_protocol.h, which in turn was
      a prereq to remote_driver.c) depending on a generated file
      (libvirt_probes.h), which is a no-no for a VPATH build from a
      read-only source tree (no wonder 'make distcheck' tests precisely
      that situation):
      
           File `libvirt_driver_remote.la' does not exist.
             File `libvirt_driver_remote_la-remote_driver.lo' does not exist.
                   Prerequisite `libvirt_probes.h' is newer than target `../../src/remote/remote_protocol.h'.
                  Must remake target `../../src/remote/remote_protocol.h'.
      Invoking recipe from Makefile:7464 to update target `../../src/remote/remote_protocol.h'.
      make[3]: Entering directory `/home/remote/eblake/libvirt-tmp2/build/libvirt-0.9.12/_build/src'
        GEN    ../../src/remote/remote_protocol.h
      cannot create ../../src/remote/remote_protocol.h: Permission denied at ../../src/rpc/genprotocol.pl line 31.
      make[3]: *** [../../src/remote/remote_protocol.h] Error 13
      
      Rather than making distributed .c files depend on generated files, we
      really want to ensure that compilation into .lo files is not attempted
      until the generated files are present, done by this patch.  Since there
      were two different sets of conditionally generated files that both
      feed the .lo file, I had to introduce a new variable REMOTE_DRIVER_PREREQS
      to keep automake happy.
      
      After that fix, the next issue was that make treats './foo' and 'foo'
      differently in determining whether an implicit %foo rule is applicable,
      with the result that locking/qemu-sanlock.conf wasn't properly being
      built at the right times.  Also, the output for using the .aug test
      files was a bit verbose.
      
      After fixing the src directory, the next error is related to the docs
      directory, where the tarball is missing a stamp file and thus tries to
      regenerate files that are already present:
      
        GEN    ../../docs/apibuild.py.stamp
      Traceback (most recent call last):
        File "../../docs/apibuild.py", line 2511, in <module>
          rebuild("libvirt")
        File "../../docs/apibuild.py", line 2495, in rebuild
          builder.serialize()
        File "../../docs/apibuild.py", line 2424, in serialize
          output = open(filename, "w")
      IOError: [Errno 13] Permission denied: '../../docs/libvirt-api.xml'
      make[5]: *** [../../docs/apibuild.py.stamp] Error 1
      
      and fixing that exposed another case of a distributed file (generated
      html) depending on a built file (libvirt.h), but only when doing an
      in-tree build, because of a file glob.
      
      * src/Makefile.am ($(srcdir)/remote/remote_driver.c): Change...
      (libvirt_driver_remote_la-remote_driver.lo): ...to the real
      dependency.
      ($(builddir)/locking/%-sanlock.conf): Drop $(builddir), so that
      rule gets run in time for test_libvirt_sanlock.aug.
      (test_libvir*.aug): Cater to silent build.
      (conf_DATA): Don't ship qemu-sanlock.conf in the tarball, since it
      is trivial to regenerate.
      * docs/Makefile.am (EXTRA_DIST): Ship our stamp file.
      ($(APIBUILD_STAMP)): Don't depend on generated file.
      7bff56a0
  9. 11 5月, 2012 1 次提交
    • E
      build: fix stamp file name · c0057d9a
      Eric Blake 提交于
      Ever since commit c964b6aa, make was trying to find the timestamp
      of '""./apibuild.py".stamp"', but only touching 'apibuild.py.stamp',
      and thus always rebuilding.  Reported by Daniel P. Berrange.
      
      * docs/Makefile.am (APIBUILD, APIBUILD_STAMP): Omit bogus quotes.
      c0057d9a
  10. 28 4月, 2012 1 次提交
  11. 04 4月, 2012 1 次提交
    • D
      Fix parallel build in docs/ directory · 4f4b496e
      Daniel P. Berrange 提交于
      Every now & then, with parallel builds, we get a failure to
      validate hvsupport.html.in.  I eventually noticed that this
      is because we get 2 instances of the generator running at
      once.
      
      We already list hvsupport.html.in in BUILT_SOURCES but this
      was not working. It turns out the flaw is that we were
      adding deps to the 'all:' target instead of the 'all-am:'
      target. BUILT_SOURCES is a dep of 'all', so any custom
      targets written in Makefile.am must use 'all-am:' so that
      they don't get run until BUILT_SOURCES are completely
      generated
      
      * docs/Makefile.am: s/all/all-am/
      4f4b496e
  12. 15 2月, 2012 1 次提交
    • D
      Install API XML desc to a standard location · c95c90ee
      Daniel P. Berrange 提交于
      Language bindings may well want to use the libvirt-api.xml and
      libvirt-qemu-api.xml files to either auto-generate themselves,
      or sanity check the manually written bindings for completeness.
      Currently these XML files are not installed as standard, merely
      ending up as a %doc file in the RPM.
      
      This changes them to be installed into $prefix/share/libvirt/apis/
      The *-refs.xml files are not installed, since those are only
      useful during generation of the online API doc files.
      
      The pkg-config file is enhanced so that you can query the install
      location of the API files. eg
      
        # pkg-config --variable=libvirt_qemu_api libvirt
        /home/berrange/builder/i686-pc-mingw32/sys-root/mingw/share/libvirt/libvirt-qemu-api.xml
      
      * docs/Makefile.am: Install libvirt-api.xml & libvirt-qemu-api.xml
      * libvirt.pc.in: Add vars for querying API install location
      * libvirt.spec.in, mingw32-libvirt.spec.in: Include API XML files
      c95c90ee
  13. 28 10月, 2011 1 次提交
    • D
      Add documentation about migration. · a7847844
      Daniel P. Berrange 提交于
      This adds a page documenting many aspects of migration:
      
       - The types of migration (managed direct, p2p, unmanaged direct)
       - Data transports (native, tunnelled)
       - Migration URIs
       - Config file handling
       - Example scenarios
      
      * libvirt.css: Rules for data tables and diagrams
      * Makefile.am: Include extra png/fig files
      * migration-managed-direct.fig, migration-managed-direct.png,
        migration-managed-direct.png, migration-managed-p2p.png,
        migration-native.fig, migration-native.png,
        migration-tunnel.fig, migration-tunnel.png,
        migration-unmanaged-direct.fig, migration-unmanaged-direct.png:
        Diagrams of migration
      * migration.html.in, sitemap.html.in: New migration doc
      a7847844
  14. 14 9月, 2011 2 次提交
  15. 29 7月, 2011 1 次提交
    • E
      maint: add missing copyright notices · ff81956a
      Eric Blake 提交于
      I went with the shorter license notice used by src/libvirt.c,
      rather than spelling out the full LGPLv2+ clause into each of
      these files.
      
      * configure.ac: Declare copyright.
      * all Makefile.am: Likewise.
      ff81956a
  16. 19 7月, 2011 2 次提交
    • E
      build: detect doc generation failure · 97ee0953
      Eric Blake 提交于
      Commit 8665f855 introduced a slight regression in doc generation,
      since make only quits a rule on the first failed command ending
      with a newline rather than a semicolon.
      
      * docs/Makefile.am (html/index.html): Don't use xmllint unless
      xsltproc succeeded.
      * .gitignore: Ignore recently updated stamp file name.
      97ee0953
    • D
      Quieten build & ensure API build scripts exit with non-zero status · 8665f855
      Daniel P. Berrange 提交于
      The current API build scripts will continue and exit with a zero
      status even if they find problems. This has been the cause of many
      build problems, or hidden build errors, in the past. Change the
      scripts so they always exit with a non-zero status for any problems
      they do not understand. Also turn off all debug output by default
      so they respect $(AM_V_GEN)
      
      * docs/Makefile.am: Use $(AM_V_GEN) for API/HTML scripts
      * docs/apibuild.py, python/generator.py: Exit with non-zero status
        if problems are found. Also be silent, not outputting any debug
        messages.
      * src/Makefile.am: Use $(AM_V_GEN) for ESX generator
      * python/Makefile.am: Tweak rule
      8665f855
  17. 14 7月, 2011 1 次提交
    • E
      build: fix VPATH build of todo · b8f36e74
      Eric Blake 提交于
      Without this patch, the make rule in a VPATH build was trying to
      invoke ../../docs/../../docs/todo.pl, which didn't exist.
      
      * docs/Makefile.am (todo.html.in): Using $< already implies
      $(srcdir) in GNU make VPATH situations.
      b8f36e74
  18. 01 7月, 2011 1 次提交
  19. 02 6月, 2011 2 次提交
    • E
      build: fix VPATH build break from previous patch · a2f9bd5b
      Eric Blake 提交于
      Partial revert of commit c3c30d4d.
      
      * docs/Makefile.am (internals/%.html.tmp): Restore MKDIR_P; it is
      needed for intermediate file after all.
      Reported by Daniel P. Berrange.
      a2f9bd5b
    • E
      build: avoid corrupting / in RHEL 5 · c3c30d4d
      Eric Blake 提交于
      I noticed this while building from libvirt.git on RHEL 5.6:
      
      Generating internals/command.html.tmp
      mkdir: cannot create directory `/internals': Permission denied
      
      If I had been building as root instead, this pollutes /.
      
      Older autoconf lacks $(builddir), but it is rigorously equal to '.'
      in newer autoconf, so we could use '$(MKDIR_P) internals' instead.
      
      However, since internals/command.html is part of the tarball, we
      _already_ build it in $(srcdir), not $(builddir) during VPATH
      builds, so the mkdir is wasted effort!
      
      * docs/Makefile.am (internals/%.html.tmp): Drop unused mkdir.
      c3c30d4d
  20. 01 6月, 2011 1 次提交
  21. 31 5月, 2011 1 次提交
  22. 16 5月, 2011 1 次提交
    • D
      Automatically generate the hvsupport.html.in file from source files · 4ffc6d17
      Daniel P. Berrange 提交于
      The hvsupport.html.in file is forever out of date. By annotating
      the driver struct tables in each driver with version information,
      we can auto-generate the hvsupport.html.in file. Annotating the
      drivers will be mandatory for new patches, ensuring hvsupport.html.in
      is never out of date again.
      
      * docs/hvsupport.html.in: Delete
      * hvsupport.pl: Script to generate hvsupport.html.in
      * Makefile.am: Autogenerate hvsupport.html.in
      4ffc6d17
  23. 22 2月, 2011 1 次提交
    • E
      maint: fix 'make dist' in VPATH build · 7e1dd7e0
      Eric Blake 提交于
      A diff of 'make dist' from in-tree vs. a VPATH build showed
      that we were missing docs/api_extension/*.patch files, but
      shipping other files that we didn't need.
      
      * bootstrap.conf (gnulib_extra_files): Don't distribute files we
      don't care about.
      * docs/Makefile.am (patches): Perform wildcard correctly.
      7e1dd7e0
  24. 21 2月, 2011 1 次提交
    • J
      build: Fix API docs generation in VPATH build · 6e9f3dfa
      Jiri Denemark 提交于
      XSLT allows for two ways of generating the output of transformation.
      Either implicit, which xsltproc prints to stdout and can be redirected
      to a file using -o file. Or explicit, which means the stylesheet
      contains <xsl:document> element which specifies where the output should
      be saved. This can be used for generating more files by a single run of
      xsltproc and -o directory/ can change the directory where the output
      files will be stored.
      
      devhelp.xsl is special in that it combines both options in one
      stylesheet, which doesn't work well with -o:
      
      xsltproc --nonet -o ./devhelp/ ./devhelp/devhelp.xsl ./libvirt-api.xml
      
      Outputs 4 *.html files into ./devhelp but then tries to write to
      ./devhelp/ as a file (hence the I/O error) rather than writing output to
      the fifth file devhelp/libvirt.devhelp.
      
      This patch modifies devhelp.xsl so that all files are generated using
      <xsl:document> element and -o directory/ can be used to override output
      directory where those files are saved.
      6e9f3dfa
  25. 18 2月, 2011 1 次提交
  26. 17 2月, 2011 2 次提交
  27. 12 2月, 2011 1 次提交
  28. 06 12月, 2010 1 次提交
  29. 03 12月, 2010 1 次提交
  30. 26 10月, 2010 2 次提交
  31. 22 10月, 2010 1 次提交
  32. 13 10月, 2010 1 次提交
  33. 12 10月, 2010 1 次提交
    • D
      Add automatic generation of a todo item page · 1938bc69
      Daniel P. Berrange 提交于
      This adds a script to generate the todo item page from
      bugzilla. This requires a valid username+password for
      bugzilla, so it is intended that this only be run on
      the libvirt.org website via cron. Normal usage will just
      generate an empty stub page.
      
      * docs/todo.pl: Script to extract todo items from bugzilla
      * docs/todo.cfg-example: Example config file
      * docs/sitemap.html.in: Add todo page
      * docs/Makefile.am: Generation rules for todo items
      1938bc69
  34. 29 9月, 2010 1 次提交
    • J
      mac os x: use awk selected by build system rather than first in path · 81e329eb
      Justin Clift 提交于
      Prior to this patch, the ChangeLog generation was hard coded to use
      "awk", when it should have been using the AWK variable set by our
      build system.
      
      This breaks compilation on a newly installed OS X system, where the
      default path has the Mac (non GNU) awk in the default search PATH
      before any installed GNU awk (gawk).
      81e329eb