Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild

2014-09-06 Thread Rich Freeman
On Sat, Sep 6, 2014 at 12:50 AM, Saifi Khan saifik...@datasynergy.org wrote:


It looks like sping already bumped 1.8.0.20 in the tree, by simply
renaming the existing 1.8.0.11 ebuild.  I'll explain a bit more since
you're interested and are simply not doing it right...

 Here are things i explored:

 1. simply renaming did not work
 (it should not since the md5 hashes would not match)

The hashes are not stored in the ebuild, so simply copying the
existing ebuild is fine.  You just need to regenerate the hashes.
Repoman manifest or ebuild oracle-jdk-bin-1.8.0.20.ebuild manifest
would be the easiest ways to do that.


 3. next i attempted creating a separate file in
/usr/portage/metadata/md5-cache/dev-java for oracle-jdk-bin-1.8.0.20 file

 with 'repoman manifest' it did not work

Don't mess with the metadata cache.  It is not necessary.  All you
need to do is update the Manifest file in the package directory.  When
portage finds a bad/missing hash it always checks it before bailing
out, and portage can generally detect an outdated cache anyway.


 however emerge started complaining about missing jdk's for i586, solaris
 etc.

 Meanwhile i took a close look at the /usr/portage/eclass directory
 and also tried to locate where 'inherit' is defined.

 'inherit' is a function defined in /usr/lib/portage/bin/ebuild.sh file with
 its bucket full of 'bash'isms.

Before reverse-engineering PMS, you might just start with:
http://devmanual.gentoo.org/ebuild-writing/using-eclasses/index.html

Or, if you're really brave:
http://dev.gentoo.org/~ulm/pms/head/pms.html

Tweaking ebuilds isn't hard - you just need to go about it the right
way and make the tools work for you.  Actually, one thing I didn't see
in the docs is more user-centric ebuild 101 stuff like how do I bump
an ebuild myself?  All the info is there, but not at that level.

--
Rich



Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild

2014-09-05 Thread Saifi Khan

On Wed, 3 Sep 2014, J. Roeleveld wrote:


On 3 September 2014 06:07:46 CEST, Saifi Khan saifik...@datasynergy.org wrote:

Hi:

portage has ebuild for oracle-jdk-bin-1.8.0.11 whereas oracle
website has update 20 ie. oracle-jdk-bin-1.8.0.20

i am interested in tweaking the ebuild in order to install 1.8.0.20

Can somebody explain

. how 'inherits eutils java-vm-2 prefix versionator' line works.
what exactly does 'inherits' clause/function do ?

. where is the function 'get_version_component_range' defined ?

Additionally, how do i get 'emerge' to ignore/suppress the 'missing
digest' for a given ebuild ?

Thanks in advance.


thanks
Saifi.


Did you try simply renaming the ebuild?
That normally works.



Thanks for your reply.

Here are things i explored:

1. simply renaming did not work
(it should not since the md5 hashes would not match)

2. making a separate copy with ebuild did not work out as 'emerge' 
kept complaining about the missing digest.


3. next i attempted creating a separate file in
   /usr/portage/metadata/md5-cache/dev-java for 
oracle-jdk-bin-1.8.0.20 file


with 'repoman manifest' it did not work

however emerge started complaining about missing jdk's for i586, 
solaris etc.


Meanwhile i took a close look at the /usr/portage/eclass directory
and also tried to locate where 'inherit' is defined.

'inherit' is a function defined in /usr/lib/portage/bin/ebuild.sh 
file with its bucket full of 'bash'isms.


Oh well !

As a simple solution i did the following:

. create directory /home/saifi/jdk180u20
. extract the jdk and place the jce file
. create a script file to setup the
  PATH, LD_LIBRARY_PATH and CLASSPATH

This works absolutely fine since i can work with multiple versions 
of JDK including JDK9 (dev) without worrying about 'pythonic 
scriptilicious' emerge, ebuild, equery, eix, euse, epkg, eclean ..!


Thanks to everybody who helped me out.


thanks
Saifi.



Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild

2014-09-04 Thread Thanasis

on 09/03/2014 07:07 AM Saifi Khan wrote the following:

Hi:

portage has ebuild for oracle-jdk-bin-1.8.0.11 whereas oracle website
has update 20 ie. oracle-jdk-bin-1.8.0.20

i am interested in tweaking the ebuild in order to install 1.8.0.20



dev-java/oracle-jdk-bin-1.8.0.20 is in the tree.



Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild

2014-09-02 Thread J. Roeleveld
On 3 September 2014 06:07:46 CEST, Saifi Khan saifik...@datasynergy.org wrote:
Hi:

portage has ebuild for oracle-jdk-bin-1.8.0.11 whereas oracle 
website has update 20 ie. oracle-jdk-bin-1.8.0.20

i am interested in tweaking the ebuild in order to install 1.8.0.20

Can somebody explain

. how 'inherits eutils java-vm-2 prefix versionator' line works. 
what exactly does 'inherits' clause/function do ?

. where is the function 'get_version_component_range' defined ?

Additionally, how do i get 'emerge' to ignore/suppress the 'missing 
digest' for a given ebuild ?

Thanks in advance.


thanks
Saifi.

Did you try simply renaming the ebuild?
That normally works.

Either way, please raise a bug on b.g.o. and add the info wether or not 
renaming works.

Kind regards,

Joost
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild

2014-09-02 Thread Jc García
2014-09-02 22:07 GMT-06:00 Saifi Khan saifik...@datasynergy.org:
 Hi:

 portage has ebuild for oracle-jdk-bin-1.8.0.11 whereas oracle website has
 update 20 ie. oracle-jdk-bin-1.8.0.20

 i am interested in tweaking the ebuild in order to install 1.8.0.20

 Can somebody explain

 . how 'inherits eutils java-vm-2 prefix versionator' line works. what
 exactly does 'inherits' clause/function do ?

Read the development documentation if you plan to tweak ebuilds,
replicating it here is just a lost of time, a hint, is about using
eclasses.

 . where is the function 'get_version_component_range' defined ?

Likely in the versionator eclass.

 Additionally, how do i get 'emerge' to ignore/suppress the 'missing digest'
 for a given ebuild ?

When you read the documentation you will learn to test your ebuilds
and generating manifests, a hint, learn about repoman and a local
portage or overlay to tweak ebuilds

 Thanks in advance.

That said since it's for a minor release the ebulid you want to bump,
the changes to the ebuild might be just the file name, and some
version related strings in the ebuild, but I'm too noob with ebuilds
to be sure about this. Also you can do a bug report requesting for the
bump, just search first in the bug-tracker it hasn't been done yet.


 thanks
 Saifi.




Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild

2014-09-02 Thread wraeth
On Tue, 2 Sep 2014 22:38:56 Jc García wrote:
 2014-09-02 22:07 GMT-06:00 Saifi Khan saifik...@datasynergy.org:
  . how 'inherits eutils java-vm-2 prefix versionator' line works. what
  exactly does 'inherits' clause/function do ?
 
 Read the development documentation if you plan to tweak ebuilds,
 replicating it here is just a lost of time, a hint, is about using
 eclasses.

'inherit' loads eclasses into the ebuild, setting up the environment and 
making functions for given scenarios availble. See [0] for reference.

  . where is the function 'get_version_component_range' defined ?
 
 Likely in the versionator eclass.

It is a function in the eclass - see [0] and [1].

  Additionally, how do i get 'emerge' to ignore/suppress the 'missing
  digest'
  for a given ebuild ?
 
 When you read the documentation you will learn to test your ebuilds
 and generating manifests, a hint, learn about repoman and a local
 portage or overlay to tweak ebuilds

There are two methods here:
  a) to create a local overlay and regenerate the manifest with each change
  b) to use the 'ebuild' utility to test each of the specific ebuild stages

When maintaining a repository of ebuilds locally, it's better to use an 
overlay (see [2]), however it's generally easier when working on a single 
ebuild to simply call the ebuild functions explicitly (allowing testing of 
specific stages of the build) - see [3] or, better, `man ebuild`.

  Thanks in advance.
 
 That said since it's for a minor release the ebulid you want to bump,
 the changes to the ebuild might be just the file name, and some
 version related strings in the ebuild, but I'm too noob with ebuilds
 to be sure about this. Also you can do a bug report requesting for the
 bump, just search first in the bug-tracker it hasn't been done yet.

Yes, often minor package changes can be handled by simply changing the ebuild 
name, however this requires that the ebuild was written properly, using such 
variables as ${PV} to substitute the version as determined by the ebuild name, 
rather than hard-coding the version into the ebuild (like setting SRC_URI to 
http://blah/blah/package-${PV}.tgz; rather than .../package-1.2.3.tgz ).

As has been suggested, give it a try, poke around, and if you get something 
working, feel free to attach it to the bug report (subtle hint here ;-) ) to 
help move things along.

[0] http://devmanual.gentoo.org/eclass-reference/index.html
[1] http://devmanual.gentoo.org/eclass-reference/versionator.eclass/index.html
[2] https://wiki.gentoo.org/wiki/Overlay/Local_overlay
[3] http://dev.gentoo.org/~zmedico/portage/doc/man/ebuild.1.html

--
wraeth


signature.asc
Description: This is a digitally signed message part.