trying to package ncbi blast+ I hitted a bug in fpm.
when workdir contains a + in name it aborts with the following error.
/usr/share/ruby/fileutils.rb:239:inmkdir': No such file or directory @ dir_s_mkdir `
see this small reproducer.
mkdir foo+
cd foo+
touch foo
fpm -s dir -t rpm -n foo foo=/usr/bin/foo
/usr/share/ruby/fileutils.rb:239:in `mkdir': No such file or directory @ dir_s_mkdir - /home/gensoft/foo+/package-rpm-build-c52a6f864a36cd9c70ea9f63bd8024de3521b69cdafbcb26845cd04d2257/BUILD/home/gensoft/foo+/package-dir-staging-2be5b9c630e3900cce0e05d57162e6c32f6cf460389d0811cf90cb1d3644 (Errno::ENOENT)
from /usr/share/ruby/fileutils.rb:239:in `fu_mkdir'
from /usr/share/ruby/fileutils.rb:175:in `block in mkdir'
from /usr/share/ruby/fileutils.rb:174:in `each'
from /usr/share/ruby/fileutils.rb:174:in `mkdir'
from /home/gensoft/.gem/ruby/gems/fpm-1.15.0/lib/fpm/util.rb:348:in `copy_entry'
from /home/gensoft/.gem/ruby/gems/fpm-1.15.0/lib/fpm/package/rpm.rb:557:in `block in output'
from /usr/share/ruby/find.rb:49:in `block (2 levels) in find'
from /usr/share/ruby/find.rb:48:in `catch'
from /usr/share/ruby/find.rb:48:in `block in find'
from /usr/share/ruby/find.rb:43:in `each'
from /usr/share/ruby/find.rb:43:in `find'
from /home/gensoft/.gem/ruby/gems/fpm-1.15.0/lib/fpm/package/rpm.rb:554:in `output'
from /home/gensoft/.gem/ruby/gems/fpm-1.15.0/lib/fpm/command.rb:503:in `execute'
from /usr/local/share/gems/gems/clamp-1.0.1/lib/clamp/command.rb:68:in `run'
from /home/gensoft/.gem/ruby/gems/fpm-1.15.0/lib/fpm/command.rb:591:in `run'
from /usr/local/share/gems/gems/clamp-1.0.1/lib/clamp/command.rb:133:in `run'
from /home/gensoft/.gem/ruby/gems/fpm-1.15.0/bin/fpm:7:in `<top (required)>'
from /usr/local/bin/fpm:23:in `load'
from /usr/local/bin/fpm:23:in `<main>'
while
mkdir foo
cd foo
touch foo
fpm -s dir -t rpm -n foo foo=/usr/bin/foo
Created package {:path=>"foo-1.0-1.x86_64.rpm"}
NB position of the + character in name does not matter.
foo+ + failure
+foo => failure
fo+o => failure
NB2 fpm -t deb is not affected
context:
fpm --version
1.15.0
cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.8 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.8 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.8
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.8"
Hello
trying to package ncbi blast+ I hitted a bug in fpm.
when workdir contains a
+
in name it aborts with the following error./usr/share/ruby/fileutils.rb:239:in
mkdir': No such file or directory @ dir_s_mkdir `see this small reproducer.
while
NB position of the
+
character in name does not matter. foo+ + failure +foo => failure fo+o => failureNB2
fpm -t deb
is not affectedcontext:
regards
Eric