makerpms.sh script contains unprotected variables that makes build to fail when any of the parent directory contains spaces.
Steps to reproduce: 1. create a directory containing spaces 2. clone freeipa to that directory 3. go to freeipa directory and build RPMs (makerpms.sh)
[alich@hammer tmp]$ mkdir "foo bar" [alich@hammer tmp]$ cd foo\ bar/ [alich@hammer foo bar]$ git clone https://github.com/freeipa/freeipa.git - SNIP - [alich@hammer foo bar]$ cd freeipa/ [alich@hammer freeipa]$ ./makerpms.sh - SNIP - GEN freeipa.spec cp ./$(cat ./.tarball_name) /home/alich/tmp/foo bar/freeipa/rpmbuild/SOURCES/ cp: omitting directory '/home/alich/tmp/foo' Makefile:1080: recipe for target '_rpms-prep' failed make[1]: *** [_rpms-prep] Error 1 make[1]: Leaving directory '/home/alich/tmp/foo bar/freeipa' Makefile:1084: recipe for target 'rpms' failed make: *** [rpms] Error 2 - SNIP -
This issue cannot be fixed easily because other tools we use have their own problems with spaces in build path. These include libtool, makefiles, autoconf itself, gettextize framework etc.
I'm going to add check which will error out as early as possible so the unsupported configuration is detected as early as possible.
The check which abort build early in this case was pushed to master:
Metadata Update from @alich: - Issue assigned to someone - Issue set to the milestone: FreeIPA 4.5
Log in to comment on this ticket.