purpose of ruby(abi), python(abi), etc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Can somebody enlighten me, what is the purpose of ruby(abi) (replace by python(abi) if you wish) virtual provide? Especially, why Ruby packaging guidelines mandate "Requires: ruby(abi) = 1.9.1", i.e. versioned require? And why in Python packages, python(abi) is automatically generated?

If the package is noarch, there is very high chance, that it would work with Ruby 1.8 as good as with Ruby 1.9 or even Ruby 2.0. If the package is arch dependent, it has automatically generated dependency on libruby.so.1.9. So there is no chance to install it or run it with other version of Ruby.

Now why I am asking? We would like to have in F19 Ruby 2.0 accompanied by JRuby 1.7 and in the future, we would love to see these interpreters interchangeable, i.e. it doesn't matter which interpreter is on your system, since it will be able to run the gem/application shipped in Fedora. However, while Ruby 2.0 should provide "ruby(abi) = 2.0", JRuby are not yet fully 2.0 ready, so they should not provide "ruby(abi) = 2.0". Moreover, the term ABI with JRuby is a bit misleading.

So how we can make every noarch ruby package compatible with both interpreters in terms of requires? One possibility would be to drop the abi version unless it is explicitly needed. However, it renders ruby(abi) as not the best virtual provide name for this goal.

Any ideas?


Vít
--
packaging mailing list
packaging@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/packaging



[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux