From: Akio Takebe <takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: [Patch][RFC] fix make rpm
Date: Tue, 30 Oct 2007 19:15:35 +0900 [thread overview]
Message-ID: <CBC81ADDCF7D33takebe_akio@jp.fujitsu.com> (raw)
Hi,
This patch fix "make rpm".
When I used the rpm option, I got some error.
So I fixed it, but it is a just sample?
What do you think about it?
Signed-off-by: Akio Takebe <takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
---
--- kvm-49/Makefile 2007-10-29 02:14:57.000000000 +0900
+++ kvm-49.mod/Makefile 2007-10-30 17:29:35.000000000 +0900
@@ -1,9 +1,17 @@
-
include config.mak
DESTDIR=
+PWD:= `pwd`
+tmpspec = .tmp.kvm.spec
+BUILD_ROOT=${PWD}
+RPMDIR=${BUILD_ROOT}/RPMS
+SOURCES=${BUILD_ROOT}/SOURCES
+BUILD=${BUILD_ROOT}/BUILD
+SRPMS=${BUILD_ROOT}/SRPMS
+SPECS=${BUILD_ROOT}/SPECS
-rpmrelease = devel
+VERSION:=$(shell grep 'MODULE_INFO' ./kernel/kvm_main.c| cut -f 2 -d\" |cut -f
2 -d\- )
+RELEASE:=${VERSION}-devel
.PHONY: kernel user qemu bios clean
@@ -38,31 +46,32 @@ install-rpm:
cp scripts/kvm $(DESTDIR)/$(initdir)/kvm
cp scripts/qemu-ifup $(DESTDIR)/$(confdir)/qemu-ifup
install -t $(DESTDIR)/etc/udev/rules.d scripts/*kvm*.rules
+ $(kcmd)make -C kernel DESTDIR=$(DESTDIR)/ install
install:
$(kcmd)make -C kernel DESTDIR="$(DESTDIR)" install
make -C user DESTDIR="$(DESTDIR)" install
make -C qemu DESTDIR="$(DESTDIR)" install
-tmpspec = .tmp.kvm.spec
-RPMDIR=$$(pwd)/RPMS
rpm: srpm
- mkdir -p BUILD $(RPMDIR)/$$(uname -i)
+ mkdir -p $(BUILD) $(RPMDIR)/$$(uname -i)
rpmbuild --rebuild \
--define="_rpmdir $(RPMDIR)" \
- --define="_topdir $$(pwd)" \
- SRPMS/kvm-0.0-$(rpmrelease).src.rpm
+ --define="_topdir ${PWD}" \
+ SRPMS/kvm-$(RELEASE).src.rpm
srpm:
- mkdir -p SOURCES SRPMS
- sed 's/^Release:.*/Release: $(rpmrelease)/' kvm.spec > $(tmpspec)
- tar czf SOURCES/kvm.tar.gz qemu
- tar czf SOURCES/user.tar.gz user
- tar czf SOURCES/kernel.tar.gz kernel
- tar czf SOURCES/scripts.tar.gz scripts
- cp Makefile configure kvm_stat SOURCES
- rpmbuild --define="_topdir $$(pwd)" -bs $(tmpspec)
+ export WANT_MODULE=y
+ mkdir -p $(SOURCES)
+ mkdir -p $(SRPMS)
+ mkdir -p $(SPECS)
+ mkdir -p ${BUILD_ROOT}/kvm-$(VERSION)
+ cp kvm.spec $(SPECS)/$(tmpspec)
+ cp -ax qemu user kernel scripts Makefile configure kvm_stat
${BUILD_ROOT}/kvm-$(VERSION)
+ cd ${BUILD_ROOT}
+ tar czf $(SOURCES)/kvm-$(RELEASE).tar.gz ./kvm-$(VERSION)
+ rpmbuild -vv -bs $(SPECS)/$(tmpspec)
$(RM) $(tmpspec)
clean:
--- kvm-49/kvm.spec 2007-10-29 02:14:57.000000000 +0900
+++ kvm-49.mod/kvm.spec 2007-10-30 17:39:54.000000000 +0900
@@ -1,106 +1,115 @@
Name: kvm
-Version: 0.0
-Release: 0
-Summary: Kernel Virtual Machine virtualization environment
+%define bindir /usr/bin
+%define bin %{bindir}/kvm
+%define initdir /etc/init.d
+%define confdir /etc/kvm
+%define utilsdir /etc/kvm/utils
+%define uname %(uname -r)
+
+Version: 49
+Release: devel
+Summary: Kernel Virtual Machine virtualization environment
Group: System Environment/Kernel
License: GPL
URL: http://www.qumranet.com
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
-
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
-
+Requires: bridge-utils
BuildRequires: SDL-devel zlib-devel alsa-lib-devel
-
-%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0}
-
-%if !%{_prebuilt}
-Source0: kvm.tar.gz
-Source1: user.tar.gz
-Source2: kernel.tar.gz
-Source3: scripts.tar.gz
-Source4: Makefile
-Source5: configure
-Source5: kvm_stat
-%endif
+Source0: %{name}-%{version}-%{release}.tar.gz
%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 !%{_prebuilt}
-%setup -T -b 0 -n qemu
-%setup -T -b 1 -n user -D
-%setup -T -b 2 -n kernel -D
-%setup -T -b 3 -n scripts -D
-cd ..
-cp %{_sourcedir}/Makefile %{_sourcedir}/configure %{_sourcedir}/kvm_stat .
-%endif
+%setup
%build
-
rm -rf %{buildroot}
-
-%if !%{_prebuilt}
-cd ..
./configure --prefix=/usr/kvm
-make -C user
-#(cd qemu;
-# ./co
-# kpath="$(readlink -f ../kernel/include)"
-# upath="$(readlink -f ../user)"
-# ./configure --target-list=$(uname -i)-softmmu \
-# --extra-cflags="-I$kpath -I$upath" \
-# --extra-ldflags="-L$upath" \
-# --disable-kqemu --enable-kvm --prefix=/usr/kvm
-#)
-make -C qemu
-%endif
+make
%install
-
-%if !%{_prebuilt}
-cd ..
-%else
-cd %{objdir}
-%endif
-
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
+depmod -a ${uname}
+/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
+depmod -a ${uname}
%clean
%{__rm} -rf %{buildroot}
%files
+%defattr(-,root,root)
/usr/bin/kvm
/usr/bin/kvm_stat
%{confdir}/qemu-ifup
%{initdir}/kvm
/etc/udev/rules.d/*kvm*.rules
-/usr/kvm
+%dir /usr/kvm
+%dir /usr/kvm/bin
+/usr/kvm/bin/qemu-img
+/usr/kvm/bin/qemu-system-x86_64
+%dir /usr/kvm/share
+%dir /usr/kvm/share/qemu
+/usr/kvm/share/qemu/bios.bin
+%dir /usr/kvm/share/qemu/keymaps
+/usr/kvm/share/qemu/keymaps/ar
+/usr/kvm/share/qemu/keymaps/common
+/usr/kvm/share/qemu/keymaps/da
+/usr/kvm/share/qemu/keymaps/de
+/usr/kvm/share/qemu/keymaps/de-ch
+/usr/kvm/share/qemu/keymaps/en-gb
+/usr/kvm/share/qemu/keymaps/en-us
+/usr/kvm/share/qemu/keymaps/es
+/usr/kvm/share/qemu/keymaps/et
+/usr/kvm/share/qemu/keymaps/fi
+/usr/kvm/share/qemu/keymaps/fo
+/usr/kvm/share/qemu/keymaps/fr
+/usr/kvm/share/qemu/keymaps/fr-be
+/usr/kvm/share/qemu/keymaps/fr-ca
+/usr/kvm/share/qemu/keymaps/fr-ch
+/usr/kvm/share/qemu/keymaps/hr
+/usr/kvm/share/qemu/keymaps/hu
+/usr/kvm/share/qemu/keymaps/is
+/usr/kvm/share/qemu/keymaps/it
+/usr/kvm/share/qemu/keymaps/ja
+/usr/kvm/share/qemu/keymaps/lt
+/usr/kvm/share/qemu/keymaps/lv
+/usr/kvm/share/qemu/keymaps/mk
+/usr/kvm/share/qemu/keymaps/modifiers
+/usr/kvm/share/qemu/keymaps/nl
+/usr/kvm/share/qemu/keymaps/nl-be
+/usr/kvm/share/qemu/keymaps/no
+/usr/kvm/share/qemu/keymaps/pl
+/usr/kvm/share/qemu/keymaps/pt
+/usr/kvm/share/qemu/keymaps/pt-br
+/usr/kvm/share/qemu/keymaps/ru
+/usr/kvm/share/qemu/keymaps/sl
+/usr/kvm/share/qemu/keymaps/sv
+/usr/kvm/share/qemu/keymaps/th
+/usr/kvm/share/qemu/keymaps/tr
+/usr/kvm/share/qemu/openbios-sparc32
+/usr/kvm/share/qemu/ppc_rom.bin
+/usr/kvm/share/qemu/pxe-ne2k_pci.bin
+/usr/kvm/share/qemu/pxe-pcnet.bin
+/usr/kvm/share/qemu/pxe-rtl8139.bin
+/usr/kvm/share/qemu/vgabios-cirrus.bin
+/usr/kvm/share/qemu/vgabios.bin
+/usr/kvm/share/qemu/video.x
+%dir /lib/modules/%{uname}/extra
+/lib/modules/%{uname}/extra/kvm.ko
+/lib/modules/%{uname}/extra/kvm-intel.ko
+/lib/modules/%{uname}/extra/kvm-amd.ko
%changelog
-------------------------------------------------------------------------
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/
next reply other threads:[~2007-10-30 10:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-30 10:15 Akio Takebe [this message]
[not found] ` <CBC81ADDCF7D33takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2007-10-30 11:59 ` [Patch][RFC] fix make rpm Avi Kivity
[not found] ` <47271CB2.1020503-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-30 12:16 ` Akio Takebe
[not found] ` <CEC81AEEA48120takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2007-10-30 12:24 ` Avi Kivity
2007-10-30 15:10 ` Hollis Blanchard
2007-10-31 0:39 ` Avi Kivity
[not found] ` <4727CEDF.8060304-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-31 15:25 ` Hollis Blanchard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CBC81ADDCF7D33takebe_akio@jp.fujitsu.com \
--to=takebe_akio-+cum20s59erqfuhtdcdx3a@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox