Skip to contentSkip to conversation

fix make rpm

RFC PATCH In review Akio Takebe 3 participants 7 messages Oct 30, 2007 – Oct 31, 2007 4 messages not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 fix make rpm

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?

---

Makefile +9 -2
@@ -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.spec +10 -8
@@ -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/

A message that is not in the archive (sent off-list or not yet received): CBC81ADDCF7D33takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org

#2 lore raw
Quoted 3 lines · Akio Takebe

Hi,

Hi!

Quoted 5 lines

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?

'make rpm' works for me on F7 (after I fixed fallout from the libkvm separation patch). What distribution did you run it on? What error did you get?

I think we can't treat it as more than a sample because we can't expect it to work everywhere (e.g. debian). But i will accept patches to improve it.

Quoted 52 lines

What do you think about it?

(quoted diff) +46 -1
-/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

Review

Quoted 10 lines
(quoted diff) +9 -0
+/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

Why is this change necessary? Doesn't '/usr/kvm' work? This way, every time qemu adds a file we have to update the rpm spec.

Signature · 8 lines
Any sufficiently difficult bug is indistinguishable from a feature.


-------------------------------------------------------------------------
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/

A message that is not in the archive (sent off-list or not yet received): 47271CB2.1020503-atKUWr5tajBWk0Htik3J/[email protected]

#4 lore raw

Hi, Avi

Thank you for your comments.

Quoted 10 lines
Quoted 5 lines

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?

'make rpm' works for me on F7 (after I fixed fallout from the libkvm separation patch). What distribution did you run it on? What error did you get?

I used RHEL5. I got the following error at fist.

[root@vmx08 kvm-49]# make rpm
mkdir -p SOURCES SRPMS
mkdir: `SOURCES' exists but is not a directory
make: *** [srpm] Error 1
[root@vmx08 kvm-49]#

So I retried it after remaking SOURCES.

[root@vmx08 kvm-49]# rm SOURCES
rm: remove regular file `SOURCES'? yes
[root@vmx08 kvm-49]# mkdir SOURCES
[root@vmx08 kvm-49]# make rpm
mkdir -p SOURCES SRPMS
sed 's/^Release:.*/Release: devel/' kvm.spec > .tmp.kvm.spec 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 .tmp.kvm.spec
error: types must match
error: /root/kvm-49/.tmp.kvm.spec:18: parseExpressionBoolean returns -1
error: Package has no %description: kvm
make: *** [srpm] Error 1
[root@vmx08 kvm-49]#

After I fixed above, I got some more errors...

Quoted 4 lines

I think we can't treat it as more than a sample because we can't expect it to work everywhere (e.g. debian). But i will accept patches to improve it.

OK, I agree.

Quoted 57 lines
Quoted 57 lines

What do you think about it?

(quoted diff) +53 -1
-/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
Quoted 8 lines

Review

Quoted 5 lines
(quoted diff) +2 -0
+/lib/modules/%{uname}/extra/kvm-intel.ko
+/lib/modules/%{uname}/extra/kvm-amd.ko
 %changelog

Why is this change necessary? Doesn't '/usr/kvm' work? This way, every time qemu adds a file we have to update the rpm spec.

Exactly, I think better writing these, but actually these are not needed. So when qemu is updated, we need to update these as you said. I'll put back them because it's messy.

Best Regards,

Akio Takebe

-------------------------------------------------------------------------
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/

A message that is not in the archive (sent off-list or not yet received): CEC81AEEA48120takebe_akio-+CUm20s59erQFUHtdCDX3A@public.gmane.org

#6 lore raw
Quoted 17 lines · Akio Takebe

Hi, Avi

Thank you for your comments.

Quoted 11 lines
Quoted 6 lines

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?

'make rpm' works for me on F7 (after I fixed fallout from the libkvm separation patch). What distribution did you run it on? What error did you get?

Quoted 8 lines

I used RHEL5. I got the following error at fist.

[root@vmx08 kvm-49]# make rpm
mkdir -p SOURCES SRPMS
mkdir: `SOURCES' exists but is not a directory
make: *** [srpm] Error 1
[root@vmx08 kvm-49]#

Ah, SOURCES only exists in the distributed package, not in the git tree. That's why I never got an error. It's probably best to push all the rpm build directories under a new subdirectory rpm/.

Quoted 17 lines

So I retried it after remaking SOURCES.

[root@vmx08 kvm-49]# rm SOURCES
rm: remove regular file `SOURCES'? yes
[root@vmx08 kvm-49]# mkdir SOURCES
[root@vmx08 kvm-49]# make rpm
mkdir -p SOURCES SRPMS
sed 's/^Release:.*/Release: devel/' kvm.spec > .tmp.kvm.spec 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 .tmp.kvm.spec
error: types must match
error: /root/kvm-49/.tmp.kvm.spec:18: parseExpressionBoolean returns -1

This can be fixed by updating the check on line 18 to include RHEL. We do need the BuildRequires below...

Quoted 6 lines

error: Package has no %description: kvm
make: *** [srpm] Error 1
[root@vmx08 kvm-49]#

After I fixed above, I got some more errors...

Signature · 8 lines
Any sufficiently difficult bug is indistinguishable from a feature.


-------------------------------------------------------------------------
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/
#7 lore raw
In reply to a message not in the archive
Quoted 6 lines · Avi Kivity
Quoted 6 lines
(quoted diff) +4 -1
-/usr/kvm
+%dir /usr/kvm
+%dir /usr/kvm/bin
+/usr/kvm/bin/qemu-img
+/usr/kvm/bin/qemu-system-x86_64

[...]

Quoted 3 lines

Why is this change necessary? Doesn't '/usr/kvm' work? This way, every time qemu adds a file we have to update the rpm spec.

FYI, I got burned by exactly this problem once. Due to a missing prereq, a package build didn't produce all the output it should have. However, because I hadn't listed every output explicitly, rpm happily packaged everything else, and the package shipped in a distro before anybody realized anything was missing.

Signature · 9 lines
Hollis Blanchard
IBM Linux Technology Center


-------------------------------------------------------------------------
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/
#8 lore raw
Quoted 14 lines · Hollis Blanchard
Quoted 6 lines · Avi Kivity
Quoted 6 lines
(quoted diff) +4 -1
-/usr/kvm
+%dir /usr/kvm
+%dir /usr/kvm/bin
+/usr/kvm/bin/qemu-img
+/usr/kvm/bin/qemu-system-x86_64

[...]

Quoted 3 lines

Why is this change necessary? Doesn't '/usr/kvm' work? This way, every time qemu adds a file we have to update the rpm spec.

Quoted 7 lines

FYI, I got burned by exactly this problem once. Due to a missing prereq, a package build didn't produce all the output it should have. However, because I hadn't listed every output explicitly, rpm happily packaged everything else, and the package shipped in a distro before anybody realized anything was missing.

Yeah, perhaps the script should have a "dangerous" label. Or all rpm scripts.

Listing the files doesn't actually solve the problem. How does a packager know if a file was removed intenrionally or accidentally?

Signature · 8 lines
Any sufficiently difficult bug is indistinguishable from a feature.


-------------------------------------------------------------------------
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/

A message that is not in the archive (sent off-list or not yet received): 4727CEDF.8060304-atKUWr5tajBWk0Htik3J/[email protected]

#10 lore raw
Quoted 23 lines · Avi Kivity
Quoted 14 lines · Hollis Blanchard
Quoted 6 lines · Avi Kivity
Quoted 6 lines
(quoted diff) +4 -1
-/usr/kvm
+%dir /usr/kvm
+%dir /usr/kvm/bin
+/usr/kvm/bin/qemu-img
+/usr/kvm/bin/qemu-system-x86_64

[...]

Quoted 3 lines

Why is this change necessary? Doesn't '/usr/kvm' work? This way, every time qemu adds a file we have to update the rpm spec.

Quoted 7 lines

FYI, I got burned by exactly this problem once. Due to a missing prereq, a package build didn't produce all the output it should have. However, because I hadn't listed every output explicitly, rpm happily packaged everything else, and the package shipped in a distro before anybody realized anything was missing.

Quoted 5 lines

Yeah, perhaps the script should have a "dangerous" label. Or all rpm scripts.

Listing the files doesn't actually solve the problem. How does a packager know if a file was removed intenrionally or accidentally?

When the package won't build due to a missing file, that draws attention, and so the packager investigates (and sees for example that the file in question is no longer listed in any Makefiles).

Signature · 9 lines
Hollis Blanchard
IBM Linux Technology Center


-------------------------------------------------------------------------
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/