mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-05 04:16:46 +02:00
main/openjdk6: remove as superceded by openjdk7
This commit is contained in:
parent
3ef61caf02
commit
bb62ff0be2
@ -1,261 +0,0 @@
|
||||
# Contributor: Timo Teras <timo.teras@iki.fi>
|
||||
# Maintainer: Timo Teras <timo.teras@iki.fi>
|
||||
pkgname=openjdk6
|
||||
_icedteaver=1.12.8
|
||||
_openjdkbuild=27
|
||||
pkgver=6.$_openjdkbuild.$_icedteaver
|
||||
pkgrel=1
|
||||
pkgdesc="Sun OpenJDK 6 via IcedTea"
|
||||
url="http://icedtea.classpath.org/"
|
||||
arch="x86 x86_64"
|
||||
license="GPL-2 with Classpath"
|
||||
depends="$pkgname-jre"
|
||||
options="sover-namecheck"
|
||||
makedepends="findutils tar zip paxctl gawk pkgconfig util-linux
|
||||
autoconf automake nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev
|
||||
libxp-dev libxtst-dev libxinerama-dev libiconv-dev
|
||||
libxrender-dev alsa-lib-dev freetype-dev xulrunner-dev
|
||||
gtk+2.0-dev ca-certificates libxslt zip"
|
||||
install=""
|
||||
|
||||
INSTALL_BASE=/usr/lib/jvm/java-1.6-openjdk
|
||||
|
||||
if [ "$BOOTSTRAP" != "no" ]; then
|
||||
makedepends="$makedepends java-gcj-compat"
|
||||
BOOTSTRAP_JAVA_HOME="/usr/lib/jvm/java-1.5-gcj/"
|
||||
else
|
||||
makedepends="$makedepends $pkgname"
|
||||
BOOTSTRAP_JAVA_HOME="$INSTALL_BASE"
|
||||
fi
|
||||
|
||||
OPENJDK_VERSION=b$_openjdkbuild
|
||||
OPENJDK_DATE=26_oct_2012
|
||||
RHINO_VER=1_7R3
|
||||
ANT_VER=1.9.2
|
||||
|
||||
case $CARCH in
|
||||
x86) _jarch=i386;;
|
||||
x86_64) _jarch=amd64;;
|
||||
arm) _jarch=arm;;
|
||||
esac
|
||||
|
||||
# exclude xawt from ldpath to avoid duplicate provides for libmawt.so (also in
|
||||
# headless).
|
||||
# infuture this should be a virtual provides
|
||||
_jrelib="$INSTALL_BASE/jre/lib/$_jarch"
|
||||
ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli"
|
||||
somask="libjvm.so"
|
||||
|
||||
subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase
|
||||
$pkgname-doc:doc"
|
||||
source="http://download.java.net/openjdk/jdk6/promoted/$OPENJDK_VERSION/openjdk-6-src-$OPENJDK_VERSION-$OPENJDK_DATE.tar.gz
|
||||
http://icedtea.classpath.org/download/source/icedtea6-$_icedteaver.tar.gz
|
||||
http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz
|
||||
ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_VER.zip
|
||||
icedtea-hotspot-uclibc-fixes.patch
|
||||
icedtea-hotspot-musl.patch
|
||||
icedtea-hotspot-noagent-musl.patch
|
||||
icedtea-jdk-fix-ipv6-init.patch
|
||||
icedtea-jdk-iconv-uclibc.patch
|
||||
icedtea-jdk-execinfo.patch
|
||||
icedtea-jdk-musl.patch
|
||||
icedtea-jdk-no-lib-nsl-uclibc.patch
|
||||
icedtea6-1.9.7-generate_cacerts-1.patch
|
||||
icedtea-jdk-no-soname.patch
|
||||
fix-with-pax.patch
|
||||
"
|
||||
|
||||
_builddir="$srcdir/icedtea6-$_icedteaver"
|
||||
|
||||
unpack() {
|
||||
if [ -z "$force" ]; then
|
||||
verify || return 1
|
||||
initdcheck || return 1
|
||||
fi
|
||||
mkdir -p "$srcdir"
|
||||
msg "Unpacking sources..."
|
||||
tar -C "$srcdir" -zxf icedtea6-$_icedteaver.tar.gz || return 1
|
||||
tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.tar.gz || return 1
|
||||
unzip -o -q "rhino$RHINO_VER.zip" -d "$srcdir" || return 1
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "$_builddir"
|
||||
|
||||
# Busybox sha256 does not support longopts
|
||||
sed -e "s/--check/-c/g" -i Makefile.am
|
||||
|
||||
for patch in $source; do
|
||||
case $patch in
|
||||
icedtea-*.patch)
|
||||
cp ../$patch patches
|
||||
;;
|
||||
*.patch)
|
||||
msg "Applying patch $patch"
|
||||
patch -p1 -i "$srcdir"/$patch || return 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
[ -z "$JOBS" ] && export JOBS=`echo $MAKEFLAGS | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p'`
|
||||
export JAVA_HOME=$BOOTSTRAP_JAVA_HOME
|
||||
export PATH=$JAVA_HOME/bin:$srcdir/apache-ant-$ANT_VER/bin:$PATH
|
||||
export DISTRIBUTION_PATCHES=""
|
||||
|
||||
local patch
|
||||
for patch in $source; do
|
||||
case $patch in
|
||||
icedtea-*.patch)
|
||||
export DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
echo "icedtea patches: $DISTRIBUTION_PATCHES"
|
||||
|
||||
local _bootstrap=""
|
||||
[ "$BOOTSTRAP" = "no" ] && _bootstrap="--disable-bootstrap"
|
||||
|
||||
cd "$_builddir"
|
||||
sh autogen.sh
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--host=$CHOST \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--disable-dependency-tracking \
|
||||
--disable-downloading \
|
||||
--with-parallel-jobs=${JOBS:-2} \
|
||||
--enable-cacerts \
|
||||
--with-ca-dir=/etc/ssl/certs \
|
||||
--with-jdk-home=$BOOTSTRAP_JAVA_HOME \
|
||||
--with-pax=paxctl \
|
||||
$_bootstrap \
|
||||
--with-openjdk-src-zip=$srcdir/openjdk-6-src-$OPENJDK_VERSION-$OPENJDK_DATE.tar.gz \
|
||||
--with-ant-home=$srcdir/apache-ant-$ANT_VER \
|
||||
--with-rhino=$srcdir/rhino$RHINO_VER/js.jar \
|
||||
--with-pkgversion="Alpine ${pkgver}-r${pkgrel}" \
|
||||
--with-abs-install-dir="$INSTALL_BASE" \
|
||||
|| return 1
|
||||
|
||||
make || return 1
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"/$INSTALL_BASE
|
||||
cp -a "$_builddir"/openjdk.build/j2sdk-image/* "$pkgdir"/$INSTALL_BASE
|
||||
rm "$pkgdir"/$INSTALL_BASE/src.zip
|
||||
scanelf --nobanner "$pkgdir"/$INSTALL_BASE/bin/* | awk '{print $2}' \
|
||||
| xargs paxctl -c -mr
|
||||
}
|
||||
|
||||
jrelib() {
|
||||
pkgdesc="OpenJDK 6 Java Runtime (class libraries)"
|
||||
arch="noarch"
|
||||
depends=""
|
||||
|
||||
for A in jre/lib/zi jre/lib/images jre/lib/*.jar jre/lib/security \
|
||||
jre/lib/ext/*.jar jre/lib/cmm jre/ASSEMBLY_EXCEPTION \
|
||||
jre/THIRD_PARTY_README jre/LICENSE ; do
|
||||
dirname=${A%/*}
|
||||
mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
|
||||
mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
|
||||
done
|
||||
}
|
||||
|
||||
jrebase() {
|
||||
pkgdesc="OpenJDK 6 Java Runtime (no GUI support)"
|
||||
depends="$pkgname-jre-lib java-common"
|
||||
# manually provide this to avoid clash with libgcj's libjvm.so
|
||||
provides="so:openjdk6:libjvm.so=0"
|
||||
|
||||
mkdir -p "$subpkgdir"/$INSTALL_BASE/bin
|
||||
|
||||
for A in java orbd rmid servertool unpack200 keytool \
|
||||
pack200 rmiregistry tnameserv ; do
|
||||
mv "$pkgdir"/$INSTALL_BASE/bin/$A "$subpkgdir"/$INSTALL_BASE/bin
|
||||
done
|
||||
|
||||
# rest of the jre subdir (which were not taken by -jre subpkg)
|
||||
mv "$pkgdir"/$INSTALL_BASE/jre "$subpkgdir"/$INSTALL_BASE
|
||||
|
||||
# all java stuff seems to need mprotect and randomization off
|
||||
# or otherwise the vm fails to allocate enough memory
|
||||
paxctl -c -mr \
|
||||
"$subpkgdir"/$INSTALL_BASE/bin/* \
|
||||
"$subpkgdir"/$INSTALL_BASE/jre/bin/*
|
||||
}
|
||||
|
||||
jre() {
|
||||
pkgdesc="OpenJDK 6 Java Runtime"
|
||||
# manually depend to avoid clash with libgcj's libjvm.so
|
||||
depends="so:openjdk6:libjvm.so=0"
|
||||
|
||||
mkdir -p "$subpkgdir"
|
||||
for A in jre/bin/policytool \
|
||||
bin/appletviewer \
|
||||
bin/policytool \
|
||||
jre/lib/$_jarch/xawt \
|
||||
jre/lib/$_jarch/libsplashscreen.so ; do
|
||||
dirname=${A%/*}
|
||||
mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
|
||||
mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
|
||||
done
|
||||
}
|
||||
|
||||
doc() {
|
||||
default_doc
|
||||
|
||||
mkdir -p "$subpkgdir"/$INSTALL_BASE/
|
||||
mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/
|
||||
}
|
||||
|
||||
md5sums="3a0963158e07c8829c8bd31a698bd23d openjdk-6-src-b27-26_oct_2012.tar.gz
|
||||
7712c4b3b9f8092aa8c7b5cad0b46d06 icedtea6-1.12.8.tar.gz
|
||||
9a2826a1819aa128629778217af36c55 apache-ant-1.9.2-bin.tar.gz
|
||||
99d94103662a8d0b571e247a77432ac5 rhino1_7R3.zip
|
||||
58c107b4c03cd365b4ddf0bfd8179cc4 icedtea-hotspot-uclibc-fixes.patch
|
||||
e9beae91433317ccf785bccafaf53b1b icedtea-hotspot-musl.patch
|
||||
50ccd48072537d6e9bc562cb65431871 icedtea-hotspot-noagent-musl.patch
|
||||
250b0807b59762670954b132e8f8dfba icedtea-jdk-fix-ipv6-init.patch
|
||||
7c0814181e5adc0763c5c0a24b01d4cb icedtea-jdk-iconv-uclibc.patch
|
||||
bd623081d5d2e63694c3649975b12412 icedtea-jdk-execinfo.patch
|
||||
9c7810cb0ff1e89935690e4810199c1f icedtea-jdk-musl.patch
|
||||
c4bb40d5b1ff690b27900c5cd06bc1e5 icedtea-jdk-no-lib-nsl-uclibc.patch
|
||||
0bc0131c87fcc0d1046e3ba20d205c73 icedtea6-1.9.7-generate_cacerts-1.patch
|
||||
d014431e70cdabb82a75e4b9ae4c28a9 icedtea-jdk-no-soname.patch
|
||||
d2999b5b67afe485554d14ecd1aa6046 fix-with-pax.patch"
|
||||
sha256sums="044c3877b15940ff04f8aa817337f2878a00cc89674854557f1a02f15b1802a0 openjdk-6-src-b27-26_oct_2012.tar.gz
|
||||
c2ad74af29af774f778675d3fde952f4defebb2be44f565253d788e2e7af39d4 icedtea6-1.12.8.tar.gz
|
||||
cab1b8754e5f1f2aa869e2ba603903ae5e81a585de4eafd00f173531a11b5a45 apache-ant-1.9.2-bin.tar.gz
|
||||
885b46e24fe5af23ad3712c5e08e8d97d6d92a4b89e1be860e8fe88e4a3dacd1 rhino1_7R3.zip
|
||||
6f3642c6c29b8be6c5fe0f204183bc05e57459546ea64de0491713963b8a8ebd icedtea-hotspot-uclibc-fixes.patch
|
||||
d3ad6890f6732f0a87a44de0914fe4146078c204808573118ff7716142f67823 icedtea-hotspot-musl.patch
|
||||
3332640b95773532c197d7d8818bfb2ee3217093e4a6bc57914bda355423c842 icedtea-hotspot-noagent-musl.patch
|
||||
632683ec88a6fb250ef043aae9cace605d0c669b7058f8c47b62b09b03ecc6c5 icedtea-jdk-fix-ipv6-init.patch
|
||||
a36ff13d81a1f1415bedd595b77f2c43574c546938cce7882cb33bbe63464865 icedtea-jdk-iconv-uclibc.patch
|
||||
6cebef19d8eec5a4623a96c37ae71b79d124a10478c1db33ad5fc71bc04b30e9 icedtea-jdk-execinfo.patch
|
||||
7c5dc3744be7394c106ced3418ce8eb5a0860660d11dce8eb95c6b4faf630958 icedtea-jdk-musl.patch
|
||||
6bba2870af0c5eac7b6edb7351e8e1833db401b1bf6b4861a14dcb1fd45cbea6 icedtea-jdk-no-lib-nsl-uclibc.patch
|
||||
f83dea0ee1d11deceb45d643cf0cce84099775de88b972e3ea979a8529bf4c85 icedtea6-1.9.7-generate_cacerts-1.patch
|
||||
6c0bbe710395c4ced1359ab279be6a7c36da5bfb9fd60dc47d920f06a0456d82 icedtea-jdk-no-soname.patch
|
||||
b6aab36220a1318f344573041c28885cfa5ab6e21f393995f47c19db9f09917c fix-with-pax.patch"
|
||||
sha512sums="4198f11b2f49c9bc5ffbeadf2d0d87dfa413a918d49faff3a043266bf4a2fa99579fba3c6d75164d87e88b8fc5c97c3c1527560eb25c55cdd42ad813c8e175e8 openjdk-6-src-b27-26_oct_2012.tar.gz
|
||||
8e1cdf4124ee7b7c67f1832043546aea530de98ace3bb2177a5015c24aa81f8fd5f5b2a84f3dee7fb83cfb1680eef1fa17af0464c73a6b8947926a2d2c91d202 icedtea6-1.12.8.tar.gz
|
||||
618c0c3d80f7c44c2bb8cdfdc2b5278ccd926ab1aa0c8f7099bd0ad5cb4c090f023c0b86c8267052a0a6b1ac57076296fcc16042b9e7a72a1482af63c99e0e49 apache-ant-1.9.2-bin.tar.gz
|
||||
77964485481e22d20459ea094c773e1930c5ef22d69bc449375a1ead31f340b3a652e2dd85c645e210be1abc8e623aeb560a5dc81629f388322af270ce868d36 rhino1_7R3.zip
|
||||
1fcc9d22bdc0a991e1739f2d15db73c7ada7640223eb79a9db3bfe106c39b0228e9196af10eba754a2f3f6f26b9b2c4b814be23b3149f72103a369bbc5c0fae8 icedtea-hotspot-uclibc-fixes.patch
|
||||
8039e155511e066e4c7031b0ad4fe721a86f3be859e949f2e30fda5cefb04d4e1cf64059f6603325f5f13434855346931659c07b1e8527959767f3ff7f83df7b icedtea-hotspot-musl.patch
|
||||
f079b4f353a54b8927609c3ce2836ccce0495830557de0c66402e3a0e3f30f08dec4832e4b2fab6fc57d1dbedd1ef93fb15d994ebcec823663cd5a6e90c14c8a icedtea-hotspot-noagent-musl.patch
|
||||
48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774 icedtea-jdk-fix-ipv6-init.patch
|
||||
a6ee1c63a171859ab1350481bc3e5d464354f1105d80fc72c1d58620672ca5c1a550b954b35917f89537f0aeb28c49470b27522ce53588e42dedff41e074774c icedtea-jdk-iconv-uclibc.patch
|
||||
0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb icedtea-jdk-execinfo.patch
|
||||
fb9b324763e75a24b7174a5b25a064947d31f25b51e45b3b5225adf02a6eae98467aa1d0edfe606e93621b560900ab4c5acab09be411edff86cd82f6ba830cd3 icedtea-jdk-musl.patch
|
||||
833ec90fa9d3d26191303201012e4b8ca220d634497277f7e8c703ca03753720343e22c97dd2f10cd3e3be79c84f95b8c7d0db21545b8a35761c0de7cb834e7a icedtea-jdk-no-lib-nsl-uclibc.patch
|
||||
5fbf3571abd6e0eece8fecd45365996ff83368d674782da3435681afdd6cbb51c6da7e8e4d9ca3ba767a1d373a01d0a4109d1c9bf9b93109a34accaee134a8ab icedtea6-1.9.7-generate_cacerts-1.patch
|
||||
bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1 icedtea-jdk-no-soname.patch
|
||||
7f8ce4b35856ec8c023bdca682773bebeebe9c11652259b968efad370be24885c22bf7bdd687c6665385ca89f75a7df38429e5a7ea4828cdd8be49fce3f8878c fix-with-pax.patch"
|
||||
@ -1,26 +0,0 @@
|
||||
--- icedtea6-1.12.6/acinclude.m4.orig
|
||||
+++ icedtea6-1.12.6/acinclude.m4
|
||||
@@ -1948,10 +1948,10 @@
|
||||
xpaxctl)
|
||||
case "${host_cpu}" in
|
||||
i?86)
|
||||
- PAX_COMMAND_ARGS="-msp"
|
||||
+ PAX_COMMAND_ARGS="-c -msp"
|
||||
;;
|
||||
*)
|
||||
- PAX_COMMAND_ARGS="-m"
|
||||
+ PAX_COMMAND_ARGS="-c -m"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
--- icedtea6-1.12.6/Makefile.am.orig
|
||||
+++ icedtea6-1.12.6/Makefile.am
|
||||
@@ -2192,7 +2192,7 @@
|
||||
fi
|
||||
rm -f stamps/add-tzdata-support-ecj.stamp
|
||||
|
||||
-stamps/add-archive-ecj.stamp: stamps/icedtea-ecj.stamp
|
||||
+stamps/add-archive-ecj.stamp: stamps/icedtea-ecj.stamp stamps/pax-mark-vm-ecj.stamp
|
||||
if !ENABLE_JAMVM
|
||||
if !ENABLE_CACAO
|
||||
if !ZERO_BUILD
|
||||
@ -1,55 +0,0 @@
|
||||
--- openjdk.orig/hotspot/src/os/linux/vm/jvm_linux.cpp
|
||||
+++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp
|
||||
@@ -159,7 +159,9 @@
|
||||
#ifdef SIGSTKFLT
|
||||
"STKFLT", SIGSTKFLT, /* Stack fault. */
|
||||
#endif
|
||||
+#ifdef SIGCLD
|
||||
"CLD", SIGCLD, /* Same as SIGCHLD (System V). */
|
||||
+#endif
|
||||
"CHLD", SIGCHLD, /* Child status has changed (POSIX). */
|
||||
"CONT", SIGCONT, /* Continue (POSIX). */
|
||||
"STOP", SIGSTOP, /* Stop, unblockable (POSIX). */
|
||||
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.inline.hpp
|
||||
+++ openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <netdb.h>
|
||||
|
||||
inline void* os::thread_local_storage_at(int index) {
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
|
||||
@@ -31,7 +31,9 @@
|
||||
// map stack pointer to thread pointer - see notes in threadLS_linux_x86.cpp
|
||||
#define SP_BITLENGTH 32
|
||||
#define PAGE_SHIFT 12
|
||||
+ #ifndef PAGE_SIZE
|
||||
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||||
+ #endif
|
||||
static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)];
|
||||
#endif // !AMD64
|
||||
|
||||
--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
|
||||
@@ -79,7 +79,6 @@
|
||||
# include <pwd.h>
|
||||
# include <poll.h>
|
||||
# include <ucontext.h>
|
||||
-# include <fpu_control.h>
|
||||
|
||||
#ifdef AMD64
|
||||
#define REG_SP REG_RSP
|
||||
@@ -529,6 +528,9 @@
|
||||
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
+
|
||||
+#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
|
||||
+#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
|
||||
|
||||
void os::Linux::init_thread_fpu_state(void) {
|
||||
#ifndef AMD64
|
||||
@ -1,56 +0,0 @@
|
||||
--- openjdk.orig/hotspot/make/linux/makefiles/sa.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/sa.make
|
||||
@@ -59,9 +59,12 @@
|
||||
|
||||
# if $(AGENT_DIR) does not exist, we don't build SA
|
||||
# also, we don't build SA on Itanium, PowerPC, ARM or zero.
|
||||
+# check for thread_db.h too (musl does not have it).
|
||||
|
||||
all:
|
||||
- if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \
|
||||
+ if [ -d $(AGENT_DIR) \
|
||||
+ -a -f /usr/include/thread_db.h \
|
||||
+ -a "$(SRCARCH)" != "ia64" \
|
||||
-a "$(SRCARCH)" != "arm" \
|
||||
-a "$(SRCARCH)" != "ppc" \
|
||||
-a "$(SRCARCH)" != "zero" ] ; then \
|
||||
--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/saproc.make
|
||||
@@ -54,10 +54,13 @@
|
||||
|
||||
# if $(AGENT_DIR) does not exist, we don't build SA
|
||||
# also, we don't build SA on Itanium, PPC, ARM or zero.
|
||||
+# check for thread_db.h too (musl does not have it).
|
||||
|
||||
+ifneq ($(wildcard /usr/include/thread_db.h),)
|
||||
ifneq ($(wildcard $(AGENT_DIR)),)
|
||||
ifneq ($(filter-out ia64 arm ppc zero,$(SRCARCH)),)
|
||||
BUILDLIBSAPROC = $(LIBSAPROC)
|
||||
+endif
|
||||
endif
|
||||
endif
|
||||
|
||||
--- openjdk.orig/hotspot/make/linux/makefiles/defs.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/defs.make
|
||||
@@ -144,10 +144,17 @@
|
||||
|
||||
# Serviceability Binaries
|
||||
# No SA Support for PPC, IA64, ARM or zero
|
||||
-ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \
|
||||
- $(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
-ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \
|
||||
- $(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
+# or if thread_db.h missing (musl)
|
||||
+
|
||||
+ifneq ($(wildcard /usr/include/thread_db.h),)
|
||||
+SA_BINARY_LIST = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \
|
||||
+ $(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
+else
|
||||
+SA_BINARY_LIST =
|
||||
+endif
|
||||
+
|
||||
+ADD_SA_BINARIES/x86 = $(SA_BINARY_LIST)
|
||||
+ADD_SA_BINARIES/sparc = $(SA_BINARY_LIST)
|
||||
ADD_SA_BINARIES/ppc =
|
||||
ADD_SA_BINARIES/ia64 =
|
||||
ADD_SA_BINARIES/arm =
|
||||
@ -1,101 +0,0 @@
|
||||
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
|
||||
@@ -109,7 +109,6 @@
|
||||
# include <string.h>
|
||||
# include <syscall.h>
|
||||
# include <sys/sysinfo.h>
|
||||
-# include <gnu/libc-version.h>
|
||||
# include <sys/ipc.h>
|
||||
# include <sys/shm.h>
|
||||
# include <link.h>
|
||||
@@ -601,6 +600,13 @@
|
||||
// detecting pthread library
|
||||
|
||||
void os::Linux::libpthread_init() {
|
||||
+#if 1
|
||||
+ // Hard code Alpine Linux supported uclibc/musl compatible settings
|
||||
+ os::Linux::set_glibc_version("glibc 2.9");
|
||||
+ os::Linux::set_libpthread_version("NPTL");
|
||||
+ os::Linux::set_is_NPTL();
|
||||
+ os::Linux::set_is_floating_stack();
|
||||
+#else
|
||||
// Save glibc and pthread version strings. Note that _CS_GNU_LIBC_VERSION
|
||||
// and _CS_GNU_LIBPTHREAD_VERSION are supported in glibc >= 2.3.2. Use a
|
||||
// generic name for earlier versions.
|
||||
@@ -659,6 +665,7 @@
|
||||
if (os::Linux::is_NPTL() || os::Linux::supports_variable_stack_size()) {
|
||||
os::Linux::set_is_floating_stack();
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@@ -2604,11 +2611,7 @@
|
||||
// If we are running with earlier version, which did not have symbol versions,
|
||||
// we should use the base version.
|
||||
void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
|
||||
- void *f = dlvsym(handle, name, "libnuma_1.1");
|
||||
- if (f == NULL) {
|
||||
- f = dlsym(handle, name);
|
||||
- }
|
||||
- return f;
|
||||
+ return dlsym(handle, name);
|
||||
}
|
||||
|
||||
bool os::Linux::libnuma_init() {
|
||||
@@ -4783,7 +4786,25 @@
|
||||
// Linux doesn't yet have a (official) notion of processor sets,
|
||||
// so just return the system wide load average.
|
||||
int os::loadavg(double loadavg[], int nelem) {
|
||||
+#ifdef __UCLIBC__
|
||||
+ FILE *LOADAVG;
|
||||
+ double avg[3] = { 0.0, 0.0, 0.0 };
|
||||
+ int i, res = -1;;
|
||||
+
|
||||
+ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
|
||||
+ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
|
||||
+ res = 0;
|
||||
+ fclose(LOADAVG);
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; (i < nelem) && (i < 3); i++) {
|
||||
+ loadavg[i] = avg[i];
|
||||
+ }
|
||||
+
|
||||
+ return res;
|
||||
+#else
|
||||
return ::getloadavg(loadavg, nelem);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void os::pause() {
|
||||
--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
|
||||
+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
|
||||
@@ -238,14 +238,14 @@
|
||||
// checking for nanness
|
||||
#ifdef SOLARIS
|
||||
#ifdef SPARC
|
||||
-inline int g_isnan(float f) { return isnanf(f); }
|
||||
+inline int g_isnan(float f) { return isnan(f); }
|
||||
#else
|
||||
// isnanf() broken on Intel Solaris use isnand()
|
||||
inline int g_isnan(float f) { return isnand(f); }
|
||||
#endif
|
||||
inline int g_isnan(double f) { return isnand(f); }
|
||||
#elif LINUX
|
||||
-inline int g_isnan(float f) { return isnanf(f); }
|
||||
+inline int g_isnan(float f) { return isnan(f); }
|
||||
inline int g_isnan(double f) { return isnan(f); }
|
||||
#else
|
||||
#error "missing platform-specific definition here"
|
||||
@@ -259,8 +259,8 @@
|
||||
|
||||
// Checking for finiteness
|
||||
|
||||
-inline int g_isfinite(jfloat f) { return finite(f); }
|
||||
-inline int g_isfinite(jdouble f) { return finite(f); }
|
||||
+inline int g_isfinite(jfloat f) { return isfinite(f); }
|
||||
+inline int g_isfinite(jdouble f) { return isfinite(f); }
|
||||
|
||||
|
||||
// Wide characters
|
||||
@ -1,40 +0,0 @@
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed_server.c
|
||||
+++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c
|
||||
@@ -35,7 +35,7 @@
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xatom.h>
|
||||
#include <Xm/MwmUtil.h>
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
|
||||
#include <execinfo.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
@@ -835,7 +835,7 @@
|
||||
AWT_UNLOCK();
|
||||
}
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
|
||||
void
|
||||
print_stack (void)
|
||||
{
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c
|
||||
+++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
|
||||
@@ -27,7 +27,7 @@
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xos.h>
|
||||
#include <X11/Xatom.h>
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
|
||||
#include <execinfo.h>
|
||||
#endif
|
||||
|
||||
@@ -689,7 +689,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
|
||||
void print_stack(void)
|
||||
{
|
||||
void *array[10];
|
||||
@ -1,42 +0,0 @@
|
||||
--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig
|
||||
+++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c
|
||||
@@ -561,7 +561,7 @@
|
||||
|
||||
static struct localinterface *localifs = 0;
|
||||
static int localifsSize = 0; /* size of array */
|
||||
-static int nifs = 0; /* number of entries used in array */
|
||||
+static int nifs = -1; /* number of entries used in array */
|
||||
|
||||
/* not thread safe: make sure called once from one thread */
|
||||
|
||||
@@ -573,6 +573,10 @@
|
||||
int index, x1, x2, x3;
|
||||
unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf;
|
||||
|
||||
+ if (nifs >= 0)
|
||||
+ return ;
|
||||
+ nifs = 0;
|
||||
+
|
||||
if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) {
|
||||
return ;
|
||||
}
|
||||
@@ -601,7 +605,7 @@
|
||||
localifs = (struct localinterface *) realloc (
|
||||
localifs, sizeof (struct localinterface)* (localifsSize+5));
|
||||
if (localifs == 0) {
|
||||
- nifs = 0;
|
||||
+ nifs = -1;
|
||||
fclose (f);
|
||||
return;
|
||||
}
|
||||
@@ -624,9 +628,7 @@
|
||||
static int getLocalScopeID (char *addr) {
|
||||
struct localinterface *lif;
|
||||
int i;
|
||||
- if (localifs == 0) {
|
||||
- initLocalIfs();
|
||||
- }
|
||||
+ initLocalIfs();
|
||||
for (i=0, lif=localifs; i<nifs; i++, lif++) {
|
||||
if (memcmp (addr, lif->localaddr, 16) == 0) {
|
||||
return lif->index;
|
||||
@ -1,39 +0,0 @@
|
||||
Index: openjdk/jdk/make/java/npt/Makefile
|
||||
===================================================================
|
||||
--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200
|
||||
+++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200
|
||||
@@ -65,6 +65,8 @@
|
||||
# We don't want to link against -ljava
|
||||
JAVALIB=
|
||||
|
||||
+LDLIBS += -liconv
|
||||
+
|
||||
# Add -export options to explicitly spell exported symbols
|
||||
ifeq ($(PLATFORM), windows)
|
||||
OTHER_LCF += -export:nptInitialize -export:nptTerminate
|
||||
Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
|
||||
===================================================================
|
||||
--- openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:14.688505195 +0200
|
||||
+++ openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:32.641425670 +0200
|
||||
@@ -123,6 +123,8 @@
|
||||
# We don't want to link against -ljava
|
||||
JAVALIB=
|
||||
|
||||
+LDLIBS += -liconv
|
||||
+
|
||||
#
|
||||
# Add to ambient vpath so we pick up the library files
|
||||
#
|
||||
Index: openjdk/jdk/make/sun/splashscreen/Makefile
|
||||
===================================================================
|
||||
--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200
|
||||
+++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200
|
||||
@@ -55,6 +55,8 @@
|
||||
|
||||
JAVALIB=
|
||||
|
||||
+LDLIBS += -liconv
|
||||
+
|
||||
#
|
||||
# C Flags
|
||||
#
|
||||
@ -1,196 +0,0 @@
|
||||
--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h
|
||||
+++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h
|
||||
@@ -27,6 +27,7 @@
|
||||
#ifndef MLIB_TYPES_H
|
||||
#define MLIB_TYPES_H
|
||||
|
||||
+#include <stddef.h> /* for NULL */
|
||||
#include <limits.h>
|
||||
#if defined(_MSC_VER)
|
||||
#include <float.h> /* for FLT_MAX and DBL_MAX */
|
||||
--- openjdk.orig/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c
|
||||
+++ openjdk/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c
|
||||
@@ -64,11 +64,11 @@
|
||||
#endif /* NO_INTERRUPTIBLE_IO */
|
||||
|
||||
/*
|
||||
- * Linux <sys/resource.h> does not define rlim_t (solaris
|
||||
+ * GLIBC <sys/resource.h> does not define rlim_t (solaris
|
||||
* does). THIS IS PROBABLY NOT THE RIGHT THING TO DO, so
|
||||
* somebody please fix this.
|
||||
*/
|
||||
-#ifdef __linux__
|
||||
+#ifdef __GLIBC__
|
||||
typedef int rlim_t ;
|
||||
#else
|
||||
#include <sys/resource.h>
|
||||
--- openjdk.orig/jdk/src/solaris/native/java/io/UnixFileSystem_md.c
|
||||
+++ openjdk/jdk/src/solaris/native/java/io/UnixFileSystem_md.c
|
||||
@@ -66,7 +66,7 @@
|
||||
* linux_largefile.h with a good stat64 structure to compile on
|
||||
* glibc2.0 based systems.
|
||||
*/
|
||||
-#if defined(__solaris__) && !defined(_LFS_LARGEFILE) || !_LFS_LARGEFILE
|
||||
+#if defined(__solaris__) && (!defined(_LFS_LARGEFILE) || !_LFS_LARGEFILE)
|
||||
|
||||
/* The stat64 structure must be provided for systems without large-file support
|
||||
(e.g., Solaris 2.5.1). These definitions are copied from the Solaris 2.6
|
||||
--- openjdk.orig/jdk/src/solaris/native/java/lang/java_props_md.c
|
||||
+++ openjdk/jdk/src/solaris/native/java/lang/java_props_md.c
|
||||
@@ -45,11 +45,13 @@
|
||||
#include "locale_str.h"
|
||||
#include "java_props.h"
|
||||
|
||||
+#if !defined(CODESET)
|
||||
#ifdef __linux__
|
||||
#define CODESET _NL_CTYPE_CODESET_NAME
|
||||
#else
|
||||
#ifdef ALT_CODESET_KEY
|
||||
#define CODESET ALT_CODESET_KEY
|
||||
+#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
|
||||
+++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
|
||||
@@ -45,6 +45,11 @@
|
||||
#define HENT_BUF_SIZE 1024
|
||||
#define BIG_HENT_BUF_SIZE 10240 /* a jumbo-sized one */
|
||||
|
||||
+/* glibc vs. linux confusion, define glibc locally to fix musl build */
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+#define __GLIBC__
|
||||
+#endif
|
||||
+
|
||||
#ifndef __GLIBC__
|
||||
/* gethostname() is in libc.so but I can't find a header file for it */
|
||||
extern int gethostname(char *buf, int buf_len);
|
||||
--- openjdk.orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
|
||||
+++ openjdk/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
|
||||
@@ -48,6 +48,11 @@
|
||||
#define NI_MAXHOST 1025
|
||||
#endif
|
||||
|
||||
+/* glibc vs. linux confusion, define glibc locally to fix musl build */
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+#define __GLIBC__
|
||||
+#endif
|
||||
+
|
||||
#ifndef __GLIBC__
|
||||
/* gethostname() is in libc.so but I can't find a header file for it */
|
||||
extern int gethostname(char *buf, int buf_len);
|
||||
--- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c
|
||||
+++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c
|
||||
@@ -40,7 +40,6 @@
|
||||
#endif
|
||||
#ifdef __linux__
|
||||
#include <sys/ioctl.h>
|
||||
-#include <bits/ioctls.h>
|
||||
#include <linux/sockios.h>
|
||||
#include <sys/utsname.h>
|
||||
#include <stdio.h>
|
||||
--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c
|
||||
+++ openjdk/jdk/src/solaris/native/java/net/linux_close.c
|
||||
@@ -59,7 +59,7 @@
|
||||
/*
|
||||
* Signal to unblock thread
|
||||
*/
|
||||
-static int sigWakeup = (__SIGRTMAX - 2);
|
||||
+static int sigWakeup;
|
||||
|
||||
/*
|
||||
* The fd table and the number of file descriptors
|
||||
@@ -98,6 +98,7 @@
|
||||
/*
|
||||
* Setup the signal handler
|
||||
*/
|
||||
+ sigWakeup = SIGRTMAX - 2;
|
||||
sa.sa_handler = sig_wakeup;
|
||||
sa.sa_flags = 0;
|
||||
sigemptyset(&sa.sa_mask);
|
||||
--- openjdk.orig/jdk/src/solaris/native/java/util/FileSystemPreferences.c
|
||||
+++ openjdk/jdk/src/solaris/native/java/util/FileSystemPreferences.c
|
||||
@@ -47,7 +47,6 @@
|
||||
return (jint) result;
|
||||
}
|
||||
|
||||
-
|
||||
typedef struct flock64 FLOCK;
|
||||
|
||||
/**
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h
|
||||
+++ openjdk/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
#include <sys/types.h>
|
||||
-#include <sys/unistd.h>
|
||||
+#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#include <signal.h>
|
||||
#include <inttypes.h>
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/EPollArrayWrapper.c
|
||||
+++ openjdk/jdk/src/solaris/native/sun/nio/ch/EPollArrayWrapper.c
|
||||
@@ -34,7 +34,9 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/time.h>
|
||||
+#include <sys/epoll.h>
|
||||
|
||||
+#if 0
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -63,6 +65,7 @@
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#define RESTARTABLE(_cmd, _result) do { \
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
+++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <sys/signal.h>
|
||||
|
||||
/* Also defined in src/solaris/native/java/net/linux_close.c */
|
||||
-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
|
||||
+#define INTERRUPT_SIGNAL (SIGRTMAX - 2)
|
||||
|
||||
static void
|
||||
nullHandler(int sig)
|
||||
--- openjdk.orig/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
|
||||
+++ openjdk/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
|
||||
@@ -27,6 +27,7 @@
|
||||
#define OGLFuncs_md_h_Included
|
||||
|
||||
#include <stdlib.h>
|
||||
+#include <dlfcn.h>
|
||||
#include <link.h>
|
||||
#include "J2D_GL/glx.h"
|
||||
#include "OGLFuncMacros.h"
|
||||
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
|
||||
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
|
||||
@@ -23,9 +23,7 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
-#define ushort unsigned short
|
||||
-#define uint unsigned int
|
||||
-#define uchar unsigned char
|
||||
+#include <sys/types.h>
|
||||
|
||||
struct unpacker;
|
||||
|
||||
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
|
||||
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
|
||||
@@ -46,6 +46,8 @@
|
||||
|
||||
#include "zip.h"
|
||||
|
||||
+#define uchar unsigned char
|
||||
+
|
||||
#ifdef NO_ZLIB
|
||||
|
||||
inline bool jar::deflate_bytes(bytes& head, bytes& tail) {
|
||||
@ -1,84 +0,0 @@
|
||||
--- openjdk.orig/hotspot/agent/src/os/solaris/dbx/Makefile
|
||||
+++ openjdk/hotspot/agent/src/os/solaris/dbx/Makefile
|
||||
@@ -50,7 +50,7 @@
|
||||
CFLAGS_32bit := -xarch=v8
|
||||
CFLAGS_64bit := -xarch=v9
|
||||
CFLAGS := -PIC -xO3 $(INCLUDES)
|
||||
-LIBS := -lsocket -lnsl -lrtld_db
|
||||
+LIBS := -lsocket -lrtld_db
|
||||
LDFLAGS := -G
|
||||
|
||||
ifneq "$(ARCH)" "i486"
|
||||
--- openjdk.orig/jdk/make/java/hpi/hpi_common.gmk
|
||||
+++ openjdk/jdk/make/java/hpi/hpi_common.gmk
|
||||
@@ -86,5 +86,5 @@
|
||||
# Things that must be linked in.
|
||||
#
|
||||
ifneq ($(PLATFORM), windows)
|
||||
-OTHER_LDLIBS += $(LIBSOCKET) -lnsl $(LIBM) -ldl
|
||||
+OTHER_LDLIBS += $(LIBSOCKET) $(LIBM) -ldl
|
||||
endif
|
||||
--- openjdk.orig/jdk/make/java/java/Makefile
|
||||
+++ openjdk/jdk/make/java/java/Makefile
|
||||
@@ -205,7 +205,7 @@
|
||||
OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlibm.lib \
|
||||
-libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib
|
||||
else
|
||||
-OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -lnsl -ldl \
|
||||
+OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -ldl \
|
||||
-L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH)
|
||||
endif
|
||||
|
||||
--- openjdk.orig/jdk/make/java/java_hprof_demo/Makefile
|
||||
+++ openjdk/jdk/make/java/java_hprof_demo/Makefile
|
||||
@@ -83,7 +83,7 @@
|
||||
ifeq ($(PLATFORM), windows)
|
||||
OTHER_LDLIBS += wsock32.lib winmm.lib
|
||||
else
|
||||
- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
|
||||
+ OTHER_LDLIBS += $(LIBSOCKET) -ldl
|
||||
endif
|
||||
|
||||
#
|
||||
--- openjdk.orig/jdk/make/java/net/Makefile
|
||||
+++ openjdk/jdk/make/java/net/Makefile
|
||||
@@ -97,7 +97,7 @@
|
||||
# Will not compile at warning level 3 if warnings are fatal
|
||||
COMPILER_WARNINGS_FATAL=false
|
||||
else
|
||||
- OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB)
|
||||
+ OTHER_LDLIBS = $(LIBSOCKET) -ldl $(JVMLIB)
|
||||
endif
|
||||
ifeq ($(PLATFORM), linux)
|
||||
OTHER_LDLIBS += -lpthread
|
||||
--- openjdk.orig/jdk/make/jpda/transport/socket/Makefile
|
||||
+++ openjdk/jdk/make/jpda/transport/socket/Makefile
|
||||
@@ -42,11 +42,11 @@
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
- OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread
|
||||
+ OTHER_LDLIBS += $(LIBSOCKET) -lpthread
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
- OTHER_LDLIBS += -lnsl $(LIBSOCKET)
|
||||
+ OTHER_LDLIBS += $(LIBSOCKET)
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
--- openjdk.orig/jdk/make/mkdemo/jvmti/hprof/Makefile
|
||||
+++ openjdk/jdk/make/mkdemo/jvmti/hprof/Makefile
|
||||
@@ -39,10 +39,10 @@
|
||||
EXTRA_LIBS += wsock32.lib winmm.lib
|
||||
endif
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
|
||||
+ OTHER_LDLIBS += $(LIBSOCKET) -ldl
|
||||
endif
|
||||
ifeq ($(PLATFORM), linux)
|
||||
- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl -lpthread
|
||||
+ OTHER_LDLIBS += $(LIBSOCKET) -ldl -lpthread
|
||||
endif
|
||||
|
||||
#
|
||||
@ -1,12 +0,0 @@
|
||||
--- ./openjdk/jdk/make/common/Defs-linux.gmk.orig
|
||||
+++ ./openjdk/jdk/make/common/Defs-linux.gmk
|
||||
@@ -248,7 +248,9 @@
|
||||
#
|
||||
LDFLAGS_OPT = -Xlinker -O1
|
||||
LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
|
||||
+ifdef LIBRARY
|
||||
LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
|
||||
+endif
|
||||
|
||||
#
|
||||
# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
|
||||
@ -1,341 +0,0 @@
|
||||
--- icedtea6-1.10.4/Makefile.am
|
||||
+++ icedtea6-1.10.4.mod/Makefile.am
|
||||
@@ -1376,6 +1376,19 @@
|
||||
if ENABLE_JAMVM
|
||||
printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
|
||||
endif
|
||||
+if GENERATE_CACERTS
|
||||
+ if test -n "${CADIR}"; then \
|
||||
+ sh scripts/mkcacerts.sh -d "${CADIR}" \
|
||||
+ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
|
||||
+ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
|
||||
+ else \
|
||||
+ sh scripts/mkcacerts.sh -f "${CAFILE}" \
|
||||
+ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
|
||||
+ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
|
||||
+ fi; \
|
||||
+ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
|
||||
+ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
|
||||
+endif
|
||||
@echo "IcedTea is served:" $(BUILD_OUTPUT_DIR)
|
||||
mkdir -p stamps
|
||||
touch stamps/icedtea.stamp
|
||||
@@ -1407,6 +1420,19 @@
|
||||
if ENABLE_JAMVM
|
||||
printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
|
||||
endif
|
||||
+if GENERATE_CACERTS
|
||||
+ if test -n "${CADIR}"; then \
|
||||
+ sh scripts/mkcacerts.sh -d "${CADIR}" \
|
||||
+ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
|
||||
+ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
|
||||
+ else \
|
||||
+ sh scripts/mkcacerts.sh -f "${CAFILE}" \
|
||||
+ -k $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool \
|
||||
+ -o $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts; \
|
||||
+ fi; \
|
||||
+ cp -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts \
|
||||
+ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts;
|
||||
+endif
|
||||
@echo "IcedTea (debug build) is served:" \
|
||||
$(DEBUG_BUILD_OUTPUT_DIR)
|
||||
mkdir -p stamps
|
||||
@@ -1457,7 +1483,7 @@
|
||||
$(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
|
||||
fi
|
||||
cp $(abs_top_builddir)/tapset/jstack.stp \
|
||||
- $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
|
||||
+ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
|
||||
endif
|
||||
touch stamps/add-systemtap.stamp
|
||||
|
||||
@@ -1483,7 +1509,7 @@
|
||||
$(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \
|
||||
fi
|
||||
cp $(abs_top_builddir)/tapset/jstack.stp \
|
||||
- $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp
|
||||
+ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp;
|
||||
endif
|
||||
touch stamps/add-systemtap-debug.stamp
|
||||
|
||||
--- icedtea6-1.10.4/Makefile.in
|
||||
+++ icedtea6-1.10.4.mod/Makefile.in
|
||||
@@ -175,6 +175,8 @@
|
||||
BUILD_ARCH_DIR = @BUILD_ARCH_DIR@
|
||||
BUILD_OS_DIR = @BUILD_OS_DIR@
|
||||
CACAO_IMPORT_PATH = @CACAO_IMPORT_PATH@
|
||||
+CADIR = @CADIR@
|
||||
+CAFILE = @CAFILE@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
--- icedtea6-1.10.4/acinclude.m4
|
||||
+++ icedtea6-1.10.4.mod/acinclude.m4
|
||||
@@ -1677,3 +1677,94 @@
|
||||
AM_CONDITIONAL([CP40188_JAVAH], test x"${it_cv_cp40188_javah}" = "xyes")
|
||||
AC_PROVIDE([$0])dnl
|
||||
])
|
||||
+
|
||||
+--- acinclude.m4 2011-01-22 21:34:29.000000000 -0600
|
||||
++++ acinclude.m4 2011-01-22 21:34:58.000000000 -0600
|
||||
+@@ -316,6 +316,91 @@
|
||||
+ AM_CONDITIONAL([SRC_DIR_HARDLINKABLE], test x"${it_cv_hardlink_src}" = "xyes")
|
||||
+ ])
|
||||
+
|
||||
+AC_DEFUN([IT_GENERATE_CACERTS],
|
||||
+[
|
||||
+ AC_MSG_CHECKING([whether to generate a cacerts file for distribution])
|
||||
+ AC_ARG_ENABLE([cacerts],
|
||||
+ [AS_HELP_STRING(--enable-cacerts, generate a cacerts file for distribution [[default=no]])],
|
||||
+ [
|
||||
+ case "${enableval}" in
|
||||
+ no)
|
||||
+ generate_cacerts=no
|
||||
+ ;;
|
||||
+ *)
|
||||
+ generate_cacerts=yes
|
||||
+ ;;
|
||||
+ esac
|
||||
+ ],
|
||||
+ [
|
||||
+ generate_cacerts=no
|
||||
+ ])
|
||||
+ AC_MSG_RESULT([$generate_cacerts])
|
||||
+ AM_CONDITIONAL([GENERATE_CACERTS], test x"${generate_cacerts}" = "xyes")
|
||||
+])
|
||||
+
|
||||
+AC_DEFUN([IT_GET_LOCAL_CACERTS],
|
||||
+[
|
||||
+ AC_MSG_CHECKING([for a local x509 certificate directory])
|
||||
+ AC_ARG_WITH([ca-dir],
|
||||
+ [AS_HELP_STRING(--with-ca-dir=DIR, specify a top-level local x509 certificate directory)],
|
||||
+ [
|
||||
+ if test -d "${withval}"; then
|
||||
+ CADIR="${withval}"
|
||||
+ fi
|
||||
+ ],
|
||||
+ [
|
||||
+ CADIR=
|
||||
+ ])
|
||||
+ if test -z "${CADIR}"; then
|
||||
+ for dir in /etc/pki/tls/certs \
|
||||
+ /usr/share/ca-certificates \
|
||||
+ /etc/ssl/certs \
|
||||
+ /etc/certs ; do
|
||||
+ if test -d "${dir}"; then
|
||||
+ CADIR="${dir}"
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ if test -z "${CADIR}"; then
|
||||
+ CADIR=no
|
||||
+ fi
|
||||
+ fi
|
||||
+ AC_MSG_RESULT(${CADIR})
|
||||
+ AC_SUBST(CADIR)
|
||||
+
|
||||
+ AC_MSG_CHECKING([for a local x509 certificate file])
|
||||
+ AC_ARG_WITH([ca-file],
|
||||
+ [AS_HELP_STRING(--with-ca-file=FILE, specify a local x509 certificate file)],
|
||||
+ [
|
||||
+ if test -f "${withval}"; then
|
||||
+ CAFILE="${withval}"
|
||||
+ fi
|
||||
+ ],
|
||||
+ [
|
||||
+ CAFILE=
|
||||
+ ])
|
||||
+ if test -z "${CAFILE}"; then
|
||||
+ for file in /etc/pki/tls/certs/ca-bundle.crt \
|
||||
+ /etc/ssl/certs/ca-bundle.crt \
|
||||
+ /etc/ssl/ca-bundle.crt \
|
||||
+ /etc/ca-bundle.crt ; do
|
||||
+ if test -e "${file}"; then
|
||||
+ CAFILE=$file
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ if test -z "${CAFILE}"; then
|
||||
+ CAFILE=no
|
||||
+ fi
|
||||
+ fi
|
||||
+ AC_MSG_RESULT(${CAFILE})
|
||||
+ AC_SUBST(CAFILE)
|
||||
+ if test "${CADIR}x" = "nox" -a "${CAFILE}x" = "nox"; then
|
||||
+ AC_MSG_WARN([Could not find a suitable x509 certificate store.])
|
||||
+ AC_MSG_ERROR([Supply a valid location using --with-ca-dir or --with-ca-file, or remove the --enable-cacerts switch.])
|
||||
+ fi
|
||||
+])
|
||||
--- icedtea6-1.10.4/configure.ac
|
||||
+++ icedtea6-1.10.4.mod/configure.ac
|
||||
@@ -138,6 +138,13 @@
|
||||
AC_MSG_RESULT([disabled by default (edit java.security to enable)])
|
||||
fi
|
||||
|
||||
+IT_GENERATE_CACERTS
|
||||
+
|
||||
+if test "x${generate_cacerts}" = "xyes"
|
||||
+then
|
||||
+ IT_GET_LOCAL_CACERTS
|
||||
+fi
|
||||
+
|
||||
IT_GET_PKGVERSION
|
||||
IT_GET_LSB_DATA
|
||||
|
||||
--- /dev/null
|
||||
+++ icedtea6-1.10.4.mod/scripts/mkcacerts.sh
|
||||
@@ -0,0 +1,154 @@
|
||||
+#!/bin/sh
|
||||
+# Simple script to extract x509 certificates and create a JRE cacerts file.
|
||||
+
|
||||
+get_args()
|
||||
+ {
|
||||
+ if test -z "${1}" ; then
|
||||
+ showhelp
|
||||
+ exit 1
|
||||
+ fi
|
||||
+
|
||||
+ while test -n "${1}" ; do
|
||||
+ case "${1}" in
|
||||
+ -f | --cafile)
|
||||
+ check_arg $1 $2
|
||||
+ CAFILE="${2}"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ -d | --cadir)
|
||||
+ check_arg $1 $2
|
||||
+ CADIR="${2}"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ -o | --outfile)
|
||||
+ check_arg $1 $2
|
||||
+ OUTFILE="${2}"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ -k | --keytool)
|
||||
+ check_arg $1 $2
|
||||
+ KEYTOOL="${2}"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ -h | --help)
|
||||
+ showhelp
|
||||
+ exit 0
|
||||
+ ;;
|
||||
+ *)
|
||||
+ showhelp
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+ esac
|
||||
+ done
|
||||
+ }
|
||||
+
|
||||
+check_arg()
|
||||
+ {
|
||||
+ echo "${2}" | grep -v "^-" > /dev/null
|
||||
+ if [ -z "$?" -o ! -n "$2" ]; then
|
||||
+ echo "Error: $1 requires a valid argument."
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+showhelp()
|
||||
+ {
|
||||
+ echo "`basename ${0}` creates a valid cacerts file for use with IcedTea."
|
||||
+ echo ""
|
||||
+ echo " -f --cafile The path to a file containing PEM formated CA"
|
||||
+ echo " certificates. May not be used with -d/--cadir."
|
||||
+ echo " -d --cadir The path to a diectory of PEM formatted CA"
|
||||
+ echo " certificates. May not be used with -f/--cafile."
|
||||
+ echo " -o --outfile The path to the output file."
|
||||
+ echo ""
|
||||
+ echo " -k --keytool The path to the java keytool utility."
|
||||
+ echo ""
|
||||
+ echo " -h --help Show this help message and exit."
|
||||
+ echo ""
|
||||
+ echo ""
|
||||
+ }
|
||||
+
|
||||
+# Initialize empty variables so that the shell does not polute the script
|
||||
+CAFILE=""
|
||||
+CADIR=""
|
||||
+OUTFILE=""
|
||||
+KEYTOOL=""
|
||||
+
|
||||
+# Process command line arguments
|
||||
+get_args ${@}
|
||||
+
|
||||
+# Handle common errors
|
||||
+if test "${CAFILE}x" == "x" -a "${CADIR}x" == "x" ; then
|
||||
+ echo "ERROR! You must provide an x509 certificate store!"
|
||||
+ echo "\'$(basename ${0}) --help\' for more info."
|
||||
+ echo ""
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+if test "${CAFILE}x" != "x" -a "${CADIR}x" != "x" ; then
|
||||
+ echo "ERROR! You cannot provide two x509 certificate stores!"
|
||||
+ echo "\'$(basename ${0}) --help\' for more info."
|
||||
+ echo ""
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+if test "${KEYTOOL}x" == "x" ; then
|
||||
+ echo "ERROR! You must provide a valid keytool program!"
|
||||
+ echo "\'$(basename ${0}) --help\' for more info."
|
||||
+ echo ""
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+if test "${OUTFILE}x" == "x" ; then
|
||||
+ echo "ERROR! You must provide a valid output file!"
|
||||
+ echo "\'$(basename ${0}) --help\' for more info."
|
||||
+ echo ""
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+# Get on with the work
|
||||
+
|
||||
+# If using a CAFILE, split it into individual files in a temp directory
|
||||
+if test "${CAFILE}x" != "x" ; then
|
||||
+ TEMPDIR=`mktemp -d`
|
||||
+ CADIR="${TEMPDIR}"
|
||||
+
|
||||
+ # Get a list of staring lines for each cert
|
||||
+ CERTLIST=`grep -n "^-----BEGIN" "${CAFILE}" | cut -d ":" -f 1`
|
||||
+
|
||||
+ # Get a list of ending lines for each cert
|
||||
+ ENDCERTLIST=`grep -n "^-----END" "${CAFILE}" | cut -d ":" -f 1`
|
||||
+
|
||||
+ # Start a loop
|
||||
+ for certbegin in `echo "${CERTLIST}"` ; do
|
||||
+ for certend in `echo "${ENDCERTLIST}"` ; do
|
||||
+ if test "${certend}" -gt "${certbegin}"; then
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ sed -n "${certbegin},${certend}p" "${CAFILE}" > "${CADIR}/${certbegin}"
|
||||
+ keyhash=`openssl x509 -noout -in "${CADIR}/${certbegin}" -hash`
|
||||
+ echo "Generated PEM file with hash: ${keyhash}."
|
||||
+ mv "${CADIR}/${certbegin}" "${CADIR}/${keyhash}.pem"
|
||||
+ done
|
||||
+fi
|
||||
+
|
||||
+# Write the output file
|
||||
+for cert in `find "${CADIR}" -type f -name "*.pem" -o -name "*.crt"`
|
||||
+do
|
||||
+ ls "${cert}"
|
||||
+ tempfile=`mktemp`
|
||||
+ certbegin=`grep -n "^-----BEGIN" "${cert}" | cut -d ":" -f 1`
|
||||
+ certend=`grep -n "^-----END" "${cert}" | cut -d ":" -f 1`
|
||||
+ sed -n "${certbegin},${certend}p" "${cert}" > "${tempfile}"
|
||||
+ echo yes | "${KEYTOOL}" -import -alias `basename "${cert}"` -keystore \
|
||||
+ "${OUTFILE}" -storepass 'changeit' -file "${tempfile}"
|
||||
+ rm "${tempfile}"
|
||||
+done
|
||||
+
|
||||
+if test "${TEMPDIR}x" != "x" ; then
|
||||
+ rm -rf "${TEMPDIR}"
|
||||
+fi
|
||||
+exit 0
|
||||
+
|
||||
Loading…
x
Reference in New Issue
Block a user