Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 93427 - [EBUILD REQUEST] Please add a bin ebuild for dev-java/jmx
Summary: [EBUILD REQUEST] Please add a bin ebuild for dev-java/jmx
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on: 200593
Blocks:
  Show dependency tree
 
Reported: 2005-05-21 07:17 UTC by Ivan Yosifov
Modified: 2008-04-28 21:01 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
sun-bcla-jmx-1.2 (sun-bcla-jmx-1.2,10.29 KB, text/plain)
2005-07-20 05:35 UTC, Ivan Yosifov
Details
jmx-bin-1.2.1.ebuild (jmx-bin-1.2.1.ebuild,1.50 KB, text/plain)
2005-07-20 05:36 UTC, Ivan Yosifov
Details
commons-modeler-1.1.ebuild.patch (commons-modeler-1.1.ebuild.patch,427 bytes, patch)
2005-07-20 05:39 UTC, Ivan Yosifov
Details | Diff
tomcat-5.0.28-r4.ebuild.patch (tomcat-5.0.28-r4.ebuild.patch,393 bytes, patch)
2005-07-20 05:41 UTC, Ivan Yosifov
Details | Diff
jmx-bin-1.2.1.ebuild (jmx-bin-1.2.1.ebuild,1.50 KB, text/plain)
2005-09-15 03:55 UTC, Ivan Yosifov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Yosifov 2005-05-21 07:17:35 UTC
Currently the netbeans ebild wants to download and compile the source code.
Please add a -bin version that uses the downloadable installer, not the source.
Justification follows.

Now, I understand that it is preferable to build netbeans from source, but there
are several very serious problems with this approach.

home ~ # emerge --pretend netbeans | grep F
[ebuild  N F  ] dev-java/jmx-1.2.1
[ebuild  N F  ] dev-java/sun-jaf-bin-1.0.2
[ebuild  N F  ] dev-java/javahelp-bin-2.0.02-r1

To build netbeans from source I have to get 3 sources by hand. Let's start with
the first one.

home ~ # emerge -f jmx
<snip>
 *
 *  Due to license restrictions, we cannot fetch the
 *  distributables automagically.
 *
 *  1. Visit http://wwws.sun.com/software/communitysource/jmx/download.html and
follow instructions
 *  2. Download jmx-1_2_1-scsl.zip

Ok, I go to the page and am greeted with:

You must first register or log into the Sun Download Center (SDLC) and agree to 
the license agreement before you can download this product.

I scroll a little down the page to see:

International Use Restrictions

Due to limited intellectual property protection and enforcement in certain
countries, the Java 2 Platform, Standard Edition source code may only be
distributed to an authorized list of countries. You will not be able to access
the source code if you are downloading from a country that is not on this list.
We are continuously reviewing this list for addition of other countries.

The mentioned country list is
http://www.sun.com/software/communitysource/countries.xml . Guess what ! My
country - Bulgaria, is not on the list. Most of the European Union ( or the
world ) is not on the list either. I am sure you can imagine the level of
frustration at this point.

Building java code has very little benefits ( at least in comparison with
building C/C++ code ) anyway, and forcing users to download sources from such
extremely download-hostile sites as sun's is a wrong approach in my opinion.

That said, please add a netbeans-bin ebuild to the tree.

Reproducible: Always
Steps to Reproduce:
Comment 1 Jan Brinkmann (RETIRED) gentoo-dev 2005-05-21 10:57:36 UTC
even if we would add a binary version, there is no way around of downloading
these files from sun. the
Comment 2 Jan Brinkmann (RETIRED) gentoo-dev 2005-05-21 10:57:36 UTC
even if we would add a binary version, there is no way around of downloading
these files from sun. theír license sucks, and we're not allowed to redistribute
these files. a binary ebuild doesnt mean that we would allow a package to use
packed jars. take a look at the following page why we build even java code from
source:

http://gentoo-wiki.com/Why_Build_Java_Code_From_Source
Comment 3 Ivan Yosifov 2005-05-21 11:49:19 UTC
>>> take a look at the following page why we build even java code from
>>> source:
>>> http://gentoo-wiki.com/Why_Build_Java_Code_From_Source
This is what I was refering to when I said 'compiling Netbeans from source is
preferable'.

However, I am not sure you fully understand the situation. Being a resident of
Bulgaria, a country not in their white-list, I can not legally download the
source files, but I can download the prebuilt files. Downloading the source code
is _the_ right thing to do with open source projects - where the source is
really available. In the Sun case, however, the availability is, IMO, purely
theoretical. 

The license is such that the packages still are just a closed source package. I
am not sure you are legally allowed to apply any tweaks or even security fixes.

I am not asking you to drop the source-based ebuild. I am asking you to provide
the user base with a choice. If you live in a white-listed country and don't
mind providing all your personal information ( address, phone... ) - that's
fine, you get all the benefits of source-based ebuilds. However if you don't
want to provide biometric data, or don't live in a white listed country - you
use the -bin packages, because this is the only legal option.
Comment 4 Jan Brinkmann (RETIRED) gentoo-dev 2005-05-21 12:18:39 UTC
i understand what you wanted to say, but that doesnt change the fact that your
idea introduces a new packed jar issue. we still have to remove other issues
like that, and we're not going to add new ones to the tree.
Comment 5 Ivan Yosifov 2005-05-21 12:52:47 UTC
Ok, am I correct in understanding that:

1) A jar issue = a jar that could *with reasonable effort on behalf of
developers AND users* be compiled from source. If so, then my idea does not
create jar issues since many users are not legally allowed to download the source.

2) You adopt the Sun white-list. You understand some of the users will not be
able to emerge the SCSL-covered ebuilds and you don't see it as a problem.

3) You plan to drop dev-java/sun-jdk in favour of dev-java/sun-j2sdk.

5) You don't think that the SCSL in any way prevents you from applying patches
in the ebuild, so the advantages of source ebuilds are fully exploited.

5) You don't think there is anything wrong with forcing users to provide
personal information to a third party to emerge these three ebuilds.

6) You think that for the user the inconvenience of disclosing personal
information is fully compensated by the power of source-based ebuilds.

I am by no means trying to be mean, I simply want to fully understand your
position on this matter, so we can find a way out of the problem.
Comment 6 Jan Brinkmann (RETIRED) gentoo-dev 2005-05-21 15:59:20 UTC
you can also download and install a binary netbeans distribution manually. it
comes with a lot of copies of jars, which have the same license restrictions as
the ones you have to download manually if you use our package. the only thing is
you dont have to signup yourself. it dont say that sun is a good company, i dont
even say that these manually downloading foo is good. sun and these stupid
license is crap, but we dont want to introduce more packed jar issues. the
problem is as follows:

xerces-1.3.1 and for example provide xerces.jar, there are maybe 15 or even 20
packages in the tree (just guessing) which use a xerces.jar. most java projects
think they should pack every external library which is needed into the distfile.
if you emerge all of these 20 packages you have to keep 20 copies of xerces.jar
on your system, maybe another one which is in the dev-java/xerces package. we as
a linux distribution cant do that, this simply sucks. if you feel comfortable
while doing so you're allowed to do so but you cant demand that we're going to
do this in our packages. if there is a security vulnerability or another
showstopper in xerces now we would either have to wait for all upstream projects
to replace the xerces.jar or we have to do this on our own. to avoid such an
amount of work we just keep one single copy on a users system. that one can be
replaced easily. keep in mind, the xerces.jar archive was just an example. there
are a quite a lot of packages which are just often by many different packages.
so, we dont introduce a new packed jar issue. if you feel mad about the license,
blame sun. we havnt invented it, we just have to live with it and have to take
care that we dont violate it.
Comment 7 Jan Brinkmann (RETIRED) gentoo-dev 2005-05-21 15:59:34 UTC
clsong
Comment 8 Ivan Yosifov 2005-05-22 01:58:52 UTC
>>> you can also download and install a binary netbeans distribution manually.
Unfortunately it is not working. I have downloaded the installer 
( netbeans-4_1-linux.bin ) but it complains it can not find a JDK installed,
even if I manually point it to the directory with the JDK. For various reasons, 
I prefer portage to handle software, anyway.

>>> which have the same license restrictions as
>>> the ones you have to download manually
No, they don't. To download the _prebuilt_ jars I don't have to be located in 
white-listed country, or register. I simply click download, accept the binary
license ( which is not SCSL ) and download the file. The same procedure used for 
downloading the J2SDK. I can download the binary, but not the source.

>>> if you emerge all of these 20 packages you have to keep 20 copies of xerces.jar
Ok, I understand. I think I have worded the original request wrongly, sorry for
that.
The idea I am trying to comunicate is not to remove ( just an exmaple! ) xerces.jar
and keep 20 copies of it, but rather that xerces.jar can be downloaded and installed
precompiled. You still have one copy, only this copy was not built locally, but
rather
downloaded prebuilt. For the example - xerces.jar this makes little sense, since
getting
the source is not a problem. Yet, for the SCSL covered F restricted ebuilds it,
IMO, 
makes sense because 

1) Everyone can legally download the binary which is covered by 
'Sun Microsystems, Inc. Binary Code License Agreement' and not everyone can download
the source which is covered by SCSL

2) Even if you can download the source it requires registration. Why do you
force the
users to do this ? Why not provide them with an option to emerge jmx-bin instead of 
jmx ? You still have to replace or hardmask only _one_ package on security issues.
There still is only _one_ copy of it.

For example, of the three F restricted ebuilds need for netbeans,
dev-java/jmx is a problem because it it SCSL covered.
dev-java/sun-jaf-bin and dev-java/javahelp-bin are NOT a problem because they
are covered by Sun's Binary License and downloading them is 5-click process, no
registration required.

Changing the resume, to hopefully better reflect the problem, as I see it.
Comment 9 Jan Brinkmann (RETIRED) gentoo-dev 2005-05-22 11:22:56 UTC
wontfix, it stays the same. no new packed jar issues...
Comment 10 Petteri Räty (RETIRED) gentoo-dev 2005-05-22 12:28:21 UTC
This is a valid bug. We are just a little off track at the beginning.
Comment 11 Ivan Yosifov 2005-07-20 05:35:21 UTC
Created attachment 63875 [details]
sun-bcla-jmx-1.2

Attaching the jmx license. Copied with drag-n-drop from
http://tinyurl.com/d593u .
Needed by the jmx-bin ebuild.
Comment 12 Ivan Yosifov 2005-07-20 05:36:46 UTC
Created attachment 63876 [details]
jmx-bin-1.2.1.ebuild

The jmx-bin ebuild. Based on the jmx-1.2.1 ebuild in portage.
Comment 13 Ivan Yosifov 2005-07-20 05:39:56 UTC
Created attachment 63877 [details, diff]
commons-modeler-1.1.ebuild.patch

Patch to dev-java/commons-modeler-1.1 to make it depend on either jmx-bin or
jmx.
Comment 14 Ivan Yosifov 2005-07-20 05:41:59 UTC
Created attachment 63878 [details, diff]
tomcat-5.0.28-r4.ebuild.patch

Patch to www-servers/tomcat-5.0.28-r4 to make it depend on either jmx-bin or
jmx.
Comment 15 Ivan Yosifov 2005-07-20 05:49:01 UTC
Using the attached ebuild and patches netbeans compiles and works fine.

Cheers !
Comment 16 Ivan Yosifov 2005-09-15 03:55:48 UTC
Created attachment 68495 [details]
jmx-bin-1.2.1.ebuild

Pointed DOWNLOADSITE to the correct place.
Comment 17 Josh Nichols (RETIRED) gentoo-dev 2006-01-03 09:25:19 UTC
It is worth noting that dev-java/mx4j is an open source implementation of the JMX API.

I had previously done some work to make packages use open source implementations instead of Sun's implementations here: http://svn.gentooexperimental.org/svn/java/free-java-overlay/
(Note: it probably depends on packages from the overlay here: http://svn.gentooexperimental.org/svn/java/gentoo-java-experimental/ )
I had luck with several other packages using mx4j instead of jmx, but had not tried tomcat or netbeans yet.
Comment 18 Calvin Austin 2006-07-06 22:26:22 UTC
Given that Java 5 also contains JMX from the same guys who built the standalone package perhaps this should be a virtual package now
Current choices are 
1)sun jmx standalone
2)dependency met by Java 5
3) mx4j or others

Comment 19 Petteri Räty (RETIRED) gentoo-dev 2008-04-28 21:01:17 UTC
jmx is now a virtual so this is fixed