Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 191015 - dev-ruby/rails-1.2.3-r1 should DEPEND, not PDEPEND on app-admin/eselect-rails
Summary: dev-ruby/rails-1.2.3-r1 should DEPEND, not PDEPEND on app-admin/eselect-rails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-01 23:02 UTC by Friedrich Oslage (RETIRED)
Modified: 2007-09-04 05:14 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Friedrich Oslage (RETIRED) gentoo-dev 2007-09-01 23:02:51 UTC
Previous versions of rails included the binary /usr/bin/rails.
With >=rails-1.2.3-r1 eselect is used to create the symlink /usr/bin/rails.

However if you are upgrading from < rails-1.2.3-r1 this symlink is not being created. You have to manually use eselect to create it.

The ebuild should set the default rails-version using eselect if none is set(yet).
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-09-02 01:49:52 UTC
(In reply to comment #0)
> The ebuild should set the default rails-version using eselect if none is
> set(yet).

Yeah, that's exactly what the ebuild does; you'll have to attach emerge log if you claim it doesn't work.

<snip>
pkg_postinst() {
        einfo "To select between slots of rails, use:"
        einfo "\teselect rails"
        eselect rails update --if-unset
}
</snip>
Comment 2 Friedrich Oslage (RETIRED) gentoo-dev 2007-09-02 10:06:34 UTC
Yes, it tries to to set it but fails because eselect-rails is in the runtime-dependencies list; it hast do be in the buildtime-dependencies list. 

Therefore rails is emerged before eselect-rails is emerged but this buildorder varries if its an update or a new emerge.

steps to reproduce:

emerge -C rails eselect-rails
emerge -v =rails-1.2.3
emerge -uv rails

emerge log:
>>> /usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/test_help.rb
>>> /usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/webrick_server.rb
--- /usr/lib/ruby/gems/1.8/specifications/
>>> /usr/lib/ruby/gems/1.8/specifications/rails-1.2.3.gemspec
 * To select between slots of rails, use:
 *      eselect rails
!!! Error: Can't load module rails
/usr/portage/dev-ruby/rails/rails-1.2.3-r1.ebuild: line 41: 12406 Killed                  eselect rails update --if-unset
>>> dev-ruby/rails-1.2.3-r1 merged.

 dev-ruby/rails
    selected: 1.2.3 
   protected: 1.2.3-r1 
     omitted: none 

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-09-02 10:12:54 UTC
Yay for eselect nonsense. And what you want actually cannot be done without either producing a stupid collision or making users unmerge rails completely, causing yet another splash of 'ZOMG I fail to understand blockers' invalid bugs... 

Best left as is.
Comment 4 Josh Nichols (RETIRED) gentoo-dev 2007-09-04 05:14:52 UTC
Somehow managed to miss the build-time dependency on eselect-rails, despite actually adding support for it...

I changed the PDEPEND to DEPEND, and did some other reworking of how the blockers for rails and eselect-rails were done.

I posted more details it at http://technicalpickles.com/blog/permalink/re-dev-ruby-rails-file-collision-free-since-september-2007.html