Like Rafal said it's because fedora doesn't come with a lot of the java
packages pre-installed.
Also because yum/dnf is quite different in managing dependencies from most
of the modern programming languages (java, python, javascript etc).
/rant
Modern programming languages allows much finer grain control of those
dependencies (e.g. maven for java, pip for python, npm for javascript). You
can pick and choose what you want at what version etc. With yum/dnf, if you
need package A, and A needs B. Even though you don't require B, it still
pulls it for you. To make it worse, a lot of the java library packages
bundles multiple jars (the smallest library artifact java build tools
uses). This means even if you just need one jar in your actual build, you
have to install the whole rpm that comes with more than you need. RPM
subpackaging will help but AFAIK a lot of the packagers don't care or won't
bother doing that. Not to mention you have no/very little control of what
version of the library you are getting from yum...
/rant
That's the challenge we face. Will switching to another language help?
Depending on the project. I have seen other tool written in python or ruby
asking you to use pip/gem instead of yum/dnf due to the very same reason.
0install or use a docker container will help to reduce downloading
unnecessary packages and will guarantee to work (exact version of the
libraries we build and tested).
Regards,
Patrick
On Wed, May 10, 2017 at 12:33 PM, Brian Exelbierd <bex(a)pobox.com> wrote:
On Wed, May 10, 2017, at 01:12 AM, Carlos Munoz wrote:
Hi Rafal,
The reasoning behind writing the client in Java was made in part because
it allowed the team to re-use code from the server development. We also had
much more Java experience than python so we would move much faster.
We actually don't have that many Java dependencies for the client, but
Fedora does make it so that a lot of unnecessary ones are pulled when
installing the package.
It'd be great if you all would help the packagers get this straightened
out so that the unnecessary dependencies were not included. This would
benefit anyone using a Java stack.
Regards,
Bex
--
Patrick Huang
Senior Software Engineer
Engineering - Internationalisation
Red Hat, Asia-Pacific Pty Ltd
Level 1, 193 North Quay
Brisbane 4000
Office: +61 7 3514 8278
Fax: +61 7 3514 8199
IRC: pahuang
github:
github.com/huangp
Website:
www.redhat.com