Bug 1042886

Summary: Potential issues caused by non-namespaced RPM provides and libraries [ruby200]
Product: Red Hat Software Collections Reporter: Honza Horak <hhorak>
Component: rubyAssignee: Vít Ondruch <vondruch>
Status: CLOSED WONTFIX QA Contact: Iveta Wiedermann <isenfeld>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: ruby200CC: drieden, isenfeld, jstribny
Target Milestone: ---   
Target Release: 2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-20 11:08:39 UTC Type: ---
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: 1042837    

Description Honza Horak 2013-12-13 14:56:47 UTC
Collection ruby200 seems to provide unprefixed RPM providers, which can be also caused by shipping the same libraries as could be shipped outside of SCL environment. Refer to tracker bug #1042837 for more info why this can be problem and check/fix all suspicious provides, please.

General discussions about the issues and why unprefixed symbols/libraries are problem should take place in the tracker bug #1042837.

Components checked for collection ruby200:
ruby200
ruby200-build
ruby200-libyaml
ruby200-libyaml-devel
ruby200-ruby
ruby200-ruby-devel
ruby200-ruby-doc
ruby200-rubygem-actionmailer
ruby200-rubygem-actionmailer-doc
ruby200-rubygem-actionpack
ruby200-rubygem-actionpack-doc
ruby200-rubygem-activemodel
ruby200-rubygem-activemodel-doc
ruby200-rubygem-activerecord
ruby200-rubygem-activerecord-deprecated_finders
ruby200-rubygem-activerecord-deprecated_finders-doc
ruby200-rubygem-activerecord-doc
ruby200-rubygem-activeresource
ruby200-rubygem-activeresource-doc
ruby200-rubygem-activesupport
ruby200-rubygem-arel
ruby200-rubygem-arel-doc
ruby200-rubygem-atomic
ruby200-rubygem-atomic-doc
ruby200-rubygem-bacon
ruby200-rubygem-bacon-doc
ruby200-rubygem-bcrypt-ruby
ruby200-rubygem-bigdecimal
ruby200-rubygem-bson
ruby200-rubygem-bson-doc
ruby200-rubygem-bson_ext
ruby200-rubygem-bson_ext-doc
ruby200-rubygem-builder
ruby200-rubygem-builder-doc
ruby200-rubygem-bundler
ruby200-rubygem-bundler-doc
ruby200-rubygem-coffee-rails
ruby200-rubygem-coffee-rails-doc
ruby200-rubygem-coffee-script
ruby200-rubygem-coffee-script-doc
ruby200-rubygem-coffee-script-source
ruby200-rubygem-coffee-script-source-doc
ruby200-rubygem-dalli
ruby200-rubygem-dalli-doc
ruby200-rubygem-diff-lcs
ruby200-rubygem-diff-lcs-doc
ruby200-rubygem-erubis
ruby200-rubygem-erubis-doc
ruby200-rubygem-execjs
ruby200-rubygem-execjs-doc
ruby200-rubygem-fakeweb
ruby200-rubygem-fakeweb-doc
ruby200-rubygem-hike
ruby200-rubygem-hike-doc
ruby200-rubygem-http_connection
ruby200-rubygem-i18n
ruby200-rubygem-i18n-doc
ruby200-rubygem-introspection
ruby200-rubygem-introspection-doc
ruby200-rubygem-io-console
ruby200-rubygem-jbuilder
ruby200-rubygem-jbuilder-doc
ruby200-rubygem-jquery-rails
ruby200-rubygem-jquery-rails-doc
ruby200-rubygem-json
ruby200-rubygem-mail
ruby200-rubygem-mail-doc
ruby200-rubygem-metaclass
ruby200-rubygem-metaclass-doc
ruby200-rubygem-mime-types
ruby200-rubygem-mime-types-doc
ruby200-rubygem-minitest
ruby200-rubygem-mocha
ruby200-rubygem-mocha-doc
ruby200-rubygem-mongo
ruby200-rubygem-mongo-doc
ruby200-rubygem-multi_json
ruby200-rubygem-multi_json-doc
ruby200-rubygem-net-http-persistent
ruby200-rubygem-net-http-persistent-doc
ruby200-rubygem-polyglot
ruby200-rubygem-polyglot-doc
ruby200-rubygem-psych
ruby200-rubygem-rack
ruby200-rubygem-rack-cache
ruby200-rubygem-rack-cache-doc
ruby200-rubygem-rack-protection
ruby200-rubygem-rack-protection-doc
ruby200-rubygem-rack-test
ruby200-rubygem-rails
ruby200-rubygem-rails-doc
ruby200-rubygem-rails-observers
ruby200-rubygem-rails-observers-doc
ruby200-rubygem-railties
ruby200-rubygem-railties-doc
ruby200-rubygem-rake
ruby200-rubygem-rdoc
ruby200-rubygem-ref
ruby200-rubygem-ref-doc
ruby200-rubygem-rspec
ruby200-rubygem-rspec-core
ruby200-rubygem-rspec-core-doc
ruby200-rubygem-rspec-expectations
ruby200-rubygem-rspec-expectations-doc
ruby200-rubygem-rspec-mocks
ruby200-rubygem-rspec-mocks-doc
ruby200-rubygems
ruby200-rubygem-sass
ruby200-rubygem-sass-doc
ruby200-rubygem-sass-rails
ruby200-rubygem-sass-rails-doc
ruby200-rubygems-devel
ruby200-rubygem-sdoc
ruby200-rubygem-sdoc-doc
ruby200-rubygem-sinatra
ruby200-rubygem-sinatra-doc
ruby200-rubygem-sprockets
ruby200-rubygem-sprockets-doc
ruby200-rubygem-sprockets-rails
ruby200-rubygem-sprockets-rails-doc
ruby200-rubygem-sqlite3
ruby200-rubygem-sqlite3-doc
ruby200-rubygem-test_declarative
ruby200-rubygem-test_declarative-doc
ruby200-rubygem-therubyracer
ruby200-rubygem-therubyracer-doc
ruby200-rubygem-thor
ruby200-rubygem-thor-doc
ruby200-rubygem-thread_safe
ruby200-rubygem-thread_safe-doc
ruby200-rubygem-tilt
ruby200-rubygem-tilt-doc
ruby200-rubygem-treetop
ruby200-rubygem-turbolinks
ruby200-rubygem-turbolinks-doc
ruby200-rubygem-tzinfo
ruby200-rubygem-tzinfo-doc
ruby200-rubygem-uglifier
ruby200-rubygem-uglifier-doc
ruby200-ruby-irb
ruby200-ruby-libs
ruby200-ruby-tcltk
ruby200-runtime

Potential problems found in collection ruby200 by components:
-----------------------------------------------------------------
Suspicious provides for package ruby200-libyaml
libyaml-0.so.2()(64bit)

Suspicious provides for package ruby200-ruby
ruby(runtime_executable) = 2.0.0

Suspicious provides for package ruby200-ruby-devel
pkgconfig(ruby) = 2.0.0

Suspicious provides for package ruby200-rubygem-atomic
atomic_reference.so()(64bit)

Suspicious provides for package ruby200-rubygem-bcrypt-ruby
bcrypt_ext.so()(64bit)

Suspicious provides for package ruby200-rubygem-bigdecimal
bigdecimal.so()(64bit)

Suspicious provides for package ruby200-rubygem-bson_ext
cbson.so()(64bit)

Suspicious provides for package ruby200-rubygem-io-console
console.so()(64bit)

Suspicious provides for package ruby200-rubygem-json
generator.so()(64bit)
parser.so()(64bit)

Suspicious provides for package ruby200-rubygem-psych
psych.so()(64bit)

Suspicious provides for package ruby200-rubygem-sqlite3
sqlite3_native.so()(64bit)

Suspicious provides for package ruby200-rubygem-therubyracer
init.so()(64bit)

Suspicious provides for package ruby200-ruby-libs
big5.so()(64bit)
bubblebabble.so()(64bit)
callback.so()(64bit)
chinese.so()(64bit)
complex.so()(64bit)
continuation.so()(64bit)
coverage.so()(64bit)
cp949.so()(64bit)
cparse.so()(64bit)
curses.so()(64bit)
date_core.so()(64bit)
dbm.so()(64bit)
digest.so()(64bit)
dl.so()(64bit)
emacs_mule.so()(64bit)
emoji.so()(64bit)
emoji_iso2022_kddi.so()(64bit)
emoji_sjis_docomo.so()(64bit)
emoji_sjis_kddi.so()(64bit)
emoji_sjis_softbank.so()(64bit)
encdb.so()(64bit)
escape.so()(64bit)
etc.so()(64bit)
euc_jp.so()(64bit)
euc_kr.so()(64bit)
euc_tw.so()(64bit)
fcntl.so()(64bit)
fiber.so()(64bit)
fiddle.so()(64bit)
gb18030.so()(64bit)
gb2312.so()(64bit)
gbk.so()(64bit)
gdbm.so()(64bit)
iso2022.so()(64bit)
iso_8859_1.so()(64bit)
iso_8859_10.so()(64bit)
iso_8859_11.so()(64bit)
iso_8859_13.so()(64bit)
iso_8859_14.so()(64bit)
iso_8859_15.so()(64bit)
iso_8859_16.so()(64bit)
iso_8859_2.so()(64bit)
iso_8859_3.so()(64bit)
iso_8859_4.so()(64bit)
iso_8859_5.so()(64bit)
iso_8859_6.so()(64bit)
iso_8859_7.so()(64bit)
iso_8859_8.so()(64bit)
iso_8859_9.so()(64bit)
japanese.so()(64bit)
japanese_euc.so()(64bit)
japanese_sjis.so()(64bit)
koi8_r.so()(64bit)
koi8_u.so()(64bit)
korean.so()(64bit)
libruby.so.2.0()(64bit)
md5.so()(64bit)
nkf.so()(64bit)
nonblock.so()(64bit)
objspace.so()(64bit)
openssl.so()(64bit)
pathname.so()(64bit)
pty.so()(64bit)
rational.so()(64bit)
readline.so()(64bit)
ripper.so()(64bit)
rmd160.so()(64bit)
sdbm.so()(64bit)
sha1.so()(64bit)
sha2.so()(64bit)
shift_jis.so()(64bit)
single_byte.so()(64bit)
socket.so()(64bit)
stringio.so()(64bit)
strscan.so()(64bit)
syslog.so()(64bit)
transdb.so()(64bit)
utf8_mac.so()(64bit)
utf_16_32.so()(64bit)
utf_16be.so()(64bit)
utf_16le.so()(64bit)
utf_32be.so()(64bit)
utf_32le.so()(64bit)
wait.so()(64bit)
windows_1251.so()(64bit)
windows_31j.so()(64bit)
zlib.so()(64bit)

Suspicious provides for package ruby200-ruby-tcltk
tcltklib.so()(64bit)
tkutil.so()(64bit)

Comment 2 Marcela Mašláňová 2013-12-18 11:18:11 UTC
Please, apply for libraries like libperl.so, libruby.so, libv8.so prefix, as documented in http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentation/1/html/Software_Collections_Guide/sect-Prefixing_the_Library_Major_soname_with_the_Collection_Name.html.

Comment 4 Vít Ondruch 2014-03-11 13:29:59 UTC
Most of the libraries are of no concern, since they are internal libraries of Ruby. Nothing ever depends on them. Newer RPM does not even generate this provides.

Nevertheless, I'd like to pick some interesting cases.

* libyaml-0.so.2()(64bit)
  - Resolved by bug 1069103

* ruby(runtime_executable) = 2.0.0
  - This one is questionable. In reality, this is used just by rubypick, which
    is not included in RHEL nor in RHSCL and could be even adapted to handle
    SCLs.

* pkgconfig(ruby) = 2.0.0
  - Should be prefixed by scl-utils bug 1031072

* libruby.so.2.0()(64bit)
  - jstribny was working on patch.
  - Even though we would have patch, that would need rebuild of every package
    with binary extension. Not sure we want to undergone this hassle, since this
    was never reported as an issue for ruby193. On the other hand, it is latest
    chance. If we release the collection, there is no chance to fix it.

Comment 5 Marcela Mašláňová 2014-03-11 13:45:39 UTC
Let's postpone it to RHSCL-2.0.

Comment 6 Vít Ondruch 2015-08-20 11:08:39 UTC
I don't think we are ever going to change this for compatibility reasons mentioned in comment 4, therefore I'm going to close this ticket.