rpmbuild and whitespace in path names

Felix Schwarz felix.schwarz at web.de
Mon Dec 18 13:48:29 UTC 2006


Hi,

can anyone help me building rpms when the _topdir path name contains whitespace?

example command:
> rpmbuild -ba --define '_topdir /home/fs/eg g/build/bdist.linux-x86_64/rpm' --clean build/bdist.linux-x86_64/rpm/SPECS/texttemplate.spec

This fails with:
(...)
> + umask 022
> + cd /home/fs/eg g/build/bdist.linux-x86_64/rpm/BUILD
> /var/tmp/rpm-tmp.16608: line 21: cd: /home/fs/eg: No such file or directory

So I tried to quote the path:
> rpmbuild -ba --define '_topdir "/home/fs/eg g/build/bdist.linux-x86_64/rpm"' --clean build/bdist.linux-x86_64/rpm/SPECS/texttemplate.spec

result:
> error: File "/home/fs/eg g/build/bdist.linux-x86_64/rpm"/SOURCES/texttemplate-0.2.0.tar.gz: No such file or directory

Obviously, rpmbuild just concats the given path with other components. So I went for 
quoting with backslashes:
> rpmbuild -ba --define '_topdir /home/fs/eg\ g/build/bdist.linux-x86_64/rpm' --clean build/bdist.linux-x86_64/rpm/SPECS/texttemplate.spec

result:
> error: File /home/fs/eg g/build/bdist.linux-x86_64/rpm/SOURCES/texttemplate-0.2.0.tar.gz: No such file or directory

Double/Tripple backslashes did not work either.

Yes, I can rename/symlink the directory but I think that software should be able to deal 
with whitespace in pathnames. After all, just passing commands unquoted to shell commands 
is bad. And *denying* the use of proper quoting is /evil/ -- IMHO.

Any hints how to resolve that issue? If not, does anyone know the bug report number in 
bugzilla (I didn't find one)?

fs




More information about the fedora-list mailing list