Firstly the %if condition here doesn't work for me. For some reason it still wants me to install perl-podlators (which doesn't exist on Fedora 18):
%if 0%{?fedora} > 18 BuildRequires: perl-podlators %endif
I don't understand why it doesn't work, since on the same machine:
$ rpm --eval '%{?fedora}' 18
Is "018" treated as an impossible octal number? My suggestion is to just BR the programs directly. The upstream code seems to need pod2man, so:
BuildRequires: /usr/bin/pod2man
Secondly, /usr/bin/qemu-kvm is now a script:
$ cat /usr/bin/qemu-kvm #!/bin/sh
exec /usr/bin/qemu-system-x86 -machine accel=kvm "$@"
The problem is that /usr/bin/qemu-system-x86 doesn't appear to exist. Did you mean /usr/bin/qemu-system-x86_84, or is there a missing runtime Requires in the package?
Rich.
On Wed, Feb 20, 2013 at 11:18:02AM +0000, Richard W.M. Jones wrote:
Firstly the %if condition here doesn't work for me. For some reason it still wants me to install perl-podlators (which doesn't exist on Fedora 18):
%if 0%{?fedora} > 18 BuildRequires: perl-podlators %endif
I don't understand why it doesn't work, since on the same machine:
$ rpm --eval '%{?fedora}' 18
Is "018" treated as an impossible octal number? My suggestion is to just BR the programs directly. The upstream code seems to need pod2man, so:
BuildRequires: /usr/bin/pod2man
Secondly, /usr/bin/qemu-kvm is now a script:
$ cat /usr/bin/qemu-kvm #!/bin/sh
exec /usr/bin/qemu-system-x86 -machine accel=kvm "$@"
I wouldn't be surprised if this causes SELinux problems, since the SELinux policy restricts what QEMU is allowed to exec.
The problem is that /usr/bin/qemu-system-x86 doesn't appear to exist. Did you mean /usr/bin/qemu-system-x86_84, or is there a missing runtime Requires in the package?
Daniel
On Wed, Feb 20, 2013 at 11:20:36AM +0000, Daniel P. Berrange wrote:
I wouldn't be surprised if this causes SELinux problems, since the SELinux policy restricts what QEMU is allowed to exec.
Yeah, I guess that would be an argument for omitting /usr/bin/qemu-kvm entirely. libguestfs will need to be rebuilt to pick up the new location for the binary (still used on Fedora by virt-rescue & the appliance backend).
Rich.
On Wed, Feb 20, 2013 at 11:33:19AM +0000, Richard W.M. Jones wrote:
On Wed, Feb 20, 2013 at 11:20:36AM +0000, Daniel P. Berrange wrote:
I wouldn't be surprised if this causes SELinux problems, since the SELinux policy restricts what QEMU is allowed to exec.
Yeah, I guess that would be an argument for omitting /usr/bin/qemu-kvm entirely. libguestfs will need to be rebuilt to pick up the new location for the binary (still used on Fedora by virt-rescue & the appliance backend).
Libvirt doesn't require existance of /usr/bin/qemu-kvm, but there could be people who have guest XML refering to /usr/bin/qemu-kvm still, so not sure we can just delete it.
Daniel
On Wed, Feb 20, 2013 at 11:35:14AM +0000, Daniel P. Berrange wrote:
On Wed, Feb 20, 2013 at 11:33:19AM +0000, Richard W.M. Jones wrote:
On Wed, Feb 20, 2013 at 11:20:36AM +0000, Daniel P. Berrange wrote:
I wouldn't be surprised if this causes SELinux problems, since the SELinux policy restricts what QEMU is allowed to exec.
Yeah, I guess that would be an argument for omitting /usr/bin/qemu-kvm entirely. libguestfs will need to be rebuilt to pick up the new location for the binary (still used on Fedora by virt-rescue & the appliance backend).
Libvirt doesn't require existance of /usr/bin/qemu-kvm, but there could be people who have guest XML refering to /usr/bin/qemu-kvm still, so not sure we can just delete it.
Indeed .. I just hit this with my own guest. For reference, the error was:
error: Failed to start domain f19rawhidex64 error: internal error Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /usr/bin/qemu-kvm -help) unexpected exit status 127: /usr/bin/qemu-kvm: line 3: /usr/bin/qemu-system-x86: No such file or directory
and the fix was to 'virsh edit' the guest and remove the <emulator> element.
Rich.
On 02/20/2013 06:20 AM, Daniel P. Berrange wrote:
On Wed, Feb 20, 2013 at 11:18:02AM +0000, Richard W.M. Jones wrote:
Firstly the %if condition here doesn't work for me. For some reason it still wants me to install perl-podlators (which doesn't exist on Fedora 18):
%if 0%{?fedora} > 18 BuildRequires: perl-podlators %endif
I don't understand why it doesn't work, since on the same machine:
$ rpm --eval '%{?fedora}' 18
Is "018" treated as an impossible octal number? My suggestion is to just BR the programs directly. The upstream code seems to need pod2man, so:
BuildRequires: /usr/bin/pod2man
Secondly, /usr/bin/qemu-kvm is now a script:
$ cat /usr/bin/qemu-kvm #!/bin/sh
exec /usr/bin/qemu-system-x86 -machine accel=kvm "$@"
I wouldn't be surprised if this causes SELinux problems, since the SELinux policy restricts what QEMU is allowed to exec.
At least the fixed script doesn't seem to cause any issues for me on F18.
- Cole
On 02/20/2013 06:18 AM, Richard W.M. Jones wrote:
Firstly the %if condition here doesn't work for me. For some reason it still wants me to install perl-podlators (which doesn't exist on Fedora 18):
%if 0%{?fedora} > 18 BuildRequires: perl-podlators %endif
I don't understand why it doesn't work, since on the same machine:
$ rpm --eval '%{?fedora}' 18
Is "018" treated as an impossible octal number? My suggestion is to just BR the programs directly. The upstream code seems to need pod2man, so:
BuildRequires: /usr/bin/pod2man
A provenpackager made that change at some point.
Are you building with 'fedpkg local'? if so, that sets the fedora macro to equal the git branch version, not your host fedora version.
Secondly, /usr/bin/qemu-kvm is now a script:
$ cat /usr/bin/qemu-kvm #!/bin/sh
exec /usr/bin/qemu-system-x86 -machine accel=kvm "$@"
The problem is that /usr/bin/qemu-system-x86 doesn't appear to exist. Did you mean /usr/bin/qemu-system-x86_84, or is there a missing runtime Requires in the package?
Ugh, that was my bad. I tested one thing and then committed another. qemu-system-x86_64 is the intended binary.
The package still isn't built for rawhide though, koji was failing for me last night. Seems like the docs aren't being built, but pod2man _is_ detected. Might be related to texinfo or something, gonna try again now.
- Cole
On Wed, Feb 20, 2013 at 09:09:48AM -0500, Cole Robinson wrote:
On 02/20/2013 06:18 AM, Richard W.M. Jones wrote:
BuildRequires: /usr/bin/pod2man
[...]
In the past few days I've been changing several packages back to using /usr/bin/pod2man, especially since over half of the build failures in the current mass rebuild were because of this Perl packaging change.
Are you building with 'fedpkg local'? if so, that sets the fedora macro to equal the git branch version, not your host fedora version.
Yup, that explains it ..
Rich.