* [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[parent not found: <EAC81BCAE411F0takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>]
* 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
[parent not found: <4729C8FF.8020607-atKUWr5tajBWk0Htik3J/w@public.gmane.org>]
* 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
[parent not found: <6C82012B93D81takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>]
* 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