Package: ruby-maven-libs
Version: 3.3.9+ds-1.1
Severity: important

My "mvn --version" outputs the version text bold using ASCII escape sequences 
(\e[1m).
The 02-do-not-hard-code-maven-version.patch patch in ruby-maven-libs fails to 
parse this, i.e. ruby -e "require 'maven'" fails with:

Traceback (most recent call last):
        4: from -e:1:in `<main>'
        3: from 
/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
        2: from 
/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
        1: from /usr/lib/ruby/vendor_ruby/maven.rb:1:in `<top (required)>'
/usr/lib/ruby/vendor_ruby/maven.rb:12:in `<module:Maven>': undefined method 
`split' for nil:NilClass (NoMethodError)

This is because the regex asserts the match at the beginning of the line, but 
the string is actually "\e[1mApache Maven 3.6.3\e[m".
Things that work to fix this:
1. Remove the assert for the beginning of the line (the ^)
2. Simplify to `#{mvn_cmd_path} --version`.split("\n")[0].split[2].freeze

-- System Information:
Debian Release: 11.0
  APT prefers experimental
  APT policy: (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64

Kernel: Linux 5.10.0-7-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_IE:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ruby-maven-libs depends on:
ii  maven  3.6.3-5
ii  ruby   1:2.7+2

ruby-maven-libs recommends no packages.

ruby-maven-libs suggests no packages.

-- no debconf information

Reply via email to