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 <[EMAIL PROTECTED]> --- --- 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/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel