Add a port to self-bootstrap OpenJDK6. Note the initial distfiles were

bootstrapped with pre-built openjdk6 packages from FreeBSD build clusters
on clean 7.4-RELEASE installation, and the ports tree was checked out at
r305682.

Feature safe:	yes
This commit is contained in:
Jung-uk Kim 2012-10-12 00:42:31 +00:00
parent 73fb96782e
commit 2151c80bb7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=305745
9 changed files with 356 additions and 4 deletions

View file

@ -6,6 +6,7 @@
SUBDIR += avis
SUBDIR += berkeley-db
SUBDIR += bluej
SUBDIR += bootstrap-openjdk
SUBDIR += bouncycastle
SUBDIR += cacao
SUBDIR += castor

View file

@ -0,0 +1,58 @@
# $FreeBSD$
PORTNAME= ${JDK_NAME}
PORTVERSION= ${DISTVERSION_${ARCH}}
CATEGORIES= java devel
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= jkim
PKGNAMEPREFIX= bootstrap-
DISTNAME= ${JDK_PORT}-${ARCH}-${PORTVERSION}
MAINTAINER= jkim@FreeBSD.org
COMMENT= Oracle's Java 6 virtual machine release under the GPL v2
LICENSE= GPLv2
RUN_DEPENDS= ${LOCALBASE}/share/java/zi:${PORTSDIR}/java/java-zoneinfo
ONLY_FOR_ARCH= amd64 i386
DISTINFO_FILE= ${.CURDIR}/distinfo.${ARCH}
DISTVERSION_amd64= r305682
DISTVERSION_i386= r305682
JDK_NAME= openjdk
JDK_PORT= openjdk6
JDK_ROOT= bootstrap-${JDK_NAME}
NO_BUILD= yes
PLIST_SUB= ARCH=${ARCH} JDK_NAME=${JDK_NAME} JDK_ROOT=${JDK_ROOT}
USE_XZ= yes
WRKSRC= ${WRKDIR}/${JDK_ROOT}
INSTALLDIR= ${PREFIX}/${JDK_ROOT}
JDK_BINS= bin/* jre/bin/* jre/lib/${ARCH}/jexec
.include <bsd.port.pre.mk>
.if ${OSVERSION} >= 800105
RUN_DEPENDS+= ${LOCALBASE}/lib/compat/libz.so.4:${PORTSDIR}/misc/compat7x
.endif
.if ${ARCH} == "i386"
PLIST_SUB+= CLIENTVM=""
.else
PLIST_SUB+= CLIENTVM="@comment "
.endif
do-install:
@cd ${WRKSRC} && ${COPYTREE_SHARE} . ${INSTALLDIR}
@cd ${INSTALLDIR} && ${CHOWN} ${BINOWN}:${BINGRP} ${JDK_BINS}
@cd ${INSTALLDIR} && ${CHMOD} ${BINMODE} ${JDK_BINS}
@${CAT} ${PKGMESSAGE}
update:
@${MAKE} -f ${.CURDIR}/Makefile.update \
JDK_NAME=${JDK_NAME} JDK_PORT=${JDK_PORT} JDK_ROOT=${JDK_ROOT}
.include <bsd.port.post.mk>

View file

@ -0,0 +1,83 @@
# $FreeBSD$
JDK_NAME?= openjdk
JDK_PORT?= openjdk6
JDK_ROOT?= bootstrap-${JDK_NAME}
TARGET_OS?= 7
.if !defined(PORTSDIR)
.if exists(${.CURDIR}/../${JDK_PORT}/Makefile)
PORTSDIR= ${.CURDIR}/../..
.else
PORTSDIR= /usr/ports
.endif
.endif
LOCALBASE?= /usr/local
.include "${PORTSDIR}/Mk/bsd.commands.mk"
JDK_EXCLUDE?= demo man sample src.zip
JDK_PORTDIR!= ${REALPATH} ${PORTSDIR}/java/${JDK_PORT}
JDK_IMAGEDIR?= ${JDK_PORTDIR}/work/build/bsd-${ARCH:S/i386/i586/}/j2sdk-image
GET_REVISION= ${LOCALBASE}/bin/svnversion ${JDK_PORTDIR}
TAR?= /usr/bin/tar
ARCH!= ${UNAME} -p
BUILD_OS!= ${UNAME} -r | ${SED} -e 's/\..*//'
PORTREVISION!= ${GET_REVISION} 2>/dev/null || ${TRUE}
DISTDIR?= ${.CURDIR}
DISTFILE= ${JDK_PORT}-${ARCH}-r${PORTREVISION}.tar.xz
DISTINFO_FILE= ${.CURDIR}/distinfo.${ARCH}
MAKEFILE= ${.CURDIR}/Makefile
TAR_EXCLUDE=
.if !empty(JDK_EXCLUDE)
.for i in ${JDK_EXCLUDE}
TAR_EXCLUDE+= --exclude ${i}
.endfor
.endif
all:
@${ECHO} ""
@${ECHO} "=============================================================="
@${ECHO} ""
.if ${BUILD_OS} > ${TARGET_OS}
@${ECHO} "We need FreeBSD ${TARGET_OS} but you seem to have ${BUILD_OS}."
@${ECHO} ""
@${ECHO} "=============================================================="
@${ECHO} ""
@${FALSE}
.endif
@${ECHO} "Building ${DISTFILE}...."
@${ECHO} ""
@${ECHO} "Started at "`${SETENV} LANG=C date -u`"."
@${ECHO} ""
@${ECHO} "=============================================================="
@${ECHO} ""
.if !defined(NO_BUILD)
@cd "${JDK_PORTDIR}" && ${MAKE} BATCH=yes
.endif
@cd "${JDK_IMAGEDIR}" && \
${FIND} . \! -type d | ${SORT} | \
${TAR} -c -f - -T - -s '|^\./|${JDK_ROOT}/|' ${TAR_EXCLUDE} | \
${XZ_CMD} -9 -c > "${DISTDIR}/${DISTFILE}"
@${SED} -i.bak \
's/^DISTVERSION_${ARCH}=.*/DISTVERSION_${ARCH}= r${PORTREVISION}/' \
"${MAKEFILE}"
@${MAKE} -f "${MAKEFILE}" makesum DISTDIR="${DISTDIR}" \
DISTINFO_FILE="${DISTINFO_FILE}"
@${ECHO} ""
@${ECHO} "=============================================================="
@${ECHO} ""
@${ECHO} "${DISTFILE} was built successfully!"
@${ECHO} ""
@${ECHO} "Finished at "`${SETENV} LANG=C date -u`"."
@${ECHO} ""
@${ECHO} "You may clean up the build directory if everything looks okay,"
@${ECHO} "e.g., 'rm -fr ${JDK_PORTDIR}/work'."
@${ECHO} ""
@${ECHO} "=============================================================="
@${ECHO} ""

View file

@ -0,0 +1,2 @@
SHA256 (openjdk6-amd64-r305682.tar.xz) = 4a9300f92669608fad6a0d763003fe4a3bc5c11875a265040d99dc78b09503b4
SIZE (openjdk6-amd64-r305682.tar.xz) = 25168044

View file

@ -0,0 +1,2 @@
SHA256 (openjdk6-i386-r305682.tar.xz) = 0fa7277c89007e5ce265494a94881f80c6d87cc73ff6b42c1f46fce83b08416d
SIZE (openjdk6-i386-r305682.tar.xz) = 25470632

View file

@ -0,0 +1,7 @@
OpenJDK is an open-source implementation of the Java Platform, Standard Edition.
Much of the OpenJDK code is licensed under the GPL version 2 with the
Classpath exception. The Java Hotspot virtual machine source code is
licensed under the GPL version 2 only.
WWW: http://openjdk.java.net/

View file

@ -0,0 +1,19 @@
======================================================================
WARNING: This port only exists for bootstrapping java/openjdk[67].
You are advised to remove this port as soon as a stable JDK is built.
This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and
procfs(5) mounted on /proc.
If you have not done it yet, please do the following:
mount -t fdescfs fdesc /dev/fd
mount -t procfs proc /proc
To make it permanent, you need the following lines in /etc/fstab:
fdesc /dev/fd fdescfs rw 0 0
proc /proc procfs rw 0 0
======================================================================

View file

@ -0,0 +1,181 @@
%%JDK_ROOT%%/ASSEMBLY_EXCEPTION
%%JDK_ROOT%%/LICENSE
%%JDK_ROOT%%/THIRD_PARTY_README
%%JDK_ROOT%%/bin/appletviewer
%%JDK_ROOT%%/bin/apt
%%JDK_ROOT%%/bin/extcheck
%%JDK_ROOT%%/bin/idlj
%%JDK_ROOT%%/bin/jar
%%JDK_ROOT%%/bin/jarsigner
%%JDK_ROOT%%/bin/java
%%JDK_ROOT%%/bin/javac
%%JDK_ROOT%%/bin/javadoc
%%JDK_ROOT%%/bin/javah
%%JDK_ROOT%%/bin/javap
%%JDK_ROOT%%/bin/jconsole
%%JDK_ROOT%%/bin/jdb
%%JDK_ROOT%%/bin/jhat
%%JDK_ROOT%%/bin/jinfo
%%JDK_ROOT%%/bin/jmap
%%JDK_ROOT%%/bin/jps
%%JDK_ROOT%%/bin/jrunscript
%%JDK_ROOT%%/bin/jsadebugd
%%JDK_ROOT%%/bin/jstack
%%JDK_ROOT%%/bin/jstat
%%JDK_ROOT%%/bin/jstatd
%%JDK_ROOT%%/bin/keytool
%%JDK_ROOT%%/bin/native2ascii
%%JDK_ROOT%%/bin/orbd
%%JDK_ROOT%%/bin/pack200
%%JDK_ROOT%%/bin/policytool
%%JDK_ROOT%%/bin/rmic
%%JDK_ROOT%%/bin/rmid
%%JDK_ROOT%%/bin/rmiregistry
%%JDK_ROOT%%/bin/schemagen
%%JDK_ROOT%%/bin/serialver
%%JDK_ROOT%%/bin/servertool
%%JDK_ROOT%%/bin/tnameserv
%%JDK_ROOT%%/bin/unpack200
%%JDK_ROOT%%/bin/wsgen
%%JDK_ROOT%%/bin/wsimport
%%JDK_ROOT%%/bin/xjc
%%JDK_ROOT%%/include/classfile_constants.h
%%JDK_ROOT%%/include/freebsd/jawt_md.h
%%JDK_ROOT%%/include/freebsd/jni_md.h
%%JDK_ROOT%%/include/jawt.h
%%JDK_ROOT%%/include/jdwpTransport.h
%%JDK_ROOT%%/include/jni.h
%%JDK_ROOT%%/include/jvmti.h
%%JDK_ROOT%%/include/jvmticmlr.h
%%JDK_ROOT%%/jre/ASSEMBLY_EXCEPTION
%%JDK_ROOT%%/jre/LICENSE
%%JDK_ROOT%%/jre/THIRD_PARTY_README
%%JDK_ROOT%%/jre/bin/java
%%JDK_ROOT%%/jre/bin/keytool
%%JDK_ROOT%%/jre/bin/orbd
%%JDK_ROOT%%/jre/bin/pack200
%%JDK_ROOT%%/jre/bin/policytool
%%JDK_ROOT%%/jre/bin/rmid
%%JDK_ROOT%%/jre/bin/rmiregistry
%%JDK_ROOT%%/jre/bin/servertool
%%JDK_ROOT%%/jre/bin/tnameserv
%%JDK_ROOT%%/jre/bin/unpack200
%%CLIENTVM%%%%JDK_ROOT%%/jre/lib/%%ARCH%%/client/Xusage.txt
%%CLIENTVM%%%%JDK_ROOT%%/jre/lib/%%ARCH%%/client/libjsig.so
%%CLIENTVM%%%%JDK_ROOT%%/jre/lib/%%ARCH%%/client/libjvm.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/headless/libmawt.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/jexec
%%JDK_ROOT%%/jre/lib/%%ARCH%%/jvm.cfg
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libattach.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libawt.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libdt_socket.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libfontmanager.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libhprof.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libinstrument.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libj2gss.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libj2pcsc.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libj2pkcs11.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjaas_unix.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjava.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjava_crw_demo.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjawt.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjdwp.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjli.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjpeg.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjsig.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libjsound.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/liblcms.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libmanagement.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libmlib_image.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libnet.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libnio.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libnpt.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/librmi.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libsaproc.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libsplashscreen.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libunpack.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libverify.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/libzip.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/native_threads/libhpi.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/server/Xusage.txt
%%JDK_ROOT%%/jre/lib/%%ARCH%%/server/libjsig.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/server/libjvm.so
%%JDK_ROOT%%/jre/lib/%%ARCH%%/xawt/libmawt.so
%%JDK_ROOT%%/jre/lib/calendars.properties
%%JDK_ROOT%%/jre/lib/charsets.jar
%%JDK_ROOT%%/jre/lib/classlist
%%JDK_ROOT%%/jre/lib/cmm/CIEXYZ.pf
%%JDK_ROOT%%/jre/lib/cmm/GRAY.pf
%%JDK_ROOT%%/jre/lib/cmm/LINEAR_RGB.pf
%%JDK_ROOT%%/jre/lib/cmm/PYCC.pf
%%JDK_ROOT%%/jre/lib/cmm/sRGB.pf
%%JDK_ROOT%%/jre/lib/content-types.properties
%%JDK_ROOT%%/jre/lib/currency.data
%%JDK_ROOT%%/jre/lib/ext/dnsns.jar
%%JDK_ROOT%%/jre/lib/ext/localedata.jar
%%JDK_ROOT%%/jre/lib/ext/meta-index
%%JDK_ROOT%%/jre/lib/ext/sunjce_provider.jar
%%JDK_ROOT%%/jre/lib/ext/sunpkcs11.jar
%%JDK_ROOT%%/jre/lib/flavormap.properties
%%JDK_ROOT%%/jre/lib/fontconfig.bfc
%%JDK_ROOT%%/jre/lib/fontconfig.properties.src
%%JDK_ROOT%%/jre/lib/im/indicim.jar
%%JDK_ROOT%%/jre/lib/im/thaiim.jar
%%JDK_ROOT%%/jre/lib/images/cursors/cursors.properties
%%JDK_ROOT%%/jre/lib/images/cursors/invalid32x32.gif
%%JDK_ROOT%%/jre/lib/images/cursors/motif_CopyDrop32x32.gif
%%JDK_ROOT%%/jre/lib/images/cursors/motif_CopyNoDrop32x32.gif
%%JDK_ROOT%%/jre/lib/images/cursors/motif_LinkDrop32x32.gif
%%JDK_ROOT%%/jre/lib/images/cursors/motif_LinkNoDrop32x32.gif
%%JDK_ROOT%%/jre/lib/images/cursors/motif_MoveDrop32x32.gif
%%JDK_ROOT%%/jre/lib/images/cursors/motif_MoveNoDrop32x32.gif
%%JDK_ROOT%%/jre/lib/jce.jar
%%JDK_ROOT%%/jre/lib/jsse.jar
%%JDK_ROOT%%/jre/lib/jvm.hprof.txt
%%JDK_ROOT%%/jre/lib/logging.properties
%%JDK_ROOT%%/jre/lib/management-agent.jar
%%JDK_ROOT%%/jre/lib/management/jmxremote.access
%%JDK_ROOT%%/jre/lib/management/jmxremote.password.template
%%JDK_ROOT%%/jre/lib/management/management.properties
%%JDK_ROOT%%/jre/lib/management/snmp.acl.template
%%JDK_ROOT%%/jre/lib/meta-index
%%JDK_ROOT%%/jre/lib/net.properties
%%JDK_ROOT%%/jre/lib/psfont.properties.ja
%%JDK_ROOT%%/jre/lib/psfontj2d.properties
%%JDK_ROOT%%/jre/lib/resources.jar
%%JDK_ROOT%%/jre/lib/rt.jar
%%JDK_ROOT%%/jre/lib/security/US_export_policy.jar
%%JDK_ROOT%%/jre/lib/security/cacerts
%%JDK_ROOT%%/jre/lib/security/java.policy
%%JDK_ROOT%%/jre/lib/security/java.security
%%JDK_ROOT%%/jre/lib/security/local_policy.jar
%%JDK_ROOT%%/jre/lib/sound.properties
%%JDK_ROOT%%/jre/lib/zi
%%JDK_ROOT%%/lib/ct.sym
%%JDK_ROOT%%/lib/dt.jar
%%JDK_ROOT%%/lib/ir.idl
%%JDK_ROOT%%/lib/jconsole.jar
%%JDK_ROOT%%/lib/orb.idl
%%JDK_ROOT%%/lib/sa-jdi.jar
%%JDK_ROOT%%/lib/tools.jar
@dirrm %%JDK_ROOT%%/lib
@dirrm %%JDK_ROOT%%/jre/lib/security
@dirrm %%JDK_ROOT%%/jre/lib/management
@dirrm %%JDK_ROOT%%/jre/lib/images/cursors
@dirrm %%JDK_ROOT%%/jre/lib/images
@dirrm %%JDK_ROOT%%/jre/lib/im
@dirrm %%JDK_ROOT%%/jre/lib/ext
@dirrm %%JDK_ROOT%%/jre/lib/cmm
@dirrm %%JDK_ROOT%%/jre/lib/%%ARCH%%/xawt
@dirrm %%JDK_ROOT%%/jre/lib/%%ARCH%%/server
@dirrm %%JDK_ROOT%%/jre/lib/%%ARCH%%/native_threads
@dirrm %%JDK_ROOT%%/jre/lib/%%ARCH%%/headless
%%CLIENTVM%%@dirrm %%JDK_ROOT%%/jre/lib/%%ARCH%%/client
@dirrm %%JDK_ROOT%%/jre/lib/%%ARCH%%
@dirrm %%JDK_ROOT%%/jre/lib
@dirrm %%JDK_ROOT%%/jre/bin
@dirrm %%JDK_ROOT%%/jre
@dirrm %%JDK_ROOT%%/include/freebsd
@dirrm %%JDK_ROOT%%/include
@dirrm %%JDK_ROOT%%/bin
@dirrm %%JDK_ROOT%%

View file

@ -99,8 +99,7 @@ NOPRECIOUSMAKEVARS= yes
ONLY_FOR_ARCHS= amd64 i386
BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk6 \
${LOCALBASE}/jdk1.6.0 \
${LOCALBASE}/diablo-jdk1.6.0
${LOCALBASE}/bootstrap-openjdk
# do we have valid native jdk installed?
.for CJDK in ${BOOTSTRAP_JDKS}
@ -111,8 +110,8 @@ BOOTSTRAPJDKDIR= ${CJDK}
# if no valid jdk found, set dependency
.if !defined(BOOTSTRAPJDKDIR)
BOOTSTRAPJDKDIR?= ${LOCALBASE}/diablo-jdk1.6.0
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/diablo-jdk16
BOOTSTRAPJDKDIR?= ${LOCALBASE}/bootstrap-openjdk
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/bootstrap-openjdk
.endif
MAKE_ENV= LANG=C LC_ALL=C \