> > > > On 16/03/15 17:35, Malcolm Cook wrote: > > > On Mon, Mar 16, 2015 at 2:19 AM, Stijn De Weirdt <[email protected]> > wrote: > >> hi malcolm, >> >> can you first clarify what this implies wrt accepting the license? (what >> is the user agreeing to by setting this cookie?). >> >> > My understanding is that you in effect accepting the "Oracle Binary Code > License Agreement for the Java SE Platform Products and JavaFX": > http://www.oracle.com/technetwork/java/javase/terms/license/index.html > > > The question is whether this would be clear to someone install Java using > EasyBuild... > > Is it OK to just accept this for them, programmatically, by default? > > > >> wrt the implementation, i'd suggest to start extending the java easyblock >> with this functionality. if requires for other packages too, we can always >> promote the code to some generic block or framework (but i'm afraid oracle >> will change this method every other month or so...) >> >> If you are suggesting that I change just the java.eb to shell out and > download the tarball (if not already present) to "the right place", well, > then, in fact, I have already done exactly that for myself. But I see that > as a hack/temporary workaround - not something in tune with the 'EasyBuild > way' (such as I am trying to pick up on). Based on my quick review of the > source code, the 'EasyBuild way' to implement this is as I suggest, > requiring changes in a few different coordinated places. I'm not sure I > like/approve of this 'way', and thought someone might advise that there is > a better way to isolate the needed changes just to the easyconfig file, but > I certainly don't see it. > > Or - what am I missing? > > > Stijn is suggesting to tackle this in the easy*block* ( > https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/j/java.py), > not the easyconfig file (since that would require including it in all Java > easyconfigs, which results in lots of duplication). > > Aha! I get it now. Thanks.
> Question remains whether it's OK to do this by default, though. > > I now see this concern too. We don't want EasyBuild to blindly chose to opt someone into this license. I suppose there is an actual legal issue here that I am not qualified to decide. What about the downstream users of the installed Java? > We can certainly support it, and require that people add something like > 'auto_accept_license = True' in their Java easyconfig files... > > > Fotis suggested a generalization that might work.... I'll take it up in his response.... ~Malcolm regards, > > Kenneth > > > > stijn >> >> On 03/16/2015 05:36 AM, Malcolm Cook wrote: >> >>> Hi, >>> >>> eb Java-1.8.0_31.eb >>> >>> Fails >>> >>> Reading the easyconfig source code, I see it advises >>> >>> “# download the tar.gz directly from >>> http://www.oracle.com/technetwork/java/javase/downloads/index.html“ >>> >>> So I download it (following >>> >>> http://stackoverflow.com/questions/10268583/how-to-automate-download-and-installation-of-java-jdk-on-linux >>> ) >>> as: >>> >>> wget -P ${PREFIX}/source/j/Java/ --no-check-certificate --no-cookies >>> --header "Cookie: oraclelicense=accept-securebackup-cookie" >>> >>> http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.tar.gz >>> >>> and the eb now succeeds. Yay. >>> >>> But, surely this should not persist. Something must be done! Perhaps by >>> me!?! >>> >>> Presumably the challenge is the check box which is opaque to the >>> easybuild >>> framework, and what is needed is to get such a header declared in the >>> Java*.eb and contrive for it to be passed down. >>> >>> Something like: >>> >>> - change filetools.py download_file(*) to >>> - accept a new parameter, namely, headers={} >>> - change the call to urlopen as: >>> >>> url_fd = urllib2.urlopen(urllib2.Request(url, headers=headers), >>> timeout=timeout) >>> >>> >>> - give EasyBlock a new instance variable, say, source_url_headers >>> - modify the Java*.eb to include: >>> >>> source_url_headers=[{"Cookie: oraclelicense" : >>> "accept-securebackup-cookie"}] >>> >>> I think this should work and am willing to “cut my teeth” on this project >>> with this small set of changes if y’all agree it is a good approach to >>> this >>> problem. >>> >>> Do you? >>> >>> Thanks >>> >>> ~ Malcolm Cook >>> >>> >>> > >

