diff options
author | Ralph Sennhauser <sera@gentoo.org> | 2012-12-19 14:48:59 +0000 |
---|---|---|
committer | Ralph Sennhauser <sera@gentoo.org> | 2012-12-19 14:48:59 +0000 |
commit | 00f36abff295c1154b12ed40970fb006ad2b0263 (patch) | |
tree | 67667df6e7a17daf62b1bc6d16804d0cf6a85b4b /dev-java | |
parent | Version bump (arm not available). #447248 (diff) | |
download | gentoo-2-00f36abff295c1154b12ed40970fb006ad2b0263.tar.gz gentoo-2-00f36abff295c1154b12ed40970fb006ad2b0263.tar.bz2 gentoo-2-00f36abff295c1154b12ed40970fb006ad2b0263.zip |
Version bump (ia64 not available).
Remove vulnerable.
(Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key 3C5CF75A)
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/sun-jdk/ChangeLog | 9 | ||||
-rw-r--r-- | dev-java/sun-jdk/sun-jdk-1.6.0.35.ebuild | 380 | ||||
-rw-r--r-- | dev-java/sun-jdk/sun-jdk-1.6.0.38.ebuild (renamed from dev-java/sun-jdk/sun-jdk-1.6.0.35-r1.ebuild) | 236 |
3 files changed, 116 insertions, 509 deletions
diff --git a/dev-java/sun-jdk/ChangeLog b/dev-java/sun-jdk/ChangeLog index 4b6fccd6de06..830a2ba11175 100644 --- a/dev-java/sun-jdk/ChangeLog +++ b/dev-java/sun-jdk/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-java/sun-jdk # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.341 2012/10/23 05:03:16 nativemad Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.342 2012/12/19 14:48:59 sera Exp $ + +*sun-jdk-1.6.0.38 (19 Dec 2012) + + 19 Dec 2012; Ralph Sennhauser <sera@gentoo.org> -sun-jdk-1.6.0.35.ebuild, + -sun-jdk-1.6.0.35-r1.ebuild, +sun-jdk-1.6.0.38.ebuild: + Version bump (ia64 not available). + Remove vulnerable. 23 Oct 2012; Andreas Schuerch <nativemad@gentoo.org> sun-jdk-1.6.0.37.ebuild: x86 stable, see bug 438706 diff --git a/dev-java/sun-jdk/sun-jdk-1.6.0.35.ebuild b/dev-java/sun-jdk/sun-jdk-1.6.0.35.ebuild deleted file mode 100644 index 26a48eaa9ce1..000000000000 --- a/dev-java/sun-jdk/sun-jdk-1.6.0.35.ebuild +++ /dev/null @@ -1,380 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/sun-jdk-1.6.0.35.ebuild,v 1.4 2012/09/13 07:16:16 phajdan.jr Exp $ - -EAPI="4" - -inherit java-vm-2 eutils prefix versionator - -# This URIs need to be updated when bumping! -JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/jdk6u35-downloads-1836443.html" - -MY_PV="$(get_version_component_range 2)u$(get_version_component_range 4)" -S_PV="$(replace_version_separator 3 '_')" - -DEMOS_PV="6u34" -DEMOS_S_PV="1.6.0_34" - -X86_AT="jdk-${MY_PV}-linux-i586.bin" -AMD64_AT="jdk-${MY_PV}-linux-x64.bin" -#IA64_AT="jdk-${MY_PV}-linux-ia64.bin" -SOL_X86_AT="jdk-${MY_PV}-solaris-i586.sh" -SOL_AMD64_AT="jdk-${MY_PV}-solaris-x64.sh" -SOL_SPARC_AT="jdk-${MY_PV}-solaris-sparc.sh" -SOL_SPARCv9_AT="jdk-${MY_PV}-solaris-sparcv9.sh" - -X86_DEMOS="jdk-${DEMOS_PV}-linux-i586-demos.tar.gz" -AMD64_DEMOS="jdk-${DEMOS_PV}-linux-x64-demos.tar.gz" -#IA64_DEMOS="jdk-${DEMOS_PV}-linux-ia64-demos.tar.gz" -SOL_X86_DEMOS="jdk-${DEMOS_PV}-solaris-i586-demos.tar.Z" -SOL_AMD64_DEMOS="jdk-${DEMOS_PV}-solaris-x64-demos.tar.Z" -SOL_SPARC_DEMOS="jdk-${DEMOS_PV}-solaris-sparc-demos.tar.Z" -SOL_SPARCv9_DEMOS="jdk-${DEMOS_PV}-solaris-sparcv9-demos.tar.Z" - -DESCRIPTION="Oracle's Java SE Development Kit" -HOMEPAGE="http://www.oracle.com/technetwork/java/javase/" -SRC_URI=" - x86? ( ${X86_AT} - examples? ( ${X86_DEMOS} ) ) - amd64? ( ${AMD64_AT} ) - x86-solaris? ( ${SOL_X86_AT} - examples? ( ${SOL_X86_DEMOS} ) ) - x64-solaris? ( ${SOL_X86_AT} ${SOL_AMD64_AT} - examples? ( ${SOL_X86_DEMOS} ${SOL_AMD64_DEMOS} ) ) - sparc-solaris? ( ${SOL_SPARC_AT} - examples? ( ${SOL_SPARC_DEMOS} ) ) - sparc64-solaris? ( ${SOL_SPARC_AT} ${SOL_SPARCv9_AT} - examples? ( ${SOL_SPARC_DEMOS} ${SOL_SPARCv9_DEMOS} ) )" -# examples? ( ${AMD64_DEMOS} ) ) -# ia64? ( ${IA64_AT} -# examples? ( ${IA64_DEMOS} ) ) - -LICENSE="Oracle-BCLA-JavaSE" -SLOT="1.6" -KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -IUSE="X alsa derby doc examples jce kernel_SunOS nsplugin pax_kernel +source" - -RESTRICT="fetch strip" - -RDEPEND=" - X? ( - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXi - x11-libs/libXt - x11-libs/libXtst - ) - alsa? ( media-libs/alsa-lib ) - doc? ( dev-java/java-sdk-docs:1.6.0 ) - jce? ( dev-java/sun-jce-bin:1.6 ) - kernel_SunOS? ( app-arch/unzip ) - !prefix? ( sys-libs/glibc )" -# scanelf won't create a PaX header, so depend on paxctl to avoid fallback -# marking. #427642 -DEPEND=" - pax_kernel? ( sys-apps/paxctl )" - -S="${WORKDIR}/jdk${S_PV}" - -_set_at() { - if use x86; then - AT=${X86_AT} - elif use amd64; then - AT=${AMD64_AT} - elif use ia64; then - AT=${IA64_AT} - elif use x86-solaris; then - AT=${SOL_X86_AT} - elif use x64-solaris; then - AT="${SOL_X86_AT} and ${SOL_AMD64_AT}" - elif use sparc-solaris; then - AT=${SOL_SPARC_AT} - elif use sparc64-solaris; then - AT="${SOL_SPARC_AT} and ${SOL_SPARCv9_AT}" - fi -} - -_set_demos() { - if use x86; then - DEMOS=${X86_DEMOS} - elif use amd64; then - DEMOS=${AMD64_DEMOS} - elif use ia64; then - DEMOS=${IA64_DEMOS} - elif use x86-solaris; then - DEMOS=${SOL_X86_DEMOS} - elif use x64-solaris; then - DEMOS="${SOL_X86_DEMOS} and ${SOL_AMD64_DEMOS}" - elif use sparc-solaris; then - DEMOS=${SOL_SPARC_AT} - elif use sparc64-solaris; then - DEMOS="${SOL_SPARC_AT_DEMOS} and ${SOL_SPARCv9_DEMOS}" - fi -} - -pkg_nofetch() { - _set_at - _set_demos - - einfo "Due to Oracle no longer providing the distro-friendly DLJ bundles, the package" - einfo "has become fetch restricted again. Alternatives are switching to" - einfo "dev-java/icedtea-bin:6 or the source-based dev-java/icedtea:6" - einfo "" - einfo "Please download ${AT} from:" - einfo "${JDK_URI}" - einfo "and move it to ${DISTDIR}" - - if use examples && ! use amd64; then - einfo "" - einfo "Also download ${DEMOS} from:" - einfo "${JDK_URI}" - einfo "and move it to ${DISTDIR}" - fi -} - -_sol_src_unpack() { - for i in ${AT}; do - [[ ${i} == "and" ]] && continue - rm -f "${S}"/jre/{LICENSE,README} "${S}"/LICENSE - # don't die on unzip, it always "fails" - unzip "${DISTDIR}"/${i} - done - for f in $(find "${S}" -name "*.pack") ; do - "${S}"/bin/unpack200 ${f} ${f%.pack}.jar - rm ${f} - done - if use examples ; then - for i in ${DEMOS}; do - [[ ${i} == "and" ]] && continue - use examples && unpack ${i} - done - mv "${WORKDIR}"/SUNWj6dmo/reloc/jdk/instances/jdk1.6.0/{demo,sample} \ - "${S}"/ || die - fi -} - -src_unpack() { - [[ ${PV} != 1.6.0.35 ]] && die "Check if amd64 examples distfile is available again before bumping. Change SRC_URI and 'use examples' in src_{unpack,install},pkg_nofetch. Also check DEMOS_PV" - _set_at - _set_demos - if use kernel_SunOS; then - _sol_src_unpack - else - sh "${DISTDIR}"/${AT} -noregister || die "Failed to unpack" - use examples && ! use amd64 && unpack ${DEMOS} - fi -} - -src_compile() { - # This needs to be done before CDS - #215225 - java-vm_set-pax-markings "${S}" - - # see bug #207282 - einfo "Creating the Class Data Sharing archives" - if use x86; then - bin/java -client -Xshare:dump || die - fi - # limit heap size for large memory on x86 #405239 - # this is a workaround and shouldn't be needed. - bin/java -server -Xmx64m -Xshare:dump || die -} - -src_install() { - local dest="/opt/${P}" - local ddest="${ED}${dest}" - - # We should not need the ancient plugin for Firefox 2 anymore, plus it has - # writable executable segments - if use x86; then - rm -vf {,jre/}lib/i386/libjavaplugin_oji.so \ - {,jre/}lib/i386/libjavaplugin_nscp*.so - rm -vrf jre/plugin/i386 - fi - # Without nsplugin flag, also remove the new plugin - local arch=${ARCH}; - use x86 && arch=i386; - if ! use nsplugin; then - rm -vf {,jre/}lib/${arch}/libnpjp2.so \ - {,jre/}lib/${arch}/libjavaplugin_jni.so - fi - - dodir "${dest}" - cp -pPR bin include jre lib man "${ddest}" || die - - if use derby; then - cp -pPR db "${ddest}" || die - fi - - if use examples; then - if use amd64; then - ewarn "examples are not available in this version for amd64 due to upstream error (zero-byte distfile)" - else - cp -pPR "${WORKDIR}/${DEMOS_S_PV}"/{demo,sample} "${ddest}" || die - fi - fi - - # Remove empty dirs we might have copied - find "${D}" -type d -empty -exec rmdir -v {} + || die - - dodoc COPYRIGHT - dohtml README.html - - if use jce; then - dodir "${dest}"/jre/lib/security/strong-jce - mv "${ddest}"/jre/lib/security/US_export_policy.jar \ - "${ddest}"/jre/lib/security/strong-jce || die - mv "${ddest}"/jre/lib/security/local_policy.jar \ - "${ddest}"/jre/lib/security/strong-jce || die - dosym /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/US_export_policy.jar \ - "${dest}"/jre/lib/security/US_export_policy.jar - dosym /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/local_policy.jar \ - "${dest}"/jre/lib/security/local_policy.jar - fi - - if use nsplugin; then - install_mozilla_plugin "${dest}"/jre/lib/${arch}/libnpjp2.so - fi - - if use source; then - cp src.zip "${ddest}" || die - fi - - # Install desktop file for the Java Control Panel. - # Using ${PN}-${SLOT} to prevent file collision with jre and or other slots. - # make_desktop_entry can't be used as ${P} would end up in filename. - newicon jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png \ - sun-jcontrol-${PN}-${SLOT}.png || die - sed -e "s#Name=.*#Name=Java Control Panel for Oracle JDK ${SLOT} (sun-jdk)#" \ - -e "s#Exec=.*#Exec=/opt/${P}/jre/bin/jcontrol#" \ - -e "s#Icon=.*#Icon=sun-jcontrol-${PN}-${SLOT}.png#" \ - jre/lib/desktop/applications/sun_java.desktop > \ - "${T}"/jcontrol-${PN}-${SLOT}.desktop || die - domenu "${T}"/jcontrol-${PN}-${SLOT}.desktop - - # http://docs.oracle.com/javase/6/docs/technotes/guides/intl/fontconfig.html - rm "${ddest}"/jre/lib/fontconfig.* || die - cp "${FILESDIR}"/fontconfig.Gentoo.properties-r1 "${T}"/fontconfig.properties || die - eprefixify "${T}"/fontconfig.properties - insinto "${dest}"/jre/lib/ - doins "${T}"/fontconfig.properties - - set_java_env "${FILESDIR}/${VMHANDLE}.env-r1" - java-vm_revdep-mask - java-vm_sandbox-predict /dev/random -} - -QA_TEXTRELS_x86=" - opt/${P}/jre/lib/i386/client/libjvm.so - opt/${P}/jre/lib/i386/motif21/libmawt.so - opt/${P}/jre/lib/i386/server/libjvm.so" -QA_FLAGS_IGNORED=" - /opt/${P}/bin/appletviewer - /opt/${P}/bin/apt - /opt/${P}/bin/extcheck - /opt/${P}/bin/idlj - /opt/${P}/bin/jar - /opt/${P}/bin/jarsigner - /opt/${P}/bin/java - /opt/${P}/bin/javac - /opt/${P}/bin/javadoc - /opt/${P}/bin/javah - /opt/${P}/bin/javap - /opt/${P}/bin/javaws - /opt/${P}/bin/jconsole - /opt/${P}/bin/jdb - /opt/${P}/bin/jhat - /opt/${P}/bin/jinfo - /opt/${P}/bin/jmap - /opt/${P}/bin/jps - /opt/${P}/bin/jrunscript - /opt/${P}/bin/jsadebugd - /opt/${P}/bin/jstack - /opt/${P}/bin/jstat - /opt/${P}/bin/jstatd - /opt/${P}/bin/keytool - /opt/${P}/bin/native2ascii - /opt/${P}/bin/orbd - /opt/${P}/bin/pack200 - /opt/${P}/bin/policytool - /opt/${P}/bin/rmic - /opt/${P}/bin/rmid - /opt/${P}/bin/rmiregistry - /opt/${P}/bin/schemagen - /opt/${P}/bin/serialver - /opt/${P}/bin/servertool - /opt/${P}/bin/tnameserv - /opt/${P}/bin/unpack200 - /opt/${P}/bin/wsgen - /opt/${P}/bin/wsimport - /opt/${P}/bin/xjc - /opt/${P}/demo/jvmti/gctest/lib/libgctest.so - /opt/${P}/demo/jvmti/heapTracker/lib/libheapTracker.so - /opt/${P}/demo/jvmti/heapViewer/lib/libheapViewer.so - /opt/${P}/demo/jvmti/minst/lib/libminst.so - /opt/${P}/demo/jvmti/mtrace/lib/libmtrace.so - /opt/${P}/demo/jvmti/versionCheck/lib/libversionCheck.so - /opt/${P}/demo/jvmti/waiters/lib/libwaiters.so - /opt/${P}/jre/bin/java - /opt/${P}/jre/bin/java_vm - /opt/${P}/jre/bin/javaws - /opt/${P}/jre/bin/keytool - /opt/${P}/jre/bin/orbd - /opt/${P}/jre/bin/pack200 - /opt/${P}/jre/bin/policytool - /opt/${P}/jre/bin/rmid - /opt/${P}/jre/bin/rmiregistry - /opt/${P}/jre/bin/servertool - /opt/${P}/jre/bin/tnameserv - /opt/${P}/jre/bin/unpack200 - /opt/${P}/jre/lib/jexec - /opt/${P}/lib/jexec - /opt/${P}/lib/visualvm/profiler/lib/deployed/jdk15/linux-amd64/libprofilerinterface.so - /opt/${P}/lib/visualvm/profiler/lib/deployed/jdk16/linux-amd64/libprofilerinterface.so" -for java_system_arch in amd64 i386; do - QA_FLAGS_IGNORED+=" - /opt/${P}/jre/lib/${java_system_arch}/headless/libmawt.so - /opt/${P}/jre/lib/${java_system_arch}/jli/libjli.so - /opt/${P}/jre/lib/${java_system_arch}/libattach.so - /opt/${P}/jre/lib/${java_system_arch}/libawt.so - /opt/${P}/jre/lib/${java_system_arch}/libcmm.so - /opt/${P}/jre/lib/${java_system_arch}/libdcpr.so - /opt/${P}/jre/lib/${java_system_arch}/libdeploy.so - /opt/${P}/jre/lib/${java_system_arch}/libdt_socket.so - /opt/${P}/jre/lib/${java_system_arch}/libfontmanager.so - /opt/${P}/jre/lib/${java_system_arch}/libhprof.so - /opt/${P}/jre/lib/${java_system_arch}/libinstrument.so - /opt/${P}/jre/lib/${java_system_arch}/libioser12.so - /opt/${P}/jre/lib/${java_system_arch}/libj2gss.so - /opt/${P}/jre/lib/${java_system_arch}/libj2pcsc.so - /opt/${P}/jre/lib/${java_system_arch}/libj2pkcs11.so - /opt/${P}/jre/lib/${java_system_arch}/libjaas_unix.so - /opt/${P}/jre/lib/${java_system_arch}/libjava_crw_demo.so - /opt/${P}/jre/lib/${java_system_arch}/libjavaplugin_jni.so - /opt/${P}/jre/lib/${java_system_arch}/libjava.so - /opt/${P}/jre/lib/${java_system_arch}/libjawt.so - /opt/${P}/jre/lib/${java_system_arch}/libJdbcOdbc.so - /opt/${P}/jre/lib/${java_system_arch}/libjdwp.so - /opt/${P}/jre/lib/${java_system_arch}/libjpeg.so - /opt/${P}/jre/lib/${java_system_arch}/libjsig.so - /opt/${P}/jre/lib/${java_system_arch}/libjsoundalsa.so - /opt/${P}/jre/lib/${java_system_arch}/libjsound.so - /opt/${P}/jre/lib/${java_system_arch}/libmanagement.so - /opt/${P}/jre/lib/${java_system_arch}/libmlib_image.so - /opt/${P}/jre/lib/${java_system_arch}/libnative_chmod_g.so - /opt/${P}/jre/lib/${java_system_arch}/libnative_chmod.so - /opt/${P}/jre/lib/${java_system_arch}/libnet.so - /opt/${P}/jre/lib/${java_system_arch}/libnio.so - /opt/${P}/jre/lib/${java_system_arch}/libnpjp2.so - /opt/${P}/jre/lib/${java_system_arch}/libnpt.so - /opt/${P}/jre/lib/${java_system_arch}/librmi.so - /opt/${P}/jre/lib/${java_system_arch}/libsaproc.so - /opt/${P}/jre/lib/${java_system_arch}/libsplashscreen.so - /opt/${P}/jre/lib/${java_system_arch}/libunpack.so - /opt/${P}/jre/lib/${java_system_arch}/libverify.so - /opt/${P}/jre/lib/${java_system_arch}/libzip.so - /opt/${P}/jre/lib/${java_system_arch}/motif21/libmawt.so - /opt/${P}/jre/lib/${java_system_arch}/native_threads/libhpi.so - /opt/${P}/jre/lib/${java_system_arch}/server/libjvm.so - /opt/${P}/jre/lib/${java_system_arch}/xawt/libmawt.so" -done diff --git a/dev-java/sun-jdk/sun-jdk-1.6.0.35-r1.ebuild b/dev-java/sun-jdk/sun-jdk-1.6.0.38.ebuild index cc014ce0e81c..03121186f638 100644 --- a/dev-java/sun-jdk/sun-jdk-1.6.0.35-r1.ebuild +++ b/dev-java/sun-jdk/sun-jdk-1.6.0.38.ebuild @@ -1,59 +1,57 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/sun-jdk-1.6.0.35-r1.ebuild,v 1.1 2012/10/15 15:51:00 sera Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/sun-jdk-1.6.0.38.ebuild,v 1.1 2012/12/19 14:48:59 sera Exp $ -EAPI="4" +EAPI="5" -inherit java-vm-2 eutils prefix versionator +inherit eutils java-vm-2 prefix versionator # This URIs need to be updated when bumping! -JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/jdk6u35-downloads-1836443.html" +JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html" +JCE_URI="http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html" +# This is a list of archs supported by this update. Currently ia64 comes and goes ... +AT_AVAILABLE=( amd64 x86 x64-solaris x86-solaris sparc-solaris sparc64-solaris ) +# somtimes the demos are missing +DEMOS_AVAILABLE=( amd64 x86 x64-solaris x86-solaris sparc-solaris sparc64-solaris ) MY_PV="$(get_version_component_range 2)u$(get_version_component_range 4)" S_PV="$(replace_version_separator 3 '_')" -# for when oracle messes with us again. -DEMOS_PV="${MY_PV}" -DEMOS_S_PV="${S_PV}" - -X86_AT="jdk-${MY_PV}-linux-i586.bin" -AMD64_AT="jdk-${MY_PV}-linux-x64.bin" -IA64_AT="jdk-${MY_PV}-linux-ia64.bin" -SOL_X86_AT="jdk-${MY_PV}-solaris-i586.sh" -SOL_AMD64_AT="jdk-${MY_PV}-solaris-x64.sh" -SOL_SPARC_AT="jdk-${MY_PV}-solaris-sparc.sh" -SOL_SPARCv9_AT="jdk-${MY_PV}-solaris-sparcv9.sh" - -X86_DEMOS="jdk-${DEMOS_PV}-linux-i586-demos.tar.gz" -AMD64_DEMOS="jdk-${DEMOS_PV}-linux-x64-demos.tar.gz" -IA64_DEMOS="jdk-${DEMOS_PV}-linux-ia64-demos.tar.gz" -SOL_X86_DEMOS="jdk-${DEMOS_PV}-solaris-i586-demos.tar.Z" -SOL_AMD64_DEMOS="jdk-${DEMOS_PV}-solaris-x64-demos.tar.Z" -SOL_SPARC_DEMOS="jdk-${DEMOS_PV}-solaris-sparc-demos.tar.Z" -SOL_SPARCv9_DEMOS="jdk-${DEMOS_PV}-solaris-sparcv9-demos.tar.Z" + +AT_x86="jdk-${MY_PV}-linux-i586.bin" +AT_amd64="jdk-${MY_PV}-linux-x64.bin" +AT_ia64="jdk-${MY_PV}-linux-ia64.bin" +AT_x86_solaris="jdk-${MY_PV}-solaris-i586.sh" +AT_x64_solaris="${AT_x86_solaris} jdk-${MY_PV}-solaris-x64.sh" +AT_sparc_solaris="jdk-${MY_PV}-solaris-sparc.sh" +AT_sparc64_solaris="${AT_sparc_solaris} jdk-${MY_PV}-solaris-sparcv9.sh" + +DEMOS_x86="jdk-${MY_PV}-linux-i586-demos.tar.gz" +DEMOS_amd64="jdk-${MY_PV}-linux-x64-demos.tar.gz" +DEMOS_ia64="jdk-${MY_PV}-linux-ia64-demos.tar.gz" +DEMOS_x86_solaris="jdk-${MY_PV}-solaris-i586-demos.tar.Z" +DEMOS_x64_solaris="${DEMOS_x86_solaris} jdk-${MY_PV}-solaris-x64-demos.tar.Z" +DEMOS_sparc_solaris="jdk-${MY_PV}-solaris-sparc-demos.tar.Z" +DEMOS_sparc64_solaris="${DEMOS_sparc_solaris} jdk-${MY_PV}-solaris-sparcv9-demos.tar.Z" + +JCE_FILE="jce_policy-6.zip" DESCRIPTION="Oracle's Java SE Development Kit" HOMEPAGE="http://www.oracle.com/technetwork/java/javase/" -SRC_URI=" - x86? ( ${X86_AT} - examples? ( ${X86_DEMOS} ) ) - amd64? ( ${AMD64_AT} - examples? ( ${AMD64_DEMOS} ) ) - ia64? ( ${IA64_AT} - examples? ( ${IA64_DEMOS} ) ) - x86-solaris? ( ${SOL_X86_AT} - examples? ( ${SOL_X86_DEMOS} ) ) - x64-solaris? ( ${SOL_X86_AT} ${SOL_AMD64_AT} - examples? ( ${SOL_X86_DEMOS} ${SOL_AMD64_DEMOS} ) ) - sparc-solaris? ( ${SOL_SPARC_AT} - examples? ( ${SOL_SPARC_DEMOS} ) ) - sparc64-solaris? ( ${SOL_SPARC_AT} ${SOL_SPARCv9_AT} - examples? ( ${SOL_SPARC_DEMOS} ${SOL_SPARCv9_DEMOS} ) )" +for d in "${AT_AVAILABLE[@]}"; do + SRC_URI+=" ${d}? (" + SRC_URI+=" $(eval "echo \${$(echo AT_${d/-/_})}")" + if has ${d} "${DEMOS_AVAILABLE[@]}"; then + SRC_URI+=" examples? ( $(eval "echo \${$(echo DEMOS_${d/-/_})}") )" + fi + SRC_URI+=" )" +done +unset d +SRC_URI+=" jce? ( ${JCE_FILE} )" LICENSE="Oracle-BCLA-JavaSE examples? ( BSD )" SLOT="1.6" KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -IUSE="X alsa derby doc examples jce kernel_SunOS nsplugin pax_kernel +source" +IUSE="+X alsa derby doc examples jce kernel_SunOS nsplugin pax_kernel source" RESTRICT="fetch strip" QA_PREBUILT="*" @@ -68,101 +66,83 @@ RDEPEND=" ) alsa? ( media-libs/alsa-lib ) doc? ( dev-java/java-sdk-docs:1.6.0 ) - jce? ( dev-java/sun-jce-bin:1.6 ) - kernel_SunOS? ( app-arch/unzip ) !prefix? ( sys-libs/glibc )" # scanelf won't create a PaX header, so depend on paxctl to avoid fallback # marking. #427642 DEPEND=" + jce? ( app-arch/unzip ) + kernel_SunOS? ( app-arch/unzip ) pax_kernel? ( sys-apps/paxctl )" -S="${WORKDIR}/jdk${S_PV}" +S="${WORKDIR}"/jdk${S_PV} -_set_at() { - if use x86; then - AT=${X86_AT} - elif use amd64; then - AT=${AMD64_AT} - elif use ia64; then - AT=${IA64_AT} - elif use x86-solaris; then - AT=${SOL_X86_AT} - elif use x64-solaris; then - AT="${SOL_X86_AT} and ${SOL_AMD64_AT}" - elif use sparc-solaris; then - AT=${SOL_SPARC_AT} - elif use sparc64-solaris; then - AT="${SOL_SPARC_AT} and ${SOL_SPARCv9_AT}" - fi -} +check_tarballs_available() { + local uri=$1; shift + local dl= unavailable= + for dl in "${@}"; do + [[ ! -f "${DISTDIR}/${dl}" ]] && unavailable+=" ${dl}" + done -_set_demos() { - if use x86; then - DEMOS=${X86_DEMOS} - elif use amd64; then - DEMOS=${AMD64_DEMOS} - elif use ia64; then - DEMOS=${IA64_DEMOS} - elif use x86-solaris; then - DEMOS=${SOL_X86_DEMOS} - elif use x64-solaris; then - DEMOS="${SOL_X86_DEMOS} and ${SOL_AMD64_DEMOS}" - elif use sparc-solaris; then - DEMOS=${SOL_SPARC_AT} - elif use sparc64-solaris; then - DEMOS="${SOL_SPARC_AT_DEMOS} and ${SOL_SPARCv9_DEMOS}" + if [[ -n "${unavailable}" ]]; then + if [[ -z ${_check_tarballs_available_once} ]]; then + einfo + einfo "Due to Oracle no longer providing the distro-friendly DLJ bundles, the package" + einfo "has become fetch restricted again. Alternatives are switching to" + einfo "dev-java/icedtea-bin:6 or the source-based dev-java/icedtea:6" + einfo + einfo "Oracle requires you to download the needed files manually after" + einfo "accepting their license through a javascript capable web browser." + einfo + _check_tarballs_available_once=1 + fi + einfo "Downlod the following files:" + for dl in ${unavailable}; do + einfo " ${dl}" + done + einfo "at '${uri}'" + einfo "and move them to '${DISTDIR}'" + einfo fi } pkg_nofetch() { - _set_at - _set_demos - - einfo "Due to Oracle no longer providing the distro-friendly DLJ bundles, the package" - einfo "has become fetch restricted again. Alternatives are switching to" - einfo "dev-java/icedtea-bin:6 or the source-based dev-java/icedtea:6" - einfo "" - einfo "Please download ${AT} from:" - einfo "${JDK_URI}" - einfo "and move it to ${DISTDIR}" - - if use examples && ! use amd64; then - einfo "" - einfo "Also download ${DEMOS} from:" - einfo "${JDK_URI}" - einfo "and move it to ${DISTDIR}" + local distfiles=( $(eval "echo \${$(echo AT_${ARCH/-/_})}") ) + if use examples && has ${ARCH} "${DEMOS_AVAILABLE[@]}"; then + distfiles+=( $(eval "echo \${$(echo DEMOS_${ARCH/-/_})}") ) fi -} + check_tarballs_available "${JDK_URI}" "${distfiles[@]}" -_sol_src_unpack() { - for i in ${AT}; do - [[ ${i} == "and" ]] && continue - rm -f "${S}"/jre/{LICENSE,README} "${S}"/LICENSE - # don't die on unzip, it always "fails" - unzip "${DISTDIR}"/${i} - done - for f in $(find "${S}" -name "*.pack") ; do - "${S}"/bin/unpack200 ${f} ${f%.pack}.jar - rm ${f} - done - if use examples ; then - for i in ${DEMOS}; do - [[ ${i} == "and" ]] && continue - use examples && unpack ${i} - done - mv "${WORKDIR}"/SUNWj6dmo/reloc/jdk/instances/jdk1.6.0/{demo,sample} \ - "${S}"/ || die - fi + use jce && check_tarballs_available "${JCE_URI}" "${JCE_FILE}" } src_unpack() { - _set_at - _set_demos + AT=( $(eval "echo \${$(echo AT_${ARCH/-/_})}") ) + DEMOS=( $(eval "echo \${$(echo DEMOS_${ARCH/-/_})}") ) + if use kernel_SunOS; then - _sol_src_unpack + for i in ${AT}; do + rm -f "${S}"/jre/{LICENSE,README} "${S}"/LICENSE + # don't die on unzip, it always "fails" + unzip "${DISTDIR}"/${i} + done + for f in $(find "${S}" -name "*.pack") ; do + "${S}"/bin/unpack200 ${f} ${f%.pack}.jar + rm ${f} + done else sh "${DISTDIR}"/${AT} -noregister || die "Failed to unpack" - use examples && unpack ${DEMOS} + fi + + if use examples ; then + unpack ${DEMOS} + if use kernel_SunOS; then + mv "${WORKDIR}"/SUNWj6dmo/reloc/jdk/instances/jdk1.6.0/{demo,sample} "${S}"/ || die + fi + fi + + if use jce; then + unpack ${JCE_FILE} + mv jce "${S}"/jre/lib/security/unlimited-jce || die fi } @@ -199,6 +179,9 @@ src_install() { {,jre/}lib/${arch}/libjavaplugin_jni.so fi + dodoc COPYRIGHT + dohtml README.html + dodir "${dest}" cp -pPR bin include jre lib man "${ddest}" || die @@ -206,25 +189,19 @@ src_install() { cp -pPR db "${ddest}" || die fi - if use examples; then - cp -pPR "${WORKDIR}/jdk${DEMOS_S_PV}"/{demo,sample} "${ddest}" || die + if use examples && has ${ARCH} "${DEMOS_AVAILABLE[@]}"; then + cp -pPR demo sample "${ddest}" || die fi - # Remove empty dirs we might have copied - find "${D}" -type d -empty -exec rmdir -v {} + || die - - dodoc COPYRIGHT - dohtml README.html - if use jce; then dodir "${dest}"/jre/lib/security/strong-jce mv "${ddest}"/jre/lib/security/US_export_policy.jar \ "${ddest}"/jre/lib/security/strong-jce || die mv "${ddest}"/jre/lib/security/local_policy.jar \ "${ddest}"/jre/lib/security/strong-jce || die - dosym /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/US_export_policy.jar \ + dosym "${dest}"/jre/lib/security/unlimited-jce/US_export_policy.jar \ "${dest}"/jre/lib/security/US_export_policy.jar - dosym /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/local_policy.jar \ + dosym "${dest}"/jre/lib/security/unlimited-jce/local_policy.jar \ "${dest}"/jre/lib/security/local_policy.jar fi @@ -246,8 +223,8 @@ src_install() { -e "s#Icon=.*#Icon=sun-jcontrol-${PN}-${SLOT}#" \ -e "s#Application;##" \ -e "/Encoding/d" \ - jre/lib/desktop/applications/sun_java.desktop > \ - "${T}"/jcontrol-${PN}-${SLOT}.desktop || die + jre/lib/desktop/applications/sun_java.desktop \ + > "${T}"/jcontrol-${PN}-${SLOT}.desktop || die domenu "${T}"/jcontrol-${PN}-${SLOT}.desktop # http://docs.oracle.com/javase/6/docs/technotes/guides/intl/fontconfig.html @@ -257,6 +234,9 @@ src_install() { insinto "${dest}"/jre/lib/ doins "${T}"/fontconfig.properties + # Remove empty dirs we might have copied + find "${D}" -type d -empty -exec rmdir -v {} + || die + set_java_env "${FILESDIR}/${VMHANDLE}.env-r1" java-vm_revdep-mask java-vm_sandbox-predict /dev/random @@ -265,5 +245,5 @@ src_install() { pkg_postinst() { java-vm-2_pkg_postinst - elog "If you want Oracles JDK7 emerge oracle-jdk-bin instead." + elog "If you want Oracles JDK 7 'emerge oracle-jdk-bin' instead." } |