public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [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