Red Hat Bugzilla – Bug 51925
will not build from src rpm
Last modified: 2005-10-31 17:00:50 EST
2.2-3 will not build because of duplicate file names in the target list.
Removing duplicate names fixes the problem
This defect is considered SHOULD-FIX for Fairfax.
Works here (and obviously in the build system).
Maybe your grep is broken?
I was trying to build it on a standard 7.1 system. The problem I had with the
spec file was the line which did something like (sorry, don't have access to the
file right now, so I'm making up the wording):
cat $file.list | grep -v foo | grep -v bar | grep -v baz > $file.list.tmp
several of the foo, bar, and baz were written as foo$, bar$, baz$, and the "$"
on the end prevented grep from matching it and excluding it from the list, so
consequently they wound up being specified twice.
Removing the $ from the file names made things work.
This would actually indicate either your find or your grep is broken - $ is
the end-of-line marker, and removing it WILL break things. (e.g. if konsole is
removed, it will also remove konsole_grantpty)
echo "blah" |grep 'blah$'
work on your system?
I was trying to compile on a stock (+ all errata) RH 7.1 box. Here's what I get
[guru@fuzz guru]$ echo "blah" | grep 'blah$'
Your grep seems to be ok then... I don't see why it's failing on the file list
then (removing the $s is not an option - that would remove every file).
Please attach the file list the build process generated for you, both before
and after the grep command was run on it. (I can't reproduce the problem, and
the code looks correct as well).
Created attachment 28996 [details]
file list after failed build
I've attached the file.list.kdebase from 2.2-5 (failed build on RH 7.1 box).
The build fails with:
File listed twice: /usr/bin/kcheckpass
File listed twice: /usr/bin/kdesud
File listed twice: /usr/bin/konsole_grantpty
It looks like the spec file does
after it includes the file list. Since the file list already lists
Bad Things happen. Adding
|grep -v 'kdesud' |grep -v 'konsole_grantpty' |grep -v 'kcheckpass'
to the grep exclusion in the spec should fix things. I'll try that now to see.
Ah, found the problem. The find script adds quotes around filenames, therefore
it's actually "kcheckpass" rather than kcheckpass, so $ can't work on them.
Worked here because rpm 4.0.3 handles the situation correctly.
Fixed in 2.2-7