1. 04 4月, 2012 6 次提交
    • D
      Fix initial hypervisor conditionals · cf2ed25c
      Daniel P. Berrange 提交于
      The openvz, virtualbox and vmware drivers do not run inside
      libvirtd, therefore they should be grouped with the other
      client side drivers
      cf2ed25c
    • D
      Remove bogus xen-devel dep from libvirt-devel RPM · 899bf668
      Daniel P. Berrange 提交于
      The public libvirt API does not have any application visible
      dependency on Xen libraries. The xen-devel dependency is thus
      bogus
      899bf668
    • D
      Introduce per-hypervisor virtual RPMs · 726e391d
      Daniel P. Berrange 提交于
      Introduce a set sub-RPMs, one per hypervisor, which can be used
      as dependency targets by applications wishing to pull in the
      full stack of packages required for a specific hypervisor. This
      avoids the application needing to know what the hypervisor specific
      package set is.
      
      ie, applications should not need to know that using the libvirt
      Xen hypervisor requires the 'xen' RPM - libvirt should take care
      of that knowledge. All the application wants is 'libvirt-daemon-xen'
      
      There are 5 sub-RPMs:
      
        libvirt-daemon-qemu - non-native TCG based emulators
        libvirt-daemon-kvm  - native KVM hypervisor
        libvirt-daemon-uml  - User Mode linux
        libvirt-daemon-xen  - Xen, either via XenD or libxl
        libvirt-daemon-lxc  - Linux native containers
      
      When driver modules get turned on, these sub-RPMs will also
      gain dependencies on the appropriate driver module .so files
      726e391d
    • D
      Split config files & daemon off from main daemon RPM · bb145134
      Daniel P. Berrange 提交于
      Take the libvirt RPM and split it into three pieces
      
       - libvirt-daemon - libvirtd & other mandatory bits for its operation
       - libvirt-daemon-config-network - the virbr0 config definition
       - libvirt-daemon-config-nwfilter - the firewall config rules
      
      For backwards compatibility with existing installs / application RPM
      deps, the 'libvirt' RPM is retained, but will have a dependency on
      the 3 new RPMs.
      bb145134
    • D
      Remove API XML files from libvirt RPM · 189fbe1a
      Daniel P. Berrange 提交于
      The API XML files are now formally installed as part of the
      libvirt-devel RPM. Thus there is no need to include them as
      %doc in the main libvirt RPM
      189fbe1a
    • D
      Move all documentation into a -docs sub-RPM · 524ba61d
      Daniel P. Berrange 提交于
      Currently documentation is split between the libvirt RPM and the
      libvirt-devel RPM. In the client-only build there is no libvirt
      RPM, so the docs need to live elsewhere. The obvious answer is a
      dedicated libvirt-docs RPM. For back-compatibility make the
      libvirt-devel RPM require the libvirt-docs RPM
      
      * libvirt.spec.in: Create separate libvirt-docs RPM
      524ba61d
  2. 03 4月, 2012 2 次提交
  3. 31 3月, 2012 2 次提交
    • D
      Fix client only RPM build & other misc RPM problems · 8bf0442e
      Daniel P. Berrange 提交于
      * libvirt.spec.in: Remove obsolete --with-remote-pid-file arg.
        Add missing %{without_libxl} statement. Fix handling of docs
        in client only build. Put systemtap files in -client RPM
        instead of -daemon RPM
      * examples/xml/nwfilter/Makefile.am: Don't install examples if
        nwfilter is disabled.
      8bf0442e
    • D
      Refactor the libvirt RPM daemon pieces · 06a0d57f
      Daniel P. Berrange 提交于
      There are a number of flaws with our packaging of the libvirtd
      daemon:
      
       - Installing 'libvirt' does not install 'qemu-kvm' or 'xen'
         etc which are required to actually run the hypervisor in
         question
       - Installing 'libvirt' pulls in the default configuration
         files which may not be wanted & cause problems if installed
         inside a guest
       - It is not possible to explicitly required all the peices
         required to manage a specific hypervisor
      
      This change takes the 'libvirt' RPM and and changes it thus
      
       - libvirt: just a virtual package with dep on libvirt-daemon,
         libvirt-daemon-config-network & libvirt-daemon-config-nwfilter
       - libvirt-daemon: the libvirt daemon and related pieces
       - libvirt-daemon-config-network: the default network config
       - libvirt-daemon-config-nwfilter: the network filter configs
       - libvirt-docs: the website HTML
      
      We then introduce some more virtual (empty) packages
      
       - libvirt-daemon-qemu: Deps on libvirt-daemon & 'qemu'
       - libvirt-daemon-kvm: Deps on libvirt-daemon & 'qemu-kvm'
       - libvirt-daemon-lxc: Deps on libvirt-daemon
       - libvirt-daemon-uml: Deps on libvirt-daemon
       - libvirt-daemon-xen: Deps on libvirt-daemon & 'xen'
      
       - libvirt-qemu: Deps on libvirt-daemon-qemu & libvirt-daemon-config-{network,nwfilter}
       - libvirt-kvm: Deps on libvirt-daemon-kvm & libvirt-daemon-config-{network,nwfilter}
       - libvirt-lxc: Deps on libvirt-daemon-lxc & libvirt-daemon-config-{network,nwfilter}
       - libvirt-uml: Deps on libvirt-daemon-uml & libvirt-daemon-config-{network,nwfilter}
       - libvirt-xen: Deps on libvirt-daemon-xen & libvirt-daemon-config-network
      
      My intent in the future is to turn on the driver modules by
      default, at which time 'libvirt-daemon' will cease to include
      any specific drivers, instead we'll get libvirt-daemon-driver-XXXX
      packages for each driver. The libvirt-daemon-XXX packages will
      then pull in each driver that they require.
      
      It is recommended that applications required a locally installed
      libvirtd daemon, use either 'Requires: libvirt-daemon-XXXX' or
      'Requires: libvirt-XXX' and *not* "Requires: libvirt-daemon"
      or 'Requires: libvirt'
      
      * libvirt.spec.in: Refactor RPMs
      * docs/packaging.html.in, docs/sitemap.html.in: Document
        new RPM split rationale
      06a0d57f
  4. 24 3月, 2012 2 次提交
  5. 25 2月, 2012 1 次提交
    • M
      Fixed service handling in specfile · 801a60ff
      Martin Kletzander 提交于
      After adding the libvirt-guests service into usual runlevels, we used
      to start the libvirt-guests service. However this is usually not a
      good practice. As mentioned on fedoraproject wiki, the installations
      can be in changeroots, in an installer context, or in other situations
      where we don't want the services autostarted.
      801a60ff
  6. 21 2月, 2012 1 次提交
  7. 16 2月, 2012 1 次提交
    • M
      storage: Allow runtime detection of scrub · 28608856
      Michal Privoznik 提交于
      Currently, if scrub (used for wiping algorithms) is not present
      at compile time, we don't support any other wiping algorithms than
      zeroing, even if it was installed later. Switch to runtime detection
      instead.
      28608856
  8. 15 2月, 2012 2 次提交
    • D
      Fix typos in API XML file paths · 5452e88c
      Daniel P. Berrange 提交于
      * libvirt.pc.in: Add missing '/api/' in path
      * libvirt.spec.in, mingw32-libvirt.spec.in: s/apis/api/
      5452e88c
    • 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
  9. 13 2月, 2012 1 次提交
    • D
      Release of libvirt-0.9.10 · bca060a3
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: updated for the release
      * po/*.po*: update ja, it and uk localization, fixed the ja one
      bca060a3
  10. 08 2月, 2012 1 次提交
    • L
      build: don't require avahi during install · 60f19073
      Laine Stump 提交于
      See: https://bugzilla.redhat.com/show_bug.cgi?id=785269
      
      The specfile requires avahi during install if libvirt was built with
      avahi support, but there are many situations where it is undesirable
      to install avahi due to security concerns. This patch requires only
      the avahi-libs package, which is needed by libvirt to call the
      function that tries to attach to the avahi daemon, but will instead
      silently fail because the avahi-daemon is in the main avahi package,
      and that package isn't installed.
      60f19073
  11. 28 1月, 2012 1 次提交
    • D
      Add a virt-host-validate command to sanity check HV config · 54a38915
      Daniel P. Berrange 提交于
      To assist people in verifying that their host is operating in an
      optimal manner, provide a 'virt-host-validate' command. For each
      type of hypervisor, it will check any pre-requisites, or other
      good recommendations and report what's working & what is not.
      
      eg
      
        # virt-host-validate
        QEMU: Checking for device /dev/kvm                                         : FAIL (Check that the 'kvm-intel' or 'kvm-amd' modules are loaded & the BIOS has enabled virtualization)
        QEMU: Checking for device /dev/vhost                                       : WARN (Load the 'vhost_net' module to improve performance of virtio networking)
        QEMU: Checking for device /dev/net/tun                                     : PASS
         LXC: Checking for Linux >= 2.6.26                                         : PASS
      
      This warns people if they have vmx/svm, but don't have /dev/kvm. It
      also warns about missing /dev/vhost net.
      54a38915
  12. 18 1月, 2012 1 次提交
  13. 07 1月, 2012 1 次提交
    • D
      Release of libvirt-0.9.9 · 2f667b56
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: update for the release
      * po/*.po*: updated localizations from transifex and regenerated
      2f667b56
  14. 29 12月, 2011 1 次提交
  15. 15 12月, 2011 1 次提交
    • W
      spec: fix inverted logic on sanlock · 6e532938
      Wen Congyang 提交于
      Commit d336dbdb tried to refactor sanlock to avoid building it
      on RHEL for architectures where it is not available, but used
      the wrong conditional.
      
      * libvirt.spec.in (with_sanlock): Use %ifarch, not %ifnarch.
      6e532938
  16. 09 12月, 2011 2 次提交
    • E
      spec: fix logic bug in deciding to turn on cgconfig · 3b95f284
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=738725
      
      Commit ecd8725c tried to silence a spurious warning on the initial
      libvirt install, and commit ba6cbb18 tried to fix up the logic to the
      correct Fedora version, but the warning was still present due to a
      logic bug: since %{fedora} and %{rhel} are never simulatanously
      set, then 0%{rhel} <= 6 made the %if always true.  Checking for
      minimum versions (via >=) is okay, but checking for maximum versions
      (via <=) requires a prerequisite test that the platform being tested
      is non-zero.
      
      Also fix a bogus setting of with_libxl (although we previously
      hard-code with_libxl to 0 for rhel earlier in the file, so this
      was not as severe a bug).
      
      * libvirt.spec.in (with_cgconfig): Don't enable cgconfig on F16.
      3b95f284
    • E
      spec: make it easier to autoreconf when building rpm · 9c417636
      Eric Blake 提交于
      Over time, Fedora and RHEL RPMs have often backported upstream
      patches that touched configure.ac and/or Makefile.am; this
      necessitates rerunning the autotools for the patch to be effective.
      Making this a one-liner spec tweak will make it easier for future
      backports to pull patches without having to find all the places
      to touch to properly use the autotools.  Meanwhile, there have been
      historical instances where an update in the autotools caused FTBFS
      situations, so this is not on by default.
      
      * libvirt.spec.in (enable_autotools): New variable, default off.
      (BuildRequires): Conditionally add autotools.
      (%build): Conditionally use them before configure.
      * mingw32-libvirt.spec.in: Likewise.
      9c417636
  17. 08 12月, 2011 3 次提交
    • D
      Ensure to prefix %{buildroot} when overriding systemd install location · 011a3350
      Daniel P. Berrange 提交于
      The %makeinstall macro does not set DESTDIR, instead of explicitly
      prefixes %{buildroot} onto all paths. Thus we need to do the same
      when setting the systemd unit dir
      
      * libvirt.spec.in: Prefix %{buildroot} onto %{unitdir}
      011a3350
    • D
      Release of libvirt-0.9.8 · 7c6b0653
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: updated for the release
      * po/*.po*: fetched localization update and regenerated
      7c6b0653
    • E
      spec: don't use chkconfig --list · fea83dde
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=694403 reports that
      the specfile is incorrectly checking for a running libvirt-guests
      service.  For example,
      
      $ LC_ALL=es_ES chkconfig --list libvirt-guests
      libvirt-guests 	  0:desactivado		 1:desactivado	   2:desactivado     3:activo	 4:activo  5:activo	    6:desactivado
      
      will fail to find 5:on, even though it is active.  But chkconfig
      already has a mode where you can silently use the exit status to
      check for an active service.
      
      * libvirt.spec.in (%post): Use simpler chkconfig options, to avoid
      issues with localization.
      fea83dde
  18. 06 12月, 2011 2 次提交
    • E
      spec: fix sanlock dependency · d336dbdb
      Eric Blake 提交于
      * libvirt.spec.in (with_sanlock): On RHEL, don't force sanlock
      on architectures where it isn't available.
      d336dbdb
    • E
      spec: add dmidecode as prereq · e7dfa468
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=754909 complains that
      because libvirt didn't require dmidecode, that the logs are noisy
      and virConnectGetSysinfo needlessly fails.  Even 'virt-what' requires
      dmidecode, so it's not that onerous of a dependency.  We may be
      able to drop this in the future when we move to parsing sysfs data,
      but for now, listing the dependency will help matters.
      
      * libvirt.spec.in (Requires): Sort Requires before BuildRequires.
      Add dmidecode.
      e7dfa468
  19. 01 12月, 2011 1 次提交
    • E
      spec: mark directories in /var/run as ghosts · 764574f7
      Eric Blake 提交于
      We have several directories that are created on the fly, and which
      only contain state relevant to a running libvirtd process (all
      located in /var/run).  Since the directories are created as needed,
      and make no sense without a running libvirtd, we want them deleted
      if libvirt is uninstalled.  And in F15 and newer, /var/run is on
      tmpfs (forcing us to recreate on the fly); which means that someone
      trying to verify a complete rpm will fail if the directory does not
      currently exist because libvirtd has not been started since boot.
      The solution, then, is to mark the directories as %ghost, so that
      rpm knows that we own them and will clean it up if libvirt is
      uninstalled, but will no longer create the directory for us at
      install, nor complain at verify time if the directory does not exist.
      
      See https://bugzilla.redhat.com/show_bug.cgi?id=656611.
      
      * libvirt.spec.in (%files): Add %ghost to temporary directories
      that we don't install, but want cleaned up on libvirt removal.
      764574f7
  20. 22 11月, 2011 1 次提交
    • S
      Export KVM Host Power Management capabilities · e352b164
      Srivatsa S. Bhat 提交于
      This patch exports KVM Host Power Management capabilities as XML so that
      higher-level systems management software can make use of these features
      available in the host.
      
      The script "pm-is-supported" (from pm-utils package) is run to discover if
      Suspend-to-RAM (S3) or Suspend-to-Disk (S4) is supported by the host.
      If either of them are supported, then a new tag "<power_management>" is
      introduced in the XML under the <host> tag.
      
      However in case the query to check for power management features succeeded,
      but the host does not support any such feature, then the XML will contain
      an empty <power_management/> tag. In the event that the PM query itself
      failed, the XML will not contain any "power_management" tag.
      
      To use this, new APIs could be implemented in libvirt to exploit power
      management features such as S3/S4.
      e352b164
  21. 19 11月, 2011 1 次提交
    • D
      Add support for systemd init service · 4789fb2e
      Daniel P. Berrange 提交于
      This patch adds support for a systemd init service for libvirtd
      and libvirt-guests. The libvirtd.service is *not* written to use
      socket activation, since we want libvirtd to start on boot so it
      can do guest auto-start.
      
      The libvirt-guests.service is pretty lame, just exec'ing the
      original init script for now. Ideally we would factor out the
      functionality, into some shared tool.
      
      Instead of
      
        ./configure --with-init-script=redhat
      
      You can now do
      
        ./configure --with-init-script=systemd
      
      Or better still:
      
        ./configure --with-init-script=systemd+redhat
      
      We can also now support install of the upstart init script
      
      * configure.ac: Add systemd, and systemd+redhat options to
        --with-init-script option
      * daemon/Makefile.am: Install systemd services
      * daemon/libvirtd.sysconf: Add note about unused env variable
        with systemd
      * daemon/libvirtd.service.in: libvirtd systemd service unit
      * libvirt.spec.in: Add scripts to installing systemd services
        and migrating from legacy init scripts
      * tools/Makefile.am: Install systemd services
      * tools/libvirt-guests.init.sh: Rename to tools/libvirt-guests.init.in
      * tools/libvirt-guests.service.in: systemd service unit
      4789fb2e
  22. 10 11月, 2011 2 次提交
  23. 08 11月, 2011 1 次提交
    • D
      Release of libvirt-0.9.7 · ab4823a0
      Daniel Veillard 提交于
      * confiure.ac docs/news.html.in libvirt.spec.in: update for release
      * po/*.po*: update localizations and rebuilt
      ab4823a0
  24. 02 11月, 2011 1 次提交
    • D
      Create /var/lib/libvirt/filesystems for LXC trees · f33b5792
      Daniel P. Berrange 提交于
      We already have a /var/lib/libvirt/images for OS install images.
      We need a separate /var/lib/libvirt/filesystems for OS install
      trees, since SELinux labelling will be different
      
      * libvirt.spec.in: Add /var/lib/libvirt/filesystems
      * src/Makefile.am: Create /var/lib/libvirt/filesystems
      f33b5792
  25. 19 10月, 2011 1 次提交
    • D
      Allow for URI aliases when connecting to libvirt · 777ffbd0
      Daniel P. Berrange 提交于
      This adds support for a libvirt client configuration file
      either /etc/libvirt/libvirt.conf for privileged clients,
      or $HOME/.libvirt/libvirt.conf for unprivileged clients.
      
      It allows one parameter
      
       uri_aliases = [
         "hail=qemu+ssh://root@hail.cloud.example.com/system",
         "sleet=qemu+ssh://root@sleet.cloud.example.com/system",
       ]
      
      Any call to virConnectOpen with a non-NULL URI will first
      attempt to match against the uri_aliases list. An application
      can disable this by using VIR_CONNECT_NO_ALIASES
      
      * docs/uri.html.in: Document URI aliases
      * include/libvirt/libvirt.h.in: Add VIR_CONNECT_NO_ALIASES
      * libvirt.spec.in, mingw32-libvirt.spec.in: Add /etc/libvirt/libvirt.conf
      * src/Makefile.am: Install default config file
      * src/libvirt.c: Add support for URI aliases
      * src/remote/remote_driver.c: Don't try to handle URIs
        with no scheme and which clearly are not paths
      * src/util/conf.c: Don't raise error on virConfFree(NULL)
      * src/xen/xen_driver.c: Don't raise error on URIs
        with no scheme
      777ffbd0
  26. 13 10月, 2011 1 次提交
    • E
      spec: mingw cleanups · df92bab4
      Eric Blake 提交于
      * libvirt.spec.in (%configure): Drop unused %{one} macro.
      * mingw32-libvirt.spec.in (%{rhel}): Compile ESX but not HyperV on
      mingw build for RHEL.
      (%build): Make configure honor spec conditionals.  Reorder to
      match libvirt.spec.
      * autobuild.sh (mingw): Update list to match.
      Suggested by Daniel P. Berrange.
      df92bab4