* [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild
@ 2014-09-03 4:07 Saifi Khan
2014-09-03 4:34 ` J. Roeleveld
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Saifi Khan @ 2014-09-03 4:07 UTC (permalink / raw
To: gentoo-user
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild
2014-09-03 4:07 [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild Saifi Khan
@ 2014-09-03 4:34 ` J. Roeleveld
2014-09-06 4:50 ` Saifi Khan
2014-09-03 4:38 ` Jc García
2014-09-04 9:34 ` Thanasis
2 siblings, 1 reply; 7+ messages in thread
From: J. Roeleveld @ 2014-09-03 4:34 UTC (permalink / raw
To: gentoo-user
On 3 September 2014 06:07:46 CEST, Saifi Khan <saifikhan@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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild
2014-09-03 4:07 [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild Saifi Khan
2014-09-03 4:34 ` J. Roeleveld
@ 2014-09-03 4:38 ` Jc García
2014-09-03 5:00 ` wraeth
2014-09-04 9:34 ` Thanasis
2 siblings, 1 reply; 7+ messages in thread
From: Jc García @ 2014-09-03 4:38 UTC (permalink / raw
To: gentoo-user
2014-09-02 22:07 GMT-06:00 Saifi Khan <saifikhan@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.
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild
2014-09-03 4:38 ` Jc García
@ 2014-09-03 5:00 ` wraeth
0 siblings, 0 replies; 7+ messages in thread
From: wraeth @ 2014-09-03 5:00 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 2735 bytes --]
On Tue, 2 Sep 2014 22:38:56 Jc García wrote:
> 2014-09-02 22:07 GMT-06:00 Saifi Khan <saifikhan@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
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 213 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild
2014-09-03 4:07 [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild Saifi Khan
2014-09-03 4:34 ` J. Roeleveld
2014-09-03 4:38 ` Jc García
@ 2014-09-04 9:34 ` Thanasis
2 siblings, 0 replies; 7+ messages in thread
From: Thanasis @ 2014-09-04 9:34 UTC (permalink / raw
To: gentoo-user
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild
2014-09-03 4:34 ` J. Roeleveld
@ 2014-09-06 4:50 ` Saifi Khan
2014-09-06 10:29 ` Rich Freeman
0 siblings, 1 reply; 7+ messages in thread
From: Saifi Khan @ 2014-09-06 4:50 UTC (permalink / raw
To: gentoo-user
On Wed, 3 Sep 2014, J. Roeleveld wrote:
> On 3 September 2014 06:07:46 CEST, Saifi Khan <saifikhan@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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild
2014-09-06 4:50 ` Saifi Khan
@ 2014-09-06 10:29 ` Rich Freeman
0 siblings, 0 replies; 7+ messages in thread
From: Rich Freeman @ 2014-09-06 10:29 UTC (permalink / raw
To: gentoo-user
On Sat, Sep 6, 2014 at 12:50 AM, Saifi Khan <saifikhan@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
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-09-06 10:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-03 4:07 [gentoo-user] oracle-jdk-bin 1.8.0.20 ebuild Saifi Khan
2014-09-03 4:34 ` J. Roeleveld
2014-09-06 4:50 ` Saifi Khan
2014-09-06 10:29 ` Rich Freeman
2014-09-03 4:38 ` Jc García
2014-09-03 5:00 ` wraeth
2014-09-04 9:34 ` Thanasis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox