Bug 51925 - will not build from src rpm
Summary: will not build from src rpm
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kdebase
Version: 7.3
Hardware: i386
OS: Linux
high
high
Target Milestone: ---
Assignee: Bernhard Rosenkraenzer
QA Contact: Ben Levenson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-08-16 22:35 UTC by Chris Ricker
Modified: 2005-10-31 22:00 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2001-08-22 19:09:45 UTC
Embargoed:


Attachments (Terms of Use)
file list after failed build (150.88 KB, text/plain)
2001-08-22 18:57 UTC, Chris Ricker
no flags Details

Description Chris Ricker 2001-08-16 22:35:10 UTC
2.2-3 will not build because of duplicate file names in the target list. 
Removing duplicate names fixes the problem

Comment 1 Glen Foster 2001-08-17 19:16:23 UTC
This defect is considered SHOULD-FIX for Fairfax.

Comment 2 Bernhard Rosenkraenzer 2001-08-18 11:29:11 UTC
Works here (and obviously in the build system).
Maybe your grep is broken?


Comment 3 Chris Ricker 2001-08-18 17:56:15 UTC
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.

Comment 4 Bernhard Rosenkraenzer 2001-08-20 10:17:13 UTC
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)

does

echo "blah" |grep 'blah$'

work on your system?


Comment 5 Chris Ricker 2001-08-20 13:53:05 UTC
I was trying to compile on a stock (+ all errata) RH 7.1 box.  Here's what I get
on there:

[guru@fuzz guru]$ echo "blah" | grep 'blah$'
blah
[guru@fuzz guru]$ 


Comment 6 Bernhard Rosenkraenzer 2001-08-21 10:14:28 UTC
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).



Comment 7 Chris Ricker 2001-08-22 18:57:36 UTC
Created attachment 28996 [details]
file list after failed build

Comment 8 Chris Ricker 2001-08-22 19:09:40 UTC
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

%attr(4755,root,root) %{prefix}/bin/kcheckpass
%attr(2755,root,root) %{prefix}/bin/kdesud
%attr(0755,root,root) %{prefix}/bin/konsole_grantpty

after it includes the file list.  Since the file list already lists

%attr(-,root,root) "/usr/bin/konsole_grantpty"
%attr(-,root,root) "/usr/bin/kdesud"
%attr(-,root,root) "/usr/bin/kcheckpass"


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.


Comment 9 Bernhard Rosenkraenzer 2001-08-23 15:19:53 UTC
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



Note You need to log in before you can comment on or make changes to this bug.