#6537 build does not work if working directory contains whitespaces
Closed: Invalid None Opened 7 years ago by alich.

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:

  • 19aba7c Build: forbid builds in working directories containing white spaces

Metadata Update from @alich:
- Issue assigned to someone
- Issue set to the milestone: FreeIPA 4.5

7 years ago

Login to comment on this ticket.

Metadata