public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [Patch][RFC] fix make rpm
@ 2007-10-30 10:15 Akio Takebe
       [not found] ` <CBC81ADDCF7D33takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Akio Takebe @ 2007-10-30 10:15 UTC (permalink / raw)
  To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

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/

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-10-31 15:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-30 10:15 [Patch][RFC] fix make rpm Akio Takebe
     [not found] ` <CBC81ADDCF7D33takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2007-10-30 11:59   ` 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox