Ruby Masking error
I hope im explaining this correctly. Sorry if long.
Issue:
in make.conf, I explicitly set RUBY_TARGETS"ruby27"
is the only defined ruby target, due to Gitlab requirements and wanting to standardize to one ruby target unless otherwise needed.
need:
Redmine currently does not compile against ruby27
, limited to ruby26
, ruby27
not expected for another 6months, code base still being updated to support in new version.
This is part of a larger thinking: to control exactly what I need to compile against the app, as its an exception to what I have set as the base system requirements and relative USE flags. Both Gitlab and Redmine will live on the same server, only this instance will serve as front end web application, the build slaves, Gitaly storage roles and anything not deemed part of the web service, are farmed out to other instances.
cause:
unable to package.use.mask
ruby27
to expose the correctly flagged ruby26
package (maybe due to slot? the dev-ruby/public_suffix:4
slot is flagged ruby27
)
emerge: there are no ebuilds to satisfy "dev-ruby/public_suffix:3[ruby_targets_ruby27(-)]"
if needed, this thread attempts to explain this problem https://forums.gentoo.org/viewtopic-t-1131510.html
full dependency tree, I think dev-ruby/addressable
might be the reason I'm still flagged ruby27
for dev-ruby/public_suffix
child package
emerge: there are no ebuilds to satisfy "dev-ruby/public_suffix:3[ruby_targets_ruby27(-)]".
(dependency required by "dev-ruby/addressable-2.7.0::gentoo[-test,ruby_targets_ruby27]" [ebuild])
(dependency required by "dev-ruby/css_parser-1.7.1::gentoo[ruby_targets_ruby26]" [ebuild])
(dependency required by "dev-ruby/roadie-4.0.0::gentoo[ruby_targets_ruby26]" [ebuild])
(dependency required by "dev-ruby/roadie-rails-2.1.1::gentoo[ruby_targets_ruby26]" [ebuild])
(dependency required by "www-apps/redmine-4.1.1-r1::gentoo[ruby_targets_ruby26]" [ebuild])
(dependency required by "redmine" [argument])
work to date:
I have negated ruby27
to allow the package to emerge against ruby26
, my combination use of wildcards and slot to mask ruby27
, and unmask ruby26
, are not taken into consideration as im not doing it correctly
line in question:
*dev-ruby/public_suffix* -ruby_targets_ruby27
contents of package.use.mask
to unmask ruby26
support for dependent packages for redmine
localhost ~ # cat /etc/portage/profile/package.use.mask
#redmine package mask requirements
dev-ruby/ruby-openid -ruby_targets_ruby27
dev-ruby/rack -ruby_targets_ruby27
dev-ruby/htmlentities -ruby_targets_ruby27
=dev-ruby/crass-1.0* -ruby_targets_ruby27
>=dev-ruby/rack-test-0.6.3:* -ruby_targets_ruby27
>=dev-ruby/rexical-1.0.7 -ruby_targets_ruby27
>=dev-ruby/mini_mime-0.1.1 -ruby_targets_ruby27
*dev-ruby/public_suffix* -ruby_targets_ruby27
once ruby27
has been masked, I then flag the dependent packages
truncated package.use
, currently there are ~2pages of ruby26
flags
localhost ~ # cat /etc/portage/package.use/redmine | more
www-apps/redmine mysql ldap fastcgi imagemagick passenger markdown ruby_targets_ruby26
dev-db/mariadb -server
dev-perl/DBD-mysql mariadb -mysql
>=dev-ruby/fcgi-0.9.2.1-r1 ruby_targets_ruby26
>=dev-ruby/mini_magick-4.11.0 ruby_targets_ruby26
>=dev-ruby/ruby-net-ldap-0.17.0 ruby_targets_ruby26
>=dev-ruby/ruby-net-ldap-0.17.0 ruby_targets_ruby26
....