Dne 19.12.2017 v 19:19 Jun Aruga napsal(a):
> Vit thanks for the working.
>
> I tested it.
>
>> 1) If "gem install" as a regular user still works the same.
> Right now there is a 2 type of packages.
> Some gem package are "default", others are not.
> The gem package that is managed the ruby sub package is not "default"
> like "bigdecimal"
>
> What is the future plan for these kind of pacakge such as "bigdecimal"?
> 1. These are "default" removing the sub package?
> Or 2. Current default package like "cmath" becomes not "default"
> creating the sub package?

There are several differences between how upstream works and how Fedora
works.

1) In upstream, "gem install" mixes the packages with the gems bundled
in Ruby. One of the reasons for "default" gems is to prevent "gem
uninstall" from removing these packages. On Fedora, "gem install" does
not manage RPM managed dependencies, so we don't face this issues and we
can ignore this feature.

2) On Fedora, we typically keep only single version of package
available. If for example upstream releases new version of JSON, we wont
to remove the old version and install the new version. This is different
from what "gem update" does, since "gem update" keeps the old version on
the system. As long as we have "overlapped" packages which allows these
updates, then it should be better to make regular gems from the default
gems.

Therefore the plan is to keep the stuff as it is now, i.e. keep the
subpackages as they are now. As far as I know, there should not be any
concerning difference in behavior of default and non-default gems. If
there is need for updated "cmat" etc, we should probably move them to
nondefault. We can do it optionally anyway, but there is more then a few
of them ...

> Fedora Ruby by regular user.
>
>
> ```
> [mockbuild@026f2c75e4664cfe887005e710a5497e ~]$ gem list | grep default
> cmath (default: 1.0.0)
> csv (default: 1.0.0)
> date (default: 1.0.0)
> dbm (default: 1.0.0)
> digest (default: 0.1.0)
> etc (default: 1.0.0)
> fcntl (default: 1.0.0)
> fiddle (default: 1.0.0)
> fileutils (default: 1.0.1)
> gdbm (default: 2.0.0)
> ipaddr (default: 1.2.0)
> scanf (default: 1.0.0)
> sdbm (default: 1.0.0)
> stringio (default: 0.0.1)
> strscan (default: 0.0.1)
> webrick (default: 1.4.0.beta1)
> zlib (default: 1.0.0)
>
> [mockbuild@026f2c75e4664cfe887005e710a5497e ~]$ gem list | grep -v default
> bigdecimal (1.3.3)
> did_you_mean (1.1.2)
> io-console (0.4.6)
> json (2.1.0)
> minitest (5.10.3)
> net-telnet (0.1.1)
> openssl (2.1.0.beta2)
> power_assert (1.1.1)
> psych (3.0.0)
> rake (12.3.0)
> rdoc (6.0.0)
> test-unit (3.2.7)
> xmlrpc (0.3.0)
> ```
>
> On upstream Ruby
>
> ```
> $ dest/bin/gem list
>
> *** LOCAL GEMS ***
>
> bigdecimal (default: 1.3.3)
> bundler (default: 1.16.1.pre1)
> cmath (default: 1.0.0)
> csv (default: 1.0.0)
> date (default: 1.0.0)
> dbm (default: 1.0.0)
> digest (default: 0.1.0)
> etc (default: 1.0.0)
> fcntl (default: 1.0.0)
> fileutils (default: 1.0.1)
> gdbm (default: 2.0.0)
> io-console (default: 0.4.6)
> ipaddr (default: 1.2.0)
> json (default: 2.1.0)
> openssl (default: 2.1.0)
> psych (default: 3.0.0)
> rdoc (default: 6.0.0)
> scanf (default: 1.0.0)
> sdbm (default: 1.0.0)
> stringio (default: 0.0.1)
> strscan (default: 0.0.1)
> webrick (default: 1.4.0.beta1)
> zlib (default: 1.0.0)
> ```
>
>> 2) If "gem install" as root still works the same.
> "gem list" result is same for regular user's situation.
>
> I found the difference of the behavior between Upstream Ruby and Fedora Ruby.
> Case 2-1. does not install ri document by "gem install".

This is interesting. I remember to notice the shorter output, but I
didn't pay enough attention to it. Will take a look at it.



>
> 1-1. Upstream Ruby by root user
>
> [root@unused-4-164 ~]# /usr/local/ruby-2.5.0.pre1/bin/gem install digest
> Fetching: digest-0.0.1.gem (100%)
> Successfully installed digest-0.0.1
> Parsing documentation for digest-0.0.1
> Installing ri documentation for digest-0.0.1
> Done installing documentation for digest after 0 seconds
> 1 gem installed
>
> 2-1. Fedora Ruby by root user
>
> <mock-chroot> sh-4.4# gem install webrick
> Fetching: webrick-1.4.1.gem (100%)
> Successfully installed webrick-1.4.1
> 1 gem installed
>
> 2-2. Fedora Ruby by regular user
>
> [mockbuild@c187f3581b4e45ecb2837fe5ab6a0af5 ~]$ gem install webrick
> Fetching: webrick-1.4.1.gem (100%)
> WARNING:  You don't have /builddir/bin in your PATH,
>     gem executables will not run.
> Successfully installed webrick-1.4.1
> Parsing documentation for webrick-1.4.1
> Installing ri documentation for webrick-1.4.1
> Done installing documentation for webrick after 0 seconds
> 1 gem installed
>
>
> I do not know this difference is this Fedora Ruby specific.
> This might be related to this issue?
> https://src.fedoraproject.org/rpms/ruby/pull-request/9
>
>> 3) If the RPM packages in Fedora (probably just noarch) still installs
> and runs just fine.
>> 4) If rubygem- RPM packages build using this ruby are still build and
> I could not test below cases. I tried to build rubygem-bundler for
> your Ruby RPMs.
> But I could not build because of conflict with ruby-2.4.2.
>
> rubygem-bundler
>
> ```
> $ mock -r fedora-rawhide-x86_64 --with tests -n *.rpm
> ...
> Error:
>  Problem: cannot install both ruby-libs-2.4.2-85.fc28.x86_64 and
> ruby-libs-2.5.0-0.1.r61214.fc28.x86_64
> ```

You are probably missing some dependency in buildroot. Hard to tell more
from this short snippet ...


Vít

_______________________________________________
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org

Reply via email to