Bug 1475995 - Please upgrade to ruby-shadow 2.5.0
Please upgrade to ruby-shadow 2.5.0
Status: NEW
Product: Fedora
Classification: Fedora
Component: ruby-shadow (Show other bugs)
Unspecified Linux
unspecified Severity high
: ---
: ---
Assigned To: Vít Ondruch
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2017-07-27 13:54 EDT by Shawn Bohrer
Modified: 2017-10-13 11:17 EDT (History)
15 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Patch to upgrade to 2.5.0 (11.58 KB, patch)
2017-10-05 06:45 EDT, Terje Røsten
no flags Details | Diff

  None (edit)
Description Shawn Bohrer 2017-07-27 13:54:45 EDT
Description of problem:
Using the puppet user module to change or set a users password in /etc/shadow does not work.  Running puppet with --debug I see this:

Provider useradd does not support features manages_passwords; not managing attribute password

This message appears when ruby-shadow is not present.  Yet I have ruby-shadow installed.  F26's ruby-shadow-1.4.1-31.fc26.x86_64 is rather old and 'gem list' does not show ruby-shadow as an installed gem.  I built the latest ruby-shadow 2.5.0 on my systems and this fixes the problem, so I suspect someone simply needs to build an updated ruby-shadow rpm.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
puppet apply -tv --execute "user {'bob': password => 'alice', }"
grep bob /etc/shadow
Comment 1 Evgheni Dereveanchin 2017-08-04 06:44:36 EDT
Hit this issue as well - puppet in my case fails to load the existing library:

Debug: Failed to load library 'shadow' for feature 'libshadow'

Looking deeper, the whole library seems broken:

# irb
irb(main):001:0> require 'shadow'
LoadError: /usr/lib64/ruby/vendor_ruby/shadow.so: undefined symbol: rb_iterator_p - /usr/lib64/ruby/vendor_ruby/shadow.so
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from (irb):1
        from /usr/bin/irb:11:in `<main>'

# dnf info ruby-shadow
Installed Packages
Name         : ruby-shadow
Version      : 1.4.1
Release      : 31.fc26
Arch         : x86_64
Size         : 21 k
Source       : ruby-shadow-1.4.1-31.fc26.src.rpm
Repo         : @System
From repo    : fedora
Summary      : Ruby bindings for shadow password access
URL          : http://ttsky.net/
License      : Public Domain
Description  : Ruby bindings for shadow password access

Is there an easy fix for this without having to bring in a non-standard library into the system?
Comment 2 Joel Nimety 2017-08-10 10:27:02 EDT
Just ran into this too, upgrading from Fedora 24 to Fedora 26. For what it's worth, 1.4.1 looks extremely outdated: https://rubygems.org/gems/ruby-shadow and https://github.com/apalmblad/ruby-shadow/blob/master/HISTORY
Comment 3 Terje Røsten 2017-10-05 06:45 EDT
Created attachment 1334744 [details]
Patch to upgrade to 2.5.0

Update to 2.5.0, new upstream and some spec file cleanup.
Comment 4 Vít Ondruch 2017-10-05 08:47:07 EDT
Well, this is long overdue, but the way forward should be rubygem-shadow instead of ruby-shadow. Please see bug 782560
Comment 5 Terje Røsten 2017-10-05 14:37:22 EDT
Ok, I see, request created:

Comment 6 Terje Røsten 2017-10-13 11:17:26 EDT

new package rubygem-ruby-shadow is now in testing, if no negative feedback is received, rubygem-ruby-shadow will be pushed to Fedora 25, 26 and 27 and obsolete ruby-shadow.

Note You need to log in before you can comment on or make changes to this bug.