Red Hat Bugzilla – Bug 57108
Trailing whitespace in rpmrc file not stripped
Last modified: 2008-05-01 11:38:01 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Description of problem:
When trailing whitespace exists on a line in an rpmrc file, it is not
stripped before the value is used by other parts of RPM.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Here is how I encountered this problem. I had this line (enclosed in
quotes to show trailing whitespace) in an rpmrc file:
RPM attempts to open the "/root/build/kernel/rpmmacros " file, which of
course does not exist. I was able to see RPM attempt to open the file with
the space on a systrace, shown here:
open("/root/cvs_explore_source/rpmmacros ", O_RDONLY) = -1 ENOENT (No such
file or directory)
I wanted RPM to attempt to open the "/root/build/kernel/rpmmacros" file.
Actual Results: RPM attempted to open the
file "/root/build/kernel/rpmmacros ". (See above description.)
Expected Results: RPM should have attempted to open the
file "/root/build/kernel/rpmmacros". (See above description.)
I don't know if whitespace really *should* be stripped from the ends of
entries in rpmrc files. Since the whitespace between the attribute and the
colon and the value is stripped, I would expected that trailing whitespace
should be stripped as well.
I looked in the documentation and was not able to find a definition of how
an rcfile should act with trailing whitespace.
I did find this, however, which defines that whitespace should be stripped
for entries in macro files.
} To define a macro use:
} %define <name>[(opts)] <body>
} All whitespace surrounding <body> is removed. Name may be
} composed of alphanumeric characters....
The fix -- when attempted -- will be to remove rpmrc configuration
Meanwhile, the workaround is
Don't do that.