Red Hat Bugzilla – Bug 161582
rpm is unable to install files placed in paths with spaces in the name
Last modified: 2007-11-30 17:11:08 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Epiphany/1.7.1
Description of problem:
By default rpm doesn't correctly parse paths with spaces in them, now for normal use this isn't a big issue, one could just avoid names with spaces. However I'm on Danish locale and my default Downloads dir is called "Hentede filer", which I presume is the default (it was when I created it at least) for this locale. This means that every time a user clicks an rpm file it will go there and since system-package-config (or whatever handles package install graphically) uses rpm underlying it will fail.
LANG=C rpm -Uvh "Hentede\ filer/skype-22.214.171.124-fc3.i586.rpm" will work, but that is not how rpm reads that dir name by default, thus causing the problem for the frontend that the user would see.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. install .rpm file placed in a dir with spaces in the name
Actual Results: LANG=C rpm -Uvh Hentede\ filer/skype-126.96.36.199-fc3.i586.rpm
error: open of Hentede failed: No such file or directory
error: open of filer/skype-188.8.131.52-fc3.i586.rpm failed: No such file or directory
Expected Results: correct install
Double quoting is needed to support globs in rpm itself (once for shell, once
Still, this breaks the system-package-config frontend for EVERYBODY that places
rpms default in a spaced path - like danish users would.
I consider this quite critical as it completely by default breaks on every
machine around me. Something needs to be done.
System-config-packages in it's current form is going away, and doesn't exec rpm
directly. We'll try to ensure that the replacement for s-c-p works, but that's
a seperate issue from this.