- Work around udevsettle command problem (RHBZ#548121).
- Enable tests.
This commit is contained in:
		
							parent
							
								
									703fa44ad9
								
							
						
					
					
						commit
						33bdf801da
					
				| @ -0,0 +1,57 @@ | |||||||
|  | From 5c6147ecc7ee3cf657edb1e19ad5ab4e973424e0 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Richard Jones <rjones@redhat.com> | ||||||
|  | Date: Fri, 18 Dec 2009 19:20:37 +0000 | ||||||
|  | Subject: [PATCH] daemon: Work around udevsettle issue (RHBZ#548121). | ||||||
|  | 
 | ||||||
|  | ---
 | ||||||
|  |  daemon/guestfsd.c |   30 +++++++++--------------------- | ||||||
|  |  1 files changed, 9 insertions(+), 21 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c
 | ||||||
|  | index 520a4a4..0fc0128 100644
 | ||||||
|  | --- a/daemon/guestfsd.c
 | ||||||
|  | +++ b/daemon/guestfsd.c
 | ||||||
|  | @@ -1038,31 +1038,19 @@ device_name_translation (char *device, const char *func)
 | ||||||
|  |   * involved.  eg. You can create or remove some device, but the /dev | ||||||
|  |   * device node won't appear until some time later.  This means that | ||||||
|  |   * you get an error if you run one command followed by another. | ||||||
|  | + *
 | ||||||
|  |   * Use 'udevadm settle' after certain commands, but don't be too | ||||||
|  |   * fussed if it fails. | ||||||
|  | + *
 | ||||||
|  | + * 'udevsettle' was the old name for this command (RHEL 5).  This was
 | ||||||
|  | + * deprecated in favour of 'udevadm settle'.  The old 'udevsettle'
 | ||||||
|  | + * command was left as a symlink.  Then in Fedora 13 the old symlink
 | ||||||
|  | + * remained but it stopped working (RHBZ#548121), so we have to be
 | ||||||
|  | + * careful not to assume that we can use 'udevsettle' if it exists.
 | ||||||
|  |   */ | ||||||
|  |  void | ||||||
|  |  udev_settle (void) | ||||||
|  |  { | ||||||
|  | -  static int which_prog = 0;
 | ||||||
|  | -
 | ||||||
|  | -  if (which_prog == 0) {
 | ||||||
|  | -    if (access ("/sbin/udevsettle", X_OK) == 0)
 | ||||||
|  | -      which_prog = 2;
 | ||||||
|  | -    else if (access ("/sbin/udevadm", X_OK) == 0)
 | ||||||
|  | -      which_prog = 1;
 | ||||||
|  | -    else
 | ||||||
|  | -      which_prog = 3;
 | ||||||
|  | -  }
 | ||||||
|  | -
 | ||||||
|  | -  switch (which_prog) {
 | ||||||
|  | -  case 1:
 | ||||||
|  | -    command (NULL, NULL, "/sbin/udevadm", "settle", NULL);
 | ||||||
|  | -    break;
 | ||||||
|  | -  case 2:
 | ||||||
|  | -    command (NULL, NULL, "/sbin/udevsettle", NULL);
 | ||||||
|  | -    break;
 | ||||||
|  | -  default:
 | ||||||
|  | -    ;
 | ||||||
|  | -  }
 | ||||||
|  | +  (void) command (NULL, NULL, "/sbin/udevadm", "settle", NULL);
 | ||||||
|  | +  (void) command (NULL, NULL, "/sbin/udevsettle", NULL);
 | ||||||
|  |  } | ||||||
|  | -- 
 | ||||||
|  | 1.6.5.2 | ||||||
|  | 
 | ||||||
| @ -5,7 +5,7 @@ Summary:     Access and modify virtual machine disk images | |||||||
| Name:        libguestfs | Name:        libguestfs | ||||||
| Epoch:       1 | Epoch:       1 | ||||||
| Version:     1.0.80 | Version:     1.0.80 | ||||||
| Release:     2%{?dist} | Release:     3%{?dist} | ||||||
| License:     LGPLv2+ | License:     LGPLv2+ | ||||||
| Group:       Development/Libraries | Group:       Development/Libraries | ||||||
| URL:         http://libguestfs.org/ | URL:         http://libguestfs.org/ | ||||||
| @ -15,6 +15,9 @@ BuildRoot:   %{_tmppath}/%{name}-%{version}-%{release}-root | |||||||
| # Disable FUSE tests, not supported in Koji at the moment. | # Disable FUSE tests, not supported in Koji at the moment. | ||||||
| Patch0:      libguestfs-1.0.79-no-fuse-test.patch | Patch0:      libguestfs-1.0.79-no-fuse-test.patch | ||||||
| 
 | 
 | ||||||
|  | # Work around udevsettle command broken in Fedora 13 (RHBZ#548121). | ||||||
|  | Patch1:      libguestfs-1.0.80-daemon-Work-around-udevsettle-issue-RHBZ-548121.patch | ||||||
|  | 
 | ||||||
| # Basic build requirements: | # Basic build requirements: | ||||||
| BuildRequires: /usr/bin/pod2man | BuildRequires: /usr/bin/pod2man | ||||||
| BuildRequires: /usr/bin/pod2text | BuildRequires: /usr/bin/pod2text | ||||||
| @ -328,6 +331,7 @@ Requires:    jpackage-utils | |||||||
| %setup -q | %setup -q | ||||||
| 
 | 
 | ||||||
| %patch0 -p1 | %patch0 -p1 | ||||||
|  | %patch1 -p1 | ||||||
| 
 | 
 | ||||||
| mkdir -p daemon/m4 | mkdir -p daemon/m4 | ||||||
| 
 | 
 | ||||||
| @ -382,11 +386,11 @@ export LIBGUESTFS_DEBUG=1 | |||||||
| #                                 (FIXED) | #                                 (FIXED) | ||||||
| # 516096   ?            F-11   race condition in swapoff/blockdev --rereadpt | # 516096   ?            F-11   race condition in swapoff/blockdev --rereadpt | ||||||
| # 516543   ?            F-12   qemu-kvm segfaults when run inside a VM (FIXED) | # 516543   ?            F-12   qemu-kvm segfaults when run inside a VM (FIXED) | ||||||
| # 548121   all          F-13   udevsettle command is broken | # 548121   all          F-13   udevsettle command is broken (WORKAROUND) | ||||||
| 
 | 
 | ||||||
| #%ifarch x86_64  # reenable if we fix 548121 | %ifarch x86_64 | ||||||
| #make check | make check | ||||||
| #%endif | %endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %install | %install | ||||||
| @ -602,6 +606,10 @@ rm -rf $RPM_BUILD_ROOT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Fri Dec 18 2009 Richard W.M. Jones <rjones@redhat.com> - 1.0.80-3 | ||||||
|  | - Work around udevsettle command problem (RHBZ#548121). | ||||||
|  | - Enable tests. | ||||||
|  | 
 | ||||||
| * Wed Dec 16 2009 Richard W.M. Jones <rjones@redhat.com> - 1.0.80-2 | * Wed Dec 16 2009 Richard W.M. Jones <rjones@redhat.com> - 1.0.80-2 | ||||||
| - Disable tests because of RHBZ#548121. | - Disable tests because of RHBZ#548121. | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user