On Wed, Oct 11, 2017 at 03:49:10AM +0000, Jeremy Evans wrote: > tl;dr: > > * Make ruby 2.4 default ruby version > * Remove ruby 1.8, 2.1, 2.2 > * Remove ruby-do_* and ruby-swift-db-* > > This message may be a little long, but if you are interested in ruby on > OpenBSD, I'd like to get some feedback. I plan on preparing for these > changes over the next few weeks, and commiting them during p2k17. > > Now that ruby 2.4.2 has been released, I plan to switch the default ruby > version in the ports tree from 2.3 to 2.4. I'll be doing bulk builds of > all ruby ports before and after switching to hopefully catch all the > necessary bumps. > > In late August I worked on getting the remaining ports that depended on > ruby 1.8 working on a modern version of ruby, and getting OKs to remove > a couple ports that couldn't be upgraded and were no longer needed > (gonzui and puppet-dashboard). There shouldn't be any remaining ports > that depend on lang/ruby/1.8, other than some old ruby libraries: > > * databases/ruby-bdb (dependency of gonzui) > * devel/ruby-gems (included in ruby 1.9+) > * devel/ruby-rake (included in ruby 1.9+) > > So I plan on removing these ports and then removing ruby 1.8. > > Upstream support for ruby 2.1 was dropped completely in March, so I plan > on also removing ruby 2.1 per our usual ruby support policy. > > When I first proposed our current ruby support policy in August 2015, > there was a greater need to support older ruby versions. Since then, > the last couple ruby versions have had fewer backwards incompatible > changes, so there is less reason to continue to supporting old versions. > Plus, honestly I don't want to backport security patches to versions not > supported upstream. > > So, with that in mind I'd like to update our ruby support policy to the > following: > > 1) All upstream versions in normal maintenance phase are supported, with > C extensions built for each version. > 2) Once an upstream version enters security maintenance phase, it > remains in the ports tree, but C extensions are no longer built for > it. > 3) 6 months after the upstream version enters security maintenance > phase, it is removed from the ports tree. > > Currently, this would have the effect of also removing ruby 2.2, since > it has been over 6 months since ruby 2.2 entered security maintenance > phase (which happened on March 28, 2017 with the release of ruby 2.2.7). > > There are currently a couple of ruby ports (ruby-augeas and > ruby-libvirt) that are built for ruby 2.2 and not ruby 2.3, those will > need to be dealt with before ruby 2.2 can be removed. > > There are quite a few ruby database driver ports in the tree that are no > longer needed: > > * ruby-data_objects > * ruby-do_mysql > * ruby-do_postgres > * ruby-do_sqlite3 > * ruby-swift-db-mysql > * ruby-swift-db-postgres > * ruby-swift-db-sqlite3 > > These ports are all dead upstream. They used to be usable with > databases/ruby-sequel, but support for them was dropped in a recent > Sequel version, and there is nothing in the tree that uses them. The > data_objects and do_* ports were used by DataMapper and were reasonably > popular at one point, but pretty much nothing in the ruby ecosystem > still uses DataMapper anymore. The swift-db-* ports were never popular > or widely used. I plan on removing these ports as well. > > There are a number of pure ruby gem ports in the tree that are not > dependencies of anything else and have not been updated in many years. > I would like to remove some of these ports as they do not add value. I > don't have a list of such ports yet, this is probably something I'll > research at p2k17. > > I appreciate any thoughts or comments on these changes.
Thank you for the detailed explanation Jeremy. FWIW I agree with your plan. -- Antoine