LWN.net Logo

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 4, 2009 14:30 UTC (Fri) by robilad (guest, #27163)
In reply to: Callaway: Chromium: Why it isn't in Fedora yet as a proper package by rahulsundaram
Parent article: Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Actually - no - all that I've seen so far has been highly amusing ranting about the oh so horrible ways of Java developers and a few pointers to some applications having large downloads. Nothing that actually confirms the very specific claims about Zip files, "we are too unique" etc. you have made.

Please back those claims up with references.


(Log in to post comments)

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 4, 2009 15:29 UTC (Fri) by robilad (guest, #27163) [Link]

And I should point out that I'm interested in evidence to help me understand whether your translation of spot's words (thank you for doing that) is based on your actual, personal experiences packaging Java software for Fedora, or on a 'a friend of a friends once read on LWN ...' sort of experience ;)

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 5, 2009 7:31 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

FYI, I maintain several packages for Fedora and Java software has usually
been a severe pain point. Freemind for example is still not in Fedora after
several failed attempts because of problems like the one I noted. So yes,
it is personal experiences I am talking about. Whats your experience?

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 6, 2009 12:20 UTC (Sun) by robilad (guest, #27163) [Link]

Thank you for your work on packaging in Fedora, and thank you for coming out with an example for your claim that Java developers claim that they are too unique, etc.

Rather then taking your claims at face value, I thought I'd see for myself. Not that I don't trust your authority, with you being a packager and all that, but I have not seen you post once to fedora-devel-java in the past 15 months, so I assume that is not your area of expertise. In particular, I can't find your name in the conversation in the Fedora bugzilla entry for freemind.

The last attempt in the Fedora package database that I can find is

https://bugzilla.redhat.com/show_bug.cgi?id=428413

It's a packaging attempt by Alex Leamas. A quick check on the freemind site confirms that he is not one of the freemind developers. That's not a good sign - the freemind source code tarball is larger then a megabyte, so understanding it in order to make significant modifications likely requires a significant investment in time.

In addition, Alec says:

"This is my first attempt to provide a package for Fedora...

Also, it's a java application. There is an obvious need for guidelines for java apps, hav'nt found any."

Attempting to package a large application in a domain where the distribution has no obviously findable guidelines as one's first package - what could possibly go wrong with that?

Then, after some initial work, some license issues are discovered by spot, and he says:

"Yeah, you are going to need to get upstream to resolve these license issues."

Now this could be the moment where the upstream shows uncooperative, and the oh so horrible ways of Java developers are unmasked. Amusingly enough, that's not what the bug says - it says nothing at all about the packager communicating with the upstream and reporting back how that went. So one has to search for it and finds an upstream developer say:

http://www.mail-archive.com/freemind-developer@lists.sour...

"I change the licence of my file soon and have a look at the others."

I tried hard to figure out how one could possibly take that to mean "we're too unique". I don't see it - to me that sounds like a Java upstream bending over backwards to help with licensing changes to ease the packaging into Fedora. Quite a different picture in reality then being painted here by spot & rahulsundaraman, apparently.

But, as I said, no word about that in the bug report.

So, why does the packaging attempt, unsurprisingly, eventually fail?

"file bindings.jar is the result of a compilation of a xml file which defines the interface. It might be impossible to get this compilation, involving JAXP API:s to work.

When rebuilding jaxme and running the compiler I run into problems since the source xml file contains constructs not supported by the jaxme xsd compiler. It might be possible to walk around this, but I don't know enough about the JAXP interfaces to do this, at least not now."

Translation to English: Because the prospective Fedora packager doesn't know enough about the software he's trying to package.

But that's not the only reason, there is also

"Even worse, current CVS sources shows that freemind now uses Sun's JAXB suite to handle this. It does support all constructs, but it is at best GPLv2 only. And it does not build for me, some kind of config problem."

JAXB is, of course, part of the Java SE 6 platform, so it's in IcedTea, OpenJDK 6, etc. It's dual licensed under CDDL 1.0 & GPLv2 with the Classpath Exception. No one of Fedora's licensing experts catches that mistake, and asks the prospective first-time packager to try using IcedTea or OpenJDK instead.

So it all predictably ends with:

"My first attempt to submit a package has, for now, failed.

The main reason is that recent code (after 0.0.9Beta15) has became heavy
dependent on Sun's JAXB reference implementation (https://jaxb.dev.java.net). This code has it's own set of dependencies, and could not reasonable be a part of this package due to both technical and legal reasons."

So, the legal reasons come down to Fedora's experts not bothering to check the first-time packager's assumptions about licensing of an upstream dependency and fix his mistake.

The technical reasons come down to the lack of prospective packager's technical prowess with the upstream codebase, and its dependencies. On a meta-level, attracting contributors for the jobs they don't have a chance of doing well is a failure in Fedora's recruiting & mentoring process.

Through the whole effort, the upstream project does not claim that they're too unique, apparently. There is nothing in the bug report indicating that the bundled libraries were patched and the upstream refused to send their patches further upstream, either, even though rahulsundaraman claims that is the most common issue.

So for someone familiar with Java development, the sweeping statements about Java developers made by rahulsundaraman & spot looks more like playing on a bias for the purpose of blame shifting to the upstream for inadequacies in Fedora's processes, recruiting & mentoring in the area of packaging Java applications.

What has happened since?

"Could this be reopened? The latest Freemind release candidates (I've tried 0.9.0-RC3 and RC4) work just fine with the OpenJDK VM supplied with Fedora 10 (java-1.6.0-openjdk-1.6.0.0-15.b14.fc10.i386"

"Please file a new review request and mark this bug as
a duplicate of the new one. "

No duplicate marked so far.

There has been a freemind package in Debian since 2004.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 6, 2009 13:39 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link]

Btw, there are several review failed review requests. You just managed to pick one. Feel free to research others and the long history of JPackage or Eclipse or any major Java software.

Spot maintains the largest number of packages in Fedora and nim-nim has been very involved with JPackage before. I have personal experiences which tell me the same thing. If you don't want to disagree with everyone's expertise, be my guest.

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 6, 2009 15:36 UTC (Sun) by robilad (guest, #27163) [Link]

I looked at freemind because you told me it backed up your claims. I didn't pick a project at random to make you look bad.

There is only one review request for freemind in the Fedora bugzilla as far as I can tell. I'd appreciate a pointer to a review request that shows that the freemind upstream is shipping patched libraries and refusing to upstream their patches with the excuse that 'we're too unique', as you imply.

But maybe you meant to point me to another package, and made a typo, or something. Would you please be so kind to point me to the failed review request for Fedora 12 that backs up your sweeping claims about Java developers?

What is the ratio of the review requests failing for Fedora-specific reasons like freemind vs. those failing for the reasons you attribute to Java developers in general in Fedora 12? Since you make the claim that it's the majority of cases, it should be trivial for you to back that up, right?

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 6, 2009 15:47 UTC (Sun) by robilad (guest, #27163) [Link]

My apologies for asking you to back something up you didn't literally say - you did not claim it was problem in the majority of cases, you said it was the 'most common one'. I'm curious how common it actually was for Fedora 12.
Is there a query for the Fedora bugzilla that lets me see those most common cases for Fedora 12?

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 7, 2009 1:43 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

You continue to attribute claims that I did not make to me. I must ask you to stop doing that. I said, the most common problem with Java software is that they bundle copies of other Java software often with patches (to avoid dealing with dependencies). I did not say it is the most common problem in Fedora or Fedora 12.

A simple query on bugzilla doesn't return such information. Feel free to talk to package maintainers with some significant experience in maintaining packages for a large distribution and they would likely have noticed similar patterns. So would have the security teams of such distributions. You can also talk to folks involved with JPackage.

It was much more difficult a few years back

http://www.linuxjournal.com/article/7413

Red Hat's involvement with OpenJDK/IcedTea and other Java software has helped here and atleast some upstream projects have gotten better over a period of time as well, notably Eclipse. Some of it is a mismatch between tools. One effort to tackle the problem is at http://fedoraproject.org/wiki/KojiMavenSupport

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Dec 7, 2009 18:26 UTC (Mon) by xkahn (subscriber, #1575) [Link]

I usually try not to reply to a thread until I've read all of it, but look at Alfresco. Here's a page where the Fedora project tried to create a package:

http://fedoraproject.org/wiki/Alfresco

You can see that Alfresco bundles a large number of JARs and that some of them have "_patched" in their name. And this is a package with a reasonably large company backing it!

Alfresco themselves mention this as a problem:

http://forums.alfresco.com/en/viewtopic.php?f=8&t=11744

There are some libraries were we have needed to make modifications to fix issues. Those are typically noted with a _patched. As Alfresco grows you never know when we may have to do this with something else.

We may be dependent on specific version. While it would be great to move to the latest and greatest, Alfresco may need more modification and testing to work with the latest and greatest

Callaway: Chromium: Why it isn't in Fedora yet as a proper package

Posted Jan 7, 2010 22:44 UTC (Thu) by ceplm (guest, #41334) [Link]

Just to add one more example which you would ignore, I have tried to
package OpenFire for Fedora
(http://www.igniterealtime.org/downloads/download-landing....
file=openfire/openfire_src_3_6_4.tar.gz, 48.81 MB) and after couple of days
of attempts I just gave up ... not only that the tarball contained JRE, it
also contained many many other packages (couple of database connectors,
couple of building tools like ant, and others ... did they really need
their own fork of ant, or did they just dump their working directory to the
tarball?).

When discussing this with the upstream programmers, and arguing with the
long established experience of Linux distributions that no package should
have if possible its own copy of system library for security and other
reasons, but I've got kicked out with totally clueless arguments that after
all packages will be better managed by them upstream (of course, no such
repository exists, and it has been couple of years).

Another example, I have really liked the idea of blueMarine
(http://bluemarine.tidalwave.it/). Aside from the fact that it never worked
on Fedora with openJDK (so much for TCK and "compile once, run
everywhere"), I again got the same mesh of all possible packages which
might be needed for it (30 MB; and again I don't care about the size
itself, but about its unmanageability and excessive complexity).

Could you actually show me one large Java project, which has proper tarball
with just the source code of the project itself, which has been cleaned up
by the endless work of the Linux packages (as Eclipse was)?

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds