Use java-vm-2.eclass to set PaX markings
authorRalph Sennhauser <sera@gentoo.org>
Mon, 21 Nov 2011 13:26:03 +0000 (13:26 +0000)
committerRalph Sennhauser <sera@gentoo.org>
Mon, 21 Nov 2011 13:26:03 +0000 (13:26 +0000)
Package-Manager: portage-2.1.10.35/cvs/Linux x86_64

dev-java/sun-jdk/ChangeLog
dev-java/sun-jdk/Manifest
dev-java/sun-jdk/sun-jdk-1.6.0.29-r1.ebuild [new file with mode: 0644]

index 0e67bc97fd8bdd56f8eeac6584840ad2fc17f38e..978e38695d55a31f5e6451278f95e474f8812f33 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for dev-java/sun-jdk
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.311 2011/11/18 22:11:13 sera Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.312 2011/11/21 13:26:03 sera Exp $
+
+*sun-jdk-1.6.0.29-r1 (21 Nov 2011)
+
+  21 Nov 2011; Ralph Sennhauser <sera@gentoo.org> +sun-jdk-1.6.0.29-r1.ebuild:
+  Use java-vm-2.eclass to set PaX markings
 
   18 Nov 2011; Ralph Sennhauser <sera@gentoo.org> sun-jdk-1.6.0.29.ebuild:
   Add missing pax markings for x86. Bug 389751
index af1d86add443aaffd5e1f5d234d3342d5b8cd4be..0f88bb34fef44f57219bb9106b56c43ce16a5f94 100644 (file)
@@ -10,6 +10,7 @@ DIST jdk-6u29-linux-i586.bin 85146345 RMD160 fca7a51bf14486a81a684c91152493e8af6
 DIST jdk-6u29-linux-x64.bin 85411605 RMD160 7bb1433728c9d263bfe9d968595aac7d73e6c2f3 SHA1 45286e11864285c0d9d5cafd0355dbe04d272951 SHA256 a8603fa62045ce2164b26f7c04859cd548ffe0e33bfc979d9fa73df42e3b3365
 EBUILD sun-jdk-1.6.0.26.ebuild 5148 RMD160 bf671e5810cb4225217bbd6e5afb68e5d146f9f5 SHA1 07c7bda810d9a68c01e76712fd7d41179caae6cc SHA256 16b560b7693ffa7d61c30aae5c9e8394e07bf2b69dcb0cb55ef536d708d87366
 EBUILD sun-jdk-1.6.0.27.ebuild 5658 RMD160 a5600317f7109655bd4a27da34031db2265fe73e SHA1 ab33d4ad61cc35ea7da4d2cccb03debd812dd9d4 SHA256 7ac9e07da2f41bced38f7752fb48bc9e82de9bc371855778b3cce18fb692f0db
+EBUILD sun-jdk-1.6.0.29-r1.ebuild 4471 RMD160 22aa825ed3ecd5481564a13dfee6cf564c063362 SHA1 9058c378c5926ae3ff30b225ba90f355350c51fa SHA256 a527d713a64b2f1cbe7c49d03816d43fa092107d8bedf9369f0a705737aecd06
 EBUILD sun-jdk-1.6.0.29.ebuild 4645 RMD160 1d22065eeef6f8b1a9824c056badd9621acec098 SHA1 1099e676a61847bc4a9d8458ab7378f6cdc1ee11 SHA256 2992ec2784417e44ed67100b56de9bdd73e759b1cab63dfe24cf265fb9077e5f
-MISC ChangeLog 57360 RMD160 d5c6b9fe55cdac090b947e9e8e04b74ad9578bf3 SHA1 1ab148749d1e1bc843f64df4e89f21fc1f6716af SHA256 8ef795517b0bd4682870f2d0204d5ac1f1e21ae323a10d7b57c3e059618637f3
+MISC ChangeLog 57519 RMD160 8a30971bc032b962d6a20b4f086eb4c924460311 SHA1 9474ac39783aaa69abf07965b667cc7b0ff29441 SHA256 2c4e8df9e49ed4e420288c2feb4b5b1939075ec5dbd667fc0d23dc2f8367e747
 MISC metadata.xml 429 RMD160 e6edae84d0d56c48e9d6e631d1f0612535f26f2d SHA1 4b6faf61f3869bbbccc405c7c07932dd630737ea SHA256 2fef8162216b2e78806cdc6ba5b0ff2619a482aa3ce0ecf909ffa17ba309428c
diff --git a/dev-java/sun-jdk/sun-jdk-1.6.0.29-r1.ebuild b/dev-java/sun-jdk/sun-jdk-1.6.0.29-r1.ebuild
new file mode 100644 (file)
index 0000000..2de98c3
--- /dev/null
@@ -0,0 +1,148 @@
+# Copyright 1999-2011 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.29-r1.ebuild,v 1.1 2011/11/21 13:26:03 sera Exp $
+
+EAPI="4"
+
+inherit java-vm-2 eutils prefix versionator
+
+MY_PV="$(get_version_component_range 2)u$(get_version_component_range 4)"
+S_PV="$(replace_version_separator 3 '_')"
+
+X86_AT="jdk-${MY_PV}-linux-i586.bin"
+AMD64_AT="jdk-${MY_PV}-linux-x64.bin"
+
+# check the URIs when bumping, no idea about their stability yet
+JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/jdk-${MY_PV}-download-513648.html"
+
+DESCRIPTION="Oracle's Java SE Development Kit"
+HOMEPAGE="http://www.oracle.com/technetwork/java/javase/"
+SRC_URI="x86? ( ${X86_AT} )
+       amd64? ( ${AMD64_AT} )"
+
+LICENSE="Oracle-BCLA-JavaSE"
+KEYWORDS="~amd64 ~x86"
+SLOT="1.6"
+IUSE="X alsa derby doc examples jce nsplugin"
+
+RESTRICT="fetch strip"
+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"
+
+RDEPEND="${DEPEND}
+       doc? ( dev-java/java-sdk-docs:1.6.0 )
+       !prefix? ( sys-libs/glibc )
+       alsa? ( media-libs/alsa-lib )
+       X? (
+               x11-libs/libXext
+               x11-libs/libXi
+               x11-libs/libXrender
+               x11-libs/libXtst
+               x11-libs/libX11
+       )"
+DEPEND="jce? ( dev-java/sun-jce-bin:1.6 )"
+
+S="${WORKDIR}/jdk${S_PV}"
+
+pkg_nofetch() {
+       if use x86; then
+               AT=${X86_AT}
+       elif use amd64; then
+               AT=${AMD64_AT}
+       fi
+
+       einfo "Due to Oracle no longer providing the distro-friendly DLJ bundles, the package has become fetch restricted again."
+       einfo "Alternatives are switching to dev-java/icedtea-bin:6 or the source-based dev-java/icedtea:6"
+
+       einfo "Please download ${AT} from:"
+       einfo "${JDK_URI}"
+       einfo "and move it to ${DISTDIR}"
+}
+
+src_unpack() {
+       sh "${DISTDIR}"/${A} -noregister || die "Failed to unpack"
+}
+
+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
+               "${S}"/bin/java -client -Xshare:dump || die
+       fi
+       "${S}"/bin/java -server -Xshare:dump || die
+}
+
+src_install() {
+       # 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 /opt/${P}
+       cp -pPR bin include jre lib man src.zip "${ED}"/opt/${P} || die
+
+       if use derby; then
+               cp -pPR db "${ED}"/opt/${P} || die
+       fi
+
+       if use examples; then
+               cp -pPR demo sample "${ED}"/opt/${P} || die
+       fi
+
+       # Remove empty dirs we might have copied
+       rmdir -v $(find "${D}" -type d -empty) || die
+
+       dodoc COPYRIGHT
+       dohtml README.html
+
+       if use jce; then
+               dodir /opt/${P}/jre/lib/security/strong-jce
+               mv "${ED}"/opt/${P}/jre/lib/security/US_export_policy.jar \
+                       "${ED}"/opt/${P}/jre/lib/security/strong-jce || die
+               mv "${ED}"/opt/${P}/jre/lib/security/local_policy.jar \
+                       "${ED}"/opt/${P}/jre/lib/security/strong-jce || die
+               dosym /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/US_export_policy.jar \
+                       /opt/${P}/jre/lib/security/US_export_policy.jar
+               dosym /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/local_policy.jar \
+                       /opt/${P}/jre/lib/security/local_policy.jar
+       fi
+
+       if use nsplugin; then
+               install_mozilla_plugin /opt/${P}/jre/lib/${arch}/libnpjp2.so
+       fi
+
+       # Install desktop file for the Java Control Panel. Using VMHANDLE as file
+       # name to prevent file collision with jre and or other slots.
+       [[ -f "${ED}"/opt/${P}/jre/lib/desktop/applications/sun_java.desktop ]] || die
+       sed -e "s/\(Name=\)Java/\1 Java Control Panel for Oracle JDK ${SLOT} (sun-jdk)/" \
+               -e "s#Exec=.*#Exec=/opt/${P}/jre/bin/jcontrol#" \
+               -e "s#Icon=.*#Icon=/opt/${P}/jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png#" \
+               "${ED}"/opt/${P}/jre/lib/desktop/applications/sun_java.desktop > \
+               "${T}"/${VMHANDLE}.desktop
+
+       domenu "${T}"/${VMHANDLE}.desktop
+
+       # bug #56444
+       cp "${FILESDIR}"/fontconfig.Gentoo.properties-r1 "${T}"/fontconfig.properties || die
+       eprefixify "${T}"/fontconfig.properties
+       insinto /opt/${P}/jre/lib/
+       doins "${T}"/fontconfig.properties
+
+       set_java_env "${FILESDIR}/${VMHANDLE}.env-r1"
+       java-vm_revdep-mask
+}