Bug 51925 - will not build from src rpm
will not build from src rpm
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: kdebase (Show other bugs)
7.3
i386 Linux
high Severity high
: ---
: ---
Assigned To: Bernhard Rosenkraenzer
Ben Levenson
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-08-16 18:35 EDT by Chris Ricker
Modified: 2005-10-31 17:00 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-08-22 15:09:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Chris Ricker 2001-08-16 18:35:10 EDT
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 15:16:23 EDT
This defect is considered SHOULD-FIX for Fairfax.
Comment 2 Bernhard Rosenkraenzer 2001-08-18 07:29:11 EDT
Works here (and obviously in the build system).
Maybe your grep is broken?
Comment 3 Chris Ricker 2001-08-18 13:56:15 EDT
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 06:17:13 EDT
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 09:53:05 EDT
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 06:14:28 EDT
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 14:57:36 EDT
Created attachment 28996 [details]
file list after failed build
Comment 8 Chris Ricker 2001-08-22 15:09:40 EDT
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 11:19:53 EDT
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.