We are facing this bug in OMSAgent just when we added nokogiri library. Because nokogiri has a dependency on mini_portile2 gem that has 2 filepaths containing whitespaces:
mini_portile/test/assets/patch 1.diff
mini_portile/test/assets/test mini portile-1.0.0/
I can reproduce it by including a filename with whitespace in Build-OMS-Agent-for-Linux/omsagent/installer/datafiles/ruby.data :
${{RUBY_DEST}}/lib/ruby/gems/2.4.0/doc/my test.txt; ${{RUBY_DEST}}/lib/ruby/gems/2.4.0/doc/my test.txt;; 644; root; root
Error:
root@abder-pad:~/OMS/Build-OMS-Agent-for-Linux/omsagent/build# python /root/OMS/Build-OMS-Agent-for-Linux/pal/installer/InstallBuilder/installbuilder.py \
--BASE_DIR=/root/OMS/Build-OMS-Agent-for-Linux/omsagent \
--TARGET_DIR=/root/OMS/Build-OMS-Agent-for-Linux/omsagent/target/Linux_UBUNTU_18.04_x64_64_Debug \
--INTERMEDIATE_DIR=/root/OMS/Build-OMS-Agent-for-Linux/omsagent/intermediate/Linux_UBUNTU_18.04_x64_64_Debug/installer_tmp \
--STAGING_DIR=/root/OMS/Build-OMS-Agent-for-Linux/omsagent/intermediate/Linux_UBUNTU_18.04_x64_64_Debug/staging \
--BUILD_TYPE=Debug \
--BUILD_CONFIGURATION=Linux_UBUNTU_18.04_x64_64_Debug \
--RUBY_INT=intermediate/Linux_UBUNTU_18.04_x64_64_Debug/ruby \
--RUBY_ARCH=x86_64-linux \
--RUBY_ARCM=x86_64-linux \
--PFARCH=x64 \
--PFDISTRO=UBUNTU \
--PFMAJOR=18 \
--PFMINOR=04 \
--VERSION=1.8.1 \
--RELEASE=370 \
--VERSION_IDENT="20190206 Developer_Build" \
--DATAFILE_PATH=/root/OMS/Build-OMS-Agent-for-Linux/omsagent/installer/datafiles \
--OUTPUTFILE=omsagent-1.8.1-370.ubuntu.18.x64 \
base_omsagent.data linux.data ruby.data linux_dpkg.data
chown: cannot access '/root/OMS/Build-OMS-Agent-for-Linux/omsagent/intermediate/Linux_UBUNTU_18.04_x64_64_Debug/staging/opt/microsoft/omsagent/ruby/lib/ruby/gems/2.4.0/gems/mini_portile2-2.4.0/test/assets/test': No such file or directory
chown: cannot access 'mini': No such file or directory
chown: cannot access 'portile-1.0.0/configure': No such file or directory
Unable to chown /root/OMS/Build-OMS-Agent-for-Linux/omsagent/intermediate/Linux_UBUNTU_18.04_x64_64_Debug/staging/opt/microsoft/omsagent/ruby/lib/ruby/gems/2.4.0/gems/mini_portile2-2.4.0/test/assets/test mini portile-1.0.0/configure.
As a workaround, I've removed these 2 paths since its only related to testing, but we need to fix this issue.
We are facing this bug in OMSAgent just when we added nokogiri library. Because nokogiri has a dependency on mini_portile2 gem that has 2 filepaths containing whitespaces:
mini_portile/test/assets/patch 1.diff
mini_portile/test/assets/test mini portile-1.0.0/
I can reproduce it by including a filename with whitespace in Build-OMS-Agent-for-Linux/omsagent/installer/datafiles/ruby.data :
${{RUBY_DEST}}/lib/ruby/gems/2.4.0/doc/my test.txt; ${{RUBY_DEST}}/lib/ruby/gems/2.4.0/doc/my test.txt;; 644; root; root
Error:
As a workaround, I've removed these 2 paths since its only related to testing, but we need to fix this issue.