[aur-general] Java SDK/Runtime dependencies
Hello everyone, Rorschach has asked me to bring the discussion at http://aur.archlinux.org/packages.php?ID=2033 to this mailing list. Please help us find a consensus. My answer to his last question is: --- Let them install openjdk6 to provide the j2sdk dependency. It's not the Arch philosophy to cut on freedom of choice. By forcing a user to use either a free or proprietary alternative of a PROVIDES we ignore the purpose of this clause (i.e. providing freedom of choice). --- Moreover I don't really see what's controversial here. I'm a free software supporter myself, but I don't like forcing people to use it. provides=j2sdk is the way that will hurt no party. Thanks, Leslie -- LinkedIn Profile: http://www.linkedin.com/in/polzer Xing Profile: https://www.xing.com/profile/LeslieP_Polzer Blog: http://blog.viridian-project.de/
On Thu, Feb 5, 2009 at 11:57 AM, Leslie P. Polzer <sky@viridian-project.de> wrote:
Hello everyone,
Rorschach has asked me to bring the discussion at
http://aur.archlinux.org/packages.php?ID=2033
to this mailing list.
Please help us find a consensus.
My answer to his last question is:
--- Let them install openjdk6 to provide the j2sdk dependency.
It's not the Arch philosophy to cut on freedom of choice.
By forcing a user to use either a free or proprietary alternative of a PROVIDES we ignore the purpose of this clause (i.e. providing freedom of choice). ---
Moreover I don't really see what's controversial here.
I'm a free software supporter myself, but I don't like forcing people to use it.
provides=j2sdk is the way that will hurt no party.
Thanks,
Leslie
-- LinkedIn Profile: http://www.linkedin.com/in/polzer Xing Profile: https://www.xing.com/profile/LeslieP_Polzer Blog: http://blog.viridian-project.de/
let it depend on java-environment. This is both provided by openjdk6 and the sun jdk package. Ronald
On Thu, 5 Feb 2009 12:07:01 +0100 Ronald van Haren <pressh@gmail.com> wrote:
let it depend on java-environment. This is both provided by openjdk6 and the sun jdk package.
Ronald
What package gets installed then if the user has until now none of these installed: $ pacman -sS java-environment extra/java-gcj-compat 1.0.78-1 Wrapper package to wrap free tools into a java 1.5.0.0 compatible java environment extra/openjdk6 1.3.1-2 Free Java environment based on OpenJDK 6.0 with IcedTea6 replacing binary plugs. community/jdk 6u11-1 Sun's Java Development Kit Next to that most applications like jondo and i2p don't run with gcj but the java-envrironment will tell that everything is ok.
On Thu, Feb 5, 2009 at 12:19 PM, Rorschach <r0rschach@lavabit.com> wrote:
On Thu, 5 Feb 2009 12:07:01 +0100 Ronald van Haren <pressh@gmail.com> wrote:
let it depend on java-environment. This is both provided by openjdk6 and the sun jdk package.
Ronald
What package gets installed then if the user has until now none of these installed:
$ pacman -sS java-environment extra/java-gcj-compat 1.0.78-1 Wrapper package to wrap free tools into a java 1.5.0.0 compatible java environment extra/openjdk6 1.3.1-2 Free Java environment based on OpenJDK 6.0 with IcedTea6 replacing binary plugs. community/jdk 6u11-1 Sun's Java Development Kit
Next to that most applications like jondo and i2p don't run with gcj but the java-envrironment will tell that everything is ok.
ic, java-gcj-compat should die anyway. Thought we removed it already from the repos. in that case use j2sdk as suggested before. Ronald
On Thu, 5 Feb 2009 12:22:26 +0100 Ronald van Haren <pressh@gmail.com> wrote:
in that case use j2sdk as suggested before.
If I use j2sdk as dependencie what package gets installed by pacman if the user has no java already installed?
On Thu, Feb 5, 2009 at 12:25 PM, Rorschach <r0rschach@lavabit.com> wrote:
On Thu, 5 Feb 2009 12:22:26 +0100 Ronald van Haren <pressh@gmail.com> wrote:
in that case use j2sdk as suggested before.
If I use j2sdk as dependencie what package gets installed by pacman if the user has no java already installed?
the first package pacman finds. As the extra repo is specified before the community repo normally, it should install openjdk6 by default. Ronald
thanks Ronald van Haren and dejari for making this clear! I updated now all my packages which require java: i2p, jondo and ipscan to depend on j2sdk instead of openjdk6. I'm now going to add this to the java packaging guidelines. greetings
Hello, Rorschach wrote:
thanks Ronald van Haren and dejari for making this clear! I updated now all my packages which require java: i2p, jondo and ipscan to depend on j2sdk instead of openjdk6. I'm now going to add this to the java packaging guidelines.
No, please don't do that. As far as I remember, j2sdk is a historical name, there used to be a package of this name, later it was renamed to jdk (and is in community). Packages that provide j2sdk do so only for backwards compatibility. (There was also a packages j2re and some packages still provide j2re, again just for the backward compatibility.) The "correct" dependencies now are the following two: - java-runtime - needed for applications written in Java - java-environment - needed for Java development and for applications that need to compile Java classes during their run (e.g. Apache Tomcat) Whenever possible, all applications should depend only on one of these "virtual packages". Only if a certain Java application works for example with Sun's Java but not with openjdk, it should depend directly on the package jre. Bud I see no reason whatsoever for any application to depend on j2sdk, it doesn't make much of a sense. Ondřej -- Cheers, Ondřej Kučera -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
On Thu, Feb 5, 2009 at 1:13 PM, Ondřej Kučera <ondrej.kucera@centrum.cz> wrote:
Hello,
Rorschach wrote:
thanks Ronald van Haren and dejari for making this clear! I updated now all my packages which require java: i2p, jondo and ipscan to depend on j2sdk instead of openjdk6. I'm now going to add this to the java packaging guidelines.
No, please don't do that. As far as I remember, j2sdk is a historical name, there used to be a package of this name, later it was renamed to jdk (and is in community). Packages that provide j2sdk do so only for backwards compatibility. (There was also a packages j2re and some packages still provide j2re, again just for the backward compatibility.)
The "correct" dependencies now are the following two: - java-runtime - needed for applications written in Java - java-environment - needed for Java development and for applications that need to compile Java classes during their run (e.g. Apache Tomcat)
Whenever possible, all applications should depend only on one of these "virtual packages". Only if a certain Java application works for example with Sun's Java but not with openjdk, it should depend directly on the package jre. Bud I see no reason whatsoever for any application to depend on j2sdk, it doesn't make much of a sense.
This makes sense to me, so if you are 100% sure, or if someone else can confirm this information, please update the wiki accordingly : http://wiki.archlinux.org/index.php/Java_Package_Guidelines . The whole Dependencies section needs to be fixed and should contain all the information you just gave.
2009/2/5 Xavier <shiningxc@gmail.com>:
On Thu, Feb 5, 2009 at 1:13 PM, Ondřej Kučera <ondrej.kucera@centrum.cz> wrote:
The "correct" dependencies now are the following two: - java-runtime - needed for applications written in Java - java-environment - needed for Java development and for applications that need to compile Java classes during their run (e.g. Apache Tomcat)
This makes sense to me, so if you are 100% sure, or if someone else can confirm this information, please update the wiki accordingly : http://wiki.archlinux.org/index.php/Java_Package_Guidelines . The whole Dependencies section needs to be fixed and should contain all the information you just gave.
yes it is correct. It's just that the gcj one breaks stuff as it is incompatible. Ronald
2009/2/5 Ronald van Haren <pressh@gmail.com>:
2009/2/5 Xavier <shiningxc@gmail.com>:
On Thu, Feb 5, 2009 at 1:13 PM, Ondřej Kučera <ondrej.kucera@centrum.cz> wrote:
The "correct" dependencies now are the following two: - java-runtime - needed for applications written in Java - java-environment - needed for Java development and for applications that need to compile Java classes during their run (e.g. Apache Tomcat)
This makes sense to me, so if you are 100% sure, or if someone else can confirm this information, please update the wiki accordingly : http://wiki.archlinux.org/index.php/Java_Package_Guidelines . The whole Dependencies section needs to be fixed and should contain all the information you just gave.
yes it is correct. It's just that the gcj one breaks stuff as it is incompatible.
Ronald
Hi,
yes it is correct. It's just that the gcj one breaks stuff as it is incompatible.
Vuze (formerly Azureus) in community has actually the same problem. Works with jre, works with openjdk, doesn't work with gcj. Its site claims that it should work though so maybe a little tweaking of the starting script might do the trick (I gave it about half an hour but didn't get too far...). Ondřej -- Cheers, Ondřej Kučera -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
using java-runtime as dependancy makes pacman install java-gcj-compat wihc seems to broke most of the packages. so before using java-runtime as dependancy one need to get rid off java-gcj-compat ? no ?
On Thu, Feb 05, 2009 at 05:47:16PM +0100, solsTiCe d'Hiver wrote:
using java-runtime as dependancy makes pacman install java-gcj-compat wihc seems to broke most of the packages.
so before using java-runtime as dependancy one need to get rid off java-gcj-compat ? no ?
http://bugs.archlinux.org/task/13125 -- Greg what to do and what not to do in public :o) http://linux.sgms-centre.com/misc/netiquette.php
Is the provides field really doing what you think? Than I didn't understood it right. Could please someone bring some light to this? In general I think that Sun's Java should be kicked out as dependencie in every package where openjdk6 works fine because I think the main goal should be that we use a free java version and not a proprietary one. This topic is also missing in the http://wiki.archlinux.org/index.php/Java_Package_Guidelines.
On Thu, Feb 5, 2009 at 12:13 PM, Rorschach <r0rschach@lavabit.com> wrote:
Is the provides field really doing what you think? Than I didn't understood it right. Could please someone bring some light to this?
In general I think that Sun's Java should be kicked out as dependencie in every package where openjdk6 works fine because I think the main goal should be that we use a free java version and not a proprietary one.
This topic is also missing in the http://wiki.archlinux.org/index.php/Java_Package_Guidelines.
Description provides array from the info page: provides (array) An array of "virtual provisions" that this package provides. This allows a package to provide dependencies other than its own package name. For example, the dcron package can provide cron, which allows packages to depend on cron rather than dcron OR fcron. Versioned provisions are also possible, in the name=version format. For example, dcron can provide cron=2.0 to satisfy the cron>=2.0 dependency of other packages. Provisions involving the > and < operators are invalid as only specifc versions of a package may be provided. As both openjdk6 and sun jdk provide the same development functions, they are interchangeble. Letting your package depend on java-runtime the user can either choose to use the openjdk one or the sun one. That is what you want right? Ronald
On Thu, Feb 05, 2009 at 11:57:34AM +0100, Leslie P. Polzer wrote:
Hello everyone,
Rorschach has asked me to bring the discussion at
http://aur.archlinux.org/packages.php?ID=2033
to this mailing list.
Please help us find a consensus.
My answer to his last question is:
--- Let them install openjdk6 to provide the j2sdk dependency.
It's not the Arch philosophy to cut on freedom of choice.
By forcing a user to use either a free or proprietary alternative of a PROVIDES we ignore the purpose of this clause (i.e. providing freedom of choice). ---
Moreover I don't really see what's controversial here.
I'm a free software supporter myself, but I don't like forcing people to use it.
provides=j2sdk is the way that will hurt no party.
Thanks,
Leslie
Hi, I agree with everything you say regarding j2sdk, since both packages provide it, ideally (in packaging terms) this should be the dependency. It would make all users happy. Those using Sun's Java and openjdk ones. Obviously setting the dependency to j2sdk has no disadvantages. If the maintainer of the package doesnt understand that for whatever reason,then just do what an OSS developer would. Fork it. Its not like its binary anyway. Plus its his pakage now, so he can do whatever he wants with it, even if thats opposing the interests of the community. Cause it does. -- Greg what to do and what not to do in public :o) http://linux.sgms-centre.com/misc/netiquette.php
participants (7)
-
Grigorios Bouzakis
-
Leslie P. Polzer
-
Ondřej Kučera
-
Ronald van Haren
-
Rorschach
-
solsTiCe d'Hiver
-
Xavier