Feature #17468
closed
Added by naruse (Yui NARUSE) almost 4 years ago.
Updated over 2 years ago.
Description
Some configuration of Ruby use RUBY_DEVEL, which depends PATCH_LEVEL.
But depending PATCH_LEVEL causes issues which will become revealed on the final release.
Though we release some previews and RCs, they don't contributes the quality around RUBY_DEVEL.
Therefore to ensure CI tests the quality of the final release, we need to deprecate RUBY_DEVEL.
- Tracker changed from Bug to Feature
- Backport deleted (
2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN)
I looked into this. If we removed RUBY_DEVEL
, we would make it so ruby_debug_log
was never defined, since it is only defined if RUBY_DEVEL
is defined. Basically, removing RUBY_DEVEL
is equivalent to removing the removing the entire debug logging feature.
I think a safer and less invasive change is to make RUBY_DEVEL
not depend on PATCH_LEVEL
. By doing so, Ruby developers that want to use debug logging can still manually use RUBY_DEVEL=yes
when configuring, but it will never be enabled automatically. I submitted a pull request for this: https://github.com/ruby/ruby/pull/4993. One change it makes is to set USE_RUBY_DEBUG_LOG
to 1 instead of 0 if RUBY_DEVEL
is defined and USE_RUBY_DEBUG_LOG
isn't. Since RUBY_DEVEL
is no longer enabled automatically, the main reason to enable it would be to support debug logging, in which case I think 1
is a better default.
When packaging a new tarball, we faced this issue again. Building a tarball produces so many warnings:
./vm_debug.h:34:5: warning: "RUBY_DEVEL" is not defined, evaluates to 0 [-Wundef]
34 | #if RUBY_DEVEL
| ^~~~~~~~~~
./vm_debug.h:100:5: warning: "USE_RUBY_DEBUG_LOG" is not defined, evaluates to 0 [-Wundef]
100 | #if USE_RUBY_DEBUG_LOG
| ^~~~~~~~~~~~~~~~~~
In file included from ./vm.c:40:
./vm_sync.h:7:5: warning: "USE_RUBY_DEBUG_LOG" is not defined, evaluates to 0 [-Wundef]
7 | #if USE_RUBY_DEBUG_LOG
| ^~~~~~~~~~~~~~~~~~
- Target version changed from 3.1 to 3.2
- Status changed from Open to Closed
Applied in changeset git|357352af5ee37bf31ba4468ee242ea5a10158461.
Do not enable RUBY_DEVEL by RUBY_PATCHLEVEL
This makes RUBY_DEVEL not enabled automatically. It still can be
enabled manually.
Test manually using RUBY_DEVEL in CI.
Implements [Feature #17468]
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0