* [Patch] improvement of "make rpm"
@ 2007-10-31 14:32 Akio Takebe
[not found] ` <EAC81BCAE411F0takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Akio Takebe @ 2007-10-31 14:32 UTC (permalink / raw)
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Hi,
I updated the patch of the following thread.
http://thread.gmane.org/gmane.comp.emulators.kvm.devel/8899
Changelog:
- don't change Makefile
- put back some options (BuildRequires and so on).
If you try my patch with kvm-49, you can do the below.
1. rm SOURCES
2. mkdir SOURCES
3. ./configure
4. make rpm
I tested this patch on RHEL5.
Signed-off-by: Akio Takebe <takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Best Regards,
Akio Takebe
---
--- kvm-49.orig/kvm.spec 2007-10-29 02:14:57.000000000 +0900
+++ kvm-49/kvm.spec 2007-10-31 23:24:05.000000000 +0900
@@ -1,3 +1,12 @@
+%define Distribution %(rpm -q -qf /etc/redhat-release --qf '%{name}' | cut -d -
-f 1)
+%define os_release %(rpm -q --qf '%%{version}' /etc/redhat-release)
+%define bindir /usr/bin
+%define bin %{bindir}/kvm
+%define initdir /etc/init.d
+%define confdir /etc/kvm
+%define utilsdir /etc/kvm/utils
+%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0}
+
Name: kvm
Version: 0.0
Release: 0
@@ -11,20 +20,8 @@ BuildRoot: %{_tmppath}/%{name}-%{ve
ExclusiveArch: i386 x86_64
Requires: kvm-kmod bridge-utils
-
-%define Distribution %(cat /etc/redhat-release | awk '{ print $1}' | tr [A-Z]
[a-z])
-%define os_release %(rpm -q --qf '%%{version}' %{Distribution}-release)
-
-%if %{Distribution} == "fedora" && %{os_release} == 5 || %{Distribution} ==
"centos" && %{os_release} == 4
-BuildRequires: compat-gcc-32
-%else
-BuildRequires: compat-gcc-34
-%endif
-
BuildRequires: SDL-devel zlib-devel alsa-lib-devel
-%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0}
-
%if !%{_prebuilt}
Source0: kvm.tar.gz
Source1: user.tar.gz
@@ -32,15 +29,32 @@ Source2: kernel.tar.gz
Source3: scripts.tar.gz
Source4: Makefile
Source5: configure
-Source5: kvm_stat
+Source6: kvm_stat
%endif
%description
The Kernel Virtual Machine provides a virtualization enviroment for processors
with hardware support for virtualization: Intel's VT and AMD's AMD-V.
-%prep
+%if %([ x"%{Distribution}" = x"fedora" -a x"%{os_release}" = x"5" ] && echo 1 |
| echo 0)
+%define fedora5 1
+%endif
+
+%if %([ x"%{Distribution}" = x"centos" -a x"%{os_release}" = x"4" ] && echo 1 |
| echo 0)
+%define centos4 1
+%endif
+
+%if %([ %{fedora5} -o %{centos4} ] && echo 1 || echo 0)
+BuildRequires: compat-gcc-32
+%else
+BuildRequires: compat-gcc-34
+%endif
+%if %([ -f "/etc/redhat-release" ] && echo 0 || echo 1)
+BuildRequires: compat-gcc-34
+%endif
+
+%prep
%if !%{_prebuilt}
%setup -T -b 0 -n qemu
%setup -T -b 1 -n user -D
@@ -51,9 +65,7 @@ cp %{_sourcedir}/Makefile %{_sourcedir}/
%endif
%build
-
rm -rf %{buildroot}
-
%if !%{_prebuilt}
cd ..
./configure --prefix=/usr/kvm
@@ -71,7 +83,6 @@ make -C qemu
%endif
%install
-
%if !%{_prebuilt}
cd ..
%else
@@ -80,18 +91,16 @@ cd %{objdir}
make DESTDIR=%{buildroot} install-rpm
-%define bindir /usr/bin
-%define bin %{bindir}/kvm
-%define initdir /etc/init.d
-%define confdir /etc/kvm
-%define utilsdir /etc/kvm/utils
-
%post
+/sbin/chkconfig --add kvm
/sbin/chkconfig --level 2345 kvm on
/sbin/chkconfig --level 16 kvm off
/usr/sbin/groupadd -fg 444 kvm
%postun
+/sbin/service kvm stop
+/sbin/chkconfig --level 2345 kvm off
+/sbin/chkconfig --del kvm
%clean
%{__rm} -rf %{buildroot}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] improvement of "make rpm"
[not found] ` <EAC81BCAE411F0takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
@ 2007-11-01 12:39 ` Avi Kivity
[not found] ` <4729C8FF.8020607-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Avi Kivity @ 2007-11-01 12:39 UTC (permalink / raw)
To: Akio Takebe; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Akio Takebe wrote:
> Hi,
>
> I updated the patch of the following thread.
> http://thread.gmane.org/gmane.comp.emulators.kvm.devel/8899
> Changelog:
> - don't change Makefile
> - put back some options (BuildRequires and so on).
>
>
Thanks, it's much improved.
However, kvm.spec has already changed, so the patch won't apply.
Please pull from kvm.git to get the latest sources. Also note the
comments below.
> If you try my patch with kvm-49, you can do the below.
> 1. rm SOURCES
> 2. mkdir SOURCES
> 3. ./configure
> 4. make rpm
>
> I tested this patch on RHEL5.
>
> Signed-off-by: Akio Takebe <takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
>
> Best Regards,
>
> Akio Takebe
>
> ---
>
> --- kvm-49.orig/kvm.spec 2007-10-29 02:14:57.000000000 +0900
> +++ kvm-49/kvm.spec 2007-10-31 23:24:05.000000000 +0900
> @@ -1,3 +1,12 @@
> +%define Distribution %(rpm -q -qf /etc/redhat-release --qf '%{name}' | cut -d -
> -f 1)
> +%define os_release %(rpm -q --qf '%%{version}' /etc/redhat-release)
> +%define bindir /usr/bin
> +%define bin %{bindir}/kvm
> +%define initdir /etc/init.d
> +%define confdir /etc/kvm
> +%define utilsdir /etc/kvm/utils
> +%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0}
> +
>
Why are you moving this around? It makes the patch harder to review
because you can't immediately see if the code has changed.
> Name: kvm
> Version: 0.0
> Release: 0
> @@ -11,20 +20,8 @@ BuildRoot: %{_tmppath}/%{name}-%{ve
> ExclusiveArch: i386 x86_64
>
> Requires: kvm-kmod bridge-utils
> -
> -%define Distribution %(cat /etc/redhat-release | awk '{ print $1}' | tr [A-Z]
> [a-z])
> -%define os_release %(rpm -q --qf '%%{version}' %{Distribution}-release)
> -
> -%if %{Distribution} == "fedora" && %{os_release} == 5 || %{Distribution} ==
> "centos" && %{os_release} == 4
> -BuildRequires: compat-gcc-32
> -%else
> -BuildRequires: compat-gcc-34
> -%endif
> -
> BuildRequires: SDL-devel zlib-devel alsa-lib-devel
>
> -%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0}
> -
> %if !%{_prebuilt}
> Source0: kvm.tar.gz
> Source1: user.tar.gz
> @@ -32,15 +29,32 @@ Source2: kernel.tar.gz
> Source3: scripts.tar.gz
> Source4: Makefile
> Source5: configure
> -Source5: kvm_stat
> +Source6: kvm_stat
> %endif
>
> %description
> The Kernel Virtual Machine provides a virtualization enviroment for processors
> with hardware support for virtualization: Intel's VT and AMD's AMD-V.
>
> -%prep
> +%if %([ x"%{Distribution}" = x"fedora" -a x"%{os_release}" = x"5" ] && echo 1 |
> | echo 0)
> +%define fedora5 1
> +%endif
>
Why not use regular rpm conditionals instead of calling the shell?
Can you add an explicit test for RHEL 5?
--
Any sufficiently difficult bug is indistinguishable from a feature.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] improvement of "make rpm"
[not found] ` <4729C8FF.8020607-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
@ 2007-11-06 1:16 ` Akio Takebe
[not found] ` <6C82012B93D81takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Akio Takebe @ 2007-11-06 1:16 UTC (permalink / raw)
To: Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Akio Takebe
Hi, Avi
Sorry for my late responce, and thank you for your review.
>> --- kvm-49.orig/kvm.spec 2007-10-29 02:14:57.000000000 +0900
>> +++ kvm-49/kvm.spec 2007-10-31 23:24:05.000000000 +0900
>> @@ -1,3 +1,12 @@
>> +%define Distribution %(rpm -q -qf /etc/redhat-release --qf '%{name}' |
>> cut -d -
>> -f 1)
>> +%define os_release %(rpm -q --qf '%%{version}' /etc/redhat-release)
>> +%define bindir /usr/bin
>> +%define bin %{bindir}/kvm
>> +%define initdir /etc/init.d
>> +%define confdir /etc/kvm
>> +%define utilsdir /etc/kvm/utils
>> +%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0}
>> +
>>
>
>Why are you moving this around? It makes the patch harder to review
>because you can't immediately see if the code has changed.
>
It was for cleanup. I'll put it back.
>> Name: kvm
>> Version: 0.0
>> Release: 0
>> @@ -11,20 +20,8 @@ BuildRoot: %{_tmppath}/%{name}-%{ve
>> ExclusiveArch: i386 x86_64
>>
>> Requires: kvm-kmod bridge-utils
>> -
>> -%define Distribution %(cat /etc/redhat-release | awk '{ print $1}' | tr [
>> A-Z]
>> [a-z])
>> -%define os_release %(rpm -q --qf '%%{version}' %{Distribution}-release)
>> -
>> -%if %{Distribution} == "fedora" && %{os_release} == 5 || %{Distribution}
>> ==
>> "centos" && %{os_release} == 4
>> -BuildRequires: compat-gcc-32
>> -%else
>> -BuildRequires: compat-gcc-34
>> -%endif
>> -
>> BuildRequires: SDL-devel zlib-devel alsa-lib-devel
>>
>> -%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0}
>> -
>> %if !%{_prebuilt}
>> Source0: kvm.tar.gz
>> Source1: user.tar.gz
>> @@ -32,15 +29,32 @@ Source2: kernel.tar.gz
>> Source3: scripts.tar.gz
>> Source4: Makefile
>> Source5: configure
>> -Source5: kvm_stat
>> +Source6: kvm_stat
>> %endif
>>
>> %description
>> The Kernel Virtual Machine provides a virtualization enviroment for
>> processors
>> with hardware support for virtualization: Intel's VT and AMD's AMD-V.
>>
>> -%prep
>> +%if %([ x"%{Distribution}" = x"fedora" -a x"%{os_release}" = x"5" ] &&
>> echo 1 |
>> | echo 0)
>> +%define fedora5 1
>> +%endif
>>
>
>Why not use regular rpm conditionals instead of calling the shell?
>
The regular rpm conditionals are poor facilities.
Shell has better parsing facilities.
The original checking fedora5 and centos4 doesn't work on RHEL5.
So I changed the checking with shell.
>Can you add an explicit test for RHEL 5?
OK, I'll add it.
Best Reagards,
Akio Takebe
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] improvement of "make rpm"
[not found] ` <6C82012B93D81takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
@ 2007-11-06 9:01 ` Avi Kivity
0 siblings, 0 replies; 4+ messages in thread
From: Avi Kivity @ 2007-11-06 9:01 UTC (permalink / raw)
To: Akio Takebe; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Akio Takebe wrote:
>>>
>>> -%prep
>>> +%if %([ x"%{Distribution}" = x"fedora" -a x"%{os_release}" = x"5" ] &&
>>> echo 1 |
>>> | echo 0)
>>> +%define fedora5 1
>>> +%endif
>>>
>>>
>> Why not use regular rpm conditionals instead of calling the shell?
>>
>>
> The regular rpm conditionals are poor facilities.
> Shell has better parsing facilities.
> The original checking fedora5 and centos4 doesn't work on RHEL5.
> So I changed the checking with shell.
>
>
Okay.
>> Can you add an explicit test for RHEL 5?
>>
> OK, I'll add it.
>
Okay, thanks.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-11-06 9:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-31 14:32 [Patch] improvement of "make rpm" Akio Takebe
[not found] ` <EAC81BCAE411F0takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2007-11-01 12:39 ` Avi Kivity
[not found] ` <4729C8FF.8020607-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-06 1:16 ` Akio Takebe
[not found] ` <6C82012B93D81takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2007-11-06 9:01 ` Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox