openjdk build pages

dalibor topic dalibor.topic at oracle.com
Fri May 23 10:02:57 UTC 2014


On 22.05.2014 19:33, Omair Majid wrote:
> Okay, can we please start doing those releases?

Such releases (CPU, SA) can not be developed as part of the OpenJDK JDK
7 Updates Project, so we can't just 'do' them the way we do a release 
like 7u40, 7u60 or 8u20.

The 7u Q&A explains all that at 
http://openjdk.java.net/projects/jdk7u/qanda.html .

For why just zipping a clone of a tagged forest and declaring that to be 
'a release' is not that great an idea either for the update Projects, 
see http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-May/006506.html .

>>> As for benefit, just today I saw people asking on #openjdk about where
>>> to get source bundles.
>>
>> They are linked off the front (and any other OpenJDK web site) page.
>
> Didn't this thread start with the issue that there are no 8u bundles
> published? If they are, please ignore me.

8u20 has not been released yet, so no source archive for the release 
have been published. See 
http://openjdk.java.net/projects/jdk8u/releases/8u20.html for the 
timeline - still some time to go, according to the plan (which, as 
usual, may change).

>>> And they complained that using source control to
>>> get a release bundles is too hard (and shouldn't be necessary).
>>
>> I'm not sure why one would consider
>>
>> hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40; cd jdk7u40; bash
>> get_source.sh
>>
>> to be too hard compared to
>>
>> wget http://www.java.net/download/openjdk/jdk7u40/promoted/b43/openjdk-7u40-fcs-src-b43-26_aug_2013.zip
>
> Because the first one doesn't work with 8u. There is no way to get the
> latest 8u20, for example.  Doing this in 8u will get you the latest 8u
> in development. It wont get you the latest tag for 8u20 (or 8, for that
> matter).

We were talking about release bundles. There is no 8u20 release yet, as 
it is still in development, as you observed, so 'release' bundles can't 
really exist yet. Once the jdk8u/jdk8u20 forest is sealed after the 
release, it should also work as described above.

> Also, get_source.sh checks out the latest sub-repos, not the one
> matching the parent tag. With all due respect, if you can make this
> mistake, how do you expect users to avoid it?

By repeating what I wrote, I'd hope. Here's what happens when you do:

[dtopic at dtopic-linux src]$ hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40
destination directory: jdk7u40
requesting all changes
adding changesets
adding manifests
adding file changes
added 731 changesets with 703 changes to 34 files
updating to branch default
33 files updated, 0 files merged, 0 files removed, 0 files unresolved

[dtopic at dtopic-linux src]$ cd jdk7u40/

[dtopic at dtopic-linux jdk7u40]$ bash get_source.sh
# Repos:  corba jaxp jaxws langtools jdk hotspot
Starting on corba
Starting on jaxp
Starting on jaxws
Starting on langtools
Starting on jdk
Starting on hotspot
# hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40/corba corba
requesting all changes
adding changesets
adding manifests
adding file changes
added 665 changesets with 3663 changes to 1382 files
updating to branch default
1348 files updated, 0 files merged, 0 files removed, 0 files unresolved
# exit code 0
# hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40/langtools langtools
requesting all changes
adding changesets
adding manifests
adding file changes
added 1493 changesets with 13551 changes to 4798 files
updating to branch default
4458 files updated, 0 files merged, 0 files removed, 0 files unresolved
# exit code 0
# hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40/jaxp jaxp
requesting all changes
adding changesets
adding manifests
adding file changes
added 641 changesets with 5021 changes to 4092 files
updating to branch default
2073 files updated, 0 files merged, 0 files removed, 0 files unresolved
# exit code 0
# hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40/jaxws jaxws
requesting all changes
adding changesets
adding manifests
adding file changes
added 576 changesets with 9686 changes to 5885 files
updating to branch default
2898 files updated, 0 files merged, 0 files removed, 0 files unresolved
# exit code 0
# hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40/hotspot hotspot
requesting all changes
adding changesets
adding manifests
adding file changes
added 4733 changesets with 27879 changes to 4646 files
updating to branch default
4239 files updated, 0 files merged, 0 files removed, 0 files unresolved
# exit code 0
# hg clone http://hg.openjdk.java.net/jdk7u/jdk7u40/jdk jdk
requesting all changes
adding changesets
adding manifests
adding file changes
added 6507 changesets with 64435 changes to 21841 files
updating to branch default
20565 files updated, 0 files merged, 0 files removed, 0 files unresolved
# exit code 0
# Repos:  ./corba . ./hotspot ./jaxp ./jaxws ./jdk ./langtools
Starting on ./corba
Starting on .
Starting on ./hotspot
Starting on ./jaxp
Starting on ./jaxws
Starting on ./jdk
Starting on ./langtools
# cd . && hg pull -u
pulling from http://hg.openjdk.java.net/jdk7u/jdk7u40
searching for changes
no changes found
# exit code 0
# cd ./corba && hg pull -u
pulling from http://hg.openjdk.java.net/jdk7u/jdk7u40/corba
searching for changes
no changes found
# exit code 0
# cd ./jaxws && hg pull -u
pulling from http://hg.openjdk.java.net/jdk7u/jdk7u40/jaxws
searching for changes
no changes found
# exit code 0
# cd ./hotspot && hg pull -u
pulling from http://hg.openjdk.java.net/jdk7u/jdk7u40/hotspot
searching for changes
no changes found
# exit code 0
# cd ./jdk && hg pull -u
pulling from http://hg.openjdk.java.net/jdk7u/jdk7u40/jdk
searching for changes
no changes found
# exit code 0
# cd ./langtools && hg pull -u
pulling from http://hg.openjdk.java.net/jdk7u/jdk7u40/langtools
searching for changes
no changes found
# exit code 0
# cd ./jaxp && hg pull -u
pulling from http://hg.openjdk.java.net/jdk7u/jdk7u40/jaxp
searching for changes
no changes found
# exit code 0

Ok, something got cloned and checked out. So, big question ... did 
get_source.sh get the right sources for 7u40?

[dtopic at dtopic-linux jdk7u40]$ for i in corba hotspot jaxp jaxws jdk 
langtools ; do echo "In repo " $i ; hg -R $i tags | head ; done
In repo  corba
tip                              664:504acad33722
jdk7u40-b60                      663:08737d863a7a
jdk7u40-b43                      662:e29ea0b297e5
jdk7u40-b42                      661:b4a480a039bc
jdk7u40-b41                      660:acb0571052b8
jdk7u40-b40                      659:a91b57bf60bd
jdk7u40-b39                      658:d7c73fd53c84
jdk7u40-b38                      657:8391dff270bb
jdk7u40-b37                      656:dc9a63376b39
jdk7u40-b36                      655:cd3871b15169
In repo  hotspot
tip                             4732:bf3a8b634b75
jdk7u40-b60                     4731:af1fc2868a2b
jdk7u40-b43                     4730:eceae0478243
hs24-b56                        4729:b8d8caf6df74
jdk7u40-b42                     4724:4e779305ed58
jdk7u40-b41                     4723:4445f65c4793
jdk7u40-b40                     4722:86673506aeb6
jdk7u40-b39                     4721:74de360e3415
jdk7u40-b38                     4720:1f3b0ff9649c
jdk7u40-b37                     4719:295528bfcdd1
In repo  jaxp
tip                              640:c500d4ec41ff
jdk7u40-b60                      639:91bc45348512
jdk7u40-b43                      638:c0bd71414ea5
jdk7u40-b42                      637:66363323f14d
jdk7u40-b41                      636:7255fb6c9060
jdk7u40-b40                      635:6ea57bdf6030
jdk7u40-b39                      634:322af0a5cdce
jdk7u40-b38                      631:680bf140cdd5
jdk7u40-b37                      630:f40f45bd95d4
jdk7u40-b36                      629:07024f18376c
In repo  jaxws
tip                              575:4ee34d2cf2d8
jdk7u40-b60                      574:cbeef786ce48
jdk7u40-b43                      573:3ee85b3793de
jdk7u40-b42                      572:89f6c9663d75
jdk7u40-b41                      571:adc234666397
jdk7u40-b40                      570:cd6971747e7a
jdk7u40-b39                      569:4af46770372d
jdk7u40-b38                      568:7ae2e9ed2c44
jdk7u40-b37                      567:918e6c87b006
jdk7u40-b36                      566:b75c19a170c7
In repo  jdk
tip                             6506:168bd87376ea
jdk7u40-b60                     6505:ed444a09a5fd
jdk7u40-b43                     6504:fb25cdef17e9
jdk7u40-b42                     6503:b479996d5c92
jdk7u40-b41                     6502:ae85cfff71e9
jdk7u40-b40                     6501:42b57fb81c39
jdk7u40-b39                     6500:33921df593ed
jdk7u40-b38                     6497:070b277e1b43
jdk7u40-b37                     6494:04036faa7fc4
jdk7u40-b36                     6490:cd7a4d0b218f
In repo  langtools
tip                             1492:b2e29b79e54e
jdk7u40-b60                     1491:a67dbf96bf86
jdk7u40-b43                     1490:988ece7b6865
jdk7u40-b42                     1489:765bea9bfcfc
jdk7u40-b41                     1488:95cefc18bea4
jdk7u40-b40                     1487:0e83f513af68
jdk7u40-b39                     1486:81925e555c94
jdk7u40-b38                     1485:21672c0e6691
jdk7u40-b37                     1484:31908290e4c2
jdk7u40-b36                     1483:6837776bcdfa

Seems so. Because the jdk7u/jdk7u40 forests were sealed after the 
release, there are no later commits in the repositories.

>> - it seems to be fewer characters, even. ;)
>
> But it's completely unusable for someone trying to get a known-good
> what-was-realeased-as-8u20 1 year from today.

I just did it for 7u40 by cloning its release forest. Granted, it wasn't 
released exactly a year ago, but I think it shows that cloning the 
release forest produces the desired results even after a certain amount 
of time has passed.

>> For example, the Project page for JDK 7 Updates could eventually say
>> 'Hooray! 7u60 was released. The source code available in the jdk7u/jdk7u60
>> repository with the  release being tagged with something-or-other. Use hg
>> clone [snip] get_source.sh to check it out.'
>
> Does this mean this will be fixed?

7u60 hasn't been released yet, so there shouldn't be anything to fix 
about documenting the final build's tag so far. Once 7u60 is released, I 
agree that the Project page should say something like that.

> Exactly. It's much easier to figure out what the latest release is if
> you have a canonical source bundle available rather than hunting
> through all the various project repositories trying to find out where a
> tag is.

Sure, but you don't have to do that. You can either clone the release 
forest (no tags necessary in that case) once a release is done, or, in 
the future, look up the tags for a release on the update Project's page.

cheers,
dalibor topic
-- 
<http://www.oracle.com> Dalibor Topic | Principal Product Manager
Phone: +494089091214 <tel:+494089091214> | Mobile: +491737185961
<tel:+491737185961>

ORACLE Deutschland B.V. & Co. KG | Kühnehöfe 5 | 22761 Hamburg

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Geschäftsführer: Jürgen Kunz

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher

<http://www.oracle.com/commitment> Oracle is committed to developing
practices and products that help protect the environment


More information about the web-discuss mailing list