* [gentoo-commits] gentoo-x86 commit in dev-java/icedtea/files: icedtea-6_pax_kernel_support.patch
@ 2012-02-06 6:49 Ralph Sennhauser (sera)
0 siblings, 0 replies; only message in thread
From: Ralph Sennhauser (sera) @ 2012-02-06 6:49 UTC (permalink / raw
To: gentoo-commits
sera 12/02/06 06:49:00
Added: icedtea-6_pax_kernel_support.patch
Log:
Version bump, move from java-overlay.
Always uses CACAO as best alternative JVM if HotSpot isn't available.
USE=-X, don't install X11GraphicsEnvironment. #399367
Add revdep mask for reduced installs. (-X, -alsa, -cups) #400691, #401621
(Portage version: 2.1.10.44/cvs/Linux x86_64)
Revision Changes Path
1.1 dev-java/icedtea/files/icedtea-6_pax_kernel_support.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/icedtea/files/icedtea-6_pax_kernel_support.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/icedtea/files/icedtea-6_pax_kernel_support.patch?rev=1.1&content-type=text/plain
Index: icedtea-6_pax_kernel_support.patch
===================================================================
Author: Ralph Sennhaser <sera@gentoo.org>
The idea is to apply the pax markings before using a freshly built jdk. Be it
for running tests or building additonal vms or after bootstrap to build the
final jdk.
There are currently two types of pax markings with the userspace utilities
chpax and paxctl. Both types of pax marking are base on modifing the ELFs. A
third type based on xattrs is in development.
diff --git a/Makefile.am b/Makefile.am
index 82ef261..e17fa5f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -421,7 +421,7 @@ else
ICEDTEA_PATCHES += patches/nss-not-enabled-config.patch
endif
-if HAS_PAX
+if WITH_PAX
ICEDTEA_PATCHES += patches/no-test_gamma.patch
endif
@@ -450,7 +450,7 @@ ICEDTEA_ECJ_PATCHES += patches/ecj/cp40188-opengl.patch
endif
endif
-if !HAS_PAX
+if !WITH_PAX
ICEDTEA_ECJ_PATCHES += patches/ecj/no-test_gamma.patch
endif
@@ -1359,6 +1359,7 @@ stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \
$(ICEDTEA_ENV) \
-C openjdk \
$(ICEDTEA_BUILD_TARGET)
+ $(abs_top_builddir)/pax-mark-vm $(BUILD_OUTPUT_DIR)/j2sdk-image
mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)
mkdir -p $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR)
mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext
@@ -1586,6 +1587,7 @@ stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \
$(ICEDTEA_ENV_ECJ) \
-C openjdk-ecj/ \
$(ICEDTEA_BUILD_TARGET)
+ $(abs_top_builddir)/pax-mark-vm $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image
@echo "ecj-poured IcedTea is served:" \
$(ECJ_BUILD_OUTPUT_DIR)
mkdir -p stamps
diff --git a/acinclude.m4 b/acinclude.m4
index 503131c..e80b209 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1677,3 +1677,49 @@ AM_CONDITIONAL([CP39408_JAVAH], test x"${it_cv_cp39408_javah}" = "xyes")
AM_CONDITIONAL([CP40188_JAVAH], test x"${it_cv_cp40188_javah}" = "xyes")
AC_PROVIDE([$0])dnl
])
+
+AC_DEFUN_ONCE([IT_WITH_PAX],
+[
+ AC_MSG_CHECKING([for pax utility to use])
+ AC_ARG_WITH([pax],
+ [AS_HELP_STRING(--with-pax=COMMAND,the command used for pax marking)],
+ [
+ PAX_COMMAND=${withval}
+ if test "x${PAX_COMMAND}" = "xno"; then
+ PAX_COMMAND="not specified"
+ fi
+ ],
+ [
+ PAX_COMMAND="not specified"
+ ])
+ case "x${PAX_COMMAND}" in
+ xchpax)
+ case "${host_cpu}" in
+ i?86)
+ PAX_COMMAND_ARGS="-msp"
+ ;;
+ *)
+ PAX_COMMAND_ARGS="-m"
+ ;;
+ esac
+ ;;
+ xpaxctl)
+ case "${host_cpu}" in
+ i?86)
+ PAX_COMMAND_ARGS="-msp"
+ ;;
+ *)
+ PAX_COMMAND_ARGS="-m"
+ ;;
+ esac
+ ;;
+ *)
+ PAX_COMMAND="not specified"
+ PAX_COMMAND_ARGS="not specified"
+ ;;
+ esac
+ AM_CONDITIONAL(WITH_PAX, test "x${PAX_COMMAND}" != "xnot specified")
+ AC_MSG_RESULT(${PAX_COMMAND})
+ AC_SUBST(PAX_COMMAND)
+ AC_SUBST(PAX_COMMAND_ARGS)
+])
diff --git a/configure.ac b/configure.ac
index 580840e..f37ef68 100644
--- a/configure.ac
+++ b/configure.ac
@@ -51,7 +51,6 @@ IT_CHECK_GCC_VERSION
IT_CHECK_NUMBER_OF_PARALLEL_JOBS
IT_CP_SUPPORTS_REFLINK
IT_CAN_HARDLINK_TO_SOURCE_TREE
-IT_CHECK_FOR_PAX
IT_LOCATE_NSS
# Use xvfb-run if found to run gui tests (check-jdk).
@@ -189,6 +188,9 @@ IT_WITH_TZDATA_DIR
IT_GETDTDTYPE_CHECK
IT_JAVAH
+IT_WITH_PAX
+AC_CONFIG_FILES([pax-mark-vm], [chmod +x pax-mark-vm])
+
dnl pkgconfig cannot be used to find these headers and libraries.
AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
,[AC_MSG_ERROR("CUPS headers were not found -
diff --git a/pax-mark-vm.in b/pax-mark-vm.in
new file mode 100644
index 0000000..bdff735
--- /dev/null
+++ b/pax-mark-vm.in
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Taken from Gentoo's pax-utils.eclass
+list_paxables() {
+ file "$@" 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//'
+}
+
+if test "@PAX_COMMAND@" != "not specified"; then
+ for paxable in `list_paxables "${1}"/bin/* "${1}"/jre/bin/*`; do
+ echo "PaX mark @PAX_COMMAND_ARGS@ ${paxable}"
+ @PAX_COMMAND@ @PAX_COMMAND_ARGS@ "${paxable}"
+ done
+fi
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-02-06 6:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-06 6:49 [gentoo-commits] gentoo-x86 commit in dev-java/icedtea/files: icedtea-6_pax_kernel_support.patch Ralph Sennhauser (sera)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox