From 516576e5480f3ba8956a6008a1d3709a78efcc15 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Tue, 6 Aug 2019 12:02:28 +0200 Subject: Emergency fixes to make hmno run on freebsd 12. Upgrade to use Ruby 2.5.5. Use patched version of rails/activerecord/postgres-adapter that should fix compatibility with Ruby 2.5. Patch Arel inline to be compatible with Ruby 2.5. --- .ruby-version | 2 +- Gemfile | 4 +- Gemfile.lock | 94 ++++++++++++++++++---------------- Vagrantfile | 2 +- config/initializers/arel-workaround.rb | 17 ++++++ script/setup | 2 +- vagrant/bootstrap.sh | 2 +- 7 files changed, 74 insertions(+), 49 deletions(-) create mode 100644 config/initializers/arel-workaround.rb diff --git a/.ruby-version b/.ruby-version index e75da3e..0cadbc1 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.3.6 +2.5.5 diff --git a/Gemfile b/Gemfile index 9937604..9c8e6a3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,9 @@ # :jedit:mode=ruby: source 'https://rubygems.org' -gem 'rails', '~> 3.2' +gem 'rails', + git: "https://code.volse.no/rails.git", + branch: "3-2-stable-for-hmno" group :development, :test do gem 'sqlite3' diff --git a/Gemfile.lock b/Gemfile.lock index fc42d38..1a3e05f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,51 @@ +GIT + remote: https://code.volse.no/rails.git + revision: 3ddfd9f91a143271b81fd554a611e029ed643794 + branch: 3-2-stable-for-hmno + specs: + actionmailer (3.2.22.5) + actionpack (= 3.2.22.5) + mail (~> 2.5.4) + actionpack (3.2.22.5) + activemodel (= 3.2.22.5) + activesupport (= 3.2.22.5) + builder (~> 3.0) + erubis (~> 2.7.0) + journey (~> 1.0.4) + rack (~> 1.4.5) + rack-cache (~> 1.2) + rack-test (~> 0.6.1) + sprockets (~> 2.2.1) + activemodel (3.2.22.5) + activesupport (= 3.2.22.5) + builder (~> 3.0) + activerecord (3.2.22.5) + activemodel (= 3.2.22.5) + activesupport (= 3.2.22.5) + arel (~> 3.0.2) + tzinfo (~> 0.3.29) + activeresource (3.2.22.5) + activemodel (= 3.2.22.5) + activesupport (= 3.2.22.5) + activesupport (3.2.22.5) + i18n (~> 0.6, >= 0.6.4) + multi_json (~> 1.0) + rails (3.2.22.5) + actionmailer (= 3.2.22.5) + actionpack (= 3.2.22.5) + activerecord (= 3.2.22.5) + activeresource (= 3.2.22.5) + activesupport (= 3.2.22.5) + bundler (~> 1.0) + railties (= 3.2.22.5) + railties (3.2.22.5) + actionpack (= 3.2.22.5) + activesupport (= 3.2.22.5) + rack-ssl (~> 1.3.2) + rake (>= 0.8.7) + rdoc (~> 3.4) + thor (>= 0.14.6, < 2.0) + GIT remote: https://code.volse.no/refinerycms-pc_banners.git revision: b1edd6053206ebcfbca92c951716eb627a901556 @@ -45,33 +93,6 @@ GEM remote: https://rubygems.org/ specs: SyslogLogger (2.0) - actionmailer (3.2.22.5) - actionpack (= 3.2.22.5) - mail (~> 2.5.4) - actionpack (3.2.22.5) - activemodel (= 3.2.22.5) - activesupport (= 3.2.22.5) - builder (~> 3.0.0) - erubis (~> 2.7.0) - journey (~> 1.0.4) - rack (~> 1.4.5) - rack-cache (~> 1.2) - rack-test (~> 0.6.1) - sprockets (~> 2.2.1) - activemodel (3.2.22.5) - activesupport (= 3.2.22.5) - builder (~> 3.0.0) - activerecord (3.2.22.5) - activemodel (= 3.2.22.5) - activesupport (= 3.2.22.5) - arel (~> 3.0.2) - tzinfo (~> 0.3.29) - activeresource (3.2.22.5) - activemodel (= 3.2.22.5) - activesupport (= 3.2.22.5) - activesupport (3.2.22.5) - i18n (~> 0.6, >= 0.6.4) - multi_json (~> 1.0) acts-as-taggable-on (2.4.1) rails (>= 3, < 5) acts_as_indexed (0.8.3) @@ -83,7 +104,7 @@ GEM babosa (1.0.2) bcrypt-ruby (3.1.5) bcrypt (>= 3.1.3) - builder (3.0.4) + builder (3.2.3) byebug (10.0.2) capistrano (3.10.2) airbrussh (>= 1.0.0) @@ -160,25 +181,10 @@ GEM rack rack-test (0.6.3) rack (>= 1.0) - rails (3.2.22.5) - actionmailer (= 3.2.22.5) - actionpack (= 3.2.22.5) - activerecord (= 3.2.22.5) - activeresource (= 3.2.22.5) - activesupport (= 3.2.22.5) - bundler (~> 1.0) - railties (= 3.2.22.5) rails-i18n (0.7.4) i18n (~> 0.5) rails_autolink (1.0.9) rails (~> 3.1) - railties (3.2.22.5) - actionpack (= 3.2.22.5) - activesupport (= 3.2.22.5) - rack-ssl (~> 1.3.2) - rake (>= 0.8.7) - rdoc (~> 3.4) - thor (>= 0.14.6, < 2.0) rake (12.3.2) rdoc (3.12.2) json (~> 1.4) @@ -293,7 +299,7 @@ DEPENDENCIES pg (~> 0.11) piwik_analytics (~> 1.0.2) puma - rails (~> 3.2) + rails! refinerycms (~> 2.1.0) refinerycms-acts-as-indexed! refinerycms-blog (~> 2.1.0)! diff --git a/Vagrantfile b/Vagrantfile index c6f0614..5ca9a11 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -14,7 +14,7 @@ # along with this program. If not, see . Vagrant.configure("2") do |config| - config.vm.box = "bento/freebsd-11.2" + config.vm.box = "bento/freebsd-12.0" config.vm.guest = :freebsd config.vm.network :forwarded_port, host: 3000, guest: 3000 config.vm.provision :shell, :path => "vagrant/bootstrap.sh" diff --git a/config/initializers/arel-workaround.rb b/config/initializers/arel-workaround.rb new file mode 100644 index 0000000..67f99f2 --- /dev/null +++ b/config/initializers/arel-workaround.rb @@ -0,0 +1,17 @@ +# Workaround to get Arel to work with newer versions of ruby +# from: https://stackoverflow.com/a/44286212 +module Arel + module Visitors + class DepthFirst < Arel::Visitors::Visitor + alias :visit_Integer :terminal + end + + class Dot < Arel::Visitors::Visitor + alias :visit_Integer :visit_String + end + + class ToSql < Arel::Visitors::Visitor + alias :visit_Integer :literal + end + end +end diff --git a/script/setup b/script/setup index 6d6b9cf..e238913 100755 --- a/script/setup +++ b/script/setup @@ -19,7 +19,7 @@ echo \"${ruby_status}\" if [[ "${ruby_status}" == "is not installed" ]] then rbenv install $(cat .ruby-version) - gem install bundler --no-ri --no-rdoc + gem install bundler:1.17.1 --no-ri --no-rdoc bundle config build.sqlite3 --with-sqlite3-dir=/usr/local fi diff --git a/vagrant/bootstrap.sh b/vagrant/bootstrap.sh index 8b3fad2..32051cf 100644 --- a/vagrant/bootstrap.sh +++ b/vagrant/bootstrap.sh @@ -1,6 +1,6 @@ #!/bin/sh pkg upgrade -y -q -f -pkg install -y -q ruby rbenv ruby-build postgresql96-server postgresql96-client git node sqlite3 imagemagick-nox11 +pkg install -y -q ruby rbenv ruby-build postgresql96-server postgresql96-client git node sqlite3 ImageMagick6-nox11 bash echo 'postgresql_enable="YES"' >> /etc/rc.conf echo 'eval "$(rbenv init -)"' >> /home/vagrant/.bash_profile -- cgit v1.2.3