Bug 211991 - www/gitlab: Error: undefined method `user_omniauth_authorize_path'
Summary: www/gitlab: Error: undefined method `user_omniauth_authorize_path'
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Torsten Zuehlsdorff
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2016-08-19 09:54 UTC by Ivan Vanyushkin
Modified: 2017-03-09 09:49 UTC (History)
1 user (show)

See Also:
tz: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Vanyushkin 2016-08-19 09:54:12 UTC
After upgrade to v8.9.6 got fatal error:

Started GET "/users/sign_in" for 213.239.198.179 at 2016-08-19 12:49:45 +0300
Processing by SessionsController#new as */*
Completed 500 Internal Server Error in 39ms (ActiveRecord: 0.4ms)

ActionView::Template::Error (undefined method `user_omniauth_authorize_path' for #<#<Class:0x0000080d606f20>:0x0000081d16b4b0>):
    1: = form_tag(user_omniauth_authorize_path("crowd"), id: 'new_crowd_user' ) do
    2:   = text_field_tag :username, nil, {class: "form-control top", placeholder: "Username", autofocus: "autofocus"}
    3:   = password_field_tag :password, nil, {class: "form-control bottom", placeholder: "Password"}
    4:   - if devise_mapping.rememberable?
  app/views/devise/sessions/_new_crowd.html.haml:1:in `_app_views_devise_sessions__new_crowd_html_haml__3245918192574132824_17258311080'
  app/views/devise/shared/_signin_box.html.haml:23:in `_app_views_devise_shared__signin_box_html_haml___1717938267566868456_17293018760'
  app/views/devise/sessions/new.html.haml:4:in `_app_views_devise_sessions_new_html_haml___1076747443708209319_17292267440'
  app/controllers/sessions_controller.rb:24:in `new'
  lib/gitlab/middleware/go.rb:16:in `call'

I think it may be related with rubygem-omniauth-* versions.

# pkg info|grep -i omni
rubygem-gitlab_omniauth-ldap-1.2.1 LDAP strategy for OmniAuth
rubygem-omniauth-1.3.1         Generalized Rack framework for multiple-provider authentication
rubygem-omniauth-auth0-1.4.1   Authentication broker supporting different identity providers
rubygem-omniauth-azure-oauth2-0.0.6 Azure OAuth2 Strategy for OmniAuth
rubygem-omniauth-bitbucket-0.0.2 OmniAuth strategy for Bitbucket
rubygem-omniauth-cas3-1.1.3    CAS 3.0 Strategy for OmniAuth
rubygem-omniauth-facebook-3.0.0 Facebook OAuth2 Strategy for OmniAuth
rubygem-omniauth-github-1.1.2  Official OmniAuth strategy for GitHub
rubygem-omniauth-gitlab-1.0.2  OmniAuth strategy for GitLab
rubygem-omniauth-google-oauth2-0.4.1 Google OAuth2 strategy for OmniAuth 1.x
rubygem-omniauth-oauth-1.1.0   Generic OAuth strategy for OmniAuth
rubygem-omniauth-oauth2-1.4.0  Abstract OAuth2 strategy for OmniAuth
rubygem-omniauth-saml-1.6.0    OmniAuth strategy for SAML
rubygem-omniauth-shibboleth-1.2.1 OmniAuth Shibboleth strategies for OmniAuth 1.x
rubygem-omniauth-twitter-1.2.1 OmniAuth strategy for Twitter
rubygem-omniauth_crowd-2.2.3   OmniAuth provider for Atlassian Crowds REST API

BTW, don't you think that current version binding is broken? rubygem-* ports can update in any time, and it breaks gitlab. In practice, gitlab breaks after every update of rubygem-* ports. I suggest to move to bundler for stability.
Comment 1 Ivan Vanyushkin 2016-08-19 09:56:26 UTC
/usr/local/www/gitlab/config/gitlab.yml

  omniauth:
    enabled: true
    providers:
      - { name: 'crowd',
          args: {
            crowd_server_url: 'https://example.com',
            application_name: 'GitLab',
            application_password: 'password' } }
Comment 2 Ivan Vanyushkin 2016-08-19 13:54:53 UTC
/usr/local/lib/ruby/gems/2.2/gems/devise-4.2.0/CHANGELOG.md

### 4.2.0 - 2016-07-01

* removals
  * Remove the deprecated OmniAuth URL helpers. Use the fully qualified helpers
    (`user_facebook_omniauth_authorize_path`) over the scope based helpers
    ( `user_omniauth_authorize_path(:facebook)`).
Comment 3 Ivan Vanyushkin 2016-08-19 21:13:53 UTC
Previous version of port devel/rubygem-devise is 3.5.6, but it will not satisfy www/gitlab dependence rubygem-devise>=4.0? How can I workaround this bug?
Comment 4 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2017-03-09 09:49:00 UTC
Hello Ivan,

i'm sorry. I missed this ticket completely! I just came in my mind, when i was committing GitLab 8.13. Because the new version fixes exactly this issue.

Sorry. Hopefully you found a solution in the meanwhile to downgrade.

Greetings,
Torsten