ruby-devise-two-factor ftbfs on Xenial

Bug #2083254 reported by Julia Sarris
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu CVE Tracker
Invalid
Undecided
Unassigned
ruby-devise-two-factor (Ubuntu)
New
Undecided
Unassigned

Bug Description

The Xenial version of the ruby-devise-two-factor package FTBFS. You can apply a patch like the below in order to make it build:

Index: ruby-devise-two-factor-2.0.0/spec/devise/models/two_factor_authenticatable_spec.rb
===================================================================
--- ruby-devise-two-factor-2.0.0.orig/spec/devise/models/two_factor_authenticatable_spec.rb
+++ ruby-devise-two-factor-2.0.0/spec/devise/models/two_factor_authenticatable_spec.rb
@@ -2,10 +2,13 @@ require 'spec_helper'
 require 'active_model'

 class TwoFactorAuthenticatableDouble
+ extend ::ActiveModel::Callbacks
   include ::ActiveModel::Validations::Callbacks
   extend ::Devise::Models

- devise :two_factor_authenticatable, :otp_secret_encryption_key => 'test-key'
+ define_model_callbacks :update, only: [:after]
+
+ devise :two_factor_authenticatable, :otp_secret_encryption_key => 'test-key'*8

   attr_accessor :consumed_timestep

@@ -13,6 +16,11 @@ class TwoFactorAuthenticatableDouble
     # noop for testing
     true
   end
+
+ def after_update
+ # noop for testing
+ true
+ end
 end

 describe ::Devise::Models::TwoFactorAuthenticatable do
Index: ruby-devise-two-factor-2.0.0/spec/devise/models/two_factor_backupable_spec.rb
===================================================================
--- ruby-devise-two-factor-2.0.0.orig/spec/devise/models/two_factor_backupable_spec.rb
+++ ruby-devise-two-factor-2.0.0/spec/devise/models/two_factor_backupable_spec.rb
@@ -1,13 +1,21 @@
 require 'spec_helper'

 class TwoFactorBackupableDouble
+ extend ::ActiveModel::Callbacks
   include ::ActiveModel::Validations::Callbacks
   extend ::Devise::Models

+ define_model_callbacks :update, only: [:after]
+
   devise :two_factor_authenticatable, :two_factor_backupable,
          :otp_secret_encryption_key => 'test-key'

   attr_accessor :otp_backup_codes
+
+ def after_update
+ # noop for testing
+ true
+ end
 end

 describe ::Devise::Models::TwoFactorBackupable do

~~~

However, if you do and you attempt to load it into irb, this failure occurs:

julia-phoebe@esm-xenial-amd64:~$ sudo apt-get install ruby-devise-two-factor=2.0.0-1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  distro-info libexpat1-dev libpython3-dev libpython3.5-dev python-pip-whl
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  ruby-devise-two-factor
0 upgraded, 1 newly installed, 0 to remove and 11 not upgraded.
Need to get 0 B/11.2 kB of archives.
After this operation, 47.1 kB of additional disk space will be used.
Selecting previously unselected package ruby-devise-two-factor.
(Reading database ... 233841 files and directories currently installed.)
Preparing to unpack .../ruby-devise-two-factor_2.0.0-1_all.deb ...
Unpacking ruby-devise-two-factor (2.0.0-1) ...
Setting up ruby-devise-two-factor (2.0.0-1) ...
julia-phoebe@esm-xenial-amd64:~$ irb
irb(main):001:0> require 'devise-two-factor'
LoadError: cannot load such file -- active_model/version
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:274:in `block in require'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:240:in `load_dependency'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:274:in `require'
 from /usr/share/rubygems-integration/all/gems/devise-3.5.6/lib/devise/models/authenticatable.rb:1:in `<top (required)>'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:274:in `block in require'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:240:in `load_dependency'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:274:in `require'
 from /usr/share/rubygems-integration/all/gems/devise-3.5.6/lib/devise/models.rb:119:in `<top (required)>'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:274:in `block in require'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:240:in `load_dependency'
 from /usr/lib/ruby/vendor_ruby/active_support/dependencies.rb:274:in `require'
 from /usr/share/rubygems-integration/all/gems/devise-3.5.6/lib/devise.rb:496:in `<top (required)>'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
 from /usr/lib/ruby/vendor_ruby/devise-two-factor.rb:1:in `<top (required)>'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
 from (irb):1
 from /usr/bin/irb:11:in `<main>'
irb(main):002:0>

Changed in ubuntu-cve-tracker:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.