1. 03 9月, 2013 3 次提交
    • C
      qemu: Set QEMU_AUDIO_DRV=none with -nographic · a216e648
      Cole Robinson 提交于
      On my machine, a guest fails to boot if it has a sound card, but not
      graphical device/display is configured, because pulseaudio fails to
      initialize since it can't access $HOME.
      
      A workaround is removing the audio device, however on ARM boards there
      isn't any option to do that, so -nographic always fails.
      
      Set QEMU_AUDIO_DRV=none if no <graphics> are configured. Unfortunately
      this has massive test suite fallout.
      
      Add a qemu.conf parameter nographics_allow_host_audio, that if enabled
      will pass through QEMU_AUDIO_DRV from sysconfig (similar to
      vnc_allow_host_audio)
      a216e648
    • G
      Pass AM_LDFLAGS to driver modules too · f1f0e53b
      Guido Günther 提交于
      This gives us a RO got, otherwise Debian's lintian complains:
      
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_qemu.so
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_storage.so
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_uml.so
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_vbox.so
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_xen.so
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_storage.so
      W: libvirt-bin: hardening-no-relro usr/lib/libvirt/connection-driver/libvirt_driver_uml.so
      W: libvirt-sanlock: hardening-no-relro usr/lib/libvirt/lock-driver/sanlock.so
      f1f0e53b
    • G
      Fix AM_LDFLAGS typo · fe502de3
      Guido Günther 提交于
      fe502de3
  2. 02 9月, 2013 5 次提交
  3. 01 9月, 2013 1 次提交
  4. 31 8月, 2013 5 次提交
    • E
      build: fix virtlockd file distribution · 902d62f0
      Eric Blake 提交于
      Since virtlockd is only built when libvirtd is built, we should
      not install its auxiliary files unconditionally.  This solves
      two failures.  1. 'make distcheck' complains:
      
      rm -f Makefile
      ERROR: files left in build directory after distclean:
      ./src/virtlockd.8
      
      2. './autobuild.sh' complains:
      
      Checking for unpackaged file(s): /usr/lib/rpm/check-files
      /home/eblake/rpmbuild/BUILDROOT/mingw-libvirt-1.1.1-1.fc19.eblake1377879911.x86_64
      error: Installed (but unpackaged) file(s) found:
         /usr/i686-w64-mingw32/sys-root/mingw/etc/libvirt/virtlockd.conf
      
      /usr/i686-w64-mingw32/sys-root/mingw/share/augeas/lenses/tests/test_virtlockd.aug
         /usr/i686-w64-mingw32/sys-root/mingw/share/augeas/lenses/virtlockd.aug
         /usr/i686-w64-mingw32/sys-root/mingw/share/man/man8/virtlockd.8
         /usr/x86_64-w64-mingw32/sys-root/mingw/etc/libvirt/virtlockd.conf
      
      /usr/x86_64-w64-mingw32/sys-root/mingw/share/augeas/lenses/tests/test_virtlockd.aug
         /usr/x86_64-w64-mingw32/sys-root/mingw/share/augeas/lenses/virtlockd.aug
         /usr/x86_64-w64-mingw32/sys-root/mingw/share/man/man8/virtlockd.8
      
      * src/Makefile.am (CLEANFILES): Add virtlockd.8.
      (man8_MANS, conf_DATA, augeas_DATA, augeastest_DATA): Only install
      virtlockd files when daemon is built.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      902d62f0
    • E
      build: shipped files must not depend on BUILT_SOURCES · cd3fa762
      Eric Blake 提交于
      'make distcheck' was failing with:
      make[3]: Entering directory `/home/eblake/libvirt-tmp2/libvirt-1.1.1/_build/docs'
      perl ../../docs/genaclperms.pl ../../src/access/viraccessperm.h > ../../docs/aclperms.htmlinc
      /bin/sh: ../../docs/aclperms.htmlinc: Permission denied
      
      when simulating the case of a user doing a VPATH build from a
      read-only source tree.  The culprit?  BUILT_SOURCES are _always_
      built, and so must NOT be built into srcdir and need not be part
      of the tarball.  On the other hand, shipped files must never
      depend on files in the builddir.  While it would be possible to
      fix the problem by generating aclperms.htmlinc into builddir,
      we then have the problem that we ship acl.html - we'd have to
      rejigger a lot of things to not ship pre-built html.  So this
      patch goes the other direction - we don't need BUILT_SOURCES,
      but instead ensure that we have proper dependencies so that
      all files in srcdir are up-to-date at the time the tarball is
      created.  And because we ship html files in the tarball, that
      implies we don't expect users to be able to rebuild them, so
      we must not clean any files that would trigger a rebuild except
      under the maintainer rules.
      
      * docs/Makefile.am (BUILT_SOURCES): Delete.
      (CLEANFILES): Downgrade aclperms.htmlinc cleanup...
      (maintainer-clean-local): ...and move hvsupport.html.in...
      (MAINTAINERCLEANFILES): ...to a maintainer action.
      (hvsupport.html.in): Write into srcdir.
      (hvsupport.html): Ensure files are built in order.
      (aclperms.htmlinc): Honor silent make.
      (EXTRA_DIST): Ship aclperms.htmlinc.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      cd3fa762
    • E
      build: fix 'make distcheck' out of the box · f06eb52f
      Eric Blake 提交于
      With the 1.1.1 tarball, if a user does 'make && make distcheck',
      things pass, but if they do 'make distcheck' after 'make clean',
      there is an odd failure:
      
        GEN      ../../docs/devhelp/index.html
      I/O error : Permission denied
      I/O error : Permission denied
      runtime error: file ../../docs/devhelp/devhelp.xsl line 43 element document
      xsltDocumentElem: unable to save to ../../docs/devhelp/libvirt-virterror.html
      I/O error : Permission denied
      I/O error : Permission denied
      
      This implies that the rules for 'make dist' are missing a
      dependency - the generated documentation needs to be up-to-date
      before creating the tarball, or else the tarball will be missing
      files, where the end user will end up trying to rebuild files in
      srcdir, and that fails when srcdir is read-only.
      
      1.1.1 plus this patch now works without issues (other issues have
      crept in to 1.1.2-rc1 that prevent 'make distcheck' from working,
      but those will be cleaned up in later patches).
      
      * docs/Makefile.am (dist-local): New dependency.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      f06eb52f
    • E
      build: only create virt-login-shell for lxc builds · b9189c80
      Eric Blake 提交于
      I noticed from an ./autobuild.sh run that we were installing a
      virt-login-shell.exe binary when cross-building for mingw,
      even though such a binary is necessarily worthless since the
      code depends on lxc which is a Linux-only concept.
      
      * tools/Makefile.am (conf_DATA, bin_PROGRAMS, dist_man1_MANS):
      Make virt-login-shell installation conditional.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b9189c80
    • C
      qemu: Only setup vhost if virtType == "kvm" · d962318c
      Cole Robinson 提交于
      vhost only works in KVM mode at the moment, and is infact compiled
      out if the emulator is built for non-native architecture. While it
      may work at some point in the future for plain qemu, for now it's
      just noise on the command line (and which contributes to arm cli
      breakage).
      d962318c
  5. 30 8月, 2013 4 次提交
    • G
      Process virtlockd.conf instead of libvirtd.conf · 3e325448
      Guido Günther 提交于
      3e325448
    • D
      Change way we fake dbus method calls · dbd2bc8c
      Daniel P. Berrange 提交于
      Ubuntu libdbus.so links with -Bsymbolic-functions, which means
      that we can only LD_PRELOAD functions that we directly call.
      Functions which libdbus.so calls internally can not be replaced.
      Thus we cannot use dbus_message_new_error or dbus_message_new_method_return
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      dbd2bc8c
    • E
      random: don't mix RAND_MAX with random_r · dd3688e4
      Eric Blake 提交于
      FreeBSD 10 recently changed their definition of RAND_MAX, to try
      and cover the fact that their evenly distributed results of rand()
      really are a smaller range than a full power of 2.  As a result,
      I did some investigation, and learned:
      
      1. POSIX requires random() to be evenly distributed across exactly
      31 bits.  glibc also guarantees this for rand(), but the two are
      unrelated, and POSIX only associates RAND_MAX with rand().
      Avoiding RAND_MAX altogether thus avoids a build failure on
      FreeBSD 10.
      
      2. Concatenating random bits from a PRNG will NOT provide uniform
      coverage over the larger value UNLESS the period of the original
      PRNG is at least as large as the number of bits being concatenated.
      Simple example: suppose that RAND_MAX were 1 with a period of 2**1
      (which means that the PRNG merely alternates between 0 and 1).
      Concatenating two successive rand() calls would then invariably
      result in 01 or 10, which is a rather non-uniform distribution
      (00 and 11 are impossible) and an even worse period (2**0, since
      our second attempt will get the same number as our first attempt).
      But a RAND_MAX of 1 with a period of 2**2 (alternating between
      0, 1, 1, 0) provides sane coverage of all four values, if properly
      tempered.  (Back-to-back calls would still only see half the values
      if we don't do some tempering).  We therefore want to guarantee a
      period of at least 2**64, preferably larger (as a tempering factor);
      POSIX only makes this guarantee for random() with 256 bytes of info.
      
      * src/util/virrandom.c (virRandomBits): Use constants that are
      accurate for the PRNG we are using, not an unrelated PRNG.
      (randomState): Ensure the period of our PRNG exceeds our usage.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      dd3688e4
    • P
      8c725cc1
  6. 29 8月, 2013 19 次提交
  7. 28 8月, 2013 3 次提交
    • J
      virt-sanlock-cleanup; Fix augtool usage · 74c5156f
      Jiri Denemark 提交于
      Surprisingly, augtool get (or print) returns "path = value" while we are
      only interested in the value. We need to remove the "path = " part from
      the augtool's output. The following is an example of the augtool command
      as used in virt-sanlock-cleanup script:
      
      $ augtool get /files/etc/libvirt/qemu-sanlock.conf/disk_lease_dir
      /files/etc/libvirt/qemu-sanlock.conf/disk_lease_dir = /var/lib/libvirt/sanlock
      74c5156f
    • M
      virsh: Fix debugging · ac43da70
      Martin Kletzander 提交于
      Commit a0b6a36f "fixed" what abfff210 broke (URI precedence), but
      there was still one more thing missing to fix.  When using virsh
      parameters to setup debugging, those weren't honored, because at the
      time debugging was initializing, arguments weren't parsed yet.  To
      make ewerything work as expected, we need to initialize the debugging
      twice, once before debugging (so we can debug option parsing properly)
      and then again after these options are parsed.
      
      As a side effect, this patch also fixes a leak when virsh is ran with
      multiple '-l' parameters.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      ac43da70
    • M
      virsh-pool.c: Don't jump over variable declaration · 2ab0948d
      Michal Privoznik 提交于
      Since 785ff34b we are using the outputStr variable in cleanup label.
      However, there is a possibility to jump to the label before the variable
      has been declared:
      
      virsh-pool.c: In function 'cmdPoolList':
      virsh-pool.c:1121:25: error: jump skips variable initialization [-Werror=jump-misses-init]
                               goto asprintf_failure;
                               ^
      virsh-pool.c:1308:1: note: label 'asprintf_failure' defined here
       asprintf_failure:
       ^
      virsh-pool.c:1267:11: note: 'outputStr' declared here
           char *outputStr = NULL;
      2ab0948d