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

Reply via email to