openSUSE/osc

KVM builds fail if the path of the repository working copy contains spaces

theMarix opened this issue · 0 comments

Describe the bug
When invoking osc build --vm-type kvm on a local repository working copy for which the full path contains space, the build will fail right after finalising the build dir with the following trailing log lines message:

[   19s] /.build/build.dist: No such file or directory
[   19s] /.build/build.dist: No such file or directory
[   19s] [   13.345949][    T1] sysrq: Power Off
[   19s] [   13.347627][   T10] reboot: Power down

Versions

  • Operating system: openSUSE Tumbleweed, but this also happens on Leap 15.5
  • Packages: osc-1.6.1-1.1.noarch

To Reproduce
Steps to reproduce the behavior:

  1. Create a directory that contains a space, i.e. in $HOME run: `mkdir 'White Space'
  2. Enter the directory: cd 'White Space'
  3. Check out an aribtrary repository: osc co devel:libraries:c_c++/inih
  4. Enter repository: cd devel\:libraries\:c_c++/inih/
  5. Run KVM-based build: osc build --kvm
  6. Observe the build failing.

Expected behavior

I'd expect the build to behave the same as in a directory where there are no spaces in the path.

Screenshots, console outputs
I have attached console logs of space.log and of no space.log.

The trailing bit of the output for the build run in ~/White Space/devel:libraries:c_c++/inih is the following:

[   18s] now finalizing build dir...
[   18s] ... running 01-add_abuild_user_to_trusted_group
[   18s] ... running 02-set_timezone_to_utc
[   18s] ... running 03-set-permissions-secure
[   18s] ... running 11-hack_uname_version_to_kernel_version
[   19s] WARNING could not set SOURCE_DATE_EPOCH, ensure BUILD_RELEASE is set in /.buildenv
[   19s] /etc/profile.d/suse-buildsystem.sh: line 53: test: : integer expression expected
[   19s] /.build/build.dist: No such file or directory
[   19s] /.build/build.dist: No such file or directory
[   19s] [   13.345949][    T1] sysrq: Power Off
[   19s] [   13.347627][   T10] reboot: Power down
[   19s] 
[   19s] localhost.localdomain failed "build inih.spec" at Fri Mar 15 10:22:40 UTC 2024.
[   19s] 

Build failed with exit code 1
The buildroot was: /var/tmp/build-root-linux/openSUSE_Factory-x86_64/.mount

In contrast, when running the same build in ~/devel:libraries:c_c++/inih the same section of the log looks as follows and the build continues on to success:

[   13s] now finalizing build dir...
[   13s] ... running 01-add_abuild_user_to_trusted_group
[   13s] ... running 02-set_timezone_to_utc
[   13s] ... running 03-set-permissions-secure
[   13s] ... running 11-hack_uname_version_to_kernel_version
[   13s] WARNING could not set SOURCE_DATE_EPOCH, ensure BUILD_RELEASE is set in /.buildenv
[   13s] /etc/profile.d/suse-buildsystem.sh: line 53: test: : integer expression expected
[   13s] -----------------------------------------------------------------
[   13s] I have the following modifications for inih.spec:
[   13s] -----------------------------------------------------------------
[   13s] ----- building inih.spec (user abuild)
[   13s] -----------------------------------------------------------------