On 01/09/2013 07:13 PM, Eric Blake wrote:
On 01/09/2013 05:18 AM, Yufang Zhang wrote:
> When building libvirt rpms on rhel5, I got the following error:
>
> File must begin with "/": rm
> File must begin with "/": -f
> File must begin with "/": $RPM_BUILD_ROOT/etc/sysctl.d/libvirtd
> Installed (but unpackaged) file(s) found:
> /etc/sysctl.d/libvirtd
>
> It is triggerd by the %files list of libvirt daemon:
>
> %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
> %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
> %else
> rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
> %endif
>
> After checking document of rpm spec file, I think it would be better
> to move the file deleting line from %files list to %install script.
Correct intention, but not quite the right patch.
>
> +%if 0%{?fedora} < 14 || 0%{?rhel} == 5
Oops; this fails on RHEL 6 (since there, %{?fedora} is 0 so the left
half is always true); and on RHEL 4 (if anyone seriously tries to port
that far back). The correct inversion of:
%if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
would be:
%if 0%{?fedoa} < 14 && 0%{?rhel} < 6
ACK with that change, and will push shortly.
Does anybody other than RHEL or Fedora use the specfile? If they ever
did, yours would fail too :-)