Bug 1303239

Summary: gem install --document=ri,rdoc does not build documentation, but also does not error
Product: [Fedora] Fedora Reporter: Randy Barlow <rbarlow>
Component: vagrantAssignee: Vít Ondruch <vondruch>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: madam, mastahnke, mtasaka, s, strzibny, thrcka, vanmeeuwen+fedora, vondruch
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: vagrant-1.7.4-5.fc24 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-01 12:26:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1303230    

Description Randy Barlow 2016-01-29 21:56:19 UTC
I've been experiencing a problem on Rawhide with my vagrant-hostmanager package. It calls gem install --document=ri,rdoc <other stuff> in the spec file. On Fedora 23, this results in documentation being built. On Rawhide, it does not.

Rawhide has rubygems-2.5.1-53 and F23 has rubygems-2.4.8-100, so perhaps that is relevant to determining why they work on F23 but not Rawhide.

Here is the console output when I try to manually perform the gem install step that the spec file calls:

$ gem install -V --local --install-dir ./usr/share/vagrant/gems --bindir ./usr/bin --force --document=ri,rdoc --backtrace vagrant-hostmanager-1.7.1.gem
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/.gitignore
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/CHANGELOG.md
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/Gemfile
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/LICENSE.txt
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/README.md
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/Rakefile
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action/update_all.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action/update_guest.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action/update_host.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/command.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/config.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/errors.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/hosts_file/updater.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/plugin.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/provisioner.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/util.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/version.rb
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/locales/en.yml
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/test/Vagrantfile
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/test/test.sh
/home/rbarlow/rpmbuild/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/vagrant-hostmanager.gemspec
Successfully installed vagrant-hostmanager-1.7.1
1 gem installed


Here is output from a Koji F23 builder on the same spec file. Note that it builds documentation at the end:

gem install -V --local --install-dir ./usr/share/vagrant/gems --bindir ./usr/bin --force --document=ri,rdoc --backtrace vagrant-hostmanager-1.7.1.gem
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/.gitignore
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/CHANGELOG.md
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/Gemfile
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/LICENSE.txt
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/README.md
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/Rakefile
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action/update_all.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action/update_guest.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/action/update_host.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/command.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/config.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/errors.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/hosts_file/updater.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/plugin.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/provisioner.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/util.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/lib/vagrant-hostmanager/version.rb
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/locales/en.yml
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/test/Vagrantfile
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/test/test.sh
/builddir/build/BUILD/vagrant-hostmanager-1.7.1/usr/share/vagrant/gems/gems/vagrant-hostmanager-1.7.1/vagrant-hostmanager.gemspec
Successfully installed vagrant-hostmanager-1.7.1
Parsing documentation for vagrant-hostmanager-1.7.1
Parsing sources...
  7% [ 1/13]  lib/vagrant-hostmanager.rb
 15% [ 2/13]  lib/vagrant-hostmanager/action.rb
 23% [ 3/13]  lib/vagrant-hostmanager/action/update_all.rb
 30% [ 4/13]  lib/vagrant-hostmanager/action/update_guest.rb
 38% [ 5/13]  lib/vagrant-hostmanager/action/update_host.rb
 46% [ 6/13]  lib/vagrant-hostmanager/command.rb
 53% [ 7/13]  lib/vagrant-hostmanager/config.rb
 61% [ 8/13]  lib/vagrant-hostmanager/errors.rb
 69% [ 9/13]  lib/vagrant-hostmanager/hosts_file/updater.rb
 76% [10/13]  lib/vagrant-hostmanager/plugin.rb
 84% [11/13]  lib/vagrant-hostmanager/provisioner.rb
 92% [12/13]  lib/vagrant-hostmanager/util.rb
100% [13/13]  lib/vagrant-hostmanager/version.rb
Installing ri documentation for vagrant-hostmanager-1.7.1
Installing darkfish documentation for vagrant-hostmanager-1.7.1
Done installing documentation for vagrant-hostmanager after 0 seconds
1 gem installed


I must admit that I am a Ruby noob, so if you think I am making a packaging error and can help that would be great! However, I consulted with a few Ruby developers I work with and they seemed to think this was a bug so I've reported it. I hope this is helpful, and let me know if I can provide more information!

Comment 1 Vít Ondruch 2016-02-01 09:56:07 UTC
Ha, this is good catch. This seems to be upstream bug, hence I reported it upstream:

https://github.com/rubygems/rubygems/issues/1470

Nevertheless, this is also issue of vagrant package, since the rubygems macros were changes, but vagrant did not followed this change. Going to update the vagrant macros ...

Comment 3 Vít Ondruch 2016-02-01 11:43:33 UTC
That was not the best fix unfortunately :/

Comment 4 Vít Ondruch 2016-02-01 12:26:49 UTC
Second try. I reverted the previous commit and added --ignore-dependencies flag, so the code should go the path which generates the documentation. This can be dropped, once the upstream issue gets resolved.