1. 25 4月, 2016 4 次提交
    • A
      build: Replace variables in man pages · 49ba028a
      Andrea Bolognani 提交于
      We can't use eg. @sysconfdir@ directly in the .pod file, because
      pod2man(1) will interpret that as a variable name and format it
      accordingly.
      
      Instead, we use eg. SYSCONFDIR and use a subsequent sed(1) call
      to turn it into the expected @sysconfdir@.
      49ba028a
    • A
      build: Group files · 7351f7fe
      Andrea Bolognani 提交于
      Define $(PODFILES) and $(MANINFILES) so that adding a new man
      page only requires changes in a few, well defined spots.
      7351f7fe
    • A
      build: Standardize on .pod -> .x.in -> .x · 5b479f3b
      Andrea Bolognani 提交于
      After this commit, all man pages are generated using the same two
      steps:
      
        1. Process a source $command.pod file with pod2man(1) to obtain
           a valid man page in $command.$section.in
      
        2. Process $command.$section.in with sed(1) to obtain the final
           man page in $command.$section
      5b479f3b
    • A
      build: Build man pages in $(builddir) · 90709d8d
      Andrea Bolognani 提交于
      No file should be created inside $(srcdir) during build.
      90709d8d
  2. 21 4月, 2016 5 次提交
    • A
      build: Fix default network generation on FreeBSD · 71c22b18
      Andrea Bolognani 提交于
      FreeBSD's sed(1) doesn't support using "\n" to insert a newline,
      so the installed default.xml file ends up containing a literal
      "n" between tags; to work around this problem, add a tr(1)
      invocation as suggested by the sed FAQ[1].
      
      [1] http://sed.sourceforge.net/sedfaq4.html (4.1 c)
      71c22b18
    • A
      dist: ln(1) is not guaranteed to have a '-f' option · d0062fb9
      Andrea Bolognani 提交于
      According to the autoconf manual, using '$(LN_S) -f' is not
      portable; remove the target explicitly beforehand to work around
      this limitation.
      
      Adjust some slightly awkward indentation while at it.
      d0062fb9
    • A
      build: Use $(LN_S) safely · ed5c9297
      Andrea Bolognani 提交于
      The autoconf documentation recommends to always use this
      construct when creating symbolic links with $(LN_S) to avoid
      unexpected behavior.
      ed5c9297
    • A
      build: Overwrite existing symbolic links · ce8379ee
      Andrea Bolognani 提交于
      The current rule fails if the target already exists:
      
        cd /home/jenkins/build/libvirt/lib && \
          ln -s libnss_libvirt.so.1 nss_libvirt.so.1
        ln: nss_libvirt.so.1: File exists
        Makefile:3357: recipe for target 'install-exec-hook' failed
      
      However, all other rules concerned with installation are
      idempotent and will happily overwrite an existing target,
      so this one should as well.
      ce8379ee
    • A
      build: Always use $(LN_S) and $(MKDIR_P) · 2561d4e3
      Andrea Bolognani 提交于
      autotools provide those for our convenience, so let's use them
      everywhere instead of mixing in native command invocation.
      2561d4e3
  3. 15 4月, 2016 1 次提交
  4. 14 4月, 2016 1 次提交
  5. 13 4月, 2016 1 次提交
  6. 07 4月, 2016 2 次提交
    • J
      secret: Introduce virSecretGetSecretString · 2844de6f
      John Ferlan 提交于
      Commit id 'fb2bd208' essentially copied the qemuGetSecretString
      creating an libxlGetSecretString.  Rather than have multiple copies
      of the same code, create src/secret/secret_util.{c,h} files and
      place the common function in there.
      
      Modify the the build in order to build the module as a library
      which is then pulled in by both the qemu and libxl drivers for
      usage from both qemu_command.c and libxl_conf.c
      2844de6f
    • G
      Link libvirt_xenconfig instead of libvirt against libxl · 12b239a9
      Guido Günther 提交于
      to avoid the test failure
      
       7) Test driver "xen"  ... 2016-03-31 12:53:26.950+0000: 22430: debug : virDriverLoadModule:54 : Module load xen
       2016-03-31 12:53:26.950+0000: 22430: error : virDriverLoadModule:73 : failed to load module /build/libvirt-1.3.3~rc1/debian/build/src/.libs/libvirt_driver_xen.so /build/libvirt-1.3.3~rc1/debian/build/src/.libs/libvirt_driver_xen.so: undefined symbol: xlu_cfg_destroy
      FAILED
      12b239a9
  7. 29 3月, 2016 1 次提交
  8. 19 3月, 2016 2 次提交
  9. 03 3月, 2016 1 次提交
  10. 17 2月, 2016 2 次提交
    • J
      qemu: Move qemuAssign*Alias* API's into their own module · de71e0e5
      John Ferlan 提交于
      Create a new module qemu_alias.c to handle the qemuAssign*Alias* APIs
      and the qemuDomainDeviceAliasIndex
      de71e0e5
    • J
      qemu: Move qemuDomain*Address* functions · 177db487
      John Ferlan 提交于
      Create new modules qemu_domain_address.c and qemu_domain_address.h to
      contain all the new functions and header data. Additionally move any
      supporting static functions.
      
      Make qemuDomainSupportsPCI non static.
      
      Also, move and rename the following:
      
      qemuSetSCSIControllerModel to qemuDomainSetSCSIControllerModel
      qemuCollectPCIAddress to qemuDomainCollectPCIAddress
      qemuValidateDevicePCISlotsPIIX3 to qemuDomainValidateDevicePCISlotsPIIX3
      qemuAssignDevicePCISlots to qemuDomainAssignDevicePCISlots
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      177db487
  11. 16 2月, 2016 1 次提交
    • A
      gic: Introduce virGICVersion enumeration · e76bef7f
      Andrea Bolognani 提交于
      We currently blindly accept any numeric value as a GIC version, even
      though only GIC v2 and GIC v3 actually exist; on the other hand, we
      reject "host", which is a perfectly legitimate value for QEMU guests.
      
      This new enumeration contains all GIC versions libvirt is aware of.
      e76bef7f
  12. 11 2月, 2016 1 次提交
    • J
      qemu: Split the command parsing routines into own module · d860b2f5
      John Ferlan 提交于
      Extract out the qemuParseCommandLine{String|Pid} into their own
      separate module - taking with it all the various static functions.
      
      Causes a ripple effect with a few other modules to include the
      new qemu_parse_command.h.
      
      Narrowed down the list of #include's in the split out module to
      those that are necessary for build.
      d860b2f5
  13. 27 1月, 2016 1 次提交
    • P
      device: cleanup input device code · 36785c7e
      Pavel Hrdina 提交于
      The current code was a little bit odd.  At first we've removed all
      possible implicit input devices from domain definition to add them later
      back if there was any graphics device defined while parsing XML
      description.  That's not all, while formating domain definition to XML
      description we at first ignore any input devices with bus different to
      USB and VIRTIO and few lines later we add implicit input devices to XML.
      
      This seems to me as a lot of code for nothing.  This patch may look
      to be more complicated than original approach, but this is a preferred
      way to modify/add driver specific stuff only in those drivers and not
      deal with them in common parsing/formating functions.
      
      The update is to add those implicit input devices into config XML to
      follow the real HW configuration visible by guest OS.
      
      There was also inconsistence between our behavior and QEMU's in the way,
      that in QEMU there is no way how to disable those implicit input devices
      for x86 architecture and they are available always, even without graphics
      device.  This applies also to XEN hypervisor.  VZ driver already does its
      part by putting correct implicit devices into live XML.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      36785c7e
  14. 18 1月, 2016 1 次提交
    • M
      Fix make check with gcc version 5 · 4b47f9b8
      Martin Kletzander 提交于
      When building with gcc-5 (particularly gcc-5.3.0 now) and having pdwtags
      installed (package dwarves) make check fails with the following error:
      
        $ make lock_protocol-struct
        GEN      lock_protocol-struct
        --- lock_protocol-structs	2016-01-13 15:04:59.318809607 +0100
        +++ lock_protocol-struct-t3	2016-01-13 15:05:17.703501234 +0100
        @@ -26,10 +26,6 @@
                 virLockSpaceProtocolNonNullString name;
                 u_int                      flags;
         };
        -enum virLockSpaceProtocolAcquireResourceFlags {
        -        VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_SHARED = 1,
        -        VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_AUTOCREATE = 2,
        -};
         struct virLockSpaceProtocolAcquireResourceArgs {
                 virLockSpaceProtocolNonNullString path;
                 virLockSpaceProtocolNonNullString name;
        Makefile:10415: recipe for target 'lock_protocol-struct' failed
        make: *** [lock_protocol-struct] Error 1
      
      That happens because without any specific options gcc doesn't keep enum
      information in the resulting binary object.  I managed to isolate the
      parameters of gcc that caused this issue to disappear, however I
      remember that they influenced the resulting binaries quite a bit and
      were definitely not something we would want to add as mandatory to the
      build process.
      
      So to deal with this cleanly, let's take that enum and separate it out
      to its own header file.  Since it is only used in the lockd driver and
      the protocol, lock_driver_lockd.h feels like a suitable name.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      4b47f9b8
  15. 12 1月, 2016 1 次提交
  16. 17 12月, 2015 1 次提交
  17. 01 12月, 2015 2 次提交
  18. 30 11月, 2015 2 次提交
    • M
      build: Create needed folders without dependency tracking · 97c9ddef
      Martin Kletzander 提交于
      The parameter --disable-dependency-tracking is supposed to speed up
      one-time build due to the fact that it disables some dependency
      extractors that, apparently, take longer time to execute.  That is a
      problem for code that is generated into builddir (especially some
      specific subdirectory) because the directory it should be installed to
      does not exists in VPATH and without the dependency tracking is not
      created.  Generating such file hence fails with -ENOENT.  In order to
      keep generating files into builddir instead of srcdir, we must create
      the directory ourselves.  This should finally fix the problem that is
      being fixed multiple times since its introduction in commit a9fe6203
      and let us continue with cleaning those parts of Makefiles that depend
      on generating files into the srcdir rather than builddir as it should
      be.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      97c9ddef
    • M
      conf: Split virDomainObjList into a separate file · 90f3c0d7
      Michal Privoznik 提交于
      Our domain_conf.* files are big enough. Not only they contain XML
      parsing code, but they served as a storage of all functions whose
      name is virDomain prefixed. This is just wrong as it gathers not
      related functions (and modules) into one big file which is then
      harder to maintain. Split virDomainObjList module into a separate
      file called virdomainobjlist.[ch].
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      90f3c0d7
  19. 27 11月, 2015 1 次提交
  20. 26 11月, 2015 4 次提交
    • D
      logging: add client for virtlogd daemon · 37ed4224
      Daniel P. Berrange 提交于
      Add the virLogManager API which allows for communication with
      the virtlogd daemon to RPC program. This provides the client
      side API to open log files for guest domains.
      
      The virtlogd daemon is setup to auto-spawn on first use when
      running unprivileged. For privileged usage, systemd socket
      activation is used instead.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      37ed4224
    • D
      logging: introduce log handling protocol · 19e5db4a
      Daniel P. Berrange 提交于
      Define a new RPC protocol for the virtlogd daemon that provides
      for handling of logs. The initial RPC method defined allows a
      client to obtain a file handle to use for writing to a log
      file for a guest domain. The file handle passed back will not
      actually refer to the log file, but rather an anonymous pipe.
      The virtlogd daemon will forward I/O between them, ensuring
      file rotation happens when required.
      
      Initially the log setup is hardcoded to cap log files at
      128 KB, and keep 3 backups when rolling over, which gives
      a max usage of 512 KB per guest.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      19e5db4a
    • D
      Import stripped down virtlockd code as basis of virtlogd · 323a329b
      Daniel P. Berrange 提交于
      Copy the virtlockd codebase across to form the initial virlogd
      code. Simple search & replace of s/lock/log/ and gut the remote
      protocol & dispatcher. This gives us a daemon that starts up
      and listens for connections, but does nothing with them.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      323a329b
    • D
      util: add APIs for reading/writing from/to rotating files · 910e65d9
      Daniel P. Berrange 提交于
      Add virRotatingFileReader and virRotatingFileWriter objects
      which allow reading & writing from/to files with automation
      rotation to N backup files when a size limit is reached. This
      is useful for guest logging when a guaranteed finite size
      limit is required. Use of external tools like logrotate is
      inadequate since it leaves the possibility for guest to DOS
      the host in between invokations of logrotate.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      910e65d9
  21. 14 10月, 2015 1 次提交
  22. 09 10月, 2015 2 次提交
    • A
      src: Remove $(builddir) usage · 6c928996
      Andrea Bolognani 提交于
      Commit 4e803227 used $(builddir) in the header search
      path to fix a build issue; however, $(builddir) is not defined
      by old autoconf versions such as the one available in CentOS 5,
      resulting in the following error:
      
        cc1: error: /util: No such file or directory
        make[3]: *** [libvirt_driver_la-fdstream.lo] Error 1
      
      Since $(builddir) is defined to always be '.', just use that
      value directly instead.
      6c928996
    • A
      src: Include $(builddir)/util in the header search path · 4e803227
      Andrea Bolognani 提交于
      Since a9fe6203, we are generating virkeymaps.h at build
      time; however, we are not including $(builddir)/util in the
      header search path, so when doing a VPATH build the compiler
      is unable to locate the file.
      
      make[2]: Entering directory
      `/home/jenkins/libvirt/systems/libvirt-fedora-20/build/src'
        GEN      util/virkeymaps.h
        ...
        CC       util/libvirt_util_la-virkeycode.lo
        CC       util/libvirt_util_la-virkeyfile.lo
        CC       util/libvirt_util_la-virlockspace.lo
        CC       util/libvirt_util_la-virlog.lo
      ../../src/util/virkeycode.c:27:24: fatal error: virkeymaps.h: No such file or directory
       #include "virkeymaps.h"
                              ^
      compilation terminated.
      4e803227
  23. 06 10月, 2015 2 次提交