All of lore.kernel.org
 help / color / mirror / Atom feed
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/

             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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.