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): How reproducible: Always 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: "macrofiles: /usr/lib/rpm/macros:/usr/lib/rpm/% {_target}/macros:/etc/rpm/macros.specspo:/etc/rpm/macros.db1:/etc/rpm/macro s.cdb:/etc/rpm/macros:/etc/rpm/% {_target}/macros:~/.rpmmacros:/root/build/kernel/rpmmacros " 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.) Additional info: 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. From /usr/share/doc/rpm-4.0.3/macros: } To define a macro use: } } \verbatim } %define <name>[(opts)] <body> } \endverbatim } } All whitespace surrounding <body> is removed. Name may be } composed of alphanumeric characters....
The fix -- when attempted -- will be to remove rpmrc configuration entirely. Meanwhile, the workaround is Don't do that.