Description of problem: mock doesn't parse args to --resultdir correctly. Seemingly tilde expansion doesn't work. Version-Release number of selected component (if applicable): mock-0.8.9-1.fc8 How reproducible: Always. Steps to Reproduce: 1. mkdir tmp 2. cd tmp 3. mock -r <repoid> --resultdir=~/results rebuild <pkg>.src.rpm Actual results: Results are being put into ./~/results instead of ~/results [$(HOME)/results] Expected results: mock to perform tilde expansions on command line args.
tilde expansion is a function of the shell, not the program being run. Bash doesnt recognize '--something=~/...' as something it should expand. Leave out the '=' to let bash perform tilde-expansion on this.
man 3 glob
it is complicated by the fact that $HOME is reset to /root because of the setuid wrapper, so this isnt trivial to implement. a call to os.path.expanduser() would theoretically fix this, but it would require some pretty significant code rearrangements to accomplish due to the setuid wrapper.
Additionally, this appears to have been broken for every released version of mock.
(In reply to comment #4) > Additionally, this appears to have been broken for every released version of > mock. I know, it has been haunting and nagging me from the earliest days of mock, but it's always a surprise to me being hit by it every couple months.
Fixed for $nextrelease. Clark is preparing this release and will be releasing sometime in the next couple days. If you want to look at this before the official release, please check out the upstream git repo.