Bug #17870
closed`make --output-sync=line install` breaks installation
Description
It is reported in https://bugs.gentoo.org/show_bug.cgi?id=790272 that make --output-sync=line install
installs nearly nothing, and I can confirm this for Ruby 3.0.1p64.
The argument -Oline
seems to be somehow troublesome in --mflags
and/or --make-flags
options for tool/rbinstall.rb
:
./miniruby -I../lib -I. -I.ext/common ../tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-linux-fake ../tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="-Oline" --make-flags=" -Oline" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc" --exclude=doc
Can this be filtered out?
P.S. There might be other troublesome arguments besides -Oline
, but I have not tested.
Updated by xtkoba (Tee KOBAYASHI) almost 4 years ago
I noticed -Onone
is also troublesome. Other -O[type]
's (type being target
and recurse
) seem safe to use.
Proposed patch:
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -113,6 +113,7 @@
$make, *rest = Shellwords.shellwords($make)
$mflags.unshift(*rest) unless rest.empty?
$mflags.unshift(*mflags)
+ $mflags -= ['-Oline', '-Onone']
def $mflags.set?(flag)
grep(/\A-(?!-).*#{flag.chr}/i) { return true }
Updated by nobu (Nobuyoshi Nakada) almost 4 years ago
- Status changed from Open to Closed
Applied in changeset git|9edad0df74c6ad39281852cca9793fc7dba5c81f.
Remove short options with argument [Bug #17870]
Remove GNU make -O
and -W
options which are short but followed
by an argument, so that $mflags.set?(?n)
does not return true
wrongly.